Function at 0x180028e00
Capabilities:
Check for software breakpoints

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov dword [rax + 0x18], r8d
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x248
mov ebx, dword [rsp + 0x2a0]
mov esi, r8d
movaps xmmword [rax - 0x58], xmm6
mov rbp, rdx
movaps xmmword [rax - 0x68], xmm7
mov r10, rcx
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
lea eax, [r8 + 0x356]
mov dword [rsp + 0x20], eax
cmp r8d, eax
jae case.0x18002919d.265
mov rax, qword [rsp + 0x28]
xorps xmm10, xmm10
mov rcx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x28]
mov r14, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x128]
movsd xmm11, qword [rsp + 0x28]
movsd xmm12, qword [rsp + 0x28]
movsd xmm9, qword [rsp + 0x28]
movsd xmm13, qword [rsp + 0x28]
movsd xmm2, qword [rsp + 0x28]
movsd xmm15, qword [rsp + 0x28]
mov r11d, dword [rsp + 0x2a0]
mov r12d, dword [rsp + 0x2a0]
mov rdx, qword [rsp + 0x2b0]
movsd xmm1, qword [0x1800555e8]
mov r13d, dword [rsp + 0x2a0]
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x148], rcx
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x178], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x158], rcx
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x190], rcx
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x150], rcx
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x180], rax
mov eax, dword [rsp + 0x2a0]
mov qword [rsp + 0x108], rcx
mov rcx, qword [rsp + 0x28]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x2a0]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x2a0]
mov qword [rsp + 0x168], rcx
mov ecx, dword [rsp + 0x2a0]
mov dword [rsp + 0x50], eax
movsd qword [rsp + 0x68], xmm11
movsd qword [rsp + 0x80], xmm12
movsd qword [rsp + 0x90], xmm9
movsd qword [rsp + 0xb8], xmm13
movsd qword [rsp + 0x38], xmm2
movsd qword [rsp + 0xc0], xmm15
mov qword [rsp + 0xd8], r9
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x54], r11d
mov qword [rsp + 0xa8], r14
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x188], r8
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x34], r12d
mov r15, qword [rsp + 0x28]
movsd xmm14, qword [rsp + 0x28]
mov eax, dword [rsp + 0x20]
movsd qword [rsp + 0xc8], xmm14
mov qword [rsp + 0x70], r15
nop word [rax + rax]
cmp esi, 0x88
ja 0x18002915f
je 0x18002914f
cmp esi, 0xe
je 0x1800290f6
cmp esi, 0x4b
jne 0x18002a760
mov eax, dword [r9]
mov dword [rdx], eax
jmp case.default.0x18002919d
mov rdx, qword [r10]
cmp qword [r10 + 8], rdx
jne 0x180029136
mov ecx, 0x12b
nop dword [rax]
nop dword [rax + rax]
mov eax, ecx
sub eax, 0x12a
je case.0x18002919d.265
cmp eax, 1
jne 0x180029128
xor ebx, ebx
mov dword [rsp + 0x58], ebx
dec ecx
cmp ecx, 0x129
ja 0x180029110
mov ecx, dword [rsp + 0x30]
mov r9, qword [rdx + 8]
mov rdx, qword [rsp + 0x2b0]
mov qword [rsp + 0xd8], r9
jmp case.default.0x18002919d
mov rcx, qword [r10]
mov rax, qword [r9 + 8]
mov qword [rcx + 8], rax
jmp case.0x18002919d.198
cmp esi, 0x1ce
ja 0x18002a760
je 0x1800294d0
lea eax, [rsi - 0xc5]
cmp eax, 0xcc
ja case.default.0x18002919d
lea r8, [0x180000000]
movzx eax, byte [r8 + rax + 0x2a7f0]
mov ecx, dword [r8 + rax*4 + 0x2a7c8]
add rcx, r8
jmp rcx
mov rcx, r9
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x18002a733
mov ecx, dword [rsp + 0x30]
cmp qword [r10 + 8], r9
jne case.default.0x18002919d
mov rax, qword [r10]
mov qword [r10 + 8], rax
jmp case.default.0x18002919d
mov r11d, dword [r10 + 4]
mov dword [rsp + 0x54], r11d
jmp case.0x18002919d.198
cmp qword [r10 + 0x1fc0], 0
jne case.0x18002919d.198
lea r8, [rsp + 0x2a0]
mov dword [rsp + 0x2a0], r11d
mov edx, 0x124
mov rcx, r10
call fcn.180005c90
mov r10, qword [rsp + 0x290]
mov qword [r10 + 0x1fc0], rax
jmp 0x18002a73b
mov r14, qword [r10 + 0x1fc0]
mov eax, 0xe8
mov qword [rsp + 0xa8], r14
nop dword [rax + rax]
cmp eax, 0x69a
ja 0x18002938f
je 0x180029373
cmp eax, 0x370
ja 0x1800292ed
je 0x1800292ca
cmp eax, 0xe8
je 0x1800292aa
cmp eax, 0x18a
je 0x180029296
cmp eax, 0x22c
je 0x180029282
cmp eax, 0x2ce
jne 0x18002948a
lea r8, [r14 + 0xa18]
mov qword [rsp + 0xf0], r8
jmp 0x18002948a
lea r8, [r14 + 0x618]
mov qword [rsp + 0x110], r8
jmp 0x18002948a
lea rdx, [r14 + 0x418]
mov qword [rsp + 0x118], rdx
jmp 0x18002948a
lea rdx, [r14 + 0x18]
mov qword [rsp + 0xd0], rdx
lea rdx, [r14 + 0x218]
mov qword [rsp + 0xa0], rdx
jmp 0x18002948a
lea rcx, [r14 + 0xc18]
lea r8, [r14 + 0x1018]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x140], r8
jmp 0x18002948a
cmp eax, 0x412
je 0x180029350
cmp eax, 0x4b4
je 0x180029335
cmp eax, 0x556
je 0x180029321
cmp eax, 0x5f8
jne 0x18002948a
lea r8, [r14 + 0xb228]
mov qword [rsp + 0xf8], r8
jmp 0x18002948a
lea r8, [r14 + 0x7218]
mov qword [rsp + 0x198], r8
jmp 0x18002948a
lea r8, [r14 + 0x3218]
mov qword [rsp + 0x100], r8
lea rdi, [r14 + 0x5218]
jmp 0x18002948a
lea r8, [r14 + 0xe18]
lea rcx, [r14 + 0x1218]
mov qword [rsp + 0x180], r8
mov qword [rsp + 0x168], rcx
jmp 0x18002948a
lea r8, [r14 + 0xeb70]
mov qword [rsp + 0x188], r8
mov qword [rsp + 0x128], r8
jmp 0x18002948a
cmp eax, 0x9c4
ja 0x180029444
je 0x180029424
cmp eax, 0x73c
je 0x1800293fc
cmp eax, 0x7de
je 0x1800293e8
cmp eax, 0x880
je 0x1800293d4
cmp eax, 0x922
jne 0x18002948a
mov rcx, qword [r14 + 0xeb50]
mov qword [rsp + 0x150], rcx
jmp 0x18002948a
mov r8, qword [r14 + 0xeb48]
mov qword [rsp + 0x178], r8
jmp 0x18002948a
lea rdx, [r14 + 0xe340]
mov qword [rsp + 0x120], rdx
jmp 0x18002948a
lea rcx, [r14 + 0xec70]
lea r8, [r14 + 0xe240]
mov qword [rsp + 0x190], rcx
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x138], r8
jmp 0x18002948a
mov r8, qword [r14 + 0xeb58]
mov rdx, qword [r14 + 0xeb60]
mov qword [rsp + 0x170], r8
mov qword [rsp + 0x88], rdx
jmp 0x18002948a
cmp eax, 0xa66
je 0x18002947b
cmp eax, 0xb08
je 0x18002946a
cmp eax, 0xbaa
jne 0x18002948a
lea rcx, [r14 + 0xd238]
mov qword [rsp + 0x148], rcx
jmp 0x18002948a
lea rdx, [r14 + 0xc230]
mov qword [rsp + 0xe8], rdx
jmp 0x18002948a
mov rcx, qword [r14 + 0xeb68]
mov qword [rsp + 0x158], rcx
add eax, 0xa2
cmp eax, 0xc4c
jb 0x180029230
mov qword [rsp + 0x60], rdi
jmp 0x18002a750
mov ecx, dword [r10 + 0xc]
mov dword [rsp + 0x30], ecx
jmp case.default.0x18002919d
mov eax, dword [rdx]
xor ebx, ebx
mov dword [rsp + 0x58], ebx
mov dword [r10 + 8], eax
jmp case.0x18002919d.198
mov ebx, 1
mov dword [rsp + 0x58], ebx
jmp case.0x18002919d.198
mov dword [rsp + 0x78], 0
test ecx, ecx
je 0x18002a760
xor esi, esi
mov qword [rsp + 0x40], rsi
nop word [rax + rax]
movsd xmm0, qword [rsp + 0x38]
xor ebx, ebx
mov qword [rsp + 0xb0], rbx
mov dword [rsp + 0x9c], 0
nop dword [rax + rax]
mov eax, 0x9a
mov dword [rsp + 0x98], eax
nop dword [rax]
add eax, 0xffffff66
cmp eax, 0xb8
ja case.0x18002954b.163
lea r8, [0x180000000]
movzx eax, byte [r8 + rax + 0x2a8e8]
mov ecx, dword [r8 + rax*4 + 0x2a8c0]
add rcx, r8
jmp rcx
movsd xmm14, qword [0x180055668]
xor r15d, r15d
movsd xmm15, qword [0x180055788]
xor r14d, r14d
movsd xmm13, qword [0x1800556e0]
mov r13, qword [rsp + 0xe8]
nop word [rax + rax]
mov ebp, 0x3f
mov eax, ebp
sub eax, 0x3f
je 0x180029650
sub eax, 1
je 0x1800295f7
sub eax, 1
je 0x1800295d0
cmp eax, 1
jne 0x180029654
mov rdi, qword [rsp + rbx*8 + 0x128]
mov rsi, r14
shr rsi, 4
movsd xmm0, qword [rdi + rsi*8]
call sub.api_ms_win_crt_math_l1_1_0.dll_log
mulsd xmm0, xmm14
movsd qword [rdi + rsi*8], xmm0
mov rdi, qword [rsp + 0x60]
jmp 0x180029654
mov rax, qword [rsp + rbx*8 + 0x128]
movaps xmm0, xmm12
mulsd xmm0, xmm13
movaps xmm1, xmm11
mov rcx, r14
shr rcx, 4
divsd xmm1, xmm0
movsd qword [rax + rcx*8], xmm1
jmp 0x180029654
movaps xmm11, xmm10
xor r12d, r12d
nop
mov ecx, 0xfe
lea edx, [r12 + r15]
nop dword [rax]
mov eax, ecx
sub eax, 0xfe
je 0x180029626
cmp eax, 1
jne 0x180029636
addsd xmm11, qword [rdi + rdx*8]
jmp 0x180029636
movsd xmm0, qword [r13 + rdx*8]
minsd xmm0, xmm12
movaps xmm12, xmm0
inc ecx
cmp ecx, 0x100
jb 0x180029610
inc r12d
cmp r12d, 0x11
jb 0x180029600
mov dword [rsp + 0x34], r12d
jmp 0x180029654
movaps xmm12, xmm15
inc ebp
cmp ebp, 0x43
jb 0x180029585
add r15d, 0x10
add r14, 0x10
cmp r15d, 0xc1
jb 0x180029580
movsd xmm13, qword [rsp + 0xb8]
mov esi, 0xd0
movsd xmm14, qword [rsp + 0xc8]
mov r13d, esi
movsd xmm15, qword [rsp + 0xc0]
movsd xmm6, qword [0x180055668]
mov r15, qword [rsp + 0x60]
nop word [rax + rax]
mov edi, 0x5f
cmp edi, 0x5f
je 0x180029764
cmp edi, 0x3985
je 0x18002975e
cmp edi, 0x72ab
je 0x180029706
cmp edi, 0xabd1
jne 0x180029768
movaps xmm0, xmm11
divsd xmm0, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_log
mov rax, qword [rsp + rbx*8 + 0x128]
mov rcx, rsi
mulsd xmm0, xmm6
shr rcx, 4
movsd qword [rax + rcx*8], xmm0
jmp 0x180029768
xor r12d, r12d
nop dword [rax]
mov ecx, 0x127
lea edx, [r12 + r13]
nop dword [rax]
mov eax, ecx
sub eax, 0x127
je 0x180029736
cmp eax, 1
jne 0x180029744
addsd xmm11, qword [r15 + rdx*8]
jmp 0x180029744
mov rax, qword [rsp + 0xe8]
addsd xmm12, qword [rax + rdx*8]
inc ecx
cmp ecx, 0x129
jb 0x180029720
inc r12d
cmp r12d, 0x11
jb 0x180029710
mov dword [rsp + 0x34], r12d
jmp 0x180029768
movaps xmm11, xmm10
jmp 0x180029768
movaps xmm12, xmm10
add edi, 0x3926
cmp edi, 0xe498
jbe 0x1800296b5
add r13d, 0x10
movsd qword [rsp + 0x80], xmm12
add rsi, 0x10
movsd qword [rsp + 0x68], xmm11
cmp r13d, 0x200
jb 0x1800296b0
jmp 0x18002a2d6
mov rcx, qword [rsp + 0x108]
mov r8d, 0x40
mov r10, qword [rsp + 0x140]
mov rax, rcx
mov r11, qword [rsp + 0xf0]
sub r10, rcx
mov r9, qword [rsp + 0x118]
sub r11, rcx
mov rdx, qword [rsp + 0x138]
sub r9, rcx
nop
movsd xmm2, qword [r10 + rax]
ucomisd xmm2, xmm10
jp 0x1800297ef
je 0x180029811
mov ecx, dword [rdx]
test ecx, ecx
je 0x180029811
movsd xmm1, qword [r11 + rax]
mulsd xmm1, qword [rax]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
divsd xmm1, xmm0
jmp 0x180029815
movaps xmm1, xmm10
movsd qword [r9 + rax], xmm1
add rdx, 4
add rax, 8
sub r8, 1
jne 0x1800297e0
mov r8, qword [rsp + 0x148]
xor edx, edx
mov r10, qword [rsp + 0xe8]
mov r9d, 0x201
movsd xmm10, qword [0x180055710]
sub r10, r8
mov r11, qword [rsp + 0x118]
mov r13d, r9d
nop dword [rax + rax]
mov ecx, 0xce
cmp ecx, 0xce
je 0x1800298c7
cmp ecx, 0x15c
je 0x1800298b5
cmp ecx, 0x1ea
jne 0x1800298d9
mov qword [rsp + 0xe0], rcx
movaps xmm0, xmm9
mov rcx, qword [rsp + 0x170]
imul rax, rsi, 0x201
mulsd xmm0, xmm10
movsd qword [r10 + r8], xmm9
add rax, rdx
movsd qword [rcx + rax*8], xmm0
mov rcx, qword [rsp + 0xe0]
jmp 0x1800298d9
movsd xmm0, qword [r8]
comisd xmm9, xmm0
ja 0x1800298d9
movaps xmm9, xmm0
jmp 0x1800298d9
mov rax, qword [rsp + 0x120]
movsxd rax, dword [rax + rdx*4]
movsd xmm9, qword [r11 + rax*8]
add ecx, 0x8e
cmp ecx, 0x278
jb 0x180029865
inc rdx
movsd qword [rsp + 0x90], xmm9
add r8, 8
sub r9, 1
jne 0x180029860
xorps xmm10, xmm10
jmp 0x18002a2f5
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rdi]
mov qword [rcx], rax
jmp case.0x18002954b.163
mov edx, 0x3e
mov eax, edx
sub eax, 0x3e
je 0x18002996b
sub eax, 1
je 0x18002995c
sub eax, 1
je 0x18002994b
cmp eax, 1
jne 0x1800299c9
mov eax, dword [r14 + 8]
mov dword [rsp + 0x48], eax
jmp 0x1800299c9
mov eax, dword [r14]
mov dword [rsp + 0x4c], eax
mov eax, dword [r14 + 4]
mov dword [rsp + 0x50], eax
jmp 0x1800299c9
xor eax, eax
cmp dword [r14 + 4], eax
sete al
mov dword [r14 + 4], eax
jmp 0x1800299c9
cmp dword [r14], 0
jne 0x180029998
mov ecx, 0x39
mov eax, ecx
sub eax, 0x38
je 0x180029987
cmp eax, 1
jne 0x18002998f
mov dword [r14], eax
jmp 0x18002998f
mov dword [r14 + 8], 1
dec ecx
cmp ecx, 0x37
ja 0x180029976
jmp 0x1800299c9
mov ecx, 0x10d
nop dword [rax]
mov eax, ecx
sub eax, 0x10c
je 0x1800299b7
cmp eax, 1
jne 0x1800299bf
mov dword [r14], 0
jmp 0x1800299bf
mov dword [r14 + 8], 0
dec ecx
cmp ecx, 0x10b
ja 0x1800299a0
inc edx
cmp edx, 0x42
jb 0x180029927
jmp case.0x18002954b.163
mov rcx, qword [rsp + 0xf8]
lea rdx, [rdi + 8]
movsd xmm0, qword [rdi]
mov r9d, 0x200
mov r11, qword [rsp + 0xd0]
mov r10, rcx
mov r8, qword [rsp + 0x120]
mulsd xmm0, qword [rcx]
add r8, 4
mov rbx, qword [rsp + 0xa0]
lea r13d, [r9 + 1]
sub r10, rdi
movsd qword [r11], xmm0
nop
mov ecx, 0x49
cmp ecx, 0x49
jne 0x180029a54
movsxd rax, dword [r8]
movsd xmm0, qword [rbx + rax*8]
addsd xmm0, qword [rdx]
movsd qword [rbx + rax*8], xmm0
movsd xmm0, qword [r10 + rdx]
mulsd xmm0, qword [rdx]
movsxd rax, dword [r8]
addsd xmm0, qword [r11 + rax*8]
movsd qword [r11 + rax*8], xmm0
add ecx, 0x3677
cmp ecx, 0x3677
jbe 0x180029a25
add r8, 4
add rdx, 8
sub r9, 1
jne 0x180029a20
mov rbx, qword [rsp + 0xb0]
jmp 0x18002a2f5
mov rsi, qword [rsp + 0x150]
mov ebp, 0x40
mov r11, qword [rsp + 0xa0]
mov r13d, ebp
mov r14, qword [rsp + 0xd0]
sub r11, rsi
sub r14, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x110]
mov rdi, qword [rsp + 0xf0]
sub rdi, rdx
nop dword [rax + rax]
mov r10d, 0x105
nop word [rax + rax]
cmp r10d, 0x105
je 0x180029b8e
cmp r10d, 0xbc9d
je 0x180029b1b
cmp r10d, 0x17835
jne 0x180029b96
movsd xmm1, qword [rdx + rdi]
ucomisd xmm1, xmm10
jp 0x180029b0d
jne 0x180029b0d
mov qword [rdx], 0
jmp 0x180029b96
movsd xmm0, qword [rdx]
divsd xmm0, xmm1
movsd qword [rdx], xmm0
jmp 0x180029b96
mov qword [rdx], 0
lea r9, [r14 + r11]
mov rcx, rsi
mov r8, r13
mov r12d, r13d
nop
movsd xmm0, qword [rcx]
ucomisd xmm0, xmm10
jp 0x180029b3d
je 0x180029b82
mov eax, 0x44
cmp eax, 0x44
je 0x180029b62
cmp eax, 0x2df4
jne 0x180029b76
movsd xmm0, qword [rcx + r9]
mulsd xmm0, qword [rcx]
addsd xmm0, qword [rdx]
movsd qword [rdx], xmm0
jmp 0x180029b76
movsd xmm0, qword [rcx + r11]
mulsd xmm0, qword [rcx]
addsd xmm0, qword [rdx + rdi]
movsd qword [rdx + rdi], xmm0
add eax, 0x2db0
cmp eax, 0x5b60
jbe 0x180029b42
add rcx, 8
sub r8, 1
jne 0x180029b30
jmp 0x180029b96
mov qword [rdx + rdi], 0
add r10d, 0xbb98
cmp r10d, 0x232c8
jbe 0x180029ad0
add rsi, 0x200
mov dword [rsp + 0x34], r12d
sub r11, 0x200
add rdx, 8
sub rbp, 1
jne 0x180029ac0
jmp 0x18002a2db
mov rcx, qword [rsp + 0x100]
xor edi, edi
mov rax, qword [rsp + 0xf8]
mov rsi, rcx
mov rdx, qword [rsp + 0x60]
sub rax, rcx
movsxd r14, dword [rsp + 0x4c]
sub rdx, rcx
movsxd r12, dword [rsp + 0x50]
movsxd r13, dword [rsp + 0x48]
movsd xmm14, qword [rsp + 0x38]
movsd xmm11, qword [0x180056110]
mov rbx, qword [rsp + 0x158]
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x160], 0x201
mov ebp, 6
lea r15d, [rbp + 1]
nop dword [rax]
cmp ebp, 6
ja case.default.0x180029c56
mov eax, ebp
mov ecx, dword [r8 + rax*4 + 0x2a9a4]
add rcx, r8
jmp rcx
mov rax, qword [rsp + 0x40]
movaps xmm6, xmm13
andps xmm6, xmm11
lea rax, [r14 + rax*2]
imul rcx, rax, 0x201
mov rax, qword [rsp + 0x88]
add rcx, rdi
addsd xmm6, qword [rax + rcx*8]
ucomisd xmm6, xmm10
jp 0x180029c9c
jne 0x180029c9c
mov rax, qword [rsp + 0x28]
movaps xmm0, xmm10
movsd qword [rax + rsi], xmm0
jmp case.default.0x180029c56
movaps xmm1, xmm14
movaps xmm0, xmm9
mulsd xmm1, xmm14
mulsd xmm0, xmm9
addsd xmm1, xmm0
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
mov rax, qword [rsp + 0x28]
divsd xmm0, xmm6
movsd qword [rax + rsi], xmm0
jmp case.default.0x180029c56
mov rax, qword [rsp + 0x40]
lea rax, [r14 + rax*2]
imul rcx, rax, 0x201
mov rax, qword [rsi]
add rcx, rdi
mov qword [rbx + rcx*8], rax
jmp case.default.0x180029c56
mov r8, qword [rsp + 0x40]
lea rax, [r12 + r8*2]
imul rcx, rax, 0x201
lea rax, [r8*2]
add rcx, rdi
add rax, r13
movsd xmm15, qword [rbx + rcx*8]
imul rcx, rax, 0x201
addsd xmm15, xmm15
add rcx, rdi
subsd xmm15, qword [rbx + rcx*8]
jmp case.default.0x180029c56
movsd xmm0, qword [rsi]
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
mov rax, qword [rsp + 0x40]
movaps xmm9, xmm0
movaps xmm0, xmm15
lea rax, [r14 + rax*2]
imul rcx, rax, 0x201
mov rax, qword [rsp + 0x88]
add rcx, rdi
mulsd xmm9, qword [rax + rcx*8]
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
mulsd xmm0, xmm13
subsd xmm9, xmm0
jmp case.default.0x180029c56
movsd xmm0, qword [rsi]
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
mov rax, qword [rsp + 0x40]
movaps xmm14, xmm0
movaps xmm0, xmm15
lea rax, [r14 + rax*2]
imul rcx, rax, 0x201
mov rax, qword [rsp + 0x88]
add rcx, rdi
mulsd xmm14, qword [rax + rcx*8]
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
mulsd xmm0, xmm13
subsd xmm14, xmm0
jmp case.default.0x180029c56
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x88]
lea rax, [r12 + rdx*2]
imul rcx, rax, 0x201
lea rax, [rdx*2]
add rcx, rdi
add rax, r13
movsd xmm13, qword [r8 + rcx*8]
imul rcx, rax, 0x201
addsd xmm13, xmm13
add rcx, rdi
subsd xmm13, qword [r8 + rcx*8]
jmp case.default.0x180029c56
movsd xmm0, qword [rdx + rsi]
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
mov rax, qword [rsp + 0x40]
lea rax, [r14 + rax*2]
imul rcx, rax, 0x201
mov rax, qword [rsp + 0x88]
add rcx, rdi
movsd qword [rax + rcx*8], xmm0
mov rdx, qword [rsp + 0xe0]
lea r8, [0x180000000]
dec ebp
sub r15, 1
jne 0x180029c40
inc rdi
movsd qword [rsp + 0x38], xmm14
add rsi, 8
movsd qword [rsp + 0xc0], xmm15
sub qword [rsp + 0x160], 1
lea r8, [0x180000000]
movsd qword [rsp + 0xb8], xmm13
movsd qword [rsp + 0x90], xmm9
jne 0x180029c30
mov rax, qword [rsp + 0xd0]
mov r8d, 0x3f
mov r9, qword [rsp + 0xa0]
movsd xmm11, qword [rsp + 0x68]
sub r9, rax
movsd xmm14, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xb0]
lea rdx, [rax + 8]
lea r13d, [r8 + 1]
nop word [rax + rax]
mov ecx, 0xa8
mov eax, ecx
sub eax, 0xa7
je 0x180029edd
cmp eax, 1
jne 0x180029ee4
mov qword [r9 + rdx], 0
jmp 0x180029ee4
mov qword [rdx], 0
dec ecx
cmp ecx, 0xa6
ja 0x180029ec5
add rdx, 8
sub r8, 1
jne 0x180029ec0
mov r12d, dword [rsp + 0x34]
jmp 0x18002a2d6
mov rbx, qword [rsp + 0x168]
mov edi, 0x19
mov r12d, dword [rsp + 0x78]
cmp edi, 0x19
je 0x18002a0ad
cmp edi, 0x12c0
je 0x180029f8a
cmp edi, 0x2567
jne 0x18002a0bd
cmp r13d, 0x420
jae 0x18002a0bd
imul rcx, rsi, 0x420
mov eax, r13d
add rcx, rax
lea rdx, [rcx*2]
mov ecx, 0x420
add rdx, rbp
sub ecx, r13d
mov r13d, 0x420
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [r15]
add r15, 2
mov word [rdx], ax
lea rdx, [rdx + 2]
sub rcx, 1
jne 0x180029f70
jmp 0x18002a0bd
mov r11, qword [rsp + 0x198]
xor r13d, r13d
xor r9d, r9d
mov r10, rbx
sub r11, rbx
nop
mov r8d, 0x8d
mov eax, r8d
sub eax, 0x8d
je 0x180029fd9
cmp eax, 1
jne 0x180029ff7
imul rax, rsi, 0x420
add rax, r9
movsx eax, word [rbp + rax*2]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [r11 + r10]
movsd qword [r10], xmm0
jmp 0x180029ff7
mov edx, dword [r14 + 0xc]
imul rcx, rsi, 0x420
add edx, r13d
add rdx, rcx
add rcx, r9
movzx eax, word [rbp + rdx*2]
mov word [rbp + rcx*2], ax
inc r8d
cmp r8d, 0x8f
jb 0x180029fa6
inc r13d
inc r9
add r10, 8
cmp r13d, 0x1e0
jb 0x180029fa0
cmp r13d, 0x400
jae 0x18002a0bd
mov eax, 0x400
mov r8d, r13d
sub eax, r13d
lea r9, [rbx + r13*8]
mov r10d, eax
add r13d, eax
nop dword [rax + rax]
mov edx, 0xba
cmp edx, 0xba
je 0x18002a079
cmp edx, 0x8fdc
jne 0x18002a090
imul rax, rsi, 0x420
add rax, r8
movsx eax, word [rbp + rax*2]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [r9 + r11]
movsd qword [r9], xmm0
jmp 0x18002a090
movzx eax, word [r15]
imul rcx, rsi, 0x420
add rcx, r8
add r15, 2
mov word [rbp + rcx*2], ax
add edx, 0x8f22
cmp edx, 0x11e44
jbe 0x18002a045
inc r8
add r9, 8
sub r10, 1
jne 0x18002a040
jmp 0x18002a0bd
lea r15, [r12 + r12*8]
shl r15, 8
add r15, qword [rsp + 0x2b0]
add edi, 0x12a7
cmp edi, 0x37f5
jbe 0x180029f14
mov rdi, qword [rsp + 0x60]
mov r8d, 0x3e
mov rdx, qword [rsp + 0x100]
mov r9, rdi
mov rcx, rbx
mov qword [rsp + 0x70], r15
call fcn.180037880
mov r12d, dword [rsp + 0x34]
mov rbx, qword [rsp + 0xb0]
jmp 0x18002a2f5
mov rax, qword [rsp + 0x108]
mov ebp, 0x40
mov r15, qword [rsp + 0x178]
mov rdi, rax
mov r12, qword [rsp + 0x180]
sub r15, rax
mov r14, qword [rsp + 0x110]
sub r12, rax
movsd xmm10, qword [0x180055588]
sub r14, rax
movsd xmm13, qword [0x1800557a8]
mov r13d, ebp
movsd xmm15, qword [0x180055608]
movsd xmm9, qword [0x180055678]
movsd xmm11, qword [0x1800557c0]
movsd xmm12, qword [0x1800555c0]
mov ebx, dword [rsp + 0x34]
mov esi, 0x5c
cmp esi, 0x5c
je 0x18002a243
cmp esi, 0x60
je 0x18002a213
cmp esi, 0x64
je 0x18002a1db
cmp esi, 0x68
je 0x18002a1c2
cmp esi, 0x6c
jne 0x18002a270
movsd xmm0, qword [rdi]
mulsd xmm0, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_exp
movsd xmm1, qword [0x1800555e8]
lea r8, [0x180000000]
movsd qword [rdi], xmm0
jmp 0x18002a270
movsd xmm0, qword [rdi]
mov eax, ebx
maxsd xmm0, qword [r8 + rax*8 + 0x4a060]
movsd qword [rdi], xmm0
jmp 0x18002a270
movaps xmm0, xmm15
movaps xmm1, xmm14
mulsd xmm1, qword [r15 + rdi]
subsd xmm0, xmm14
mulsd xmm0, xmm9
addsd xmm1, xmm0
movsd qword [rdi], xmm1
movsd xmm0, qword [r12 + rdi]
movsd xmm1, qword [0x1800555e8]
addsd xmm0, xmm1
cvttsd2si ebx, xmm0
jmp 0x18002a270
movsd xmm0, qword [r14 + rdi]
call sub.api_ms_win_crt_math_l1_1_0.dll_log
movsd xmm1, qword [0x1800555e8]
lea r8, [0x180000000]
movaps xmm14, xmm0
mulsd xmm14, xmm11
subsd xmm14, xmm12
movsd qword [r14 + rdi], xmm14
jmp 0x18002a270
movsd xmm0, qword [r14 + rdi]
comisd xmm10, xmm0
jbe 0x18002a25c
movabs rax, 0x3fa999999999999a
jmp 0x18002a26c
comisd xmm0, xmm1
jbe 0x18002a270
movabs rax, 0x3fe0000000000000
mov qword [r14 + rdi], rax
add esi, 4
cmp esi, 0x70
jb 0x18002a177
add rdi, 8
movsd qword [rsp + 0xc8], xmm14
mov dword [rsp + 0x34], ebx
sub rbp, 1
jne 0x18002a172
movsd xmm9, qword [rsp + 0x90]
mov r12d, ebx
mov rbx, qword [rsp + 0xb0]
xorps xmm10, xmm10
movsd xmm11, qword [rsp + 0x68]
movsd xmm12, qword [rsp + 0x80]
movsd xmm13, qword [rsp + 0xb8]
movsd xmm15, qword [rsp + 0xc0]
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x298]
mov r14, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x38]
mov eax, dword [rsp + 0x98]
movaps xmm2, xmm14
mov edx, dword [rsp + 0x50]
add eax, 0x17
mov r8d, dword [rsp + 0x4c]
mov rcx, r15
mov r9d, dword [rsp + 0x48]
movaps xmm3, xmm15
movsd xmm1, qword [0x1800555e8]
movaps xmm4, xmm0
mov dword [rsp + 0x98], eax
movaps xmm5, xmm13
movaps xmm6, xmm9
movaps xmm7, xmm12
mov r10d, r12d
cmp eax, 0x169
jb 0x180029520
mov eax, dword [rsp + 0x9c]
inc rbx
inc eax
mov qword [rsp + 0xb0], rbx
mov dword [rsp + 0x9c], eax
cmp eax, 2
jb 0x180029510
mov r15, qword [rsp + 0x188]
mov rax, rsi
mov rbx, qword [rsp + 0x190]
mov r12, qword [rsp + 0x2a8]
shl rax, 5
movsd xmm0, qword [r15]
maxsd xmm0, qword [rbx]
movsd qword [r12 + rax*8], xmm0
movsd xmm1, qword [r15 + 8]
maxsd xmm1, qword [rbx + 8]
movsd qword [r12 + rax*8 + 8], xmm1
movsd xmm0, qword [r15 + 0x10]
maxsd xmm0, qword [rbx + 0x10]
movsd qword [r12 + rax*8 + 0x10], xmm0
movsd xmm1, qword [r15 + 0x18]
maxsd xmm1, qword [rbx + 0x18]
movsd qword [r12 + rax*8 + 0x18], xmm1
movsd xmm0, qword [r15 + 0x20]
maxsd xmm0, qword [rbx + 0x20]
movsd qword [r12 + rax*8 + 0x20], xmm0
movsd xmm1, qword [r15 + 0x28]
maxsd xmm1, qword [rbx + 0x28]
movsd qword [r12 + rax*8 + 0x28], xmm1
movsd xmm0, qword [r15 + 0x30]
maxsd xmm0, qword [rbx + 0x30]
movsd qword [r12 + rax*8 + 0x30], xmm0
movsd xmm1, qword [r15 + 0x38]
maxsd xmm1, qword [rbx + 0x38]
movsd qword [r12 + rax*8 + 0x38], xmm1
movsd xmm0, qword [r15 + 0x40]
maxsd xmm0, qword [rbx + 0x40]
movsd qword [r12 + rax*8 + 0x40], xmm0
movsd xmm1, qword [r15 + 0x48]
maxsd xmm1, qword [rbx + 0x48]
movsd qword [r12 + rax*8 + 0x48], xmm1
movsd xmm0, qword [r15 + 0x50]
maxsd xmm0, qword [rbx + 0x50]
movsd qword [r12 + rax*8 + 0x50], xmm0
movsd xmm1, qword [r15 + 0x58]
maxsd xmm1, qword [rbx + 0x58]
movsd qword [r12 + rax*8 + 0x58], xmm1
movsd xmm0, qword [r15 + 0x60]
maxsd xmm0, qword [rbx + 0x60]
movsd qword [r12 + rax*8 + 0x60], xmm0
movsd xmm1, qword [r15 + 0x68]
maxsd xmm1, qword [rbx + 0x68]
movsd qword [r12 + rax*8 + 0x68], xmm1
movsd xmm0, qword [r15 + 0x70]
maxsd xmm0, qword [rbx + 0x70]
movsd qword [r12 + rax*8 + 0x70], xmm0
movsd xmm1, qword [r15 + 0x78]
maxsd xmm1, qword [rbx + 0x78]
movsd qword [r12 + rax*8 + 0x78], xmm1
movsd xmm0, qword [r15 + 0x80]
maxsd xmm0, qword [rbx + 0x80]
movsd qword [r12 + rax*8 + 0x80], xmm0
movsd xmm1, qword [r15 + 0x88]
maxsd xmm1, qword [rbx + 0x88]
movsd qword [r12 + rax*8 + 0x88], xmm1
movsd xmm0, qword [r15 + 0x90]
maxsd xmm0, qword [rbx + 0x90]
movsd qword [r12 + rax*8 + 0x90], xmm0
movsd xmm1, qword [r15 + 0x98]
maxsd xmm1, qword [rbx + 0x98]
movsd qword [r12 + rax*8 + 0x98], xmm1
movsd xmm0, qword [r15 + 0xa0]
maxsd xmm0, qword [rbx + 0xa0]
movsd qword [r12 + rax*8 + 0xa0], xmm0
movsd xmm1, qword [r15 + 0xa8]
maxsd xmm1, qword [rbx + 0xa8]
movsd qword [r12 + rax*8 + 0xa8], xmm1
movsd xmm0, qword [r15 + 0xb0]
maxsd xmm0, qword [rbx + 0xb0]
movsd qword [r12 + rax*8 + 0xb0], xmm0
movsd xmm1, qword [r15 + 0xb8]
maxsd xmm1, qword [rbx + 0xb8]
movsd qword [r12 + rax*8 + 0xb8], xmm1
movsd xmm0, qword [r15 + 0xc0]
maxsd xmm0, qword [rbx + 0xc0]
movsd qword [r12 + rax*8 + 0xc0], xmm0
movsd xmm1, qword [r15 + 0xc8]
maxsd xmm1, qword [rbx + 0xc8]
inc rsi
movsd qword [rsp + 0x68], xmm11
movsd qword [rsp + 0x80], xmm7
movsd qword [rsp + 0x90], xmm6
movsd qword [rsp + 0xb8], xmm5
movsd qword [r12 + rax*8 + 0xc8], xmm1
movsd xmm0, qword [r15 + 0xd0]
maxsd xmm0, qword [rbx + 0xd0]
movsd qword [rsp + 0x38], xmm4
movsd qword [rsp + 0xc0], xmm3
movsd qword [rsp + 0xc8], xmm2
mov qword [rsp + 0x40], rsi
movsd qword [r12 + rax*8 + 0xd0], xmm0
movsd xmm1, qword [r15 + 0xd8]
maxsd xmm1, qword [rbx + 0xd8]
mov dword [rsp + 0x34], r10d
mov dword [rsp + 0x48], r9d
mov dword [rsp + 0x4c], r8d
mov dword [rsp + 0x50], edx
movsd qword [r12 + rax*8 + 0xd8], xmm1
movsd xmm0, qword [r15 + 0xe0]
maxsd xmm0, qword [rbx + 0xe0]
mov qword [rsp + 0x70], rcx
movsd qword [r12 + rax*8 + 0xe0], xmm0
movsd xmm1, qword [r15 + 0xe8]
maxsd xmm1, qword [rbx + 0xe8]
movsd qword [r12 + rax*8 + 0xe8], xmm1
movsd xmm0, qword [r15 + 0xf0]
maxsd xmm0, qword [rbx + 0xf0]
movsd qword [r12 + rax*8 + 0xf0], xmm0
movsd xmm1, qword [r15 + 0xf8]
mov r15, rcx
maxsd xmm1, qword [rbx + 0xf8]
movsd qword [r12 + rax*8 + 0xf8], xmm1
mov r12d, r10d
mov eax, dword [rsp + 0x78]
movsd xmm1, qword [0x1800555e8]
inc eax
mov dword [rsp + 0x78], eax
cmp eax, dword [rsp + 0x30]
jb 0x1800294f0
mov ebx, dword [rsp + 0x58]
mov esi, dword [rsp + 0x2a0]
movsd qword [rsp + 0x68], xmm11
movsd qword [rsp + 0x80], xmm7
movsd qword [rsp + 0x90], xmm6
movsd qword [rsp + 0xb8], xmm5
movsd qword [rsp + 0x38], xmm4
movsd qword [rsp + 0xc0], xmm3
movsd qword [rsp + 0xc8], xmm2
mov dword [rsp + 0x34], r10d
mov dword [rsp + 0x48], r9d
mov dword [rsp + 0x4c], r8d
mov dword [rsp + 0x50], edx
mov qword [rsp + 0x70], rcx
mov r10, qword [rsp + 0x290]
movsd xmm1, qword [0x1800555e8]
mov r9, qword [rsp + 0xd8]
mov r11d, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x2b0]
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x20]
add esi, 0x3d
mov dword [rsp + 0x2a0], esi
cmp esi, eax
jb 0x1800290d0
lea r11, [rsp + 0x248]
mov eax, ebx
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret