Function at 0x1004b0b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x31e0
call fcn.100f6d70
mov esi, esp
mov dword [esi + 0x31c8], ebp
mov dword [esi + 0x31cc], esp
mov dword [esi + 0x31d8], 0xffffffff
lea eax, [esi + 0x31d0]
mov dword [esi + 0x31d4], 0x1004f560
mov ecx, dword fs:[0]
mov dword [esi + 0x31d0], ecx
mov dword fs:[0], eax
mov ecx, dword [0x10356820]
mov eax, dword [ecx]
call dword [eax + 0x68]
mov ecx, dword [0x10356804]
test al, al
je 0x1004b128
mov ebx, dword [ecx]
mov edi, dword [ecx + 0xc]
mov edx, dword [ecx + 0x10]
add edx, edi
xorps xmm3, xmm3
mov dword [esi + 0x38], ebx
mov dword [esi + 0x2c], edx
jmp 0x1004b191
call fcn.1001cac0
jmp 0x1004c912
movss xmm0, dword [esi + 0x188]
mov dword [esi + 0x110], 0
movss dword [esi + 0x114], xmm0
mov dword [esi + 0x118], 0
mov eax, dword [0x1035678c]
mov ecx, edi
lea edx, [esi + 0x110]
push edx
call dword [eax + 0x26c]
mov eax, dword [0x1035678c]
mov ecx, edi
lea edx, [esi + 0x1a4]
push edx
call dword [eax + 0x270]
mov edx, dword [esi + 0x2c]
xorps xmm3, xmm3
mov edi, dword [esi + 0x3c]
mov eax, dword [esi + 0xc]
mov byte [eax + 0x6c], 1
nop
inc edi
cmp edi, edx
je 0x1004c72f
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
dec eax
and eax, edi
mov ecx, dword [ecx + eax*4]
cmp byte [ecx + 0x6c], 0
jne 0x1004b190
mov eax, dword [0x1035679c]
bswap eax
mov edx, dword [0x103567a0]
add edx, eax
mov dword [esi + 0xc], ecx
mov ecx, dword [0x103567a4]
ror edx, cl
mov eax, dword [esi + 0xc]
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [eax + 0x80]
movss xmm1, dword [edx]
mov edx, dword [esi + 0x2c]
ucomiss xmm1, xmm0
ja 0x1004b190
mov eax, dword [eax + 0x18]
test eax, eax
je 0x1004b187
cmp dword [eax], 0
je 0x1004b187
mov dword [esi + 0x10], esp
mov ecx, dword [0x10356808]
push eax
sub esp, 0x30
mov eax, esp
mov dword [eax + 0x30], 0xffffffff
movups xmmword [eax + 0x18], xmm3
movsd xmm0, qword [0x10156700]
movsd qword [eax + 0x28], xmm0
mov byte [eax + 0x18], 0x64
movups xmmword [eax], xmm3
mov dword [eax + 0x14], 0
mov dword [esi + 0x18], eax
mov dword [eax + 0x10], 0
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x5c], 0x10
jb 0x1004b23c
mov edx, ebx
mov ebx, dword [eax + 0x48]
jmp 0x1004b241
mov edx, ebx
lea ebx, [eax + 0x48]
mov dword [esi + 0x28], ebx
mov ebx, dword [esi + 0x18]
add ebx, 0x18
mov dword [esi + 0x30], ebx
mov eax, dword [eax + 0x58]
test eax, eax
js 0x1004cb29
cmp eax, 0xf
mov ebx, edx
mov edx, eax
ja 0x1004b286
mov eax, dword [esi + 0x18]
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], 0xf
mov edx, dword [esi + 0x28]
movups xmm0, xmmword [edx]
movups xmmword [eax], xmm0
mov dword [esi + 0x31d8], 0xffffffff
jmp 0x1004b309
mov dword [esi + 0x20], ecx
mov dword [esi + 0x3c], edi
mov eax, dword [esi + 0x18]
mov dword [eax + 0x14], 0xf
mov dword [esi + 0x24], edx
or edx, 0xf
cmp edx, 0x17
mov eax, 0x16
cmovb edx, eax
mov dword [esi + 0x31d8], 0
cmp edx, 0xfff
mov dword [esi + 0x34], edx
jb 0x1004b2d5
lea eax, [edx + 0x24]
push eax
call fcn.100f6bcd
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x1004b2e1
lea eax, [edx + 1]
push eax
call fcn.100f6bcd
add esp, 4
mov edi, dword [esi + 0x3c]
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
mov edx, dword [esi + 0x24]
mov dword [ecx + 0x10], edx
mov ebx, dword [esi + 0x34]
mov dword [ecx + 0x14], ebx
inc edx
push edx
push dword [esi + 0x28]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esi + 0x20]
mov ebx, dword [esi + 0x38]
mov dword [esi + 0x31d8], 0xffffffff
call fcn.1004a8e0
mov esp, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x18]
mov ecx, dword [eax]
mov eax, dword [0x1035678c]
mov edx, dword [eax + 0x128]
cmp byte [edx + ecx], 0
mov edx, dword [esi + 0x2c]
xorps xmm3, xmm3
jne 0x1004b187
mov edx, dword [eax + 0x1c]
cmp dword [edx + ecx], 0
mov edx, dword [esi + 0x2c]
jle 0x1004b187
mov dword [esi + 0x3c], edi
movaps xmmword [esi + 0x1a0], xmm3
movaps xmmword [esi + 0x190], xmm3
movaps xmmword [esi + 0x180], xmm3
movaps xmmword [esi + 0x170], xmm3
lea ecx, [esi + 0x1b0]
lea edi, [esi + 0x31b0]
nop dword [eax]
movups xmmword [ecx + 0x20], xmm3
movups xmmword [ecx + 0x10], xmm3
movups xmmword [ecx], xmm3
movups xmmword [ecx + 0x30], xmm3
movups xmmword [ecx + 0x40], xmm3
movups xmmword [ecx + 0x50], xmm3
movups xmmword [ecx + 0x60], xmm3
movups xmmword [ecx + 0x70], xmm3
movups xmmword [ecx + 0x80], xmm3
movups xmmword [ecx + 0x90], xmm3
movups xmmword [ecx + 0xa0], xmm3
movups xmmword [ecx + 0xb0], xmm3
movups xmmword [ecx + 0xc0], xmm3
movups xmmword [ecx + 0xd0], xmm3
movups xmmword [ecx + 0xe0], xmm3
movups xmmword [ecx + 0x110], xmm3
movups xmmword [ecx + 0x100], xmm3
movups xmmword [ecx + 0xf0], xmm3
movups xmmword [ecx + 0x140], xmm3
movups xmmword [ecx + 0x130], xmm3
movups xmmword [ecx + 0x120], xmm3
movups xmmword [ecx + 0x150], xmm3
movups xmmword [ecx + 0x160], xmm3
movups xmmword [ecx + 0x170], xmm3
movups xmmword [ecx + 0x180], xmm3
movups xmmword [ecx + 0x190], xmm3
movups xmmword [ecx + 0x1a0], xmm3
movups xmmword [ecx + 0x1b0], xmm3
movups xmmword [ecx + 0x1c0], xmm3
movups xmmword [ecx + 0x1d0], xmm3
movups xmmword [ecx + 0x1e0], xmm3
movups xmmword [ecx + 0x1f0], xmm3
movups xmmword [ecx + 0x200], xmm3
movups xmmword [ecx + 0x210], xmm3
movups xmmword [ecx + 0x220], xmm3
movups xmmword [ecx + 0x230], xmm3
movups xmmword [ecx + 0x260], xmm3
movups xmmword [ecx + 0x250], xmm3
movups xmmword [ecx + 0x240], xmm3
movups xmmword [ecx + 0x290], xmm3
movups xmmword [ecx + 0x280], xmm3
movups xmmword [ecx + 0x270], xmm3
movups xmmword [ecx + 0x2c0], xmm3
movups xmmword [ecx + 0x2b0], xmm3
movups xmmword [ecx + 0x2a0], xmm3
movups xmmword [ecx + 0x2f0], xmm3
movups xmmword [ecx + 0x2e0], xmm3
movups xmmword [ecx + 0x2d0], xmm3
add ecx, 0x300
cmp ecx, edi
jne 0x1004b380
movups xmmword [edi], xmm3
mov byte [edi + 0x10], 0
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx + 0x18]
mov edi, dword [ecx]
test edi, edi
je 0x1004b4e8
mov ecx, dword [eax + 0x128]
cmp byte [ecx + edi], 0
je 0x1004b679
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0x94], 0
jne 0x1004c616
cmp byte [ecx + 0x24], 0
je 0x1004cb3e
mov eax, dword [ecx + 0x18]
mov edi, dword [eax]
test edi, edi
je 0x1004b523
mov eax, dword [0x1035678c]
mov ecx, dword [eax + 0x128]
cmp byte [ecx + edi], 0
mov ecx, dword [esi + 0xc]
je 0x1004ba8f
movaps xmmword [esi + 0x150], xmm3
movaps xmmword [esi + 0x140], xmm3
movaps xmmword [esi + 0x130], xmm3
movaps xmmword [esi + 0x120], xmm3
movaps xmmword [esi + 0x110], xmm3
mov dword [esi + 0x160], 0
mov eax, dword [ecx + 0x18]
mov eax, dword [eax]
mov ebx, ecx
mov ecx, dword [ecx + 8]
mov dword [esi + 0x68], ecx
movsd xmm0, qword [ebx]
movsd qword [esi + 0x60], xmm0
mov dword [esi + 0x6c], 0
movss xmm0, dword [ebx + 0x8c]
subss xmm0, dword [ebx + 8]
mov ecx, dword [0x10356860]
movsd xmm2, qword [ebx]
movsd xmm1, qword [ebx + 0x84]
subps xmm1, xmm2
movlps qword [esi + 0x70], xmm1
movss dword [esi + 0x78], xmm0
lea edx, [esi + 0x7c]
movups xmmword [edx + 0x10], xmm3
movups xmmword [edx], xmm3
mov dword [edx + 0x24], 0
mov dword [edx + 0x20], 0
movaps xmm2, xmm1
mulss xmm2, xmm1
xorps xmm3, xmm3
addss xmm2, xmm3
shufps xmm1, xmm1, 0x55
mulss xmm1, xmm1
addss xmm1, xmm2
mulss xmm0, xmm0
addss xmm0, xmm1
ucomiss xmm0, xmm3
mov byte [esi + 0xa4], 1
setp dl
setne dh
or dh, dl
mov byte [esi + 0xa5], dh
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
mov dword [esi + 0x31d8], 0xffffffff
lea edi, [esi + 0x110]
push edi
push eax
push 0x4600400b
lea eax, [esi + 0x60]
push eax
call edx
mov eax, dword [esi + 0x15c]
mov ecx, dword [ebx + 0x18]
cmp eax, dword [ecx]
je 0x1004b7c8
movss xmm1, dword [ebx]
movss xmm0, dword [ebx + 4]
subss xmm1, dword [ebx + 0x3c]
subss xmm0, dword [ebx + 0x40]
movss xmm2, dword [ebx + 8]
subss xmm2, dword [ebx + 0x44]
mulss xmm1, xmm1
addss xmm1, dword [0x10154e10]
mulss xmm0, xmm0
addss xmm0, xmm1
mulss xmm2, xmm2
addss xmm2, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
ucomisd xmm0, qword [0x10154e08]
xorps xmm3, xmm3
jb 0x1004b81c
mov ecx, ebx
sqrtsd xmm4, xmm0
jmp 0x1004b840
mov eax, dword [eax + 0x1c]
cmp dword [eax + edi], 0
jle 0x1004b4e8
lea ecx, [edi + 8]
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x24]
mov dword [esi + 0x31d8], 0xffffffff
call eax
xorps xmm3, xmm3
mov edx, dword [esi + 0x2c]
test al, al
jne 0x1004b4e8
mov ebx, dword [0x1035678c]
mov eax, dword [ebx + 0x84]
mov eax, dword [eax + edi + 8]
mov dword [esi + 0x31b4], eax
mov eax, dword [ebx + 0x84]
mov eax, dword [eax + edi + 0xc]
mov dword [esi + 0x31b8], eax
mov byte [esi + 0x31c0], 0
mov ecx, dword [edi + 0x290c]
mov dword [esi + 0x31b0], ecx
mov eax, dword [edi + 0x2900]
test eax, eax
je 0x1004b710
shl ecx, 4
lea ecx, [ecx + ecx*2]
push ecx
push eax
lea eax, [esi + 0x1b0]
push eax
call sub.VCRUNTIME140.dll_memcpy
xorps xmm3, xmm3
mov edx, dword [esi + 0x2c]
add esp, 0xc
mov byte [esi + 0x31c0], 1
mov eax, dword [ebx + 0x18]
mov eax, dword [edi + eax + 4]
mov dword [esi + 0x31bc], eax
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax + edi + 8]
mov dword [esi + 0x18], ebx
lea ebx, [esi + 0x17c]
mov dword [ebx + 0x18], ecx
movsd xmm0, qword [eax + edi]
movsd qword [ebx + 0x10], xmm0
mov eax, dword [edi + 0x3b0]
mov dword [ebx + 0x24], eax
movsd xmm0, qword [edi + 0x3a8]
movsd qword [ebx + 0x1c], xmm0
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x54]
movsd xmm0, qword [eax + edi]
movsd qword [esi + 0x170], xmm0
mov eax, dword [eax + edi + 8]
mov dword [esi + 0x178], eax
mov eax, dword [ecx + 0x58]
mov ecx, dword [eax + edi + 8]
mov dword [ebx + 8], ecx
movsd xmm0, qword [eax + edi]
movsd qword [ebx], xmm0
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + edi + 8]
lea ebx, [esi + 0x1a4]
mov dword [ebx + 8], ecx
movsd xmm0, qword [eax + edi]
movsd qword [ebx], xmm0
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 0x1ac]
mov eax, dword [eax + edi]
test eax, eax
mov ebx, dword [esi + 0x38]
je 0x1004b4e8
movss xmm0, dword [eax + 0x80]
movss dword [esi + 0x188], xmm0
jmp 0x1004b4e8
xorps xmm0, xmm0
movaps xmmword [esi + 0x40], xmm0
mov dword [esi + 0x50], 0
mov dword [esi + 0x54], 0xf
cmp byte [ebx + 0x24], 0
lea ecx, [esi + 0x40]
je 0x1004cb7f
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + 0x6370]
cmp eax, 0xb
ja case.0x1004b7fc.9
jmp dword [eax*4 + 0x1015678c]
mov dword [esi + 0x31d8], 3
push str.no_fake
call fcn.10029df0
jmp 0x1004c12c
sub esp, 8
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
mov ecx, dword [esi + 0xc]
xorps xmm3, xmm3
add esp, 8
fstp qword [esi + 0x108]
movsd xmm4, qword [esi + 0x108]
mov dword [esi + 0x60], 0xfcff12ae
mov eax, dword [esi + 0x60]
bswap eax
mov dword [esi + 0x60], eax
add dword [esi + 0x60], 0x15ed000d
mov eax, dword [esi + 0x60]
rol eax, 0xf
mov dword [esi + 0x60], eax
mov edi, dword [esi + 0x60]
mov dword [esi + 0x60], 0xa71e0065
mov eax, dword [esi + 0x60]
bswap eax
mov dword [esi + 0x60], eax
add dword [esi + 0x60], 0xbaffe1a7
mov eax, dword [esi + 0x60]
rol eax, 7
mov dword [esi + 0x60], eax
mov ebx, dword [esi + 0x60]
movss xmm1, dword [ecx]
movss xmm0, dword [ecx + 4]
subss xmm1, dword [ecx + 0x84]
subss xmm0, dword [ecx + 0x88]
movss xmm2, dword [ecx + 8]
subss xmm2, dword [ecx + 0x8c]
mulss xmm1, xmm1
addss xmm1, xmm3
mulss xmm0, xmm0
addss xmm0, xmm1
mulss xmm2, xmm2
addss xmm2, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
ucomisd xmm0, qword [0x10154e08]
jb 0x1004b8d9
sqrtsd xmm0, xmm0
jmp 0x1004b901
sub esp, 8
movsd qword [esp], xmm0
movsd qword [esi + 0x18], xmm4
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movsd xmm4, qword [esi + 0x18]
add esp, 8
fstp qword [esi + 0x100]
movsd xmm0, qword [esi + 0x100]
xorps xmm3, xmm3
xorps xmm1, xmm1
cvtsi2ss xmm1, edi
xorps xmm2, xmm2
cvtsi2ss xmm2, ebx
mov dword [esi + 0x30], esp
divss xmm1, xmm2
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm4
subss xmm2, xmm1
cvtsd2ss xmm0, xmm0
mov eax, dword [0x10356808]
mov dword [esi + 0x28], eax
push eax
sub esp, 0x30
mov eax, esp
lea ecx, [eax + 0x18]
mov dword [esi + 0x10], ecx
ucomiss xmm2, xmm0
mov dword [esi + 0x18], eax
mov dword [eax + 0x30], 0xff1b91e0
mov eax, 0x695c120b
mov ecx, 0xb353e128
jbe 0x1004b9f4
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov edx, 0xd170736c
mov eax, 0x7648d41
mov dword [esi + 0x20], eax
mov edi, 0x695c126f
mov ebx, 0xb353e128
lea eax, [esi + 0x60]
xor ecx, ecx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], edx
mov dword [esi + 0xac], ebx
mov dword [esi + 0x64], ebx
mov dword [esi + 0x34], edi
mov dword [esi + 0x60], edi
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x24], edx
mov dword [esi + 0x68], edx
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x40], xmm0
mov eax, dword [esi + 0x10]
movups xmmword [eax], xmm3
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
lea eax, [esi + 0x40]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
test eax, eax
js 0x1004cb4d
mov edi, eax
cmp eax, 0xf
ja 0x1004bbc0
mov eax, dword [esi + 0x18]
mov dword [eax + 0x28], edi
mov dword [eax + 0x2c], 0xf
push edi
lea eax, [esi + 0x40]
push eax
mov ebx, dword [esi + 0x10]
jmp 0x1004bc6a
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov edi, 0xd170736c
mov eax, 0x7648d41
mov dword [esi + 0x20], eax
mov ebx, 0x695c126f
mov edx, 0xb353e128
lea eax, [esi + 0x60]
xor ecx, ecx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], edi
mov dword [esi + 0xac], edx
mov dword [esi + 0x64], edx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x60], ebx
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x24], edi
mov dword [esi + 0x68], edi
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x40], xmm0
mov eax, dword [esi + 0x10]
movups xmmword [eax], xmm3
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
lea eax, [esi + 0x40]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
test eax, eax
js 0x1004cb4d
mov edi, eax
cmp eax, 0xf
ja 0x1004bbff
mov eax, dword [esi + 0x18]
mov dword [eax + 0x28], edi
mov dword [eax + 0x2c], 0xf
push edi
lea eax, [esi + 0x40]
push eax
mov ebx, dword [esi + 0x10]
jmp 0x1004bdfe
mov ebx, dword [ecx + 0x1c]
mov eax, dword [eax + 0x1c]
cmp dword [eax + edi], 0
mov dword [esi + 0x31d8], 0xffffffff
jle 0x1004b523
lea ecx, [edi + 8]
mov eax, dword [edi + 8]
call dword [eax + 0x24]
mov ecx, dword [esi + 0xc]
xorps xmm3, xmm3
test al, al
jne 0x1004b523
cmp byte [ebx + 0x6432], 0
je 0x1004bb01
mov eax, dword [edi + 0x2900]
test eax, eax
je 0x1004bb01
mov ecx, dword [edi + 0x290c]
shl ecx, 4
lea ecx, [ecx + ecx*2]
push ecx
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [0x1035678c]
mov ecx, dword [eax + 0x274]
mov ecx, dword [ecx + 0xa]
mov ecx, dword [ecx]
mov eax, dword [eax + 0x18]
mov dword [edi + eax + 4], ecx
mov eax, dword [0x1035678c]
mov ecx, dword [eax + 0x2c]
mov edx, dword [ebx + 0x6384]
mov dword [ecx + edi + 8], edx
movsd xmm0, qword [ebx + 0x637c]
movsd qword [ecx + edi], xmm0
mov ecx, dword [ebx + 0x6390]
mov dword [edi + 0x3b0], ecx
lea edx, [ebx + 0x637c]
movsd xmm0, qword [ebx + 0x6388]
movsd qword [edi + 0x3a8], xmm0
mov ecx, edi
push edx
call dword [eax + 0x270]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
test eax, eax
je 0x1004bb7d
lea ecx, [ebx + 0x63b0]
mov dword [esi + 0x18], ecx
lea edx, [ebx + 0x63e0]
mov ecx, dword [0x1035678c]
mov dword [esi + 0x10], ecx
mov ecx, eax
push edx
push dword [esi + 0x18]
mov eax, dword [esi + 0x10]
call dword [eax + 0x280]
movss xmm0, dword [ebx + 0x63bc]
mov dword [esi + 0x110], 0
movss dword [esi + 0x114], xmm0
mov dword [esi + 0x118], 0
mov eax, dword [0x1035678c]
mov ecx, edi
lea edx, [esi + 0x110]
push edx
call dword [eax + 0x26c]
xorps xmm3, xmm3
mov ecx, dword [esi + 0xc]
jmp 0x1004b523
mov eax, dword [esi + 0x18]
mov dword [eax + 0x2c], 0xf
mov ecx, edi
or ecx, 0xf
cmp ecx, 0x17
mov eax, 0x16
cmovb ecx, eax
cmp ecx, 0xfff
mov dword [esi + 0xa8], ecx
jb 0x1004bc45
lea eax, [ecx + 0x24]
push eax
call fcn.100f6bcd
add esp, 4
lea ebx, [eax + 0x23]
and ebx, 0xffffffe0
mov dword [ebx - 4], eax
jmp 0x1004bc53
mov eax, dword [esi + 0x18]
mov dword [eax + 0x2c], 0xf
mov ecx, edi
or ecx, 0xf
cmp ecx, 0x17
mov eax, 0x16
cmovb ecx, eax
cmp ecx, 0xfff
mov dword [esi + 0xa8], ecx
jb 0x1004bdd9
lea eax, [ecx + 0x24]
push eax
call fcn.100f6bcd
add esp, 4
lea ebx, [eax + 0x23]
and ebx, 0xffffffe0
mov dword [ebx - 4], eax
jmp 0x1004bde7
lea eax, [ecx + 1]
push eax
call fcn.100f6bcd
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x18]
mov dword [eax + 0x18], ebx
mov dword [eax + 0x28], edi
mov ecx, dword [esi + 0xa8]
mov dword [eax + 0x2c], ecx
push edi
lea eax, [esi + 0x40]
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, ebx
mov byte [edi], 0
mov eax, 0x1a2f7b02
mov ecx, 0xc073854d
mov dword [esi + 0xb4], ecx
mov dword [esi + 0xb0], eax
mov eax, 0xf1041c04
mov ecx, 0x2701f825
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
mov eax, 0x3983bffd
mov ecx, 0xefef987d
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0x3b7c2f05
mov ecx, 0x63eb964f
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, dword [esi + 0xac]
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x34]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x68], eax
mov eax, 0x56a3d089
mov ecx, 0x9a83fb1e
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov eax, 0x55134676
mov ecx, 0x63eb964f
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
lea eax, [esi + 0x60]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0xb0]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0xb0], xmm0
movaps xmm0, xmmword [esi + 0xc0]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0xc0], xmm0
xorps xmm0, xmm0
mov ebx, dword [esi + 0x18]
movups xmmword [ebx], xmm0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 0
lea edi, [esi + 0xb0]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
test eax, eax
js 0x1004cba1
cmp eax, 0xf
ja 0x1004bd86
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0xf
push eax
push edi
push ebx
mov edi, eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, edi
add esp, 0xc
add eax, ebx
jmp 0x1004bfac
mov dword [ebx + 0x14], 0xf
mov dword [esi + 0x20], eax
mov ecx, eax
or ecx, 0xf
cmp ecx, 0x17
mov eax, 0x16
cmovb ecx, eax
cmp ecx, 0xfff
mov dword [esi + 0x24], ecx
jb 0x1004bf6a
lea eax, [ecx + 0x24]
mov byte [esi + 0x16], 1
mov dword [esi + 0x31d8], 1
push eax
call fcn.100f6bcd
add esp, 4
mov edi, eax
add edi, 0x23
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x1004bf86
lea eax, [ecx + 1]
push eax
call fcn.100f6bcd
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x18]
mov dword [eax + 0x18], ebx
mov dword [eax + 0x28], edi
mov ecx, dword [esi + 0xa8]
mov dword [eax + 0x2c], ecx
push edi
lea eax, [esi + 0x40]
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, ebx
mov byte [edi], 0
mov eax, 0x1a2f7b02
mov ecx, 0xc073854d
mov dword [esi + 0xb4], ecx
mov dword [esi + 0xb0], eax
mov eax, 0xf1041c04
mov ecx, 0x2701f825
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
mov eax, 0x2583bffd
mov ecx, 0xfbe6896e
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0x55134612
mov ecx, 0x63eb964f
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, dword [esi + 0xac]
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x34]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x68], eax
mov eax, 0x56a3d089
mov ecx, 0x9a83fb1e
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov eax, 0x55134676
mov ecx, 0x63eb964f
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
lea eax, [esi + 0x60]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0xb0]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0xb0], xmm0
movaps xmm0, xmmword [esi + 0xc0]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0xc0], xmm0
xorps xmm0, xmm0
mov ebx, dword [esi + 0x18]
movups xmmword [ebx], xmm0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 0
lea edi, [esi + 0xb0]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
test eax, eax
js 0x1004cb8e
cmp eax, 0xf
ja 0x1004bf1a
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 0xf
push eax
push edi
push ebx
mov edi, eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, edi
add esp, 0xc
add eax, ebx
jmp 0x1004c009
mov dword [ebx + 0x14], 0xf
mov dword [esi + 0x20], eax
mov ecx, eax
or ecx, 0xf
cmp ecx, 0x17
mov eax, 0x16
cmovb ecx, eax
cmp ecx, 0xfff
mov dword [esi + 0x24], ecx
jb 0x1004bfc7
lea eax, [ecx + 0x24]
mov byte [esi + 0x17], 1
mov dword [esi + 0x31d8], 2
push eax
call fcn.100f6bcd
add esp, 4
mov edi, eax
add edi, 0x23
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x1004bfe3
lea eax, [ecx + 1]
mov byte [esi + 0x16], 1
mov dword [esi + 0x31d8], 1
push eax
call fcn.100f6bcd
add esp, 4
mov edi, eax
mov eax, dword [esi + 0x18]
mov dword [eax], edi
mov ebx, dword [esi + 0x20]
mov dword [eax + 0x10], ebx
mov ecx, dword [esi + 0x24]
mov dword [eax + 0x14], ecx
push ebx
lea eax, [esi + 0xb0]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
mov eax, ebx
add esp, 0xc
add eax, edi
mov byte [eax], 0
mov byte [esi + 0x16], 0
mov dword [esi + 0x31d8], 1
mov ecx, dword [esi + 0x28]
call fcn.1004a8e0
jmp 0x1004c022
lea eax, [ecx + 1]
mov byte [esi + 0x17], 1
mov dword [esi + 0x31d8], 2
push eax
call fcn.100f6bcd
add esp, 4
mov edi, eax
mov eax, dword [esi + 0x18]
mov dword [eax], edi
mov ebx, dword [esi + 0x20]
mov dword [eax + 0x10], ebx
mov ecx, dword [esi + 0x24]
mov dword [eax + 0x14], ecx
push ebx
lea eax, [esi + 0xb0]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
mov eax, ebx
add esp, 0xc
add eax, edi
mov byte [eax], 0
mov byte [esi + 0x17], 0
mov dword [esi + 0x31d8], 2
mov ecx, dword [esi + 0x28]
call fcn.1004a8e0
mov esp, dword [esi + 0x30]
mov ebx, dword [esi + 0x38]
jmp 0x1004c60d
mov dword [esi + 0x31d8], 3
push 0x1019a99e
call fcn.10029df0
jmp 0x1004c12c
mov dword [esi + 0x31d8], 3
push str.brute
call fcn.10029df0
jmp 0x1004c12c
mov dword [esi + 0x31d8], 3
push str.anti_fs
call fcn.10029df0
jmp 0x1004c12c
mov dword [esi + 0x31d8], 3
push str.lby_delta
call fcn.10029df0
jmp 0x1004c12c
mov dword [esi + 0x31d8], 3
push str.last_move
call fcn.10029df0
jmp 0x1004c12c
mov dword [esi + 0x31d8], 3
push str.flick
call fcn.10029df0
jmp 0x1004c12c
mov dword [esi + 0x31d8], 3
push str.brute___no_move_data__
call fcn.10029df0
jmp 0x1004c12c
mov dword [esi + 0x31d8], 3
push str.anti_fs___no_move_data__
call fcn.10029df0
jmp 0x1004c12c
mov dword [esi + 0x31d8], 3
push str.just_stopped
call fcn.10029df0
jmp 0x1004c12c
mov dword [esi + 0x31d8], 3
push str.in_air
call fcn.10029df0
jmp 0x1004c12c
mov dword [esi + 0x31d8], 3
push 0x1019a61b
call fcn.10029df0
mov eax, 0xd3d3234
mov ecx, 0xd03d805e
mov dword [esi + 0xb4], ecx
mov dword [esi + 0xb0], eax
mov eax, 0xb4045d09
mov ecx, 0x5a44e522
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
mov eax, 0x25cabda9
mov ecx, 0xbae79e6d
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0x217c2e05
mov ecx, 0x69ef26f
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x974bb2b3
mov ecx, 0xdd77fda2
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0x87b20380
mov ecx, 0xf1382d41
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov eax, 0xb19492d
mov ecx, 0x76b4da05
mov dword [esi + 0xe4], ecx
mov dword [esi + 0xe0], eax
mov eax, 0xd6ad10ea
mov ecx, 0x7c963236
mov dword [esi + 0xec], ecx
mov dword [esi + 0xe8], eax
mov eax, 0x695c126f
mov ecx, 0xb353e128
mov dword [esi + 0x10], ecx
mov dword [esi + 0x64], ecx
mov dword [esi + 0x18], eax
mov dword [esi + 0x60], eax
mov eax, 0xd170736c
mov ecx, 0x7648d41
mov dword [esi + 0x30], ecx
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x28], eax
mov dword [esi + 0x68], eax
mov eax, 0x56a3d089
mov ecx, 0x9a83fb1e
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov eax, 0x55134676
mov ecx, 0x63eb964f
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
mov eax, 0xb724c693
mov ecx, 0xb81c9cc4
mov dword [esi + 0x84], ecx
mov dword [esi + 0x80], eax
mov eax, 0xe0dc62a0
mov ecx, 0xaa18482d
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x88], eax
mov eax, 0x66463b0d
mov ecx, 0x4cd1be6a
mov dword [esi + 0x94], ecx
mov dword [esi + 0x90], eax
mov eax, 0xf6de35ca
mov ecx, 0x7c96326b
mov dword [esi + 0x9c], ecx
mov dword [esi + 0x98], eax
lea edx, [esi + 0x60]
mov eax, edx
xor ecx, ecx
movaps xmm0, xmmword [esi + 0xb0]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0xb0], xmm0
movaps xmm0, xmmword [esi + 0xc0]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0xc0], xmm0
movaps xmm0, xmmword [esi + 0xd0]
xorps xmm0, xmmword [eax + 0x20]
movaps xmmword [esi + 0xd0], xmm0
movaps xmm0, xmmword [esi + 0xe0]
xorps xmm0, xmmword [eax + 0x30]
movaps xmmword [esi + 0xe0], xmm0
lea eax, [esi + 0x40]
push eax
lea eax, [esi + 0xb0]
push eax
push edx
call fcn.1004cca0
add esp, 0xc
mov dword [esi + 0x34], esp
mov edi, dword [0x10356808]
push eax
sub esp, 0x30
mov ebx, esp
mov eax, 0x695c120b
mov ecx, 0xb353e128
mov dword [esi + 0xf4], ecx
mov dword [esi + 0xf0], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0xb0], eax
mov ecx, dword [esi + 0x30]
mov dword [esi + 0xfc], ecx
mov eax, dword [esi + 0x28]
mov dword [esi + 0xf8], eax
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
lea eax, [esi + 0xb0]
xor ecx, ecx
mov dword [ebx + 0x30], 0xff1c5bcf
movaps xmm0, xmmword [esi + 0xf0]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0xf0], xmm0
xorps xmm0, xmm0
movups xmmword [ebx + 0x18], xmm0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x28], 0
lea eax, [esi + 0xf0]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
test eax, eax
js 0x1004cb70
mov edx, eax
mov ecx, ebx
add ecx, 0x18
cmp eax, 0xf
mov dword [esi + 0x10], ecx
mov dword [esi + 0x20], edi
mov dword [esi + 0x24], ebx
mov dword [esi + 0x18], eax
ja 0x1004c3c1
mov dword [ebx + 0x28], edx
mov dword [ebx + 0x2c], 0xf
push edx
lea eax, [esi + 0xf0]
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esi + 0x18]
add esp, 0xc
add eax, dword [esi + 0x10]
jmp 0x1004c447
mov dword [ebx + 0x2c], 0xf
or edx, 0xf
cmp edx, 0x17
mov eax, 0x16
cmovb edx, eax
cmp edx, 0xfff
mov dword [esi + 0x28], edx
jb 0x1004c404
lea eax, [edx + 0x24]
mov dword [esi + 0x31d8], 4
push eax
call fcn.100f6bcd
add esp, 4
mov edi, eax
add edi, 0x23
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x1004c41c
lea eax, [edx + 1]
mov dword [esi + 0x31d8], 4
push eax
call fcn.100f6bcd
add esp, 4
mov edi, eax
mov ebx, dword [esi + 0x24]
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], edi
mov dword [ebx + 0x28], eax
mov ecx, dword [esi + 0x28]
mov dword [ebx + 0x2c], ecx
push eax
lea eax, [esi + 0xf0]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esi + 0x18]
add esp, 0xc
add eax, edi
mov edi, dword [esi + 0x20]
mov byte [eax], 0
xorps xmm0, xmm0
movups xmmword [ebx], xmm0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 0
mov ecx, dword [esi + 0x70]
cmp dword [esi + 0x74], 0x10
lea eax, [esi + 0x60]
jb 0x1004c46d
mov eax, dword [esi + 0x60]
test ecx, ecx
js 0x1004cb61
cmp ecx, 0xf
ja 0x1004c496
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0x14], 0xf
movups xmm0, xmmword [eax]
movups xmmword [ebx], xmm0
mov dword [esi + 0x31d8], 4
jmp 0x1004c50d
mov dword [esi + 0x28], eax
mov dword [ebx + 0x14], 0xf
mov dword [esi + 0x18], ecx
or ecx, 0xf
cmp ecx, 0x17
mov eax, 0x16
cmovb ecx, eax
mov dword [esi + 0x31d8], 5
cmp ecx, 0xfff
mov dword [esi + 0x30], ecx
jb 0x1004c4df
lea eax, [ecx + 0x24]
push eax
call fcn.100f6bcd
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x1004c4eb
lea eax, [ecx + 1]
push eax
call fcn.100f6bcd
add esp, 4
mov edi, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov dword [ecx], eax
mov edx, dword [esi + 0x18]
mov dword [ecx + 0x10], edx
mov ebx, dword [esi + 0x30]
mov dword [ecx + 0x14], ebx
inc edx
push edx
push dword [esi + 0x28]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x31d8], 4
mov ecx, edi
call fcn.1004a8e0
mov esp, dword [esi + 0x34]
mov eax, dword [esi + 0x74]
cmp eax, 0x10
mov ebx, dword [esi + 0x38]
mov edx, dword [esi + 0x2c]
xorps xmm3, xmm3
jb 0x1004c568
mov ecx, dword [esi + 0x60]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x1004c558
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1004cb38
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100f6c02
add esp, 8
mov edx, dword [esi + 0x2c]
xorps xmm3, xmm3
mov ecx, dword [esi + 0xc]
cmp byte [ecx + 0x24], 0
je 0x1004cb52
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x6370]
cmp eax, 0xb
ja case.0x1004c583.9
jmp dword [eax*4 + 0x101567bc]
mov eax, dword [ecx + 0x18]
mov ecx, 0xa094
jmp 0x1004c5ce
mov eax, dword [ecx + 0x18]
mov ecx, 0xa090
jmp 0x1004c5ce
mov eax, dword [ecx + 0x18]
mov ecx, 0xa09c
jmp 0x1004c5ce
mov eax, dword [ecx + 0x18]
mov ecx, 0xa0a4
jmp 0x1004c5ce
mov eax, dword [ecx + 0x18]
mov ecx, 0x3c30
jmp 0x1004c5ce
mov eax, dword [ecx + 0x18]
mov ecx, 0xa0a0
jmp 0x1004c5ce
mov eax, dword [ecx + 0x18]
mov ecx, 0xa098
add eax, ecx
inc dword [eax]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x54]
cmp eax, 0x10
jb 0x1004c616
mov ecx, dword [esi + 0x40]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x1004c603
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1004cb38
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100f6c02
add esp, 8
mov edx, dword [esi + 0x2c]
xorps xmm3, xmm3
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x18]
mov edi, dword [eax]
test edi, edi
je 0x1004b184
mov eax, dword [0x1035678c]
mov ecx, dword [eax + 0x128]
cmp byte [ecx + edi], 0
jne 0x1004b184
mov eax, dword [eax + 0x1c]
cmp dword [eax + edi], 0
jle 0x1004b184
lea ecx, [edi + 8]
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x24]
mov dword [esi + 0x31d8], 0xffffffff
call eax
xorps xmm3, xmm3
mov edx, dword [esi + 0x2c]
test al, al
jne 0x1004b184
mov ecx, dword [esi + 0x31b4]
mov eax, dword [0x1035678c]
mov edx, dword [eax + 0x84]
mov dword [edx + edi + 8], ecx
mov ecx, dword [esi + 0x31b8]
mov edx, dword [eax + 0x84]
mov dword [edx + edi + 0xc], ecx
cmp byte [esi + 0x31c0], 0
je 0x1004c6bd
mov eax, dword [esi + 0x31b0]
shl eax, 4
lea eax, [eax + eax*2]
push eax
lea eax, [esi + 0x1b0]
push eax
push dword [edi + 0x2900]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [0x1035678c]
mov ecx, dword [esi + 0x31bc]
mov eax, dword [eax + 0x18]
mov dword [edi + eax + 4], ecx
mov eax, dword [0x1035678c]
mov eax, dword [eax + 0x2c]
lea edx, [esi + 0x17c]
mov ecx, dword [edx + 0x18]
mov dword [eax + edi + 8], ecx
movsd xmm0, qword [edx + 0x10]
movsd qword [eax + edi], xmm0
mov eax, dword [edx + 0x24]
mov dword [edi + 0x3b0], eax
movsd xmm0, qword [edx + 0x1c]
movsd qword [edi + 0x3a8], xmm0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
test eax, eax
je 0x1004b132
mov edx, dword [0x1035678c]
mov ecx, eax
lea eax, [esi + 0x17c]
push eax
lea eax, [esi + 0x170]
push eax
call dword [edx + 0x280]
jmp 0x1004b132
mov dword [esi + 0x3c], esp
mov eax, dword [0x10356804]
mov dword [esi + 0x38], eax
push eax
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x20], esp
mov eax, dword [0x10356804]
mov ecx, dword [eax + 0x10]
add ecx, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [edx + 0x14], 0
mov dword [edx + 0x10], eax
mov dword [esi + 0x30], edx
mov dword [edx + 0x18], ecx
sub esp, 0x20
mov edi, esp
mov ecx, dword [0x10356804]
mov ebx, dword [ecx + 0xc]
mov eax, dword [ecx + 0x10]
mov dword [edi + 0x14], 0
lea edx, [eax + ebx]
mov dword [esi + 0x10], edx
mov dword [edi + 0x18], edx
mov ecx, dword [ecx]
mov dword [edi + 0x10], ecx
mov dword [edi + 8], 0
mov dword [edi + 0xc], ebx
mov dword [edi + 4], ecx
lea edx, [esi + 0x170]
mov dword [esi + 0x24], edi
mov dword [edi], edx
test ecx, ecx
je 0x1004c7b0
mov ecx, dword [ecx]
mov dword [esi + 0xc], ecx
test eax, eax
jne 0x1004c7bf
jmp 0x1004c8a6
mov dword [esi + 0xc], 0
test eax, eax
je 0x1004c8a6
movaps xmm0, xmmword [0x10154d90]
movss xmm1, dword [0x101566bc]
jmp 0x1004c7d8
inc ebx
dec eax
je 0x1004c8b1
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
dec edx
and edx, ebx
mov edx, dword [ecx + edx*4]
cmp byte [edx + 0x6c], 0
jne 0x1004c7f6
cmp dword [edx + 0x80], 0
jne 0x1004c7d0
mov ecx, dword [0x1035679c]
bswap ecx
mov edi, dword [0x103567a0]
add edi, ecx
mov ecx, dword [0x103567a4]
ror edi, cl
movss xmm2, dword [edi]
subss xmm2, dword [edx + 0x60]
andps xmm2, xmm0
ucomiss xmm2, xmm1
jae 0x1004c8a6
cmp byte [edx + 0x6c], 0
jne 0x1004c7d0
cmp dword [edx + 0x80], 0
jne 0x1004c7d0
cmp dword [edx + 0x74], 0xffffffff
je 0x1004c7d0
cmp dword [edx + 0x7c], 0xffffffff
je 0x1004c7d0
mov ecx, dword [0x103567a8]
bswap ecx
mov edi, dword [0x103567ac]
add edi, ecx
mov ecx, dword [0x103567b0]
ror edi, cl
mov ecx, dword [edi + 0x4cbc]
sub ecx, dword [edx + 0x7c]
mov edi, ecx
neg edi
cmovs edi, ecx
cmp edi, 0x15
jb 0x1004c7d0
mov ecx, dword [0x1035679c]
bswap ecx
mov edi, dword [0x103567a0]
add edi, ecx
mov ecx, dword [0x103567a4]
ror edi, cl
movss xmm2, dword [edi]
subss xmm2, dword [edx + 0x64]
andps xmm2, xmm0
ucomiss xmm2, xmm1
ja 0x1004c8a6
movss xmm3, dword [edx + 0x68]
ucomiss xmm3, xmm2
jae 0x1004c7d0
mov eax, dword [esi + 0x10]
cmp ebx, eax
jne 0x1004c8b6
mov ebx, eax
jmp 0x1004c8c1
mov ebx, dword [esi + 0x10]
jmp 0x1004c8c1
lea edi, [ebx + 1]
cmp edi, eax
jne 0x1004c9a5
mov esp, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
mov dword [eax + 0xc], ebx
mov dword [esi + 0x174], 0
mov eax, dword [eax + 4]
mov dword [esi + 0x170], eax
mov dword [esi + 0x178], ebx
mov ecx, dword [esi + 0x30]
mov dword [ecx + 8], 0
mov eax, dword [esi + 0x170]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x178]
mov dword [ecx + 0xc], eax
lea eax, [esi + 0x110]
mov dword [ecx], eax
mov ecx, dword [esi + 0x38]
call fcn.10048d00
mov esp, dword [esi + 0x3c]
mov eax, dword [esi + 0x31d0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
add eax, 0x24
mov edx, eax
mov ecx, dword [esi + 0x34]
push edx
push ecx
call fcn.100f6c02
add esp, 8
mov ecx, dword [esi + 0x28]
lea eax, [edi + 0x48]
movsd xmm1, qword [0x10154070]
movsd qword [ebx + 0x58], xmm1
mov byte [ebx + 0x48], 0
movsd xmm0, qword [eax + 0x10]
movsd qword [ecx + 0x10], xmm0
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
movsd qword [edi + 0x58], xmm1
mov byte [edi + 0x48], 0
movups xmm0, xmmword [edi + 0x90]
movups xmmword [ebx + 0x90], xmm0
movups xmm0, xmmword [edi + 0x80]
movups xmmword [ebx + 0x80], xmm0
movups xmm0, xmmword [edi + 0x60]
movups xmm1, xmmword [edi + 0x70]
movups xmmword [ebx + 0x70], xmm1
movups xmmword [ebx + 0x60], xmm0
mov ebx, dword [esi + 0x2c]
inc ebx
mov edi, dword [esi + 0x18]
inc edi
cmp dword [esi + 0x10], edi
je 0x1004c8c1
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
dec ecx
and ecx, edi
mov eax, dword [eax + ecx*4]
cmp byte [eax + 0x6c], 0
jne 0x1004ca50
cmp dword [eax + 0x80], 0
je 0x1004ca50
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
dec ecx
mov edx, ecx
mov dword [esi + 0x18], edi
and edx, edi
mov edi, dword [eax + edx*4]
mov dword [esi + 0x2c], ebx
and ecx, ebx
mov ebx, dword [eax + ecx*4]
mov eax, dword [edi + 8]
mov dword [ebx + 8], eax
movsd xmm0, qword [edi]
movsd qword [ebx], xmm0
lea ecx, [ebx + 0xc]
lea eax, [edi + 0xc]
push eax
call fcn.1002b8b0
cmp ebx, edi
je 0x1004c968
lea ecx, [ebx + 0x48]
mov eax, dword [ebx + 0x5c]
cmp eax, 0x10
jb 0x1004c93b
mov dword [esi + 0x28], ecx
mov ecx, dword [ecx]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x1004c92e
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
mov dword [esi + 0x34], edx
sub ecx, edx
cmp ecx, 0x20
jb 0x1004c926
jmp 0x1004cb38
mov ecx, dword [0x1035679c]
bswap ecx
mov edx, dword [0x103567a0]
add edx, ecx
mov ecx, dword [0x103567a4]
ror edx, cl
movss xmm0, dword [edx]
subss xmm0, dword [eax + 0x60]
andps xmm0, xmmword [0x10154d90]
ucomiss xmm0, dword [0x101566bc]
jae 0x1004c99b
cmp byte [eax + 0x6c], 0
jne 0x1004c9cb
cmp dword [eax + 0x80], 0
jne 0x1004c9cb
cmp dword [eax + 0x74], 0xffffffff
je 0x1004c9cb
cmp dword [eax + 0x7c], 0xffffffff
je 0x1004c9cb
mov ecx, dword [0x103567a8]
bswap ecx
mov edx, dword [0x103567ac]
add edx, ecx
mov ecx, dword [0x103567b0]
ror edx, cl
mov ecx, dword [edx + 0x4cbc]
sub ecx, dword [eax + 0x7c]
mov edx, ecx
neg edx
cmovs edx, ecx
cmp edx, 0x15
jb 0x1004c9cb
mov ecx, dword [0x1035679c]
bswap ecx
mov edx, dword [0x103567a0]
add edx, ecx
mov ecx, dword [0x103567a4]
ror edx, cl
movss xmm0, dword [edx]
subss xmm0, dword [eax + 0x64]
andps xmm0, xmmword [0x10154d90]
ucomiss xmm0, dword [0x101566bc]
ja 0x1004c99b
movss xmm1, dword [eax + 0x68]
ucomiss xmm1, xmm0
jb 0x1004c99b
jmp 0x1004c9cb
mov dword [esi + 0x31d8], 0
call fcn.10017ca0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov dword [esi + 0x31d8], 0xffffffff
call fcn.1002ad40
call fcn.10017ca0
mov dword [esi + 0x31d8], 3
call fcn.1002ad40
mov dword [esi + 0x31d8], 5
call fcn.10017ca0
mov dword [esi + 0x31d8], 4
call fcn.10017ca0
mov dword [esi + 0x31d8], 3
call fcn.1002ad40
mov byte [esi + 0x17], 1
mov dword [esi + 0x31d8], 2
call fcn.10017ca0
mov byte [esi + 0x16], 1
mov dword [esi + 0x31d8], 1
call fcn.10017ca0
nop word cs:[eax + eax]
push ebp
sub esp, 0x34
lea esi, [ebp - 0x31dc]
mov ebp, dword [esi + 0x31c8]
cmp byte [esi + 0x16], 1
jne 0x1004cbde
mov ecx, dword [esi + 0x10]
call fcn.10007360
add esp, 0x34
pop ebp
ret