Function at 0x14003d6f0
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 - 0xb68]
sub rsp, 0xc28
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 0x14003d76e
mov dword [0x14007c5ec], r12d
jmp 0x14003d82c
cmp ecx, r12d
jne 0x14003d782
mov dword [0x14007c5ec], 2
jmp 0x14003d82c
cmp ecx, 2
jne 0x14003d796
mov dword [0x14007c5ec], 4
jmp 0x14003d82c
cmp ecx, 3
jne 0x14003d7aa
mov dword [0x14007c5ec], 5
jmp 0x14003d82c
cmp ecx, 4
jne 0x14003d7bb
mov dword [0x14007c5ec], 6
jmp 0x14003d82c
cmp ecx, 5
jne 0x14003d7cc
mov dword [0x14007c5ec], 3
jmp 0x14003d82c
cmp ecx, 6
jne 0x14003d7dd
mov dword [0x14007c5ec], 8
jmp 0x14003d82c
cmp ecx, 7
jne 0x14003d7ee
mov dword [0x14007c5ec], 9
jmp 0x14003d82c
cmp ecx, 8
jne 0x14003d7ff
mov dword [0x14007c5ec], 0xc
jmp 0x14003d82c
cmp ecx, 9
je 0x14003d82c
cmp ecx, 0xa
jne 0x14003d815
mov dword [0x14007c5ec], 0x10
jmp 0x14003d82c
mov eax, dword [0x14007c5ec]
mov edx, 0x11
cmp ecx, 0xb
cmove eax, edx
mov dword [0x14007c5ec], 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 + 0xb70], xmm1
movss dword [rbp + 0xb74], xmm0
subss xmm1, dword [0x14004c5f4]
cvttss2si edx, xmm1
lea rax, [0x14004bb98]
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.140042140
xor r15d, r15d
movss xmm6, dword [0x14004c5c4]
cmp byte [0x140055050], r15b
je 0x14003d978
mov rdi, qword [0x14007c440]
add rdi, 0x1cc8
movaps xmm0, xmmword [0x14004cfe0]
movups xmmword [rbp - 0x78], xmm0
lea rcx, [rbp - 0x78]
call fcn.14001c8b0
mov esi, eax
movd xmm2, dword [0x140059460]
cvtdq2ps xmm2, xmm2
xorps xmm7, xmm7
test eax, 0xff000000
je 0x14003d97b
subss xmm2, xmm9
mov dword [rsp + 0x28], 0x64
movss dword [rsp + 0x20], xmm6
xorps xmm3, xmm3
lea rdx, [rbp + 0xb70]
mov rcx, rdi
call fcn.140023260
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.14002da90
mov ecx, dword [rdi + 0x84]
test ecx, ecx
jns 0x14003d96f
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 0x14003d984
xorps xmm7, xmm7
movss xmm8, dword [0x14004c4e4]
cmp byte [0x14007c57c], r15b
je 0x14003dbcd
mov r10, qword [0x14007c440]
movaps xmm0, xmmword [0x14004ce60]
movups xmmword [rbp - 0x78], xmm0
lea rcx, [rbp - 0x78]
call fcn.14001c8b0
mov r9d, eax
mov eax, dword [0x14007c4e0]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x14007c534]
cdq
sub eax, edx
sar eax, 1
lea ecx, [rax - 0xa]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xb78], xmm0
movss dword [rbp + 0xb7c], xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xb80], xmm0
movss dword [rbp + 0xb84], xmm1
movss dword [rsp + 0x20], xmm8
lea r8, [rbp + 0xb78]
lea rdx, [rbp + 0xb80]
lea rcx, [r10 + 0x1cc8]
call fcn.14002eee0
mov r10, qword [0x14007c440]
movaps xmm0, xmmword [0x14004ce60]
movups xmmword [rbp - 0x78], xmm0
lea rcx, [rbp - 0x78]
call fcn.14001c8b0
mov r9d, eax
mov eax, dword [0x14007c4e0]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x14007c534]
cdq
sub eax, edx
sar eax, 1
lea ecx, [rax + 0xa]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xb78], xmm0
movss dword [rbp + 0xb7c], xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xb80], xmm0
movss dword [rbp + 0xb84], xmm1
movss dword [rsp + 0x20], xmm8
lea r8, [rbp + 0xb78]
lea rdx, [rbp + 0xb80]
lea rcx, [r10 + 0x1cc8]
call fcn.14002eee0
mov r10, qword [0x14007c440]
movaps xmm0, xmmword [0x14004ce60]
movups xmmword [rbp - 0x78], xmm0
lea rcx, [rbp - 0x78]
call fcn.14001c8b0
mov r9d, eax
mov eax, dword [0x14007c4e0]
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
lea ecx, [rax - 0xa]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov eax, dword [0x14007c534]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp + 0xb78], xmm1
movss dword [rbp + 0xb7c], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xb80], xmm1
movss dword [rbp + 0xb84], xmm0
movss dword [rsp + 0x20], xmm8
lea r8, [rbp + 0xb78]
lea rdx, [rbp + 0xb80]
lea rcx, [r10 + 0x1cc8]
call fcn.14002eee0
mov r10, qword [0x14007c440]
movaps xmm0, xmmword [0x14004ce60]
movups xmmword [rbp - 0x78], xmm0
lea rcx, [rbp - 0x78]
call fcn.14001c8b0
mov r9d, eax
mov eax, dword [0x14007c4e0]
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
lea ecx, [rax + 0xa]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov eax, dword [0x14007c534]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp + 0xb78], xmm1
movss dword [rbp + 0xb7c], xmm0
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xb80], xmm1
movss dword [rbp + 0xb84], xmm0
movss dword [rsp + 0x20], xmm8
lea r8, [rbp + 0xb78]
lea rdx, [rbp + 0xb80]
lea rcx, [r10 + 0x1cc8]
call fcn.14002eee0
cmp byte [0x14007c43e], r15b
je 0x14003dc77
mov rdi, qword [0x14007c440]
add rdi, 0x1cc8
movaps xmm0, xmmword [0x14004ca40]
movups xmmword [rbp - 0x78], xmm0
lea rcx, [rbp - 0x78]
call fcn.14001c8b0
mov esi, eax
movd xmm2, dword [0x140059460]
cvtdq2ps xmm2, xmm2
test eax, 0xff000000
je 0x14003dc77
mov dword [rsp + 0x28], 0x64
movss dword [rsp + 0x20], xmm6
xorps xmm3, xmm3
lea rdx, [rbp + 0xb70]
mov rcx, rdi
call fcn.140023260
mov r9d, esi
mov r8d, dword [rdi + 0x80]
mov rdx, qword [rdi + 0x88]
mov rcx, rdi
call fcn.14002d3f0
mov ecx, dword [rdi + 0x84]
test ecx, ecx
jns 0x14003dc70
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 [0x14007c518]
add rdx, 0x25e0
call fcn.140007ba0
mov rbx, rax
mov rdx, qword [0x14007c518]
add rdx, 0x948
call fcn.140007ba0
mov r14, rax
cmp byte [0x14007c43f], r15b
je 0x14003df17
mov rdx, qword [0x14007c518]
test rdx, rdx
je 0x14003df17
add rdx, 0x318
call fcn.140007ba0
mov rdi, rax
lea rsi, [rax + 0x140]
mov ecx, 2
call qword [0x14007c6d0]
test eax, eax
je 0x14003de11
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 xmm13, xmm13
movsd qword [rbp - 0x28], xmm13
movsd qword [rbp - 0x20], xmm0
movsd qword [rbp - 0x18], xmm13
mov qword [rsp + 0x58], rsi
mov eax, dword [0x14007c4f8]
mov dword [rsp + 0x68], eax
mov word [rsp + 0x6c], r12w
mov byte [rsp + 0x6e], r15b
lea rax, [rbp - 0x28]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], 0x18
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003dd87
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 [0x14007c4d8], rax
lea rcx, [rsp + 0x50]
call rax
mov byte [rbp + 0xb88], 0x30
lea rax, [rdi + 0x188]
mov qword [rbp + 0x320], rax
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x330], eax
mov word [rbp + 0x334], r12w
mov byte [rbp + 0x336], r15b
lea rax, [rbp + 0xb88]
mov qword [rbp + 0x318], rax
mov qword [rbp + 0x328], r12
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003de03
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x318]
call rax
jmp 0x14003df1b
movaps xmm0, xmmword [0x14004d0c0]
movups xmmword [rbp - 0x48], xmm0
xorps xmm13, xmm13
movsd qword [rbp - 0x38], xmm13
mov qword [rbp + 0x320], rsi
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x330], eax
mov word [rbp + 0x334], r12w
mov byte [rbp + 0x336], r15b
lea rax, [rbp - 0x48]
mov qword [rbp + 0x318], rax
mov qword [rbp + 0x328], 0x18
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003de8e
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x318]
call rax
mov byte [rbp + 0xb88], 0x30
lea rax, [rdi + 0x188]
mov qword [rbp + 0x670], rax
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x680], eax
mov word [rbp + 0x684], r12w
mov byte [rbp + 0x686], r15b
lea rax, [rbp + 0xb88]
mov qword [rbp + 0x668], rax
mov qword [rbp + 0x678], r12
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003df0c
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x668]
call rax
jmp 0x14003df1b
xorps xmm13, xmm13
cmp byte [0x14007c43c], r15b
je 0x14003dfc3
test rbx, rbx
je 0x14003dfc3
lea rdi, [rbx + 0x1110]
mov ecx, 0x10
call qword [0x14007c6d0]
mov qword [rbp + 0x3c8], rdi
mov word [rbp + 0x3dc], r12w
mov byte [rbp + 0x3de], r15b
mov qword [rbp + 0x3d0], 4
test eax, eax
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x3d8], eax
lea rax, [rbp - 0x68]
mov qword [rbp + 0x3c0], rax
mov rax, qword [0x14007c4d8]
mov dword [rbp - 0x68], r15d
jne 0x14003df91
mov dword [rbp - 0x68], 0x3f800000
test rax, rax
jne 0x14003dfba
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x3c0]
call rax
cmp byte [0x14007c4e6], r15b
je 0x14003e06f
test rbx, rbx
je 0x14003e06f
lea rdx, [rbx + 0x1120]
call fcn.140007ba0
movss xmm0, dword [0x14004c63c]
movss dword [rbp + 0x120], xmm0
add rax, 0xf0
mov qword [rbp + 0x6a8], rax
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x6b8], eax
mov word [rbp + 0x6bc], r12w
mov byte [rbp + 0x6be], r15b
lea rax, [rbp + 0x120]
mov qword [rbp + 0x6a0], rax
mov qword [rbp + 0x6b0], 4
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003e066
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x6a0]
call rax
cmp byte [0x14007c439], r15b
je 0x14003e105
mov dword [rbp + 0xd0], 0xbf800000
mov rax, qword [0x14007c500]
add rax, 0x64
mov qword [rbp + 0x4e8], rax
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x4f8], eax
mov word [rbp + 0x4fc], r12w
mov byte [rbp + 0x4fe], r15b
lea rax, [rbp + 0xd0]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x4f0], 4
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003e0fc
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x4e0]
call rax
cmp byte [0x14007c43b], r15b
je 0x14003e1ce
test r14, r14
je 0x14003e1ce
lea rdx, [r14 + 0x358]
call fcn.140007e10
movzx ebx, al
mov rdx, qword [0x14007c518]
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 [0x14007c4f8]
mov dword [rbp + 0x3a0], eax
lea rax, [rbp - 0x64]
mov qword [rbp + 0x388], rax
mov rax, qword [0x14007c4d8]
test bl, bl
je 0x14003e195
movss xmm0, dword [0x14004c630]
movss dword [rbp - 0x64], xmm0
jmp 0x14003e19c
mov dword [rbp - 0x64], 0x3f800000
test rax, rax
jne 0x14003e1c5
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x388]
call rax
cmp byte [0x14007c570], r15b
je 0x14003e209
mov rax, qword [0x14007c538]
test rax, rax
je 0x14003e2b8
add rax, 0x2a8
mov qword [rbp + 0x358], rax
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x368], eax
lea rax, [0x140059464]
jmp 0x14003e25e
mov rdx, qword [0x14007c538]
test rdx, rdx
je 0x14003e2b8
add rdx, 0x2a8
call fcn.140007d10
ucomiss xmm0, xmm7
jp 0x14003e230
je 0x14003e2b8
mov dword [rbp + 0xd4], r15d
mov rax, qword [0x14007c538]
add rax, 0x2a8
mov qword [rbp + 0x358], rax
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x368], eax
lea rax, [rbp + 0xd4]
mov qword [rbp + 0x350], rax
mov rax, qword [0x14007c4d8]
test rax, rax
mov qword [rbp + 0x360], 4
mov byte [rbp + 0x36e], r15b
mov word [rbp + 0x36c], r12w
jne 0x14003e2af
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x350]
call rax
movsd xmm11, qword [0x14004c570]
cmp byte [0x14007c57b], r15b
je 0x14003ec70
cmp byte [0x14007c575], r15b
je 0x14003e4c9
mov ecx, 0x70
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003e324
movaps xmm0, xmmword [0x14004d0d0]
movups xmmword [rbp - 0x48], xmm0
movsd xmm0, qword [0x14004c568]
movsd qword [rbp - 0x38], xmm0
mov rdx, qword [0x14007c550]
add rdx, 0x260
lea r8, [rbp - 0x48]
call fcn.140007da0
mov dword [rsp + 0x40], r15d
jmp 0x14003e461
mov ecx, 0x71
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003e36d
movaps xmm0, xmmword [0x14004d020]
movups xmmword [rbp - 0x48], xmm0
movsd xmm0, qword [0x14004c5b8]
movsd qword [rbp - 0x38], xmm0
mov rdx, qword [0x14007c550]
add rdx, 0x260
lea r8, [rbp - 0x48]
call fcn.140007da0
mov dword [rsp + 0x40], r15d
jmp 0x14003e461
mov ecx, 0x72
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003e3b6
movaps xmm0, xmmword [str.3333]
movups xmmword [rbp - 0x48], xmm0
movsd xmm0, qword [0x14004c5b0]
movsd qword [rbp - 0x38], xmm0
mov rdx, qword [0x14007c550]
add rdx, 0x260
lea r8, [rbp - 0x48]
call fcn.140007da0
mov dword [rsp + 0x40], r15d
jmp 0x14003e461
mov ecx, 0x74
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003e3fc
movaps xmm0, xmmword [0x14004d030]
movups xmmword [rbp - 0x48], xmm0
movsd xmm0, qword [str.33333]
movsd qword [rbp - 0x38], xmm0
mov rdx, qword [0x14007c550]
add rdx, 0x260
lea r8, [rbp - 0x48]
call fcn.140007da0
mov dword [rsp + 0x40], r15d
jmp 0x14003e461
mov ecx, 0x75
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003e442
movaps xmm0, xmmword [0x14004d010]
movups xmmword [rbp - 0x48], xmm0
movsd xmm0, qword [0x14004c598]
movsd qword [rbp - 0x38], xmm0
mov rdx, qword [0x14007c550]
add rdx, 0x260
lea r8, [rbp - 0x48]
call fcn.140007da0
mov dword [rsp + 0x40], r15d
jmp 0x14003e461
mov rdx, qword [0x14007c518]
add rdx, 0x64
call fcn.140007d10
ucomiss xmm0, xmm7
jp 0x14003e4c9
jne 0x14003e4c9
mov dword [rsp + 0x40], 0x3f800000
mov rax, qword [0x14007c518]
add rax, 0x64
mov qword [rbp - 8], rax
mov eax, dword [0x14007c4f8]
mov dword [rbp + 8], eax
lea rax, [rsp + 0x40]
mov qword [rbp - 0x10], rax
mov rax, qword [0x14007c4d8]
test rax, rax
mov qword [rbp], 4
mov byte [rbp + 0xe], r15b
mov word [rbp + 0xc], r12w
jne 0x14003e4c3
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 [0x14007c4d8], rax
lea rcx, [rbp - 0x10]
call rax
cmp byte [0x14007c4e4], r15b
je 0x14003e558
mov dword [rbp + 0xd8], 0x7f7fffff
lea rax, [r14 + 0x64]
mov qword [rbp + 0x6e0], rax
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x6f0], eax
mov word [rbp + 0x6f4], r12w
mov byte [rbp + 0x6f6], r15b
lea rax, [rbp + 0xd8]
mov qword [rbp + 0x6d8], rax
mov qword [rbp + 0x6e8], 4
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003e54f
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x6d8]
call rax
cmp byte [0x14007c574], r15b
je 0x14003e7a2
lea rdx, [r14 + 0x188]
call fcn.140007ba0
mov rbx, rax
lea rdx, [r14 + 0x190]
call fcn.140007b20
test eax, eax
jle 0x14003e7a2
mov edi, eax
nop word [rax + rax]
mov qword [rbp + 0xb70], r15
mov ecx, dword [0x14007c4f8]
mov dword [rsp + 0x68], ecx
mov qword [rsp + 0x60], 8
mov qword [rsp + 0x58], rbx
mov word [rsp + 0x6c], 0x100
mov byte [rsp + 0x6e], r15b
lea rax, [rbp + 0xb70]
mov qword [rsp + 0x70], rax
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003e5f7
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 [0x14007c4d8], rax
lea rcx, [rsp + 0x50]
call rax
mov qword [rbp + 0xb78], r15
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x40], eax
mov qword [rbp + 0x38], 8
mov rax, qword [rbp + 0xb70]
add rax, 0x198
mov qword [rbp + 0x30], rax
mov word [rbp + 0x44], 0x100
mov byte [rbp + 0x46], r15b
lea rax, [rbp + 0xb78]
mov qword [rbp + 0x48], rax
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003e66c
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x28]
call rax
mov rcx, qword [0x14007c568]
add rcx, 0x318
mov qword [rbp + 0xb70], r15
mov eax, dword [0x14007c4f8]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x60], 8
mov qword [rsp + 0x58], rcx
mov word [rsp + 0x6c], 0x100
mov byte [rsp + 0x6e], r15b
lea rax, [rbp + 0xb70]
mov qword [rsp + 0x70], rax
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003e6e7
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 [0x14007c4d8], rax
lea rcx, [rsp + 0x50]
call rax
mov r8d, 0x44
mov rdx, qword [rbp + 0xb70]
lea rcx, [rbp + 0x220]
call fcn.140044010
cmp qword [0x14007c568], r15
je 0x14003e795
mov rax, qword [rbp + 0xb78]
add rax, 0x260
mov qword [rbp + 0x718], rax
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x728], eax
mov word [rbp + 0x72c], r12w
mov byte [rbp + 0x72e], r15b
lea rax, [rbp + 0x220]
mov qword [rbp + 0x710], rax
mov qword [rbp + 0x720], 0x18
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003e78c
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x710]
call rax
add rbx, 8
sub rdi, r12
jne 0x14003e590
cmp byte [0x14007c573], r15b
je 0x14003ebd8
lea rdx, [r14 + 0x188]
call fcn.140007ba0
mov rdi, rax
lea rdx, [r14 + 0x190]
call fcn.140007b20
test eax, eax
jle 0x14003ebd8
mov esi, eax
movss xmm8, dword [0x14004c590]
movss xmm7, dword [0x14004c51c]
nop word [rax + rax]
mov qword [rbp + 0xb70], r15
mov eax, dword [0x14007c4f8]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x60], 8
mov qword [rsp + 0x58], rdi
mov word [rsp + 0x6c], 0x100
mov byte [rsp + 0x6e], r15b
lea rax, [rbp + 0xb70]
mov qword [rsp + 0x70], rax
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003e857
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 [0x14007c4d8], rax
lea rcx, [rsp + 0x50]
call rax
mov qword [rbp + 0xb78], r15
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x40], eax
mov qword [rbp + 0x38], 8
mov rbx, qword [rbp + 0xb70]
lea rax, [rbx + 0x198]
mov qword [rbp + 0x30], rax
mov word [rbp + 0x44], 0x100
mov byte [rbp + 0x46], r15b
lea rax, [rbp + 0xb78]
mov qword [rbp + 0x48], rax
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003e8cd
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x28]
call rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x430], xmm0
movsd qword [rbp + 0x440], xmm13
mov eax, dword [0x14007c4f8]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x60], 0x18
mov rax, qword [rbp + 0xb78]
add rax, 0x128
mov qword [rsp + 0x58], rax
mov word [rsp + 0x6c], 0x100
mov byte [rsp + 0x6e], r15b
lea rax, [rbp + 0x430]
mov qword [rsp + 0x70], rax
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003e953
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 [0x14007c4d8], rax
lea rcx, [rsp + 0x50]
call rax
mov rcx, qword [0x14007c568]
add rcx, 0x198
mov qword [rbp + 0xb70], r15
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x40], eax
mov qword [rbp + 0x38], 8
mov qword [rbp + 0x30], rcx
mov word [rbp + 0x44], 0x100
mov byte [rbp + 0x46], r15b
lea rax, [rbp + 0xb70]
mov qword [rbp + 0x48], rax
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003e9c9
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x28]
call rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x418], xmm0
movsd qword [rbp + 0x428], xmm13
mov eax, dword [0x14007c4f8]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x60], 0x18
mov rax, qword [rbp + 0xb70]
add rax, 0x128
mov qword [rsp + 0x58], rax
mov word [rsp + 0x6c], 0x100
mov byte [rsp + 0x6e], r15b
lea rax, [rbp + 0x418]
mov qword [rsp + 0x70], rax
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003ea4f
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 [0x14007c4d8], rax
lea rcx, [rsp + 0x50]
call rax
movsd xmm0, qword [rbp + 0x420]
subsd xmm0, qword [rbp + 0x438]
cvtpd2ps xmm0, xmm0
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movsd xmm0, qword [rbp + 0x418]
subsd xmm0, qword [rbp + 0x430]
cvtpd2ps xmm0, xmm0
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
movsd xmm1, qword [rbp + 0x428]
subsd xmm1, qword [rbp + 0x440]
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x14003eac6
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x14003eace
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cvtss2sd xmm0, xmm0
divsd xmm0, xmm11
cvtsd2ss xmm0, xmm0
lea rax, [rbx + 0x5c]
comiss xmm8, xmm0
jbe 0x14003eb58
mov byte [rsp + 0x48], 0xff
mov qword [rbp + 0x4b0], rax
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x4c0], eax
mov word [rbp + 0x4c4], r12w
mov byte [rbp + 0x4c6], r15b
lea rax, [rsp + 0x48]
mov qword [rbp + 0x4a8], rax
mov qword [rbp + 0x4b8], r12
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003eb4f
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x4a8]
jmp 0x14003ebc9
mov byte [rsp + 0x49], r15b
mov qword [rbp + 0x520], rax
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x530], eax
mov word [rbp + 0x534], r12w
mov byte [rbp + 0x536], r15b
lea rax, [rsp + 0x49]
mov qword [rbp + 0x518], rax
mov qword [rbp + 0x528], r12
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003ebc2
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x518]
call rax
add rdi, 8
sub rsi, r12
jne 0x14003e7f0
cmp byte [0x14007c572], r15b
je 0x14003ec70
test r14, r14
je 0x14003ec70
mov dword [rbp + 0xdc], r15d
lea rax, [r14 + 0x1890]
mov qword [rbp + 0x558], rax
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x568], eax
mov word [rbp + 0x56c], r12w
mov byte [rbp + 0x56e], r15b
lea rax, [rbp + 0xdc]
mov qword [rbp + 0x550], rax
mov qword [rbp + 0x560], 4
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003ec67
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x550]
call rax
movss xmm0, dword [0x14004c644]
movss dword [rbp + 0x68], xmm0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x108], xmm0
mov qword [rbp + 0x118], r15
mov rdi, qword [0x14007c6a0]
mov r14, qword [0x14007c6a8]
movabs r13, 0x8888888888888889
cmp rdi, r14
je 0x14003ed93
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 0x140040cf1
imul rsi, rdx, 0x78
cmp rsi, 0x1000
jb 0x14003ed19
lea rcx, [rsi + 0x27]
cmp rcx, rsi
jbe 0x140040cf1
call fcn.140009018
test rax, rax
je 0x14003ed12
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14003ed2e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rsi, rsi
je 0x14003ed2b
mov rcx, rsi
call fcn.140009018
mov rbx, rax
jmp 0x14003ed2e
mov rbx, r15
mov qword [rbp + 0x108], rbx
mov qword [rbp + 0x110], rbx
lea rax, [rbx + rsi]
mov qword [rbp + 0x118], rax
lea rax, [rbp + 0x108]
mov qword [rbp + 0xb70], rax
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x20], rbx
lea rax, [rbp + 0x108]
mov qword [rbp - 0x18], rax
nop dword [rax + rax]
mov rdx, rdi
mov rcx, rbx
call fcn.1400088c0
add rbx, 0x78
mov qword [rbp - 0x20], rbx
add rdi, 0x78
cmp rdi, r14
jne 0x14003ed70
mov qword [rbp + 0x110], rbx
mov rax, qword [0x14007c6b8]
mov qword [rbp + 0x1b8], rax
mov rcx, qword [0x14007c6c0]
mov qword [rbp + 0x460], rcx
movss xmm14, dword [0x14004c498]
cmp rax, rcx
je 0x1400408e5
mov edi, 0xf
movsd xmm10, qword [0x14004c538]
movsd xmm12, qword [0x14004d090]
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp - 0x30], r15
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0xb0], eax
mov qword [rbp + 0xa8], 8
movq r13, xmm0
lea rax, [r13 + 0x318]
mov qword [rbp + 0xa0], rax
mov word [rbp + 0xb4], 0x100
mov byte [rbp + 0xb6], 0
lea rax, [rbp - 0x30]
mov qword [rbp + 0xb8], rax
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003ee58
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x98]
call rax
mov r8d, 0x44
mov rbx, qword [rbp - 0x30]
mov rdx, rbx
lea rcx, [rbp + 0x2d0]
call fcn.140044010
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp + 0x400]
call fcn.140044010
movups xmm0, xmmword [rbp + 0x400]
movaps xmmword [rbp + 0x750], xmm0
movsd xmm1, qword [rbp + 0x410]
movsd qword [rbp + 0x760], xmm1
lea rdx, [rbp + 0x750]
lea rcx, [rbp - 0x48]
call fcn.140043b30
movsd xmm8, qword [rbp + 0x2e0]
movaps xmm1, xmm8
addsd xmm1, xmm10
movsd xmm7, qword [rbp + 0x2d0]
movsd xmm6, qword [rbp + 0x2d8]
movaps xmm0, xmm7
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x8d0], xmm0
movsd qword [rbp + 0x488], xmm1
movsd qword [rbp + 0x8e0], xmm1
lea rdx, [rbp + 0x8d0]
lea rcx, [rbp + 0x448]
call fcn.140043b30
movaps xmm0, xmm7
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x770], xmm0
movsd qword [rbp + 0x780], xmm8
lea rdx, [rbp + 0x770]
lea rcx, [rbp + 0x200]
call fcn.140043b30
mov r8d, 0x44
mov rdx, rbx
lea rcx, [rbp + 0x2e8]
call fcn.140044010
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.140044010
movsd xmm1, qword [rbp + 0x2f8]
addsd xmm1, xmm10
movsd qword [rbp + 0x470], xmm1
movsd xmm0, qword [rbp + 0x2e8]
movsd qword [rbp + 0x3f8], xmm0
movsd xmm2, qword [rbp + 0x2f0]
movsd qword [rbp - 0x30], xmm2
unpcklpd xmm0, xmm2
movaps xmmword [rbp + 0x790], xmm0
movsd qword [rbp + 0x488], xmm1
movsd qword [rbp + 0x7a0], xmm1
lea rdx, [rbp + 0x790]
lea rcx, [rbp + 0x300]
call fcn.140043b30
movups xmm0, xmmword [rbp - 0x28]
movaps xmmword [rbp + 0x7b0], xmm0
movsd xmm1, qword [rbp - 0x18]
movsd qword [rbp + 0x7c0], xmm1
lea rdx, [rbp + 0x7b0]
lea rcx, [rbp + 0x490]
call fcn.140043b30
lea rcx, [rbp + 0x910]
call fcn.140043e60
subsd xmm6, qword [rbp + 0x918]
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 + 0x910]
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 + 0x920]
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 0x14003f058
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x14003f060
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cvtss2sd xmm0, xmm0
divsd xmm0, xmm11
cvtsd2ss xmm0, xmm0
movss dword [rbp - 0x60], xmm0
movsd xmm7, qword [rbp + 0x450]
movaps xmm1, xmm7
movsd xmm15, qword [rbp - 0x40]
subsd xmm1, xmm15
andps xmm1, xmm12
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 [0x14007c510]
add rcx, 0x10d8
mov dword [rsp + 0x44], r15d
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0xb0], eax
mov qword [rbp + 0xa8], 4
mov qword [rbp + 0xa0], rcx
mov word [rbp + 0xb4], 0x100
mov byte [rbp + 0xb6], 0
lea rax, [rsp + 0x44]
mov qword [rbp + 0xb8], rax
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003f12f
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x98]
call rax
mov eax, dword [rsp + 0x44]
mov dword [rbp + 0x60], eax
mov qword [rbp + 0x128], r15
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x5a0], eax
mov qword [rbp + 0x598], 8
lea rax, [r13 + 0x2b0]
mov qword [rbp + 0x590], rax
mov word [rbp + 0x5a4], 0x100
mov byte [rbp + 0x5a6], 0
lea rax, [rbp + 0x128]
mov qword [rbp + 0x5a8], rax
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003f1b9
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x588]
call rax
mov rax, qword [0x14007c518]
cmp r13, rax
je 0x1400408a7
mov rbx, qword [rbp + 0x128]
test rax, rax
je 0x14003f271
mov byte [rbp + 0xb70], 0
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x648], eax
mov qword [rbp + 0x640], r12
lea rax, [rbx + 0x10d8]
mov qword [rbp + 0x638], rax
mov word [rbp + 0x64c], 0x100
mov byte [rbp + 0x64e], 0
lea rax, [rbp + 0xb70]
mov qword [rbp + 0x650], rax
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003f258
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x630]
call rax
movsx eax, byte [rbp + 0xb70]
cmp dword [rbp + 0x60], eax
je 0x1400408a7
mov byte [rbp + 0xb78], 0
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0x5d8], eax
mov qword [rbp + 0x5d0], r12
lea rax, [r13 + 0x750]
mov qword [rbp + 0x5c8], rax
mov word [rbp + 0x5dc], 0x100
mov byte [rbp + 0x5de], 0
lea rax, [rbp + 0xb78]
mov qword [rbp + 0x5e0], rax
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003f2e7
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x5c0]
call rax
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x68], rdi
mov word [rsp + 0x50], 0
mov qword [rsp + 0x60], r12
movsx eax, byte [rbp + 0xb78]
movzx eax, al
mov byte [rsp + 0x50], al
lea rax, [rsp + 0x50]
cmp rdi, 0x10
setae r12b
mov r14, qword [rsp + 0x50]
cmovae rax, r14
cmp byte [rax], 0x30
jne 0x14003f334
mov eax, r15d
jmp 0x14003f339
sbb eax, eax
or eax, 1
test eax, eax
jne 0x14003f37a
test r12b, r12b
je 0x1400408a1
lea rdx, [rdi + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x140040899
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140040899
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rdx, rbx
lea rcx, [rbp + 0x28]
call fcn.140043870
nop
cmp byte [0x14007c4e7], 0
je 0x14003f453
lea rdx, [rbx + 0x10d8]
mov r9d, 4
lea r8, [rbp + 0x60]
call fcn.140044d60
mov rcx, qword [0x14007c510]
add rcx, 0x1244
mov dword [rsp + 0x44], r15d
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0xb0], eax
mov qword [rbp + 0xa8], 4
mov qword [rbp + 0xa0], rcx
mov word [rbp + 0xb4], 0x100
mov byte [rbp + 0xb6], 0
lea rax, [rsp + 0x44]
mov qword [rbp + 0xb8], rax
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003f427
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x98]
call rax
mov eax, dword [rsp + 0x44]
mov dword [rbp + 0xe0], eax
lea rdx, [rbx + 0x1244]
mov r9d, 4
lea r8, [rbp + 0xe0]
call fcn.140044d60
movsd xmm8, qword [rbp - 0x48]
movsd qword [rbp + 0x468], xmm8
mov r15, qword [rbp + 0x78]
cmp byte [0x14007c57a], 0
je 0x14003f52c
lea rdx, [r15 + 0x360]
call fcn.140007d10
movaps xmm6, xmm0
lea rdx, [r15 + 0x368]
call fcn.140007d10
addss xmm0, xmm14
comiss xmm0, xmm6
jb 0x14003f4c6
movaps xmm0, xmmword [0x14004ce60]
movups xmmword [rbp + 0x70], xmm0
lea rcx, [rbp + 0x70]
call fcn.14001c8b0
movaps xmm0, xmm10
mulss xmm0, xmm9
cvtps2pd xmm3, xmm0
movaps xmm4, xmm8
subsd xmm4, xmm3
cvtpd2ps xmm0, xmm4
jmp 0x14003f517
lea rdx, [r15 + 0x360]
call fcn.140007d10
movaps xmm6, xmm0
lea rdx, [r15 + 0x368]
call fcn.140007d10
addss xmm0, xmm14
comiss xmm0, xmm6
jae 0x14003f52c
movaps xmm0, xmmword [0x14004cfe0]
movups xmmword [rbp + 0x70], xmm0
lea rcx, [rbp + 0x70]
call fcn.14001c8b0
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.140041710
movsd xmm10, qword [rbp + 0x448]
cmp byte [0x140055052], 0
je 0x14003f94f
lea rdx, [r15 + 0x360]
call fcn.140007d10
movaps xmm6, xmm0
lea rdx, [r15 + 0x368]
call fcn.140007d10
addss xmm0, xmm14
comiss xmm0, xmm6
jb 0x14003f73a
mov rax, qword [0x14007c440]
movss xmm0, dword [0x14007b5dc]
movss dword [rbp + 0x270], xmm0
movss xmm1, dword [0x14007b5e0]
movss dword [rbp + 0x274], xmm1
movss xmm0, dword [0x14007b5e4]
movss dword [rbp + 0x278], xmm0
movss xmm1, dword [rax + 0x1550]
movss dword [rbp + 0x27c], xmm1
lea rcx, [rbp + 0x270]
call fcn.14001c8b0
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.140041fe0
mov rax, qword [0x14007c440]
movss xmm0, dword [0x14007b5dc]
movss dword [rbp + 0x280], xmm0
movss xmm1, dword [0x14007b5e0]
movss dword [rbp + 0x284], xmm1
movss xmm0, dword [0x14007b5e4]
movss dword [rbp + 0x288], xmm0
movss xmm1, dword [rax + 0x1550]
movss dword [rbp + 0x28c], xmm1
lea rcx, [rbp + 0x280]
call fcn.14001c8b0
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.140041fe0
mov rax, qword [0x14007c440]
movss xmm0, dword [0x14007b5dc]
movss dword [rbp + 0x290], xmm0
movss xmm1, dword [0x14007b5e0]
movss dword [rbp + 0x294], xmm1
movss xmm0, dword [0x14007b5e4]
movss dword [rbp + 0x298], xmm0
movss xmm1, dword [rax + 0x1550]
movss dword [rbp + 0x29c], xmm1
lea rcx, [rbp + 0x290]
call fcn.14001c8b0
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.140041fe0
mov rax, qword [0x14007c440]
movss xmm0, dword [0x14007b5dc]
movss dword [rbp + 0x2a0], xmm0
movss xmm1, dword [0x14007b5e0]
movss dword [rbp + 0x2a4], xmm1
movss xmm0, dword [0x14007b5e4]
movss dword [rbp + 0x2a8], xmm0
movss xmm1, dword [rax + 0x1550]
movss dword [rbp + 0x2ac], xmm1
lea rcx, [rbp + 0x2a0]
jmp 0x14003f92d
lea rdx, [r15 + 0x360]
call fcn.140007d10
movaps xmm6, xmm0
lea rdx, [r15 + 0x368]
call fcn.140007d10
addss xmm0, xmm14
comiss xmm0, xmm6
jae 0x14003f94f
mov rax, qword [0x14007c440]
movss xmm0, dword [0x14007b5e8]
movss dword [rbp + 0x2b0], xmm0
movss xmm1, dword [0x14007b5ec]
movss dword [rbp + 0x2b4], xmm1
movss xmm0, dword [0x14007b5f0]
movss dword [rbp + 0x2b8], xmm0
movss xmm1, dword [rax + 0x1550]
movss dword [rbp + 0x2bc], xmm1
lea rcx, [rbp + 0x2b0]
call fcn.14001c8b0
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.140041fe0
mov rax, qword [0x14007c440]
movss xmm0, dword [0x14007b5e8]
movss dword [rbp + 0x2c0], xmm0
movss xmm1, dword [0x14007b5ec]
movss dword [rbp + 0x2c4], xmm1
movss xmm0, dword [0x14007b5f0]
movss dword [rbp + 0x2c8], xmm0
movss xmm1, dword [rax + 0x1550]
movss dword [rbp + 0x2cc], xmm1
lea rcx, [rbp + 0x2c0]
call fcn.14001c8b0
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.140041fe0
mov rax, qword [0x14007c440]
movss xmm0, dword [0x14007b5e8]
movss dword [rbp + 0x250], xmm0
movss xmm1, dword [0x14007b5ec]
movss dword [rbp + 0x254], xmm1
movss xmm0, dword [0x14007b5f0]
movss dword [rbp + 0x258], xmm0
movss xmm1, dword [rax + 0x1550]
movss dword [rbp + 0x25c], xmm1
lea rcx, [rbp + 0x250]
call fcn.14001c8b0
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.140041fe0
mov rax, qword [0x14007c440]
movss xmm0, dword [0x14007b5e8]
movss dword [rbp + 0x260], xmm0
movss xmm1, dword [0x14007b5ec]
movss dword [rbp + 0x264], xmm1
movss xmm0, dword [0x14007b5f0]
movss dword [rbp + 0x268], xmm0
movss xmm1, dword [rax + 0x1550]
movss dword [rbp + 0x26c], xmm1
lea rcx, [rbp + 0x260]
call fcn.14001c8b0
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.140041fe0
cmp byte [0x14007c577], 0
je 0x14003fa5d
lea rdx, [r15 + 0x360]
call fcn.140007d10
movaps xmm6, xmm0
lea rdx, [r15 + 0x368]
call fcn.140007d10
addss xmm0, xmm14
mov r10, qword [0x14007c440]
lea rcx, [rbp + 0x70]
comiss xmm0, xmm6
jb 0x14003f9ec
movaps xmm0, xmmword [0x14004cea0]
movups xmmword [rbp + 0x70], xmm0
call fcn.14001c8b0
mov r9d, eax
cvtpd2ps xmm1, xmm7
cvtpd2ps xmm0, xmm10
movss dword [rbp + 0x240], xmm0
movss dword [rbp + 0x244], xmm1
mov eax, dword [0x14007c534]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x238], xmm0
mov dword [rbp + 0x23c], 0
lea r8, [rbp + 0x240]
lea rdx, [rbp + 0x238]
jmp 0x14003fa4a
movaps xmm0, xmmword [0x14004ce60]
movups xmmword [rbp + 0x70], xmm0
call fcn.14001c8b0
mov r9d, eax
cvtpd2ps xmm1, xmm7
cvtpd2ps xmm0, xmm10
movss dword [rbp + 0x1f0], xmm0
movss dword [rbp + 0x1f4], xmm1
mov eax, dword [0x14007c534]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x1e8], xmm0
mov dword [rbp + 0x1ec], 0
lea r8, [rbp + 0x1f0]
lea rdx, [rbp + 0x1e8]
movss dword [rsp + 0x20], xmm9
lea rcx, [r10 + 0x1cc8]
call fcn.14002eee0
cmp byte [0x14007c571], 0
je 0x14003fb03
mov rax, qword [0x14007c440]
lea r10, [rax + 0x1cc8]
mov qword [rbp - 0x78], 0x3f800000
mov dword [rbp - 0x70], 0
movss xmm0, dword [rax + 0x1550]
movss dword [rbp - 0x6c], xmm0
lea rcx, [rbp - 0x78]
call fcn.14001c8b0
cvtpd2ps xmm1, xmm7
cvtpd2ps xmm0, xmm10
movss dword [rbp + 0x1d8], xmm0
movss dword [rbp + 0x1dc], xmm1
movd xmm2, dword [0x14007c58c]
cvtdq2ps xmm2, xmm2
movd xmm0, dword [0x14007c588]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x1c8], xmm0
movss dword [rbp + 0x1cc], xmm2
movss xmm0, dword [0x14004c4e4]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x1d8]
lea rdx, [rbp + 0x1c8]
mov rcx, r10
call fcn.14002eee0
cmp byte [0x14007c578], 0
je 0x14003fc8e
xor edi, edi
mov dword [rsp + 0x44], edi
mov eax, dword [0x14007c4f8]
mov dword [rbp + 0xb0], eax
mov qword [rbp + 0xa8], 4
lea rax, [r13 + 0x1644]
mov qword [rbp + 0xa0], rax
mov word [rbp + 0xb4], 0x100
mov byte [rbp + 0xb6], dil
lea rax, [rsp + 0x44]
mov qword [rbp + 0xb8], rax
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x14003fb87
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x98]
call rax
mov r8d, dword [rsp + 0x44]
lea rdx, str.Ammo:__i
lea rcx, [rbp + 0xa00]
call fcn.140007e90
mov rax, qword [0x14007c440]
mov rbx, qword [rax + 0x18f0]
movss xmm6, dword [rax + 0x18f8]
mov qword [rsp + 0x30], rdi
lea rax, [rbp + 0xa00]
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x14004c650]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14004c644]
movaps xmm2, xmm6
lea rdx, [rbp + 0xe8]
mov rcx, rbx
call fcn.14002c960
divss xmm6, dword [rbx]
movss xmm0, dword [rbp + 0xe8]
comiss xmm0, dword [0x14004c46c]
jbe 0x14003fc10
subss xmm0, xmm6
addss xmm0, dword [0x14004c4e0]
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [rbp + 0xe8], xmm2
movss xmm0, dword [rbp + 0xec]
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 + 0xa00]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], dil
mov byte [rsp + 0x20], dil
lea r9, [0x14007af10]
movss xmm0, dword [0x14004c5d4]
movd ecx, xmm0
call fcn.140042140
cmp byte [0x140055051], 0
je 0x14003fd02
movss xmm2, dword [rbp - 0x60]
cvtps2pd xmm2, xmm2
movq r8, xmm2
lea rdx, str._2.fm
lea rcx, [rbp + 0x950]
call fcn.140007ef0
movsd xmm11, qword [0x14004c538]
subsd xmm7, xmm11
cvttsd2si r8d, xmm7
cvttsd2si edx, xmm10
lea rax, [rbp + 0x950]
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.140042140
jmp 0x14003fd13
movss xmm6, dword [0x14004c5e0]
movsd xmm11, qword [0x14004c538]
cmp byte [0x140055053], 0
je 0x14003fd5f
lea rax, [rbp + 0x28]
cmp qword [rbp + 0x40], 0x10
cmovae rax, qword [rbp + 0x28]
movaps xmm0, xmm15
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.140042140
cmp byte [0x14007c4e5], 0
je 0x1400404e1
movsd xmm0, qword [rbp + 0x300]
ucomisd xmm0, xmm13
jp 0x14003fda3
jne 0x14003fda3
movsd xmm0, qword [rbp + 0x308]
ucomisd xmm0, xmm13
jp 0x14003fda3
jne 0x14003fda3
movsd xmm0, qword [rbp + 0x310]
ucomisd xmm0, xmm13
jp 0x14003fda3
je 0x1400404e1
lea rdx, [r15 + 0x360]
call fcn.140007d10
movaps xmm6, xmm0
lea rdx, [r15 + 0x368]
call fcn.140007d10
addss xmm0, xmm14
comiss xmm0, xmm6
jb 0x14003fde3
movaps xmm0, xmmword [0x14004ce90]
movups xmmword [rbp + 0x70], xmm0
lea rcx, [rbp + 0x70]
call fcn.14001c8b0
mov ebx, eax
mov dword [rbp + 0x64], eax
jmp 0x14003fdfb
mov rcx, r15
call fcn.140043fc0
test al, al
jne 0x14003fdf8
movaps xmm0, xmmword [0x14004ce60]
jmp 0x14003fdcf
mov ebx, dword [rbp + 0x64]
movsd xmm9, qword [rbp - 0x20]
movaps xmm6, xmm9
movsd xmm11, qword [0x14004c550]
subsd xmm6, xmm11
movsd xmm7, qword [rbp - 0x28]
movaps xmm8, xmm7
addsd xmm8, xmm11
movaps xmm0, xmm8
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x7d0], xmm0
movsd xmm10, qword [rbp - 0x18]
movsd qword [rbp + 0x80], xmm10
movsd qword [rbp + 0x7e0], xmm10
lea rdx, [rbp + 0x7d0]
lea rcx, [rbp + 0x400]
call fcn.140043b30
subsd xmm7, xmm11
movaps xmm0, xmm7
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x7f0], xmm0
movsd qword [rbp - 0x18], xmm10
movsd qword [rbp + 0x800], xmm10
lea rdx, [rbp + 0x7f0]
lea rcx, [rbp + 0x2e8]
call fcn.140043b30
addsd xmm9, xmm11
movaps xmm0, xmm7
unpcklpd xmm0, xmm9
movaps xmmword [rbp + 0x890], xmm0
movsd qword [rbp - 0x18], xmm10
movsd qword [rbp + 0x8a0], xmm10
lea rdx, [rbp + 0x890]
lea rcx, [rbp + 0x8f0]
call fcn.140043b30
movaps xmm0, xmm8
unpcklpd xmm0, xmm9
movaps xmmword [rbp + 0x8b0], xmm0
movsd qword [rbp - 0x18], xmm10
movsd qword [rbp + 0x8c0], xmm10
lea rdx, [rbp + 0x8b0]
lea rcx, [rbp + 0x478]
call fcn.140043b30
movsd xmm10, qword [rbp - 0x30]
movaps xmm6, xmm10
subsd xmm6, xmm11
movsd xmm9, qword [rbp + 0x3f8]
movaps xmm7, xmm9
addsd xmm7, xmm11
movaps xmm0, xmm7
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x870], xmm0
movsd xmm8, qword [rbp + 0x470]
movsd qword [rbp - 0x18], xmm8
movsd qword [rbp + 0x880], xmm8
lea rdx, [rbp + 0x870]
lea rcx, [rbp + 0x448]
call fcn.140043b30
subsd xmm9, xmm11
movaps xmm0, xmm9
unpcklpd xmm0, xmm6
movaps xmmword [rbp + 0x810], xmm0
movsd qword [rbp - 0x18], xmm8
movsd qword [rbp + 0x820], xmm8
lea rdx, [rbp + 0x810]
lea rcx, [rbp + 0x300]
call fcn.140043b30
addsd xmm10, xmm11
movaps xmm0, xmm9
unpcklpd xmm0, xmm10
movaps xmmword [rbp + 0x830], xmm0
movsd qword [rbp - 0x18], xmm8
movsd qword [rbp + 0x840], xmm8
lea rdx, [rbp + 0x830]
lea rcx, [rbp + 0x2d0]
call fcn.140043b30
movaps xmm0, xmm7
unpcklpd xmm0, xmm10
movaps xmmword [rbp + 0x850], xmm0
movsd qword [rbp - 0x18], xmm8
movsd qword [rbp + 0x860], xmm8
lea rdx, [rbp + 0x850]
lea rcx, [rbp + 0x490]
call fcn.140043b30
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movsd xmm1, qword [rbp + 0x450]
cvtpd2ps xmm1, xmm1
movss dword [rsp + 0x44], xmm1
movsd xmm0, qword [rbp + 0x448]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xf8], xmm0
movss dword [rbp + 0xfc], xmm1
movsd xmm13, qword [rbp + 0x408]
cvtpd2ps xmm13, xmm13
movsd xmm12, qword [rbp + 0x400]
cvtpd2ps xmm12, xmm12
movss dword [rbp + 0x1c0], xmm12
movss dword [rbp + 0x1c4], xmm13
movss xmm6, dword [0x14004c51c]
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rbp + 0xf8]
lea rdx, [rbp + 0x1c0]
call fcn.14002eee0
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movsd xmm1, qword [rbp + 0x308]
cvtpd2ps xmm1, xmm1
movss dword [rbp - 0x60], xmm1
movsd xmm0, qword [rbp + 0x300]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xf0], xmm0
movss dword [rbp + 0xf4], xmm1
movsd xmm11, qword [rbp + 0x2f0]
cvtpd2ps xmm11, xmm11
movsd xmm10, qword [rbp + 0x2e8]
cvtpd2ps xmm10, xmm10
movss dword [rbp + 0x1a8], xmm10
movss dword [rbp + 0x1ac], xmm11
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rbp + 0xf0]
lea rdx, [rbp + 0x1a8]
call fcn.14002eee0
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movsd xmm1, qword [rbp + 0x2d8]
cvtpd2ps xmm1, xmm1
movss dword [rbp - 0x30], xmm1
movsd xmm0, qword [rbp + 0x2d0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x100], xmm0
movss dword [rbp + 0x104], xmm1
movsd xmm9, qword [rbp + 0x8f8]
cvtpd2ps xmm9, xmm9
movsd xmm8, qword [rbp + 0x8f0]
cvtpd2ps xmm8, xmm8
movss dword [rbp + 0x1e0], xmm8
movss dword [rbp + 0x1e4], xmm9
movss dword [rsp + 0x20], xmm6
mov r9d, ebx
lea r8, [rbp + 0x100]
lea rdx, [rbp + 0x1e0]
call fcn.14002eee0
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movsd xmm15, qword [rbp + 0x498]
cvtpd2ps xmm15, xmm15
movsd xmm14, qword [rbp + 0x490]
cvtpd2ps xmm14, xmm14
movss dword [rbp + 0x1d0], xmm14
movss dword [rbp + 0x1d4], xmm15
movsd xmm7, qword [rbp + 0x480]
cvtpd2ps xmm7, xmm7
movsd xmm6, qword [rbp + 0x478]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x130], xmm6
movss dword [rbp + 0x134], xmm7
movss xmm1, dword [0x14004c51c]
movss dword [rsp + 0x20], xmm1
mov r9d, ebx
lea r8, [rbp + 0x1d0]
lea rdx, [rbp + 0x130]
call fcn.14002eee0
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movss dword [rbp + 0x138], xmm10
movss dword [rbp + 0x13c], xmm11
movss dword [rbp + 0x140], xmm12
movss dword [rbp + 0x144], xmm13
movss xmm0, dword [0x14004c51c]
movss dword [rsp + 0x20], xmm0
mov r9d, ebx
lea r8, [rbp + 0x138]
lea rdx, [rbp + 0x140]
call fcn.14002eee0
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movss dword [rbp + 0x148], xmm8
movss dword [rbp + 0x14c], xmm9
movss dword [rbp + 0x150], xmm10
movss dword [rbp + 0x154], xmm11
movss xmm10, dword [0x14004c51c]
movss dword [rsp + 0x20], xmm10
mov r9d, ebx
lea r8, [rbp + 0x148]
lea rdx, [rbp + 0x150]
call fcn.14002eee0
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movss dword [rbp + 0x158], xmm6
movss dword [rbp + 0x15c], xmm7
movss dword [rbp + 0x160], xmm8
movss dword [rbp + 0x164], xmm9
movss dword [rsp + 0x20], xmm10
mov r9d, ebx
lea r8, [rbp + 0x158]
lea rdx, [rbp + 0x160]
call fcn.14002eee0
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movss dword [rbp + 0x168], xmm12
movss dword [rbp + 0x16c], xmm13
movss dword [rbp + 0x170], xmm6
movss dword [rbp + 0x174], xmm7
movaps xmm12, xmm10
movss dword [rsp + 0x20], xmm12
mov r9d, ebx
lea r8, [rbp + 0x168]
lea rdx, [rbp + 0x170]
call fcn.14002eee0
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movss xmm8, dword [rbp + 0xf0]
movss dword [rbp + 0x178], xmm8
movss xmm9, dword [rbp - 0x60]
movss dword [rbp + 0x17c], xmm9
movss xmm10, dword [rbp + 0xf8]
movss dword [rbp + 0x180], xmm10
movss xmm11, dword [rsp + 0x44]
movss dword [rbp + 0x184], xmm11
movss dword [rsp + 0x20], xmm12
mov r9d, ebx
lea r8, [rbp + 0x178]
lea rdx, [rbp + 0x180]
call fcn.14002eee0
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movss xmm6, dword [rbp + 0x100]
movss dword [rbp + 0x188], xmm6
movss xmm7, dword [rbp - 0x30]
movss dword [rbp + 0x18c], xmm7
movss dword [rbp + 0x190], xmm8
movss dword [rbp + 0x194], xmm9
movss dword [rsp + 0x20], xmm12
mov r9d, ebx
lea r8, [rbp + 0x188]
lea rdx, [rbp + 0x190]
call fcn.14002eee0
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movss dword [rbp + 0x198], xmm14
movss dword [rbp + 0x19c], xmm15
movss dword [rbp + 0x1a0], xmm6
movss dword [rbp + 0x1a4], xmm7
movss dword [rsp + 0x20], xmm12
mov r9d, ebx
lea r8, [rbp + 0x198]
lea rdx, [rbp + 0x1a0]
call fcn.14002eee0
mov rcx, qword [0x14007c440]
add rcx, 0x1cc8
movss dword [rbp + 0x248], xmm10
movss dword [rbp + 0x24c], xmm11
movss dword [rbp + 0x1b0], xmm14
movss dword [rbp + 0x1b4], xmm15
movss dword [rsp + 0x20], xmm12
mov r9d, ebx
lea r8, [rbp + 0x248]
lea rdx, [rbp + 0x1b0]
call fcn.14002eee0
movsd xmm8, qword [rbp + 0x468]
movss xmm9, dword [0x14004c4bc]
movss xmm14, dword [0x14004c498]
movsd xmm15, qword [rbp - 0x40]
cmp byte [0x14007c43d], 0
je 0x1400407b8
cmp qword [0x14007c518], 0
je 0x1400407b8
cmp qword [0x14007c500], 0
je 0x1400407b8
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
je 0x140040845
test rbx, rbx
je 0x140040845
lea rdx, [rsi + 0x358]
call fcn.140007e10
movzx r15d, al
lea rdx, [rdi + 0x38]
call fcn.140007b20
mov esi, eax
cmp eax, 0x20
ja 0x1400407b8
lea rdx, [rdi + 0x30]
call fcn.140007ba0
mov byte [rbp + 0xb80], 0
mov ecx, dword [0x14007c4f8]
mov dword [rbp + 0x610], ecx
mov eax, 1
mov qword [rbp + 0x608], rax
lea rcx, [rbx + 0x73]
mov qword [rbp + 0x600], rcx
mov word [rbp + 0x614], 0x100
mov byte [rbp + 0x616], 0
lea rax, [rbp + 0xb80]
mov qword [rbp + 0x618], rax
mov rax, qword [0x14007c4d8]
test rax, rax
jne 0x1400405ee
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 [0x14007c4d8], rax
lea rcx, [rbp + 0x5f8]
call rax
mov qword [rbp - 0x50], 0
mov qword [rbp - 0x58], 0
movzx ecx, byte [rbp + 0xb80]
cmp cl, 2
je 0x140040652
cmp cl, 3
jne 0x140040628
mov dword [rbp - 0x50], 0x3f800000
mov dword [rbp - 0x4c], 0x3f800000
jmp 0x140040672
cmp cl, 4
jne 0x140040644
mov dword [rbp - 0x58], 0x3f008081
mov dword [rbp - 0x50], 0x3f008081
mov dword [rbp - 0x4c], 0x3f800000
jmp 0x140040672
lea eax, [rcx - 5]
cmp al, 1
ja 0x140040662
mov dword [rbp - 0x58], 0x3f800000
mov dword [rbp - 0x54], 0x3f800000
mov dword [rbp - 0x4c], 0x3f800000
jmp 0x140040672
cmp cl, 1
ja 0x140040672
movaps xmm0, xmmword [0x14004cfe0]
movups xmmword [rbp - 0x58], xmm0
lea rcx, [rsi + 1]
mov eax, 2
mul rcx
mov rsi, 0xffffffffffffffff
cmovo rax, rsi
mov rcx, rax
call fcn.140009088
mov rcx, rsi
inc rcx
cmp word [rax + rcx*2], 0
jne 0x140040694
mov qword [rsp + 0x20], rcx
mov r9, rax
mov r8d, 0x64
lea rdx, [rbp + 0x990]
lea rcx, [rbp + 0x908]
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 + 0x990]
lea rcx, [rbp + 0x90]
call fcn.140016ef0
test r15b, r15b
je 0x140040750
movss xmm0, dword [rbp + 0x94]
mulss xmm0, xmm9
cvtps2pd xmm1, xmm0
addsd xmm1, xmm15
cvttsd2si r8d, xmm1
movss xmm0, dword [rbp + 0x90]
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.140042140
jmp 0x1400407b8
movups xmm0, xmmword [rbp - 0x58]
movdqa xmmword [rbp + 0x70], xmm0
movss xmm1, dword [rbp + 0x94]
mulss xmm1, xmm9
cvtps2pd xmm0, xmm1
addsd xmm0, xmm15
cvttsd2si r8d, xmm0
movss xmm1, dword [rbp + 0x90]
mulss xmm1, xmm9
cvtps2pd xmm0, xmm1
subsd xmm8, xmm0
cvttsd2si edx, xmm8
lea rax, [rbp + 0x990]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
lea r9, [rbp + 0x70]
movss xmm0, dword [0x14004c5e0]
movd ecx, xmm0
call fcn.140041850
mov eax, dword [0x14007c534]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm2, qword [rbp + 0x200]
subsd xmm2, xmm0
mov eax, dword [0x14007c4e0]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [rbp + 0x208]
subsd xmm1, xmm0
mulsd xmm1, xmm1
mulsd xmm2, xmm2
addsd xmm1, xmm2
cvtpd2ps xmm3, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x140040817
xorps xmm0, xmm0
sqrtss xmm0, xmm3
jmp 0x14004081f
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 0x140040845
movss xmm1, dword [rbp + 0x68]
comiss xmm1, xmm0
jbe 0x140040845
movss dword [rbp + 0x68], xmm0
mov qword [0x14007c568], r13
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x14004087c
mov rcx, qword [rbp + 0x28]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040877
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400408d4
call fcn.140008fa0
xor r15d, r15d
mov edi, 0xf
mov byte [rbp + 0x28], r15b
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x38], r15
test r12b, r12b
je 0x1400408a1
lea rdx, [rdi + 1]
mov rcx, r14
call fcn.140008fa0
mov r12d, 1
mov rax, qword [rbp + 0x1b8]
add rax, 0x10
mov qword [rbp + 0x1b8], rax
cmp rax, qword [rbp + 0x460]
je 0x1400408db
xorps xmm13, xmm13
movsd xmm11, qword [0x14004c570]
jmp 0x14003edc6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
movabs r13, 0x8888888888888889
cmp qword [0x14007c568], 0
je 0x140040c2a
mov ecx, dword [0x14007c5ec]
call qword [0x14007c6d0]
test eax, eax
je 0x140040c2a
cmp byte [0x14005505c], 0
je 0x140040c2a
mov rdx, qword [0x14007c568]
add rdx, 0x318
call fcn.140007ba0
mov rbx, rax
lea rdx, [rax + 0x360]
call fcn.140007d10
movaps xmm6, xmm0
lea rdx, [rbx + 0x368]
call fcn.140007d10
addss xmm0, xmm14
comiss xmm0, xmm6
jb 0x140040c2a
xorps xmm1, xmm1
xorps xmm6, xmm6
movsd qword [rbp + 0x230], xmm6
mov eax, dword [0x14007c5e8]
test eax, eax
jne 0x14004098e
lea r8d, [rax + 0x44]
mov rdx, rbx
lea rcx, [rbp + 0x220]
call fcn.140044010
movups xmm1, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
mov eax, dword [0x14007c5e8]
jmp 0x140040996
movsd xmm0, qword [rbp + 0x230]
cmp eax, 1
jne 0x1400409bc
lea r8d, [rax + 4]
mov rdx, rbx
lea rcx, [rbp + 0x220]
call fcn.140044010
movups xmm1, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
mov eax, dword [0x14007c5e8]
cmp eax, 2
jne 0x1400409e1
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0x220]
call fcn.140044010
movups xmm1, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
mov eax, dword [0x14007c5e8]
cmp eax, 3
jne 0x140040a01
lea r8d, [rax + 0x45]
mov rdx, rbx
lea rcx, [rbp + 0x220]
call fcn.140044010
movups xmm1, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movaps xmmword [rbp + 0x200], xmm1
movsd qword [rbp + 0x210], xmm0
lea rdx, [rbp + 0x200]
lea rcx, [rbp + 0x220]
call fcn.140043b30
movups xmm9, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp + 0x210], xmm0
movaps xmm8, xmm9
shufps xmm8, xmm8, 0xee
ucomisd xmm9, xmm6
jp 0x140040a63
jne 0x140040a63
ucomisd xmm8, xmm6
jp 0x140040a63
jne 0x140040a63
movsd xmm0, qword [rbp + 0x210]
ucomisd xmm0, xmm6
jp 0x140040a63
je 0x140040c2a
mov eax, dword [0x14007c4e0]
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov eax, dword [0x14007c534]
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.140044f40
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 0x140040ad4
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140040adc
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 0x140040c2a
cmp byte [0x14005505c], 0
je 0x140040c2a
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 0x140040b45
je 0x140040b9d
comiss xmm7, xmm5
jbe 0x140040b76
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 0x140040b76
xorps xmm3, xmm3
comiss xmm5, xmm7
jbe 0x140040b9d
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 0x140040b9d
xorps xmm3, xmm3
ucomiss xmm6, xmm9
jp 0x140040ba5
je 0x140040bfd
comiss xmm6, xmm4
jbe 0x140040bd6
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 0x140040bd6
xorps xmm2, xmm2
comiss xmm4, xmm6
jbe 0x140040bfd
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 0x140040bfd
xorps xmm2, xmm2
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r15
cvttss2si eax, xmm3
mov dword [rsp + 0x50], eax
cvttss2si eax, xmm2
mov dword [rsp + 0x54], eax
mov edx, r12d
lea rcx, [rsp + 0x50]
call qword [0x14007c580]
nop
mov rcx, qword [rbp + 0x108]
test rcx, rcx
je 0x140040c9e
mov rdx, qword [rbp + 0x110]
call fcn.140008640
mov rcx, qword [rbp + 0x118]
mov r8, qword [rbp + 0x108]
sub rcx, r8
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, r8
cmp rdx, 0x1000
jb 0x140040c96
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140040c96
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.140008fa0
lea r11, [rsp + 0xc28]
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