push %rbp mov %rsp, %rbp sub $0x60, %rsp mov %rbx, -0x8(%rbp) mov %r12, -0x10(%rbp) mov %r13, -0x18(%rbp) mov %r14, -0x20(%rbp) mov %r15, -0x28(%rbp) mov %rdi, %r14 mov 0x20(%r14), %r10 mov 0x8(%r10), %r12 add $0x300, %r12 mov %r12, 0x8(%r10) mov $0x5, 0x50(%r14) mov $0x18894, %r10d mov %r10d, -0x30(%r12) mov $0x30000, -0x2c(%r12) xor %rdx, %rdx mov $0x1, %edx lea -0x30(%r12), %rsi mov %r14, %rdi mov $Runtime call %r11 mov 0x20(%r14), %r10 mov 0x10(%r10), %r10d test %r10d, %r10d jnz 0x7f697d172a74 mov %rax, -0x48(%r12) mov $0x7, 0x50(%r14) mov $0x0, -0x48(%rbp) mov $0x30000, -0x44(%rbp) lea -0x48(%rbp), %rdx lea -0x48(%r12), %rsi mov %r14, %rdi mov $Runtime call %r11 mov 0x20(%r14), %r10 mov 0x10(%r10), %r10d test %r10d, %r10d jnz 0x7f697d172a74 mov %rax, -0x50(%r12) mov -0x50(%r12), %r10 mov %r10, %rax shr $0x31, %r10 cmp $0x1, %r10d jz 0x7f697d17298a test %r10d, %r10d jz 0x7f697d172967 mov $0xffff800000000000, %r10 xor %r10, %rax movd %rax, %xmm0 cvttsd2si %xmm0, %eax cmp $0x80000000, %eax jnz 0x7f697d17298a lea -0x50(%r12), %rdi mov $Runtime call %r11 mov 0x20(%r14), %r10 mov 0x10(%r10), %r10d test %r10d, %r10d jnz 0x7f697d172a74 mov %rax, %rbx mov $0xaa, %ebx imul %ebx, %ebx mov %ebx, -0x48(%r12) mov $0x30000, -0x44(%r12) mov $0xb, 0x50(%r14) mov 0x40(%r14), %rsi mov 0x20(%rsi), %rsi mov $0x38, %r11 add %r11, %rsi mov %r14, %rdi mov $Runtime call %r11 mov 0x20(%r14), %r10 mov 0x10(%r10), %r10d test %r10d, %r10d jnz 0x7f697d172a74 mov %rax, -0x50(%r12) mov 0x40(%r14), %r10 mov 0x20(%r10), %rax mov 0x40(%rax), %rax mov %rax, -0x58(%r12) mov $0x30000, -0x3c(%r12) mov $0x2, -0x40(%r12) mov -0x50(%r12), %rax mov %rax, -0x38(%r12) movsd -0x58(%r12), %xmm0 movsd %xmm0, -0x30(%r12) movsd -0x48(%r12), %xmm0 movsd %xmm0, -0x28(%r12) lea -0x40(%r12), %rdx mov 0x40(%r14), %rsi mov 0x20(%rsi), %rsi mov $0x48, %r11 add %r11, %rsi mov %r14, %rdi mov $Runtime call %r11 mov 0x20(%r14), %r10 mov 0x10(%r10), %r10d test %r10d, %r10d jnz 0x7f697d172a74 mov $0x800000000000, %rax sub $0x300, %r12 mov 0x20(%r14), %r10 mov %r12, 0x8(%r10) mov -0x28(%rbp), %r15 mov -0x20(%rbp), %r14 mov -0x18(%rbp), %r13 mov -0x10(%rbp), %r12 mov -0x8(%rbp), %rbx add $0x60, %rsp pop %rbp ret