Function at 0x14003d770
Capabilities:
Link many functions at runtime
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xa88]
sub rsp, 0xb48
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
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
mov r12d, 1
mov ecx, dword [0x14007b3cc]
test ecx, ecx
jne 0x14003d7ee
mov dword [0x14007c5f4], r12d
jmp 0x14003d8ac
cmp ecx, r12d
jne 0x14003d802
mov dword [0x14007c5f4], 2
jmp 0x14003d8ac
cmp ecx, 2
jne 0x14003d816
mov dword [0x14007c5f4], 4
jmp 0x14003d8ac
cmp ecx, 3
jne 0x14003d82a
mov dword [0x14007c5f4], 5
jmp 0x14003d8ac
cmp ecx, 4
jne 0x14003d83b
mov dword [0x14007c5f4], 6
jmp 0x14003d8ac
cmp ecx, 5
jne 0x14003d84c
mov dword [0x14007c5f4], 3
jmp 0x14003d8ac
cmp ecx, 6
jne 0x14003d85d
mov dword [0x14007c5f4], 8
jmp 0x14003d8ac
cmp ecx, 7
jne 0x14003d86e
mov dword [0x14007c5f4], 9
jmp 0x14003d8ac
cmp ecx, 8
jne 0x14003d87f
mov dword [0x14007c5f4], 0xc
jmp 0x14003d8ac
cmp ecx, 9
je 0x14003d8ac
cmp ecx, 0xa
jne 0x14003d895
mov dword [0x14007c5f4], 0x10
jmp 0x14003d8ac
mov eax, dword [0x14007c5f4]
mov edx, 0x11
cmp ecx, 0xb
cmove eax, edx
mov dword [0x14007c5f4], eax
mov rax, qword [0x14007c440]
movss xmm1, dword [rax + 0x10]
movss xmm0, dword [rax + 0x14]
movss xmm9, dword [0x14004c4bc]
mulss xmm0, xmm9
mulss xmm1, xmm9
movss dword [rbp + 0xa90], xmm1
movss dword [rbp + 0xa94], xmm0
subss xmm1, dword [0x14004c5f4]
cvttss2si edx, xmm1
lea rax, [0x14004bba0]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], r12b
lea r9, [0x14007ae80]
mov r8d, 0x32
movss xmm0, dword [0x14004c5e4]
movd ecx, xmm0
call fcn.140041b50
xor r15d, r15d
movss xmm6, dword [0x14004c5c4]
cmp byte [0x140055050], r15b
je 0x14003d9fa
mov rdi, qword [0x14007c440]
add rdi, 0x1cc8
movaps xmm0, xmmword [0x14004cfe0]
movups xmmword [rsp + 0x48], xmm0
lea rcx, [rsp + 0x48]
call fcn.14001c930
mov esi, eax
movd xmm2, dword [0x140059460]
cvtdq2ps xmm2, xmm2
xorps xmm7, xmm7
test eax, 0xff000000
je 0x14003d9fd
subss xmm2, xmm9
mov dword [rsp + 0x28], 0x64
movss dword [rsp + 0x20], xmm6
xorps xmm3, xmm3
lea rdx, [rbp + 0xa90]
mov rcx, rdi
call fcn.1400232e0
movss xmm8, dword [0x14004c4e4]
movss dword [rsp + 0x28], xmm8
mov byte [rsp + 0x20], r12b
mov r9d, esi
mov r8d, dword [rdi + 0x80]
mov rdx, qword [rdi + 0x88]
mov rcx, rdi
call fcn.14002db10
mov ecx, dword [rdi + 0x84]
test ecx, ecx
jns 0x14003d9f1
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov edx, r15d
test eax, eax
cmovg edx, eax
lea rcx, [rdi + 0x80]
call fcn.140002710
mov dword [rdi + 0x80], r15d
jmp 0x14003da06
xorps xmm7, xmm7
movss xmm8, dword [0x14004c4e4]
cmp byte [0x14007c580], r15b
je 0x14003dc57
mov r10, qword [0x14007c440]
movaps xmm0, xmmword [0x14004ce60]
movups xmmword [rsp + 0x48], xmm0
lea rcx, [rsp + 0x48]
call fcn.14001c930
mov r9d, eax
mov eax, dword [0x14007c4dc]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x14007c560]
cdq
sub eax, edx
sar eax, 1
lea ecx, [rax - 0xa]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xa98], xmm0
movss dword [rbp + 0xa9c], xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xaa0], xmm0
movss dword [rbp + 0xaa4], xmm1
movss dword [rsp + 0x20], xmm8
lea r8, [rbp + 0xa98]
lea rdx, [rbp + 0xaa0]
lea rcx, [r10 + 0x1cc8]
call fcn.14002ef60
mov r10, qword [0x14007c440]
movaps xmm0, xmmword [0x14004ce60]
movups xmmword [rsp + 0x48], xmm0
lea rcx, [rsp + 0x48]
call fcn.14001c930
mov r9d, eax
mov eax, dword [0x14007c4dc]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x14007c560]
cdq
sub eax, edx
sar eax, 1
lea ecx, [rax + 0xa]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xa98], xmm0
movss dword [rbp + 0xa9c], xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xaa0], xmm0
movss dword [rbp + 0xaa4], xmm1
movss dword [rsp + 0x20], xmm8
lea r8, [rbp + 0xa98]
lea rdx, [rbp + 0xaa0]
lea rcx, [r10 + 0x1cc8]
call fcn.14002ef60
mov r10, qword [0x14007c440]
movaps xmm0, xmmword [0x14004ce60]
movups xmmword [rsp + 0x48], xmm0
lea rcx, [rsp + 0x48]
call fcn.14001c930
mov r9d, eax
mov eax, dword [0x14007c4dc]
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
lea ecx, [rax - 0xa]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov eax, dword [0x14007c560]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp + 0xa98], xmm1
movss dword [rbp + 0xa9c], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xaa0], xmm1
movss dword [rbp + 0xaa4], xmm0
movss dword [rsp + 0x20], xmm8
lea r8, [rbp + 0xa98]
lea rdx, [rbp + 0xaa0]
lea rcx, [r10 + 0x1cc8]
call fcn.14002ef60
mov r10, qword [0x14007c440]
movaps xmm0, xmmword [0x14004ce60]
movups xmmword [rsp + 0x48], xmm0
lea rcx, [rsp + 0x48]
call fcn.14001c930
mov r9d, eax
mov eax, dword [0x14007c4dc]
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
lea ecx, [rax + 0xa]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov eax, dword [0x14007c560]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp + 0xa98], xmm1
movss dword [rbp + 0xa9c], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xaa0], xmm1
movss dword [rbp + 0xaa4], xmm0
movss dword [rsp + 0x20], xmm8
lea r8, [rbp + 0xa98]
lea rdx, [rbp + 0xaa0]
lea rcx, [r10 + 0x1cc8]
call fcn.14002ef60
cmp byte [0x14007c43e], r15b
je 0x14003dd03
mov rdi, qword [0x14007c440]
add rdi, 0x1cc8
movaps xmm0, xmmword [0x14004ca40]
movups xmmword [rsp + 0x48], xmm0
lea rcx, [rsp + 0x48]
call fcn.14001c930
mov esi, eax
movd xmm2, dword [0x140059460]
cvtdq2ps xmm2, xmm2
test eax, 0xff000000
je 0x14003dd03
mov dword [rsp + 0x28], 0x64
movss dword [rsp + 0x20], xmm6
xorps xmm3, xmm3
lea rdx, [rbp + 0xa90]
mov rcx, rdi
call fcn.1400232e0
mov r9d, esi
mov r8d, dword [rdi + 0x80]
mov rdx, qword [rdi + 0x88]
mov rcx, rdi
call fcn.14002d470
mov ecx, dword [rdi + 0x84]
test ecx, ecx
jns 0x14003dcfc
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov edx, r15d
test eax, eax
cmovg edx, eax
lea rcx, [rdi + 0x80]
call fcn.140002710
mov dword [rdi + 0x80], r15d
mov rdx, qword [0x14007c520]
add rdx, 0x2638
call fcn.140007ba0
mov rbx, rax
mov rdx, qword [0x14007c520]
add rdx, 0x948
call fcn.140007ba0
mov rdi, rax
cmp byte [0x14007c43f], r15b
je 0x14003dfae
mov rdx, qword [0x14007c520]
test rdx, rdx
je 0x14003dfae
add rdx, 0x318
call fcn.140007ba0
mov rsi, rax
lea r14, [rax + 0x140]
mov ecx, 2
call qword [0x14007c6d8]
test eax, eax
je 0x14003dea8
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x5ac5242b
imul r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x169
sub r8d, ecx
movd xmm0, r8d
cvtdq2pd xmm0, xmm0
xorps xmm6, xmm6
movsd qword [rbp - 0x68], xmm6
movsd qword [rbp - 0x60], xmm0
movsd qword [rbp - 0x58], xmm6
mov qword [rbp + 0x1d8], r14
mov eax, dword [0x14007c500]
mov dword [rbp + 0x1e8], eax
mov word [rbp + 0x1ec], r12w
mov byte [rbp + 0x1ee], r15b
lea rax, [rbp - 0x68]
mov qword [rbp + 0x1d0], rax
mov qword [rbp + 0x1e0], 0x18
mov rax, qword [0x14007c4e0]
test rax, rax
jne 0x14003de1c
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [0x14004c350]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0x1d0]
call rax
mov byte [rbp + 0xaa8], 0x30
lea rax, [rsi + 0x188]
mov qword [rbp + 0x320], rax
mov eax, dword [0x14007c500]
mov dword [rbp + 0x330], eax
mov word [rbp + 0x334], r12w
mov byte [rbp + 0x336], r15b
lea rax, [rbp + 0xaa8]
mov qword [rbp + 0x318], rax
mov qword [rbp + 0x328], r12
mov rax, qword [0x14007c4e0]
test rax, rax
jne 0x14003de9a
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [0x14004c350]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0x318]
call rax
jmp 0x14003dfb1
movaps xmm0, xmmword [0x14004d0c0]
movups xmmword [rsp + 0x78], xmm0
xorps xmm6, xmm6
movsd qword [rbp - 0x78], xmm6
mov qword [rbp + 0x320], r14
mov eax, dword [0x14007c500]
mov dword [rbp + 0x330], eax
mov word [rbp + 0x334], r12w
mov byte [rbp + 0x336], r15b
lea rax, [rsp + 0x78]
mov qword [rbp + 0x318], rax
mov qword [rbp + 0x328], 0x18
mov rax, qword [0x14007c4e0]
test rax, rax
jne 0x14003df25
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [0x14004c350]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0x318]
call rax
mov byte [rbp + 0xaa8], 0x30
lea rax, [rsi + 0x188]
mov qword [rbp + 0x600], rax
mov eax, dword [0x14007c500]
mov dword [rbp + 0x610], eax
mov word [rbp + 0x614], r12w
mov byte [rbp + 0x616], r15b
lea rax, [rbp + 0xaa8]
mov qword [rbp + 0x5f8], rax
mov qword [rbp + 0x608], r12
mov rax, qword [0x14007c4e0]
test rax, rax
jne 0x14003dfa3
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [0x14004c350]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0x5f8]
call rax
jmp 0x14003dfb1
xorps xmm6, xmm6
cmp byte [0x14007c43c], r15b
je 0x14003e05c
test rbx, rbx
je 0x14003e05c
lea rsi, [rbx + 0x1110]
mov ecx, 0x10
call qword [0x14007c6d8]
mov qword [rbp + 0x2e8], rsi
mov word [rbp + 0x2fc], r12w
mov byte [rbp + 0x2fe], r15b
mov qword [rbp + 0x2f0], 4
test eax, eax
mov eax, dword [0x14007c500]
mov dword [rbp + 0x2f8], eax
lea rax, [rsp + 0x58]
mov qword [rbp + 0x2e0], rax
mov rax, qword [0x14007c4e0]
mov dword [rsp + 0x58], r15d
jne 0x14003e02a
mov dword [rsp + 0x58], 0x3f800000
test rax, rax
jne 0x14003e053
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, [0x14004c350]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0x2e0]
call rax
cmp byte [0x14007c4ea], r15b
je 0x14003e102
test rbx, rbx
je 0x14003e102
lea rdx, [rbx + 0x1120]
call fcn.140007ba0
movss xmm0, dword [0x14004c63c]
movss dword [rbp + 0x70], xmm0
add rax, 0xf0
mov qword [rbp + 0x638], rax
mov eax, dword [0x14007c500]
mov dword [rbp + 0x648], eax
mov word [rbp + 0x64c], r12w
mov byte [rbp + 0x64e], r15b
lea rax, [rbp + 0x70]
mov qword [rbp + 0x630], rax
mov qword [rbp + 0x640], 4
mov rax, qword [0x14007c4e0]
test rax, rax
jne 0x14003e0f9
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [0x14004c350]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0x630]
call rax
cmp byte [0x14007c439], r15b
je 0x14003e192
mov dword [rbp + 0x74], 0xbf800000
mov rax, qword [0x14007c508]
add rax, 0x64
mov qword [rbp + 0x440], rax
mov eax, dword [0x14007c500]
mov dword [rbp + 0x450], eax
mov word [rbp + 0x454], r12w
mov byte [rbp + 0x456], r15b
lea rax, [rbp + 0x74]
mov qword [rbp + 0x438], rax
mov qword [rbp + 0x448], 4
mov rax, qword [0x14007c4e0]
test rax, rax
jne 0x14003e189
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [0x14004c350]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0x438]
call rax
cmp byte [0x14007c43b], r15b
je 0x14003e25e
test rdi, rdi
je 0x14003e25e
lea rdx, [rdi + 0x358]
call fcn.140007e90
movzx ebx, al
mov rdx, qword [0x14007c520]
add rdx, 0x318
call fcn.140007ba0
add rax, 0xa60
mov qword [rbp + 0x390], rax
mov word [rbp + 0x3a4], r12w
mov byte [rbp + 0x3a6], r15b
mov qword [rbp + 0x398], 4
mov eax, dword [0x14007c500]
mov dword [rbp + 0x3a0], eax
lea rax, [rsp + 0x5c]
mov qword [rbp + 0x388], rax
mov rax, qword [0x14007c4e0]
test bl, bl
je 0x14003e224
movss xmm0, dword [0x14004c630]
movss dword [rsp + 0x5c], xmm0
jmp 0x14003e22c
mov dword [rsp + 0x5c], 0x3f800000
test rax, rax
jne 0x14003e255
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, [0x14004c350]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0x388]
call rax
cmp byte [0x14007c564], r15b
je 0x14003e299
mov rax, qword [0x14007c538]
test rax, rax
je 0x14003e342
add rax, 0x2a8
mov qword [rbp + 0x358], rax
mov eax, dword [0x14007c500]
mov dword [rbp + 0x368], eax
lea rax, [0x140059464]
jmp 0x14003e2e8
mov rdx, qword [0x14007c538]
test rdx, rdx
je 0x14003e342
add rdx, 0x2a8
call fcn.140007d10
ucomiss xmm0, xmm7
jp 0x14003e2c0
je 0x14003e342
mov dword [rbp + 0x78], r15d
mov rax, qword [0x14007c538]
add rax, 0x2a8
mov qword [rbp + 0x358], rax
mov eax, dword [0x14007c500]
mov dword [rbp + 0x368], eax
lea rax, [rbp + 0x78]
mov qword [rbp + 0x350], rax
mov rax, qword [0x14007c4e0]
test rax, rax
mov qword [rbp + 0x360], 4
mov byte [rbp + 0x36e], r15b
mov word [rbp + 0x36c], r12w
jne 0x14003e339
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, [0x14004c350]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0x350]
call rax
cmp byte [0x14007c57f], r15b
je 0x14003e671
cmp byte [0x14007c579], r15b
je 0x14003e554
mov ecx, 0x70
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003e3a7
movaps xmm0, xmmword [0x14004d0d0]
movups xmmword [rsp + 0x78], xmm0
movsd xmm0, qword [0x14004c568]
movsd qword [rbp - 0x78], xmm0
mov rdx, qword [0x14007c550]
add rdx, 0x260
lea r8, [rsp + 0x78]
call fcn.140007e20
mov dword [rsp + 0x40], r15d
jmp 0x14003e4ec
mov ecx, 0x71
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003e3f2
movaps xmm0, xmmword [0x14004d020]
movups xmmword [rsp + 0x78], xmm0
movsd xmm0, qword [0x14004c5b8]
movsd qword [rbp - 0x78], xmm0
mov rdx, qword [0x14007c550]
add rdx, 0x260
lea r8, [rsp + 0x78]
call fcn.140007e20
mov dword [rsp + 0x40], r15d
jmp 0x14003e4ec
mov ecx, 0x72
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003e43d
movaps xmm0, xmmword [str.3333]
movups xmmword [rsp + 0x78], xmm0
movsd xmm0, qword [0x14004c5b0]
movsd qword [rbp - 0x78], xmm0
mov rdx, qword [0x14007c550]
add rdx, 0x260
lea r8, [rsp + 0x78]
call fcn.140007e20
mov dword [rsp + 0x40], r15d
jmp 0x14003e4ec
mov ecx, 0x74
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003e485
movaps xmm0, xmmword [0x14004d030]
movups xmmword [rsp + 0x78], xmm0
movsd xmm0, qword [str.33333]
movsd qword [rbp - 0x78], xmm0
mov rdx, qword [0x14007c550]
add rdx, 0x260
lea r8, [rsp + 0x78]
call fcn.140007e20
mov dword [rsp + 0x40], r15d
jmp 0x14003e4ec
mov ecx, 0x75
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003e4cd
movaps xmm0, xmmword [0x14004d010]
movups xmmword [rsp + 0x78], xmm0
movsd xmm0, qword [0x14004c598]
movsd qword [rbp - 0x78], xmm0
mov rdx, qword [0x14007c550]
add rdx, 0x260
lea r8, [rsp + 0x78]
call fcn.140007e20
mov dword [rsp + 0x40], r15d
jmp 0x14003e4ec
mov rdx, qword [0x14007c520]
add rdx, 0x64
call fcn.140007d10
ucomiss xmm0, xmm7
jp 0x14003e554
jne 0x14003e554
mov dword [rsp + 0x40], 0x3f800000
mov rax, qword [0x14007c520]
add rax, 0x64
mov qword [rbp - 0x48], rax
mov eax, dword [0x14007c500]
mov dword [rbp - 0x38], eax
lea rax, [rsp + 0x40]
mov qword [rbp - 0x50], rax
mov rax, qword [0x14007c4e0]
test rax, rax
mov qword [rbp - 0x40], 4
mov byte [rbp - 0x32], r15b
mov word [rbp - 0x34], r12w
jne 0x14003e54e
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, [0x14004c350]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp - 0x50]
call rax
cmp byte [0x14007c4e8], r15b
je 0x14003e5d9
mov dword [rbp + 0x7c], 0x7f7fffff
lea rax, [rdi + 0x64]
mov qword [rbp + 0x478], rax
mov eax, dword [0x14007c500]
mov dword [rbp + 0x488], eax
mov word [rbp + 0x48c], r12w
mov byte [rbp + 0x48e], r15b
lea rax, [rbp + 0x7c]
mov qword [rbp + 0x470], rax
mov qword [rbp + 0x480], 4
mov rax, qword [0x14007c4e0]
test rax, rax
jne 0x14003e5d0
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [0x14004c350]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0x470]
call rax
cmp byte [0x14007c566], r15b
je 0x14003e671
test rdi, rdi
je 0x14003e671
mov dword [rbp + 0x80], r15d
lea rax, [rdi + 0x1890]
mov qword [rbp + 0x4b0], rax
mov eax, dword [0x14007c500]
mov dword [rbp + 0x4c0], eax
mov word [rbp + 0x4c4], r12w
mov byte [rbp + 0x4c6], r15b
lea rax, [rbp + 0x80]
mov qword [rbp + 0x4a8], rax
mov qword [rbp + 0x4b8], 4
mov rax, qword [0x14007c4e0]
test rax, rax
jne 0x14003e668
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [0x14004c350]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0x4a8]
call rax
movss xmm0, dword [0x14004c644]
movss dword [rbp - 0x10], xmm0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa8], xmm0
mov qword [rbp + 0xb8], r15
mov rdi, qword [0x14007c6a8]
mov r14, qword [0x14007c6b0]
movabs r13, 0x8888888888888889
cmp rdi, r14
je 0x14003e793
mov rcx, r14
sub rcx, rdi
mov rax, r13
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movabs rax, 0x222222222222222
cmp rdx, rax
ja 0x140040701
imul rsi, rdx, 0x78
cmp rsi, 0x1000
jb 0x14003e71a
lea rcx, [rsi + 0x27]
cmp rcx, rsi
jbe 0x140040701
call fcn.140009098
test rax, rax
je 0x14003e713
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14003e72f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rsi, rsi
je 0x14003e72c
mov rcx, rsi
call fcn.140009098
mov rbx, rax
jmp 0x14003e72f
mov rbx, r15
mov qword [rbp + 0xa8], rbx
mov qword [rbp + 0xb0], rbx
lea rax, [rsi + rbx]
mov qword [rbp + 0xb8], rax
lea rax, [rbp + 0xa8]
mov qword [rbp + 0xa90], rax
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x60], rbx
lea rax, [rbp + 0xa8]
mov qword [rbp - 0x58], rax
nop dword [rax]
mov rdx, rdi
mov rcx, rbx
call fcn.140008940
add rbx, 0x78
mov qword [rbp - 0x60], rbx
add rdi, 0x78
cmp rdi, r14
jne 0x14003e770
mov qword [rbp + 0xb0], rbx
mov rax, qword [0x14007c6c0]
mov qword [rbp + 0x188], rax
mov rcx, qword [0x14007c6c8]
mov qword [rbp + 0x418], rcx
cmp rax, rcx
je 0x14004030f
mov edi, 0xf
movss xmm13, dword [0x14004c498]
movsd xmm10, qword [0x14004c538]
movsd xmm11, qword [0x14004d090]
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
mov qword [rbp - 0x70], r15
mov eax, dword [0x14007c500]
mov dword [rbp + 0xd8], eax
mov qword [rbp + 0xd0], 8
movq r13, xmm0
lea rax, [r13 + 0x318]
mov qword [rbp + 0xc8], rax
mov word [rbp + 0xdc], 0x100
mov byte [rbp + 0xde], 0
lea rax, [rbp - 0x70]
mov qword [rbp + 0xe0], rax
mov rax, qword [0x14007c4e0]
test rax, rax
jne 0x14003e858
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [0x14004c350]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0xc0]
call rax
mov r8d, 0x44
mov rbx, qword [rbp - 0x70]
mov rdx, rbx
lea rcx, [rbp + 0x2c8]
call fcn.140044450
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp + 0x3c0]
call fcn.140044450
movups xmm0, xmmword [rbp + 0x3c0]
movaps xmmword [rbp + 0x670], xmm0
movsd xmm1, qword [rbp + 0x3d0]
movsd qword [rbp + 0x680], xmm1
lea rdx, [rbp + 0x670]
lea rcx, [rsp + 0x78]
call fcn.140043f70
movsd xmm8, qword [rbp + 0x2d8]
movaps xmm1, xmm8
addsd xmm1, xmm10
movsd xmm7, qword [rbp + 0x2c8]
movsd xmm6, qword [rbp + 0x2d0]
movaps xmm0, xmm7
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x690], xmm0
movsd qword [rbp + 0x410], xmm1
movsd qword [rbp + 0x6a0], xmm1
lea rdx, [rbp + 0x690]
lea rcx, [rbp + 0x3e8]
call fcn.140043f70
movaps xmm0, xmm7
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x7f0], xmm0
movsd qword [rbp + 0x800], xmm8
lea rdx, [rbp + 0x7f0]
lea rcx, [rbp + 0x30]
call fcn.140043f70
mov r8d, 0x44
mov rdx, rbx
lea rcx, [rbp + 0x2b0]
call fcn.140044450
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp - 0x68]
call fcn.140044450
movsd xmm15, qword [rbp + 0x2c0]
addsd xmm15, xmm10
movsd xmm0, qword [rbp + 0x2b0]
movsd qword [rbp + 0x3e0], xmm0
movsd xmm1, qword [rbp + 0x2b8]
movsd qword [rbp - 0x70], xmm1
unpcklpd xmm0, xmm1
movaps xmmword [rbp + 0x6b0], xmm0
movsd qword [rbp + 0x410], xmm15
movsd qword [rbp + 0x6c0], xmm15
lea rdx, [rbp + 0x6b0]
lea rcx, [rbp + 0x298]
call fcn.140043f70
movups xmm0, xmmword [rbp - 0x68]
movaps xmmword [rbp + 0x6d0], xmm0
movsd xmm1, qword [rbp - 0x58]
movsd qword [rbp + 0x6e0], xmm1
lea rdx, [rbp + 0x6d0]
lea rcx, [rbp + 0x420]
call fcn.140043f70
lea rcx, [rbp + 0x830]
call fcn.1400442a0
subsd xmm6, qword [rbp + 0x838]
cvtpd2ps xmm0, xmm6
movss xmm10, dword [0x14004c51c]
movaps xmm1, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
subsd xmm7, qword [rbp + 0x830]
cvtpd2ps xmm0, xmm7
movaps xmm1, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
subsd xmm8, qword [rbp + 0x840]
cvtpd2ps xmm0, xmm8
movaps xmm1, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x14003ea51
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x14003ea59
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x14004c570]
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x60], xmm0
movsd xmm7, qword [rbp + 0x3f0]
movaps xmm1, xmm7
movsd xmm14, qword [rbp - 0x80]
subsd xmm1, xmm14
andps xmm1, xmm11
cvtpd2ps xmm12, xmm1
cvtps2pd xmm2, xmm12
movaps xmm0, xmm2
mulsd xmm0, qword [0x14004c500]
cvtpd2ps xmm10, xmm0
mulsd xmm2, qword [0x14004c508]
cvtpd2ps xmm11, xmm2
mov rcx, qword [0x14007c518]
add rcx, 0x10d8
mov dword [rsp + 0x44], r15d
mov eax, dword [0x14007c500]
mov dword [rbp + 0xd8], eax
mov qword [rbp + 0xd0], 4
mov qword [rbp + 0xc8], rcx
mov word [rbp + 0xdc], 0x100
mov byte [rbp + 0xde], 0
lea rax, [rsp + 0x44]
mov qword [rbp + 0xe0], rax
mov rax, qword [0x14007c4e0]
test rax, rax
jne 0x14003eb2c
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [0x14004c350]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0xc0]
call rax
mov eax, dword [rsp + 0x44]
mov dword [rbp - 0x18], eax
mov qword [rbp + 0xf8], r15
mov eax, dword [0x14007c500]
mov dword [rbp + 0x4f8], eax
mov qword [rbp + 0x4f0], 8
lea rax, [r13 + 0x2b0]
mov qword [rbp + 0x4e8], rax
mov word [rbp + 0x4fc], 0x100
mov byte [rbp + 0x4fe], 0
lea rax, [rbp + 0xf8]
mov qword [rbp + 0x500], rax
mov rax, qword [0x14007c4e0]
test rax, rax
jne 0x14003ebb6
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [0x14004c350]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0x4e0]
call rax
mov rax, qword [0x14007c520]
cmp r13, rax
je 0x1400402e3
mov rbx, qword [rbp + 0xf8]
test rax, rax
je 0x14003ec6e
mov byte [rbp + 0xa90], 0
mov eax, dword [0x14007c500]
mov dword [rbp + 0x530], eax
mov qword [rbp + 0x528], r12
lea rax, [rbx + 0x10d8]
mov qword [rbp + 0x520], rax
mov word [rbp + 0x534], 0x100
mov byte [rbp + 0x536], 0
lea rax, [rbp + 0xa90]
mov qword [rbp + 0x538], rax
mov rax, qword [0x14007c4e0]
test rax, rax
jne 0x14003ec55
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [0x14004c350]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0x518]
call rax
movsx eax, byte [rbp + 0xa90]
cmp dword [rbp - 0x18], eax
je 0x1400402e3
mov byte [rbp + 0xa98], 0
mov eax, dword [0x14007c500]
mov dword [rbp + 0x568], eax
mov qword [rbp + 0x560], r12
lea rax, [r13 + 0x750]
mov qword [rbp + 0x558], rax
mov word [rbp + 0x56c], 0x100
mov byte [rbp + 0x56e], 0
lea rax, [rbp + 0xa98]
mov qword [rbp + 0x570], rax
mov rax, qword [0x14007c4e0]
test rax, rax
jne 0x14003ece4
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [0x14004c350]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0x550]
call rax
mov qword [rbp + 0x1d0], r15
mov qword [rbp + 0x1e8], rdi
mov word [rbp + 0x1d0], 0
mov qword [rbp + 0x1e0], r12
movsx eax, byte [rbp + 0xa98]
movzx eax, al
mov byte [rbp + 0x1d0], al
lea rax, [rbp + 0x1d0]
cmp rdi, 0x10
setae r12b
mov r14, qword [rbp + 0x1d0]
cmovae rax, r14
cmp byte [rax], 0x30
jne 0x14003ed3f
mov eax, r15d
jmp 0x14003ed44
sbb eax, eax
or eax, 1
test eax, eax
jne 0x14003ed85
test r12b, r12b
je 0x1400402dd
lea rdx, [rdi + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x1400402d5
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400402d5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rdx, rbx
lea rcx, [rbp + 0x50]
call fcn.140043a90
nop
cmp byte [0x14007c4eb], 0
je 0x14003eead
lea rax, [rbx + 0x10d8]
mov qword [rbp + 0xc8], rax
mov eax, dword [0x14007c500]
mov dword [rbp + 0xd8], eax
mov word [rbp + 0xdc], 1
mov byte [rbp + 0xde], 0
lea rax, [rbp - 0x18]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xd0], 4
mov rax, qword [0x14007c4e0]
test rax, rax
jne 0x14003ee0f
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [0x14004c350]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0xc0]
call rax
mov rdx, qword [0x14007c518]
add rdx, 0x1244
call fcn.140007b20
mov dword [rbp + 0x84], eax
lea rax, [rbx + 0x1244]
mov qword [rbp + 0x5c8], rax
mov eax, dword [0x14007c500]
mov dword [rbp + 0x5d8], eax
mov word [rbp + 0x5dc], 1
mov byte [rbp + 0x5de], 0
lea rax, [rbp + 0x84]
mov qword [rbp + 0x5c0], rax
mov qword [rbp + 0x5d0], 4
mov rax, qword [0x14007c4e0]
test rax, rax
jne 0x14003eea4
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [0x14004c350]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0x5c0]
call rax
movsd xmm8, qword [rsp + 0x78]
movsd qword [rbp + 0x3d8], xmm8
mov r15, qword [rbp + 8]
cmp byte [0x14007c57e], 0
je 0x14003ef87
lea rdx, [r15 + 0x360]
call fcn.140007d10
movaps xmm6, xmm0
lea rdx, [r15 + 0x368]
call fcn.140007d10
addss xmm0, xmm13
comiss xmm0, xmm6
jb 0x14003ef21
movaps xmm0, xmmword [0x14004ce60]
movups xmmword [rbp], xmm0
lea rcx, [rbp]
call fcn.14001c930
movaps xmm0, xmm10
mulss xmm0, xmm9
cvtps2pd xmm3, xmm0
movaps xmm4, xmm8
subsd xmm4, xmm3
cvtpd2ps xmm0, xmm4
jmp 0x14003ef72
lea rdx, [r15 + 0x360]
call fcn.140007d10
movaps xmm6, xmm0
lea rdx, [r15 + 0x368]
call fcn.140007d10
addss xmm0, xmm13
comiss xmm0, xmm6
jae 0x14003ef87
movaps xmm0, xmmword [0x14004cfe0]
movups xmmword [rbp], xmm0
lea rcx, [rbp]
call fcn.14001c930
movaps xmm0, xmm10
mulss xmm0, xmm9
cvtps2pd xmm2, xmm0
movaps xmm3, xmm8
subsd xmm3, xmm2
cvtpd2ps xmm0, xmm3
mov dword [rsp + 0x20], eax
movaps xmm3, xmm12
movaps xmm2, xmm10
cvtpd2ps xmm1, xmm7
call fcn.140041120
movsd xmm10, qword [rbp + 0x3e8]
cmp byte [0x140055052], 0
je 0x14003f3aa
lea rdx, [r15 + 0x360]
call fcn.140007d10
movaps xmm6, xmm0
lea rdx, [r15 + 0x368]
call fcn.140007d10
addss xmm0, xmm13
comiss xmm0, xmm6
jb 0x14003f195
mov rax, qword [0x14007c440]
movss xmm0, dword [0x14007b5dc]
movss dword [rbp + 0x238], xmm0
movss xmm1, dword [0x14007b5e0]
movss dword [rbp + 0x23c], xmm1
movss xmm0, dword [0x14007b5e4]
movss dword [rbp + 0x240], xmm0
movss xmm1, dword [rax + 0x1550]
movss dword [rbp + 0x244], xmm1
lea rcx, [rbp + 0x238]
call fcn.14001c930
cvttss2si edi, xmm12
cvttss2si esi, xmm11
cvttsd2si ebx, xmm7
mulss xmm11, xmm9
cvtps2pd xmm0, xmm11
movaps xmm6, xmm10
subsd xmm6, xmm0
movaps xmm1, xmm6
movsd xmm11, qword [0x14004c510]
addsd xmm1, xmm11
cvttsd2si ecx, xmm1
mov dword [rsp + 0x28], eax
mov r9d, edi
mov r8d, esi
mov edx, ebx
call fcn.1400419f0
mov rax, qword [0x14007c440]
movss xmm0, dword [0x14007b5dc]
movss dword [rbp + 0x248], xmm0
movss xmm1, dword [0x14007b5e0]
movss dword [rbp + 0x24c], xmm1
movss xmm0, dword [0x14007b5e4]
movss dword [rbp + 0x250], xmm0
movss xmm1, dword [rax + 0x1550]
movss dword [rbp + 0x254], xmm1
lea rcx, [rbp + 0x248]
call fcn.14001c930
movaps xmm0, xmm6
subsd xmm0, xmm11
cvttsd2si ecx, xmm0
mov dword [rsp + 0x28], eax
mov r9d, edi
mov r8d, esi
mov edx, ebx
call fcn.1400419f0
mov rax, qword [0x14007c440]
movss xmm0, dword [0x14007b5dc]
movss dword [rbp + 0x258], xmm0
movss xmm1, dword [0x14007b5e0]
movss dword [rbp + 0x25c], xmm1
movss xmm0, dword [0x14007b5e4]
movss dword [rbp + 0x260], xmm0
movss xmm1, dword [rax + 0x1550]
movss dword [rbp + 0x264], xmm1
lea rcx, [rbp + 0x258]
call fcn.14001c930
cvttsd2si ebx, xmm6
movaps xmm0, xmm7
addsd xmm0, xmm11
cvttsd2si edx, xmm0
mov dword [rsp + 0x28], eax
mov r9d, edi
mov r8d, esi
mov ecx, ebx
call fcn.1400419f0
mov rax, qword [0x14007c440]
movss xmm0, dword [0x14007b5dc]
movss dword [rbp + 0x268], xmm0
movss xmm1, dword [0x14007b5e0]
movss dword [rbp + 0x26c], xmm1
movss xmm0, dword [0x14007b5e4]
movss dword [rbp + 0x270], xmm0
movss xmm1, dword [rax + 0x1550]
movss dword [rbp + 0x274], xmm1
lea rcx, [rbp + 0x268]
jmp 0x14003f388
lea rdx, [r15 + 0x360]
call fcn.140007d10
movaps xmm6, xmm0
lea rdx, [r15 + 0x368]
call fcn.140007d10
addss xmm0, xmm13
comiss xmm0, xmm6
jae 0x14003f3aa
mov rax, qword [0x14007c440]
movss xmm0, dword [0x14007b5e8]
movss dword [rbp + 0x278], xmm0
movss xmm1, dword [0x14007b5ec]
movss dword [rbp + 0x27c], xmm1
movss xmm0, dword [0x14007b5f0]
movss dword [rbp + 0x280], xmm0
movss xmm1, dword [rax + 0x1550]
movss dword [rbp + 0x284], xmm1
lea rcx, [rbp + 0x278]
call fcn.14001c930
cvttss2si edi, xmm12
cvttss2si esi, xmm11
cvttsd2si ebx, xmm7
mulss xmm11, xmm9
cvtps2pd xmm0, xmm11
movaps xmm6, xmm10
subsd xmm6, xmm0
movaps xmm1, xmm6
movsd xmm11, qword [0x14004c510]
addsd xmm1, xmm11
cvttsd2si ecx, xmm1
mov dword [rsp + 0x28], eax
mov r9d, edi
mov r8d, esi
mov edx, ebx
call fcn.1400419f0
mov rax, qword [0x14007c440]
movss xmm0, dword [0x14007b5e8]
movss dword [rbp + 0x288], xmm0
movss xmm1, dword [0x14007b5ec]
movss dword [rbp + 0x28c], xmm1
movss xmm0, dword [0x14007b5f0]
movss dword [rbp + 0x290], xmm0
movss xmm1, dword [rax + 0x1550]
movss dword [rbp + 0x294], xmm1
lea rcx, [rbp + 0x288]
call fcn.14001c930
movaps xmm0, xmm6
subsd xmm0, xmm11
cvttsd2si ecx, xmm0
mov dword [rsp + 0x28], eax
mov r9d, edi
mov r8d, esi
mov edx, ebx
call fcn.1400419f0
mov rax, qword [0x14007c440]
movss xmm0, dword [0x14007b5e8]
movss dword [rbp + 0x218], xmm0
movss xmm1, dword [0x14007b5ec]
movss dword [rbp + 0x21c], xmm1
movss xmm0, dword [0x14007b5f0]
movss dword [rbp + 0x220], xmm0
movss xmm1, dword [rax + 0x1550]
movss dword [rbp + 0x224], xmm1
lea rcx, [rbp + 0x218]
call fcn.14001c930
cvttsd2si ebx, xmm6
movaps xmm0, xmm7
addsd xmm0, xmm11
cvttsd2si edx, xmm0
mov dword [rsp + 0x28], eax
mov r9d, edi
mov r8d, esi
mov ecx, ebx
call fcn.1400419f0
mov rax, qword [0x14007c440]
movss xmm0, dword [0x14007b5e8]
movss dword [rbp + 0x228], xmm0
movss xmm1, dword [0x14007b5ec]
movss dword [rbp + 0x22c], xmm1
movss xmm0, dword [0x14007b5f0]
movss dword [rbp + 0x230], xmm0
movss xmm1, dword [rax + 0x1550]
movss dword [rbp + 0x234], xmm1
lea rcx, [rbp + 0x228]
call fcn.14001c930
movaps xmm0, xmm7
subsd xmm0, xmm11
mov dword [rsp + 0x28], eax
mov r9d, edi
mov r8d, esi
cvttsd2si edx, xmm0
mov ecx, ebx
call fcn.1400419f0
cmp byte [0x14007c57b], 0
je 0x14003f4b8
lea rdx, [r15 + 0x360]
call fcn.140007d10
movaps xmm6, xmm0
lea rdx, [r15 + 0x368]
call fcn.140007d10
addss xmm0, xmm13
mov r10, qword [0x14007c440]
lea rcx, [rbp]
comiss xmm0, xmm6
jb 0x14003f447
movaps xmm0, xmmword [0x14004cea0]
movups xmmword [rbp], xmm0
call fcn.14001c930
mov r9d, eax
cvtpd2ps xmm1, xmm7
cvtpd2ps xmm0, xmm10
movss dword [rbp + 0x208], xmm0
movss dword [rbp + 0x20c], xmm1
mov eax, dword [0x14007c560]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x1c8], xmm0
mov dword [rbp + 0x1cc], 0
lea r8, [rbp + 0x208]
lea rdx, [rbp + 0x1c8]
jmp 0x14003f4a5
movaps xmm0, xmmword [0x14004ce60]
movups xmmword [rbp], xmm0
call fcn.14001c930
mov r9d, eax
cvtpd2ps xmm1, xmm7
cvtpd2ps xmm0, xmm10
movss dword [rbp + 0x1c0], xmm0
movss dword [rbp + 0x1c4], xmm1
mov eax, dword [0x14007c560]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x1b8], xmm0
mov dword [rbp + 0x1bc], 0
lea r8, [rbp + 0x1c0]
lea rdx, [rbp + 0x1b8]
movss dword [rsp + 0x20], xmm9
lea rcx, [r10 + 0x1cc8]
call fcn.14002ef60
cmp byte [0x14007c565], 0
je 0x14003f562
mov rax, qword [0x14007c440]
lea r10, [rax + 0x1cc8]
mov qword [rsp + 0x48], 0x3f800000
mov dword [rsp + 0x50], 0
movss xmm0, dword [rax + 0x1550]
movss dword [rsp + 0x54], xmm0
lea rcx, [rsp + 0x48]
call fcn.14001c930
cvtpd2ps xmm1, xmm7
cvtpd2ps xmm0, xmm10
movss dword [rbp + 0x1b0], xmm0
movss dword [rbp + 0x1b4], xmm1
movd xmm2, dword [0x14007c594]
cvtdq2ps xmm2, xmm2
movd xmm0, dword [0x14007c590]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x1a0], xmm0
movss dword [rbp + 0x1a4], xmm2
movss xmm0, dword [0x14004c4e4]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x1b0]
lea rdx, [rbp + 0x1a0]
mov rcx, r10
call fcn.14002ef60
cmp byte [0x14007c57c], 0
je 0x14003f67b
lea rdx, [r13 + 0x1644]
call fcn.140007b20
mov r8d, eax
lea rdx, str.Ammo:__i
lea rcx, [rbp + 0x920]
call fcn.140007f10
mov rax, qword [0x14007c440]
mov rbx, qword [rax + 0x18f0]
movss xmm6, dword [rax + 0x18f8]
mov qword [rsp + 0x30], 0
lea rax, [rbp + 0x920]
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x14004c650]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14004c644]
movaps xmm2, xmm6
lea rdx, [rbp + 0x88]
mov rcx, rbx
call fcn.14002c9e0
divss xmm6, dword [rbx]
movss xmm0, dword [rbp + 0x88]
comiss xmm0, dword [0x14004c46c]
jbe 0x14003f5fd
subss xmm0, xmm6
addss xmm0, dword [0x14004c4e0]
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [rbp + 0x88], xmm2
movss xmm0, dword [rbp + 0x8c]
mulss xmm0, xmm9
cvtps2pd xmm1, xmm0
addsd xmm1, xmm7
addsd xmm1, qword [0x14004c540]
cvttsd2si r8d, xmm1
mulss xmm2, xmm9
cvtps2pd xmm0, xmm2
movaps xmm1, xmm10
subsd xmm1, xmm0
cvttsd2si edx, xmm1
lea rax, [rbp + 0x920]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
lea r9, [0x14007af10]
movss xmm0, dword [0x14004c5d4]
movd ecx, xmm0
call fcn.140041b50
cmp byte [0x140055051], 0
je 0x14003f6f0
movss xmm2, dword [rsp + 0x60]
cvtps2pd xmm2, xmm2
movq r8, xmm2
lea rdx, str._2.fm
lea rcx, [rbp + 0x870]
call fcn.140007f70
movsd xmm11, qword [0x14004c538]
subsd xmm7, xmm11
cvttsd2si r8d, xmm7
cvttsd2si edx, xmm10
lea rax, [rbp + 0x870]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 1
lea r9, [0x14007af10]
movss xmm6, dword [0x14004c5e0]
movaps xmm0, xmm6
movd ecx, xmm0
call fcn.140041b50
jmp 0x14003f701
movss xmm6, dword [0x14004c5e0]
movsd xmm11, qword [0x14004c538]
cmp byte [0x140055053], 0
je 0x14003f74d
lea rax, [rbp + 0x50]
cmp qword [rbp + 0x68], 0x10
cmovae rax, qword [rbp + 0x50]
movaps xmm0, xmm14
addsd xmm0, xmm11
cvttsd2si r8d, xmm0
cvttsd2si edx, xmm8
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 1
lea r9, [0x14007af10]
movaps xmm0, xmm6
movd ecx, xmm0
call fcn.140041b50
cmp byte [0x14007c4e9], 0
je 0x14003fede
movsd xmm0, qword [rbp + 0x298]
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jp 0x14003f791
jne 0x14003f791
movsd xmm0, qword [rbp + 0x2a0]
ucomisd xmm0, xmm1
jp 0x14003f791
jne 0x14003f791
movsd xmm0, qword [rbp + 0x2a8]
ucomisd xmm0, xmm1
jp 0x14003f791
je 0x14003fede
lea rdx, [r15 + 0x360]
call fcn.140007d10
movaps xmm6, xmm0
lea rdx, [r15 + 0x368]
call fcn.140007d10
addss xmm0, xmm13
comiss xmm0, xmm6
jb 0x14003f7d1
movaps xmm0, xmmword [0x14004ce90]
movups xmmword [rbp], xmm0
lea rcx, [rbp]
call fcn.14001c930
mov ebx, eax
mov dword [rbp - 0x14], eax
jmp 0x14003f802
lea rdx, [r15 + 0x360]
call fcn.140007d10
movaps xmm6, xmm0
lea rdx, [r15 + 0x368]
call fcn.140007d10
addss xmm0, xmm13
comiss xmm0, xmm6
jae 0x14003f7ff
movaps xmm0, xmmword [0x14004ce60]
jmp 0x14003f7bd
mov ebx, dword [rbp - 0x14]
movsd xmm9, qword [rbp - 0x60]
movaps xmm6, xmm9
movsd xmm11, qword [0x14004c550]
subsd xmm6, xmm11
movsd xmm7, qword [rbp - 0x68]
movaps xmm8, xmm7
addsd xmm8, xmm11
movaps xmm0, xmm8
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x6f0], xmm0
movsd xmm10, qword [rbp - 0x58]
movsd qword [rbp + 0x10], xmm10
movsd qword [rbp + 0x700], xmm10
lea rdx, [rbp + 0x6f0]
lea rcx, [rbp + 0x3c0]
call fcn.140043f70
subsd xmm7, xmm11
movaps xmm0, xmm7
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x710], xmm0
movsd qword [rbp - 0x58], xmm10
movsd qword [rbp + 0x720], xmm10
lea rdx, [rbp + 0x710]
lea rcx, [rbp + 0x2b0]
call fcn.140043f70
addsd xmm9, xmm11
movaps xmm0, xmm7
unpcklpd xmm0, xmm9
movaps xmmword [rbp + 0x770], xmm0
movsd qword [rbp - 0x58], xmm10
movsd qword [rbp + 0x780], xmm10
lea rdx, [rbp + 0x770]
lea rcx, [rbp + 0x790]
call fcn.140043f70
movaps xmm0, xmm8
unpcklpd xmm0, xmm9
movaps xmmword [rbp + 0x810], xmm0
movsd qword [rbp - 0x58], xmm10
movsd qword [rbp + 0x820], xmm10
lea rdx, [rbp + 0x810]
lea rcx, [rbp + 0x400]
call fcn.140043f70
movsd xmm9, qword [rbp - 0x70]
movaps xmm6, xmm9
subsd xmm6, xmm11
movsd xmm8, qword [rbp + 0x3e0]
movaps xmm7, xmm8
addsd xmm7, xmm11
movaps xmm0, xmm7
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x7b0], xmm0
movsd qword [rbp - 0x58], xmm15
movsd qword [rbp + 0x7c0], xmm15
lea rdx, [rbp + 0x7b0]
lea rcx, [rbp + 0x3e8]
call fcn.140043f70
subsd xmm8, xmm11
movaps xmm0, xmm8
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x730], xmm0
movsd qword [rbp - 0x58], xmm15
movsd qword [rbp + 0x740], xmm15
lea rdx, [rbp + 0x730]
lea rcx, [rbp + 0x298]
call fcn.140043f70
addsd xmm9, xmm11
movaps xmm0, xmm8
unpcklpd xmm0, xmm9
movaps xmmword [rbp + 0x750], xmm0
movsd qword [rbp - 0x58], xmm15
movsd qword [rbp + 0x760], xmm15
lea rdx, [rbp + 0x750]
lea rcx, [rbp + 0x2c8]
call fcn.140043f70
movaps xmm0, xmm7
unpcklpd xmm0, xmm9
movaps xmmword [rbp + 0x7d0], xmm0
movsd qword [rbp - 0x58], xmm15
movsd qword [rbp + 0x7e0], xmm15
lea rdx, [rbp + 0x7d0]
lea rcx, [rbp + 0x420]
call fcn.140043f70
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movsd xmm1, qword [rbp + 0x3f0]
cvtpd2ps xmm1, xmm1
movss dword [rsp + 0x44], xmm1
movsd xmm0, qword [rbp + 0x3e8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x98], xmm0
movss dword [rbp + 0x9c], xmm1
movsd xmm13, qword [rbp + 0x3c8]
cvtpd2ps xmm13, xmm13
movsd xmm12, qword [rbp + 0x3c0]
cvtpd2ps xmm12, xmm12
movss dword [rbp + 0x198], xmm12
movss dword [rbp + 0x19c], xmm13
movss xmm6, dword [0x14004c51c]
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0x198]
call fcn.14002ef60
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movsd xmm1, qword [rbp + 0x2a0]
cvtpd2ps xmm1, xmm1
movss dword [rsp + 0x60], xmm1
movsd xmm0, qword [rbp + 0x298]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x90], xmm0
movss dword [rbp + 0x94], xmm1
movsd xmm11, qword [rbp + 0x2b8]
cvtpd2ps xmm11, xmm11
movsd xmm10, qword [rbp + 0x2b0]
cvtpd2ps xmm10, xmm10
movss dword [rbp + 0x190], xmm10
movss dword [rbp + 0x194], xmm11
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rbp + 0x90]
lea rdx, [rbp + 0x190]
call fcn.14002ef60
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movsd xmm1, qword [rbp + 0x2d0]
cvtpd2ps xmm1, xmm1
movss dword [rbp - 0x70], xmm1
movsd xmm0, qword [rbp + 0x2c8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xa0], xmm0
movss dword [rbp + 0xa4], xmm1
movsd xmm9, qword [rbp + 0x798]
cvtpd2ps xmm9, xmm9
movsd xmm8, qword [rbp + 0x790]
cvtpd2ps xmm8, xmm8
movss dword [rbp + 0x170], xmm8
movss dword [rbp + 0x174], xmm9
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0x170]
call fcn.14002ef60
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movsd xmm15, qword [rbp + 0x428]
cvtpd2ps xmm15, xmm15
movsd xmm14, qword [rbp + 0x420]
cvtpd2ps xmm14, xmm14
movss dword [rbp + 0x1a8], xmm14
movss dword [rbp + 0x1ac], xmm15
movsd xmm7, qword [rbp + 0x408]
cvtpd2ps xmm7, xmm7
movsd xmm6, qword [rbp + 0x400]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x100], xmm6
movss dword [rbp + 0x104], xmm7
movss xmm1, dword [0x14004c51c]
movss dword [rsp + 0x20], xmm1
mov r9d, ebx
lea r8, [rbp + 0x1a8]
lea rdx, [rbp + 0x100]
call fcn.14002ef60
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movss dword [rbp + 0x108], xmm10
movss dword [rbp + 0x10c], xmm11
movss dword [rbp + 0x110], xmm12
movss dword [rbp + 0x114], xmm13
movss xmm0, dword [0x14004c51c]
movss dword [rsp + 0x20], xmm0
mov r9d, ebx
lea r8, [rbp + 0x108]
lea rdx, [rbp + 0x110]
call fcn.14002ef60
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movss dword [rbp + 0x118], xmm8
movss dword [rbp + 0x11c], xmm9
movss dword [rbp + 0x120], xmm10
movss dword [rbp + 0x124], xmm11
movss xmm10, dword [0x14004c51c]
movss dword [rsp + 0x20], xmm10
mov r9d, ebx
lea r8, [rbp + 0x118]
lea rdx, [rbp + 0x120]
call fcn.14002ef60
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movss dword [rbp + 0x128], xmm6
movss dword [rbp + 0x12c], xmm7
movss dword [rbp + 0x130], xmm8
movss dword [rbp + 0x134], xmm9
movss dword [rsp + 0x20], xmm10
mov r9d, ebx
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0x130]
call fcn.14002ef60
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movss dword [rbp + 0x138], xmm12
movss dword [rbp + 0x13c], xmm13
movss dword [rbp + 0x140], xmm6
movss dword [rbp + 0x144], xmm7
movaps xmm12, xmm10
movss dword [rsp + 0x20], xmm12
mov r9d, ebx
lea r8, [rbp + 0x138]
lea rdx, [rbp + 0x140]
call fcn.14002ef60
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movss xmm8, dword [rbp + 0x90]
movss dword [rbp + 0x148], xmm8
movss xmm9, dword [rsp + 0x60]
movss dword [rbp + 0x14c], xmm9
movss xmm10, dword [rbp + 0x98]
movss dword [rbp + 0x150], xmm10
movss xmm11, dword [rsp + 0x44]
movss dword [rbp + 0x154], xmm11
movss dword [rsp + 0x20], xmm12
mov r9d, ebx
lea r8, [rbp + 0x148]
lea rdx, [rbp + 0x150]
call fcn.14002ef60
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movss xmm6, dword [rbp + 0xa0]
movss dword [rbp + 0x158], xmm6
movss xmm7, dword [rbp - 0x70]
movss dword [rbp + 0x15c], xmm7
movss dword [rbp + 0x160], xmm8
movss dword [rbp + 0x164], xmm9
movss dword [rsp + 0x20], xmm12
mov r9d, ebx
lea r8, [rbp + 0x158]
lea rdx, [rbp + 0x160]
call fcn.14002ef60
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movss dword [rbp + 0x168], xmm14
movss dword [rbp + 0x16c], xmm15
movss dword [rbp + 0x210], xmm6
movss dword [rbp + 0x214], xmm7
movss dword [rsp + 0x20], xmm12
mov r9d, ebx
lea r8, [rbp + 0x168]
lea rdx, [rbp + 0x210]
call fcn.14002ef60
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movss dword [rbp + 0x178], xmm10
movss dword [rbp + 0x17c], xmm11
movss dword [rbp + 0x180], xmm14
movss dword [rbp + 0x184], xmm15
movss dword [rsp + 0x20], xmm12
mov r9d, ebx
lea r8, [rbp + 0x178]
lea rdx, [rbp + 0x180]
call fcn.14002ef60
movss xmm9, dword [0x14004c4bc]
movsd xmm8, qword [rbp + 0x3d8]
movss xmm13, dword [0x14004c498]
movsd xmm14, qword [rbp - 0x80]
cmp byte [0x14007c43d], 0
je 0x1400401f6
cmp qword [0x14007c520], 0
je 0x1400401f6
cmp qword [0x14007c508], 0
je 0x1400401f6
lea rdx, [r13 + 0x948]
call fcn.140007ba0
mov rsi, rax
lea rdx, [rax + 0x450]
call fcn.140007ba0
mov rbx, rax
lea rdx, [rax + 0x90]
call fcn.140007ba0
mov rdi, rax
test rax, rax
jne 0x14003ff7e
mov rdx, qword [rbp + 0x68]
cmp rdx, 0x10
jb 0x1400402b8
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400402b3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400402b3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
test rbx, rbx
je 0x14004027d
lea rdx, [rsi + 0x358]
call fcn.140007e90
movzx r15d, al
lea rdx, [rdi + 0x38]
call fcn.140007b20
mov esi, eax
cmp eax, 0x20
ja 0x1400401f6
lea rdx, [rdi + 0x30]
call fcn.140007ba0
mov byte [rbp + 0xaa0], 0
mov ecx, dword [0x14007c500]
mov dword [rbp + 0x5a0], ecx
mov eax, 1
mov qword [rbp + 0x598], rax
lea rcx, [rbx + 0x73]
mov qword [rbp + 0x590], rcx
mov word [rbp + 0x5a4], 0x100
mov byte [rbp + 0x5a6], 0
lea rax, [rbp + 0xaa0]
mov qword [rbp + 0x5a8], rax
mov rax, qword [0x14007c4e0]
test rax, rax
jne 0x14004002c
lea rcx, str.win32u.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [0x14004c350]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4e0], rax
lea rcx, [rbp + 0x588]
call rax
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x68], 0
movzx ecx, byte [rbp + 0xaa0]
cmp cl, 2
je 0x140040098
cmp cl, 3
jne 0x14004006a
mov dword [rsp + 0x70], 0x3f800000
mov dword [rsp + 0x74], 0x3f800000
jmp 0x1400400bb
cmp cl, 4
jne 0x140040089
mov dword [rsp + 0x68], 0x3f008081
mov dword [rsp + 0x70], 0x3f008081
mov dword [rsp + 0x74], 0x3f800000
jmp 0x1400400bb
lea eax, [rcx - 5]
cmp al, 1
ja 0x1400400aa
mov dword [rsp + 0x68], 0x3f800000
mov dword [rsp + 0x6c], 0x3f800000
mov dword [rsp + 0x74], 0x3f800000
jmp 0x1400400bb
cmp cl, 1
ja 0x1400400bb
movaps xmm0, xmmword [0x14004cfe0]
movups xmmword [rsp + 0x68], xmm0
lea rcx, [rsi + 1]
mov eax, 2
mul rcx
mov rsi, 0xffffffffffffffff
cmovo rax, rsi
mov rcx, rax
call fcn.140009108
mov rcx, rsi
nop dword [rax]
inc rcx
cmp word [rax + rcx*2], 0
jne 0x1400400e0
mov qword [rsp + 0x20], rcx
mov r9, rax
mov r8d, 0x64
lea rdx, [rbp + 0x8b0]
lea rcx, [rbp + 0x668]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstombs_s]
movss xmm0, dword [0x14004c650]
movss dword [rsp + 0x20], xmm0
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x8b0]
lea rcx, [rbp + 0x20]
call fcn.140016f70
test r15b, r15b
je 0x140040193
movss xmm0, dword [rbp + 0x24]
mulss xmm0, xmm9
cvtps2pd xmm1, xmm0
addsd xmm1, xmm14
cvttsd2si r8d, xmm1
movss xmm0, dword [rbp + 0x20]
mulss xmm0, xmm9
cvtps2pd xmm1, xmm0
subsd xmm8, xmm1
cvttsd2si edx, xmm8
lea rax, str.Reloading
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
lea r9, [0x14007af10]
movss xmm0, dword [0x14004c5e0]
movd ecx, xmm0
call fcn.140041b50
jmp 0x1400401f6
movups xmm0, xmmword [rsp + 0x68]
movdqa xmmword [rbp], xmm0
movss xmm1, dword [rbp + 0x24]
mulss xmm1, xmm9
cvtps2pd xmm0, xmm1
addsd xmm0, xmm14
cvttsd2si r8d, xmm0
movss xmm1, dword [rbp + 0x20]
mulss xmm1, xmm9
cvtps2pd xmm0, xmm1
subsd xmm8, xmm0
cvttsd2si edx, xmm8
lea rax, [rbp + 0x8b0]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
lea r9, [rbp]
movss xmm0, dword [0x14004c5e0]
movd ecx, xmm0
call fcn.140041260
mov eax, dword [0x14007c560]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm2, qword [rbp + 0x30]
subsd xmm2, xmm0
mov eax, dword [0x14007c4dc]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [rbp + 0x38]
subsd xmm1, xmm0
mulsd xmm1, xmm1
mulsd xmm2, xmm2
addsd xmm1, xmm2
cvtpd2ps xmm3, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x14004024f
xorps xmm0, xmm0
sqrtss xmm0, xmm3
jmp 0x140040257
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movd xmm1, dword [0x140059460]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x14004027d
movss xmm1, dword [rbp - 0x10]
comiss xmm1, xmm0
jbe 0x14004027d
movss dword [rbp - 0x10], xmm0
mov qword [0x14007c570], r13
mov rdx, qword [rbp + 0x68]
cmp rdx, 0x10
jb 0x1400402b8
inc rdx
mov rcx, qword [rbp + 0x50]
cmp rdx, 0x1000
mov rax, rcx
jb 0x1400402b3
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040396
call fcn.140009020
xor r15d, r15d
mov edi, 0xf
mov byte [rbp + 0x50], r15b
mov qword [rbp + 0x68], rdi
mov qword [rbp + 0x60], r15
test r12b, r12b
je 0x1400402dd
lea rdx, [rdi + 1]
mov rcx, r14
call fcn.140009020
mov r12d, 1
mov rax, qword [rbp + 0x188]
add rax, 0x10
mov qword [rbp + 0x188], rax
cmp rax, qword [rbp + 0x418]
jne 0x14003e7c6
xorps xmm6, xmm6
movabs r13, 0x8888888888888889
cmp qword [0x14007c570], 0
je 0x140040628
mov ecx, dword [0x14007c5f4]
call qword [0x14007c6d8]
test eax, eax
je 0x140040628
cmp byte [0x14005505c], 0
je 0x140040628
mov rdx, qword [0x14007c570]
add rdx, 0x318
call fcn.140007ba0
mov rbx, rax
mov rcx, rax
call fcn.140044400
test al, al
je 0x140040628
xorps xmm1, xmm1
movsd qword [rbp + 0x40], xmm6
mov ecx, dword [0x14007c5f0]
test ecx, ecx
jne 0x14004039d
lea r8d, [rcx + 0x44]
mov rdx, rbx
lea rcx, [rbp + 0x30]
call fcn.140044450
movups xmm1, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
mov ecx, dword [0x14007c5f0]
jmp 0x1400403a2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
movsd xmm0, qword [rbp + 0x40]
cmp ecx, 1
jne 0x1400403c5
lea r8d, [rcx + 4]
mov rdx, rbx
lea rcx, [rbp + 0x30]
call fcn.140044450
movups xmm1, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
mov ecx, dword [0x14007c5f0]
cmp ecx, 2
jne 0x1400403e7
mov r8d, ecx
mov rdx, rbx
lea rcx, [rbp + 0x30]
call fcn.140044450
movups xmm1, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
mov ecx, dword [0x14007c5f0]
cmp ecx, 3
jne 0x140040404
lea r8d, [rcx + 0x45]
mov rdx, rbx
lea rcx, [rbp + 0x30]
call fcn.140044450
movups xmm1, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movaps xmmword [rbp + 0x30], xmm1
movsd qword [rbp + 0x40], xmm0
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x400]
call fcn.140043f70
movups xmm9, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp + 0x40], xmm0
movaps xmm8, xmm9
shufps xmm8, xmm8, 0xee
ucomisd xmm9, xmm6
jp 0x140040457
jne 0x140040457
ucomisd xmm8, xmm6
jp 0x140040457
jne 0x140040457
movsd xmm0, qword [rbp + 0x40]
ucomisd xmm0, xmm6
jp 0x140040457
je 0x140040628
mov eax, dword [0x14007c4dc]
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov eax, dword [0x14007c560]
cdq
sub eax, edx
sar eax, 1
mov edi, eax
movd xmm7, eax
cvtdq2pd xmm7, xmm7
movss xmm1, dword [0x14004c51c]
subsd xmm0, xmm8
cvtpd2ps xmm0, xmm0
call fcn.140045380
movaps xmm6, xmm0
subsd xmm7, xmm9
cvtpd2ps xmm0, xmm7
movss xmm1, dword [0x14004c51c]
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm1, xmm0
addss xmm1, xmm6
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1400404c8
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1400404d0
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movd xmm0, dword [0x140059460]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x140040628
cmp byte [0x14005505c], 0
je 0x140040628
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm8
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm9
movd xmm5, edi
cvtdq2ps xmm5, xmm5
movd xmm4, ebx
cvtdq2ps xmm4, xmm4
mov eax, dword [0x140055058]
xorps xmm9, xmm9
xorps xmm3, xmm3
xorps xmm2, xmm2
movss xmm8, dword [0x14004d0b0]
ucomiss xmm7, xmm9
jp 0x140040539
je 0x140040591
comiss xmm7, xmm5
jbe 0x14004056a
movaps xmm3, xmm5
subss xmm3, xmm7
xorps xmm3, xmm8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm3, xmm0
movaps xmm1, xmm3
addss xmm1, xmm5
movaps xmm0, xmm5
addss xmm0, xmm5
comiss xmm1, xmm0
jbe 0x14004056a
xorps xmm3, xmm3
comiss xmm5, xmm7
jbe 0x140040591
movaps xmm3, xmm7
subss xmm3, xmm5
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm3, xmm0
movaps xmm1, xmm3
addss xmm1, xmm5
comiss xmm9, xmm1
jbe 0x140040591
xorps xmm3, xmm3
ucomiss xmm6, xmm9
jp 0x140040599
je 0x1400405f1
comiss xmm6, xmm4
jbe 0x1400405ca
movaps xmm2, xmm4
subss xmm2, xmm6
xorps xmm2, xmm8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movaps xmm1, xmm2
addss xmm1, xmm4
movaps xmm0, xmm4
addss xmm0, xmm4
comiss xmm1, xmm0
jbe 0x1400405ca
xorps xmm2, xmm2
comiss xmm4, xmm6
jbe 0x1400405f1
movaps xmm2, xmm6
subss xmm2, xmm4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movaps xmm1, xmm2
addss xmm1, xmm4
comiss xmm9, xmm1
jbe 0x1400405f1
xorps xmm2, xmm2
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x1d8], xmm0
mov qword [rbp + 0x1e8], r15
cvttss2si eax, xmm3
mov dword [rbp + 0x1d0], eax
cvttss2si eax, xmm2
mov dword [rbp + 0x1d4], eax
mov edx, r12d
lea rcx, [rbp + 0x1d0]
call qword [0x14007c588]
nop
mov rbx, qword [rbp + 0xa8]
test rbx, rbx
je 0x1400406ae
mov rdi, qword [rbp + 0xb0]
cmp rbx, rdi
je 0x140040659
lea rcx, [rbx + 0x50]
call fcn.1400075a0
add rbx, 0x78
cmp rbx, rdi
jne 0x140040640
mov rbx, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0xb8]
sub rcx, rbx
mov rax, r13
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400406a6
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400406a6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.140009020
lea r11, [rsp + 0xb48]
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 rbx
pop rbp
ret
call fcn.140003410
int3