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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4901e0
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1a0
mov eax, dword [0x4fe040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1a0], ecx
mov edi, dword [0x4feb00]
mov esi, edi
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x120], eax
mov eax, dword [esi + 0x3e28]
mov dword [ebp - 0x148], 0x80
mov dword [ebp - 0x128], esi
mov byte [eax + 0x90], 1
mov eax, dword [esi + 0x3e28]
mov dword [ebp - 0x130], eax
cmp byte [eax + 0x93], 0
jne 0x42f6a5
mov edx, dword [ebx + 0x14]
mov ecx, edx
shr ecx, 0x1a
and ecx, 0xffffff01
mov dword [ebp - 0x11c], ecx
mov ecx, edx
shr ecx, 0xe
and ecx, 0xffffff01
mov dword [ebp - 0x134], ecx
mov ecx, edx
shr ecx, 0xf
and ecx, 0xffffff01
mov dword [ebp - 0x1a8], ecx
mov ecx, edx
shr ecx, 0x10
not cl
and ecx, 0xffffff01
mov dword [ebp - 0x178], ecx
mov ecx, edx
shr ecx, 0x12
and ecx, 0xffffff01
cmp byte [ebp - 0x11c], 0
mov dword [ebp - 0x16c], ecx
je 0x42f0db
call fcn.00411890
mov edi, dword [0x4feb00]
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 0xc8]
xor edx, edx
mov eax, dword [eax + 0xd0]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x1a0]
call fcn.004033c0
add esp, 4
mov dword [ebp - 0x12c], eax
cmp dword [edi + 0x3e48], eax
jne 0x42f125
push ecx
push dword [ebp - 0x1a0]
mov edx, 0xb
mov ecx, eax
call fcn.00417430
mov edi, dword [0x4feb00]
add esp, 8
mov eax, dword [ebp - 0x1a0]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x42f148
mov dl, byte [ecx]
test dl, dl
je 0x42f148
cmp dl, 0x23
jne 0x42f142
cmp byte [ecx + 1], dl
je 0x42f148
inc ecx
cmp ecx, 0xffffffff
jb 0x42f132
movss xmm1, dword [0x4f93b0]
xorps xmm5, xmm5
movss xmm0, dword [edi + 0x3bb4]
movss dword [ebp - 0x18c], xmm1
cmp eax, ecx
jne 0x42f171
movss dword [ebp - 0x1ac], xmm5
jmp 0x42f1c2
push ecx
push ecx
push eax
push ecx
mov ecx, dword [edi + 0x3bb0]
lea eax, [ebp - 0x158]
mov dword [esp], 0xbf800000
movaps xmm3, xmm1
push eax
movaps xmm2, xmm0
call fcn.00426a90
movss xmm0, dword [ebp - 0x158]
xorps xmm5, xmm5
addss xmm0, dword [0x4f92e8]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x1ac], xmm0
movss xmm0, dword [ebp - 0x154]
cmp byte [ebp - 0x11c], 0
mov eax, dword [ebp - 0xfc]
movss xmm6, dword [eax]
movss xmm7, dword [eax + 4]
movss dword [ebp - 0x184], xmm6
movss dword [ebp - 0x188], xmm7
je 0x42f1fa
movss xmm0, dword [esi + 0x3bb4]
mulss xmm0, dword [0x4f9350]
test byte [edi + 0x3ebc], 1
movss xmm2, dword [esi + 0x37d8]
mov ecx, dword [edi + 0x3e28]
addss xmm2, xmm2
addss xmm2, xmm0
je 0x42f223
movss xmm0, dword [edi + 0x3ec0]
jmp 0x42f22b
movss xmm0, dword [ecx + 0x188]
comiss xmm5, xmm0
movss xmm3, dword [0x4f92f0]
jbe 0x42f26d
cmp dword [ecx + 0x178], 0
movss xmm1, dword [ecx + 0x210]
jne 0x42f252
cmp dword [edi + 0x41fc], 0
je 0x42f25a
movss xmm1, dword [ecx + 0x1e0]
subss xmm1, dword [ecx + 0xd4]
addss xmm1, xmm0
movaps xmm0, xmm3
maxss xmm0, xmm1
comiss xmm5, xmm6
mov edx, ecx
cvttss2si eax, xmm0
xorps xmm0, xmm0
xorps xmm1, xmm1
movd xmm4, eax
cvtdq2ps xmm4, xmm4
ja 0x42f28a
comiss xmm5, xmm7
jbe 0x42f2b4
cmp dword [ecx + 0x178], 0
movss xmm0, dword [ecx + 0x210]
movss xmm1, dword [ecx + 0x214]
jne 0x42f2ac
cmp dword [edi + 0x41fc], 0
je 0x42f2b4
movss xmm0, dword [ecx + 0x1e0]
movss xmm3, dword [0x4f933c]
ucomiss xmm6, xmm5
lahf
test ah, 0x44
jp 0x42f2d2
movaps xmm6, xmm4
movss dword [ebp - 0x184], xmm6
jmp 0x42f2fb
comiss xmm5, xmm6
jbe 0x42f2fb
subss xmm0, dword [edx + 0xd4]
addss xmm6, xmm0
comiss xmm3, xmm6
movss dword [ebp - 0x184], xmm6
jb 0x42f2fb
movaps xmm6, xmm3
movss dword [ebp - 0x184], xmm3
ucomiss xmm7, xmm5
lahf
test ah, 0x44
jp 0x42f311
movaps xmm7, xmm2
movss dword [ebp - 0x188], xmm7
jmp 0x42f33a
comiss xmm5, xmm7
jbe 0x42f33a
subss xmm1, dword [edx + 0xd8]
addss xmm7, xmm1
comiss xmm3, xmm7
movss dword [ebp - 0x188], xmm7
jb 0x42f33a
movaps xmm7, xmm3
movss dword [ebp - 0x188], xmm3
movss xmm0, dword [ebp - 0x1ac]
comiss xmm0, xmm5
jbe 0x42f354
movaps xmm2, xmm0
addss xmm2, dword [esi + 0x37ec]
jmp 0x42f357
xorps xmm2, xmm2
mov edi, dword [ebp - 0x130]
lea eax, [ebp - 0x80]
movaps xmm0, xmm7
mov dword [ebp - 0x170], edi
movaps xmm1, xmm6
push 0x3c
movss xmm4, dword [edi + 0xd8]
movss xmm3, dword [edi + 0xd4]
addss xmm0, xmm4
addss xmm1, xmm3
movss dword [ebp - 0x108], xmm3
push 0
push eax
movss dword [ebp - 0x194], xmm4
movss dword [ebp - 0x84], xmm0
movaps xmm0, xmm6
addss xmm0, xmm2
movss dword [ebp - 0x88], xmm1
movaps xmm1, xmm7
movss dword [ebp - 0x90], xmm3
addss xmm1, xmm4
movss dword [ebp - 0x8c], xmm4
movss dword [ebp - 0x24], xmm3
movss dword [ebp - 0x20], xmm4
addss xmm0, xmm3
movss dword [ebp - 0x164], xmm1
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0xfc], xmm0
movss dword [ebp - 0x1c], xmm0
call sub.VCRUNTIME140.dll_memset
movss xmm1, dword [ebp - 0x164]
lea ecx, [ebp - 0x158]
subss xmm1, dword [ebp - 0x194]
movss xmm0, dword [ebp - 0xfc]
add esp, 0xc
subss xmm0, dword [ebp - 0x108]
movss xmm2, dword [esi + 0x37d8]
movss dword [ebp - 0x154], xmm1
movaps xmm1, xmm2
movss dword [ebp - 0x158], xmm0
call fcn.00411480
cmp byte [ebp - 0x11c], 0
je 0x42f734
mov edx, dword [ebp - 0x12c]
lea eax, [ebp - 0x90]
push 0x400
push eax
lea ecx, [ebp - 0x24]
call fcn.004115e0
add esp, 8
test al, al
je 0x42f6a0
movups xmm0, xmmword [esi + 0x3ed0]
mov eax, dword [esi + 0x3ed8]
mov dword [ebp - 0x174], eax
lea eax, [ebp - 0x28]
movups xmmword [ebp - 0x80], xmm0
push eax
movups xmm0, xmmword [esi + 0x3ee0]
mov dword [ebp - 0x28], 3
movups xmmword [ebp - 0x70], xmm0
movups xmm0, xmmword [esi + 0x3ef0]
movups xmmword [ebp - 0x60], xmm0
movq xmm0, qword [esi + 0x3f00]
mov esi, dword [0x4feb00]
movq qword [ebp - 0x50], xmm0
movss xmm0, dword [ebp - 0x108]
movss dword [edi + 0xd4], xmm0
movss xmm0, dword [ebp - 0x194]
lea ecx, [esi + 0x3f6c]
movss dword [edi + 0xd8], xmm0
movups xmm0, xmmword [esi + 0x3890]
movups xmmword [ebp - 0x24], xmm0
call fcn.00417ba0
mov edi, dword [ebp - 0x128]
lea eax, [ebp - 0x15c]
push eax
mov dword [ebp - 0x15c], 7
movups xmm0, xmmword [edi + 0x38d0]
movups xmmword [esi + 0x3890], xmm0
mov esi, dword [0x4feb00]
movss xmm0, dword [edi + 0x37dc]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [esi + 0x37c4]
lea ecx, [esi + 0x3f78]
movss dword [ebp - 0x158], xmm0
call fcn.00417ae0
movss xmm0, dword [ebp - 0xfc]
lea eax, [ebp - 0x15c]
movss dword [esi + 0x37c4], xmm0
mov esi, dword [0x4feb00]
movss xmm0, dword [edi + 0x37e0]
movss dword [ebp - 0xfc], xmm0
push eax
movss xmm0, dword [esi + 0x37c8]
lea ecx, [esi + 0x3f78]
mov dword [ebp - 0x15c], 8
movss dword [ebp - 0x158], xmm0
call fcn.00417ae0
movss xmm0, dword [ebp - 0xfc]
lea eax, [ebp - 0x15c]
movss dword [esi + 0x37c8], xmm0
mov esi, dword [0x4feb00]
push eax
mov dword [ebp - 0x15c], 2
movss xmm1, dword [esi + 0x37a0]
lea ecx, [esi + 0x3f78]
movss xmm0, dword [esi + 0x37a4]
movss dword [ebp - 0x158], xmm1
movss dword [ebp - 0x154], xmm0
call fcn.00417ae0
movss xmm1, dword [ebp - 0x88]
lea eax, [ebp - 0x158]
movss xmm0, dword [ebp - 0x84]
subss xmm1, dword [ebp - 0x90]
subss xmm0, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x12c]
push 4
push ecx
mov ecx, dword [ebp - 0x1a0]
push eax
mov dword [esi + 0x37a0], 0
mov dword [esi + 0x37a4], 0
movss dword [ebp - 0x158], xmm1
movss dword [ebp - 0x154], xmm0
call fcn.0040ab10
add esp, 0xc
mov byte [ebp - 0x13b], al
mov ecx, 3
call fcn.00404810
mov esi, dword [0x4feb00]
mov ecx, dword [esi + 0x3f6c]
cmp ecx, 1
jl 0x42f692
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0x3f74]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, 0x386
shl eax, 4
add eax, esi
movups xmmword [eax], xmm0
dec dword [esi + 0x3f6c]
cmp byte [ebp - 0x13b], 0
jne 0x42f6c5
call fcn.0040ad00
call fcn.004119c0
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0043e7f2
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov esi, edi
mov edx, dword [esi + 0x3e28]
mov dword [ebp - 0x170], edx
movsx ecx, word [edx + 0x132]
mov eax, dword [edx + 0x12c]
bts ecx, eax
movss xmm0, dword [edx + 0xd4]
mov word [edx + 0x132], cx
addss xmm0, dword [esi + 0x37d4]
movss dword [edx + 0xd4], xmm0
movss xmm0, dword [esi + 0x37d8]
addss xmm0, dword [edx + 0xd8]
movss dword [edx + 0xd8], xmm0
movss xmm0, dword [ebp - 0x184]
subss xmm0, dword [edx + 0x84]
movss dword [ebp - 0x184], xmm0
jmp 0x42f76e
test dword [ebx + 0x14], 0x10000000
jne 0x42f762
mov edx, dword [ebp - 0x12c]
lea eax, [ebp - 0x90]
push 0x400
push eax
lea ecx, [ebp - 0x24]
call fcn.004115e0
add esp, 8
test al, al
je 0x42f6a5
mov eax, dword [esi + 0x3ed8]
mov dword [ebp - 0x174], eax
mov edx, dword [ebp - 0x12c]
lea ecx, [ebp - 0x90]
call fcn.00405fc0
mov cl, al
mov byte [ebp - 0x13a], cl
test cl, cl
je 0x42f795
mov dword [esi + 0x4158], 1
mov edx, dword [ebp - 0x12c]
test edx, edx
je 0x42f7b5
mov edi, dword [0x4feb00]
add edi, 0x429c
mov dword [ebp - 0x140], edi
cmp dword [edi], edx
je 0x42f7bd
xor edi, edi
mov dword [ebp - 0x140], edi
mov eax, dword [ebp - 0x174]
shr eax, 8
and al, 1
mov dword [ebp - 0x174], eax
mov eax, dword [esi + 0x3e60]
cmp eax, edx
je 0x42f7fa
cmp dword [esi + 0x3ff4], edx
je 0x42f7f1
cmp dword [esi + 0x3fe8], edx
jne 0x42f7fa
cmp dword [esi + 0x4010], 2
jne 0x42f7fa
mov byte [ebp - 0xf2], 1
jmp 0x42f801
mov byte [ebp - 0xf2], 0
test cl, cl
je 0x42f815
cmp byte [esi + 0x36f8], 0
mov byte [ebp - 0x10d], 1
jne 0x42f81c
mov byte [ebp - 0x10d], 0
cmp byte [ebp - 0x11c], 0
je 0x42f892
test edi, edi
je 0x42f892
test eax, eax
jne 0x42f892
mov eax, dword [ebp - 0x170]
xor edx, edx
mov ecx, dword [eax + 0xc8]
mov eax, dword [eax + 0xd0]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.004033c0
mov ecx, dword [0x4feb00]
add esp, 4
mov dword [ebp - 0xfc], eax
cmp dword [ecx + 0x3e48], eax
jne 0x42f881
push ecx
push str.SCROLLY
mov edx, 0xb
mov ecx, eax
call fcn.00417430
mov eax, dword [ebp - 0xfc]
add esp, 8
cmp dword [esi + 0x3e88], eax
jne 0x42f892
mov byte [ebp - 0xfd], 1
jmp 0x42f8b2
mov eax, dword [ebp - 0x11c]
mov byte [ebp - 0xfd], 0
test al, al
je 0x42f92c
mov byte [ebp - 0xfd], 0
test edi, edi
je 0x42f92c
mov eax, dword [ebp - 0x170]
xor edx, edx
mov ecx, dword [eax + 0xc8]
mov eax, dword [eax + 0xd0]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.004033c0
mov ecx, dword [0x4feb00]
add esp, 4
mov dword [ebp - 0xfc], eax
cmp dword [ecx + 0x3e48], eax
jne 0x42f906
push ecx
push str.SCROLLY
mov edx, 0xb
mov ecx, eax
call fcn.00417430
mov eax, dword [ebp - 0xfc]
add esp, 8
cmp dword [esi + 0x3e60], eax
jne 0x42f926
mov cl, 1
mov byte [ebp - 0x115], 0
mov byte [ebp - 0xf3], cl
mov byte [ebp - 0x10c], 0
jmp 0x42f946
mov eax, dword [ebp - 0x11c]
xor cl, cl
mov byte [ebp - 0x115], 0
mov byte [ebp - 0x10c], 0
mov byte [ebp - 0xf3], cl
test al, al
je 0x42f961
mov eax, dword [ebp - 0x170]
movss xmm0, dword [eax + 0x60]
mov eax, dword [ebp - 0x11c]
movss dword [ebp - 0x18c], xmm0
jmp 0x42f969
xor cl, cl
mov byte [ebp - 0xf3], cl
test edi, edi
je 0x42f978
xor al, 1
cmp byte [edi + 0x53], al
je 0x42f978
mov al, 1
jmp 0x42f97a
xor al, al
cmp byte [ebp - 0x10d], 0
mov byte [ebp - 0x121], al
mov dword [ebp - 0x164], 1
jne 0x42f9c1
cmp byte [ebp - 0xfd], 0
jne 0x42f9c1
cmp byte [ebp - 0xf2], 0
jne 0x42f9c1
cmp byte [ebp - 0x174], 0
jne 0x42f9c1
mov byte [ebp - 0xfd], 0
test cl, cl
jne 0x42f9c8
mov byte [ebp - 0xf4], cl
jmp 0x42f9dd
mov byte [ebp - 0xfd], 1
mov ecx, dword [ebp - 0x12c]
mov byte [ebp - 0xf4], 1
cmp dword [esi + 0x3e60], ecx
jne 0x42f9e5
test al, al
je 0x42fcc5
mov ecx, dword [ebp - 0x120]
lea edi, [esi + 0x429c]
mov dword [ebp - 0x140], edi
mov dword [edi + 0xe68], 0xbe99999a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42fa04
mov eax, dword [edi + 0x28]
sub ecx, edx
mov dword [ebp - 0xfc], ecx
lea edx, [ecx + 1]
mov dword [ebp - 0x108], edx
cmp edx, eax
jle 0x42fa54
test eax, eax
je 0x42fa39
cdq
sub eax, edx
mov edx, dword [ebp - 0x108]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x28]
jmp 0x42fa3e
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0x24]
push eax
call fcn.00417f30
mov edx, dword [ebp - 0x108]
push edx
push dword [ebp - 0x120]
mov dword [edi + 0x24], edx
push dword [edi + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x12c]
add esp, 0xc
cmp dword [edi], eax
jne 0x42faab
cmp byte [ebp - 0x121], 0
jne 0x42faab
mov eax, dword [ebp - 0xfc]
mov byte [ebp - 0xf5], 1
cmp dword [edi + 8], eax
jne 0x42faab
cmp byte [edi + 0x30], 0
je 0x42fab2
push eax
push dword [ebp - 0x120]
push dword [edi + 0x20]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x42fab2
mov byte [ebp - 0xf5], 0
mov ecx, dword [ebp - 0x12c]
mov dword [edi], ecx
mov eax, dword [edi + 0x10]
cmp eax, 0x81
jge 0x42faf1
test eax, eax
je 0x42fad7
cdq
sub eax, edx
lea edx, [edi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x42fadf
mov ecx, 8
lea edx, [edi + 0xc]
mov eax, 0x81
cmp ecx, eax
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00417fb0
lea eax, [edi + 0x18]
mov dword [edi + 0xc], 0x81
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x42fb1e
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x18]
call fcn.00417f30
lea eax, [edi + 0x18]
mov dword [eax], 0
mov ecx, dword [edi + 0x14]
mov edx, ecx
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x138], ecx
add ecx, 0xfe
mov byte [edi + 0x30], 0
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x104], edx
cmp edx, ecx
jae 0x42fba7
mov esi, eax
cmp byte [esi], 0
je 0x42fb9b
push 0
mov edx, esi
lea ecx, [ebp - 0xfc]
call fcn.00403660
mov edx, dword [ebp - 0x104]
add esi, eax
mov eax, dword [ebp - 0xfc]
add esp, 4
mov dword [ebp - 0x14c], esi
test eax, eax
je 0x42fb9b
mov word [edx], ax
add edx, 2
mov eax, dword [ebp - 0x138]
add eax, 0xfe
mov dword [ebp - 0x104], edx
cmp edx, eax
jb 0x42fb51
mov esi, dword [ebp - 0x128]
mov eax, dword [ebp - 0x14c]
sub eax, dword [ebp - 0x120]
xor ecx, ecx
mov word [edx], cx
sub edx, dword [ebp - 0x138]
mov cl, byte [ebp - 0xf5]
sar edx, 1
mov dword [edi + 4], edx
mov dword [edi + 8], eax
test cl, cl
je 0x42fbf4
cmp dword [edi + 0x3c], edx
mov ecx, edx
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], edx
mov dword [edi + 0x3c], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], edx
mov dword [edi + 0x40], ecx
cmovl edx, dword [edi + 0x44]
mov cl, byte [ebp - 0xf5]
mov dword [edi + 0x44], edx
jmp 0x42fc55
mov al, byte [ebp - 0x11c]
xor al, 1
mov dword [edi + 0x38], 0
mov dword [edi + 0xe5a], 0x630000
mov dword [edi + 0xe60], 0
mov dword [edi + 0xe64], 0x3e7
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
mov dword [edi + 0x3c], 0
mov word [edi + 0x51], 1
mov dword [edi + 0x58], 0
mov byte [edi + 0x50], 0
mov byte [edi + 0x53], al
mov byte [edi + 0x48], 0
mov dword [edi + 0x4c], 0
cmp byte [ebp - 0x11c], 0
mov edx, dword [ebx + 0x14]
jne 0x42fcb9
mov eax, dword [ebp - 0x10c]
test dl, 0x10
movzx eax, al
cmovne eax, dword [ebp - 0x164]
cmp byte [ebp - 0xf2], 0
mov dword [ebp - 0x10c], eax
je 0x42fc97
test cl, cl
je 0x42fc90
test byte [esi + 0x3ff8], 4
jne 0x42fc97
mov byte [ebp - 0x10c], 1
cmp byte [ebp - 0x174], 0
jne 0x42fcb2
cmp byte [ebp - 0x10d], 0
je 0x42fcb9
cmp byte [esi + 0xdd0], 0
je 0x42fcb9
mov byte [ebp - 0x10c], 1
test edx, 0x2000
je 0x42fcc5
mov byte [edi + 0x48], 1
mov eax, dword [ebp - 0x12c]
cmp dword [esi + 0x3e60], eax
je 0x42fd9e
cmp byte [ebp - 0xfd], 0
je 0x42fd96
mov edx, dword [ebp - 0x130]
mov ecx, eax
call fcn.00405d80
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x12c]
call fcn.00412b80
mov ecx, dword [ebp - 0x130]
call fcn.00410190
mov eax, dword [esi + 0x3e9c]
mov edx, dword [ebx + 0x14]
or eax, 3
cmp byte [ebp - 0x11c], 0
mov dword [esi + 0x3e9c], eax
jne 0x42fd2c
test dl, dl
jns 0x42fd35
or eax, 0xc
mov dword [esi + 0x3e9c], eax
mov ecx, dword [0x4feb00]
or dword [ecx + 0x3ea0], 0x4000
or dword [ecx + 0x3eac], 0x1000
or dword [ecx + 0x3ea0], 0x80
mov eax, dword [ecx + 0x3ea0]
or eax, 0x100
cmp byte [ebp - 0x11c], 0
mov dword [ecx + 0x3ea0], eax
je 0x42fd7f
or eax, 0x20
or eax, 0x40
mov dword [ecx + 0x3ea0], eax
test edx, 0x440
je 0x42fd90
or eax, 1
mov dword [ecx + 0x3ea0], eax
mov eax, dword [ebp - 0x12c]
cmp dword [esi + 0x3e60], eax
jne 0x42fddf
test edi, edi
jne 0x42fdb1
xor edx, edx
xor ecx, ecx
call fcn.00405d80
mov eax, dword [ebp - 0x12c]
cmp dword [esi + 0x3e60], eax
jne 0x42fddf
cmp byte [esi + 0x36f8], 0
je 0x42fdec
cmp byte [ebp - 0xf4], 0
jne 0x42fdec
cmp byte [ebp - 0xfd], 0
jne 0x42fdec
mov byte [ebp - 0x115], 1
mov dl, 1
jmp 0x42fdf2
test edi, edi
je 0x42fdf0
cmp byte [ebp - 0xf3], 0
je 0x42fdf0
mov dl, 1
jmp 0x42fdf2
xor dl, dl
mov byte [ebp - 0xf1], dl
test edi, edi
je 0x42fe18
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x42fe0d
cmp byte [ebp - 0x10c], 0
je 0x42fe18
test dl, dl
je 0x42fe18
mov ecx, 1
jmp 0x42fe1a
xor cl, cl
cmp byte [ebp - 0x134], 0
mov dword [ebp - 0x114], ecx
mov byte [ebp - 0x139], cl
mov byte [ebp - 0x13b], 0
mov byte [ebp - 0x121], 0
je 0x42ff6e
test edi, edi
je 0x42ff6e
test dl, dl
jne 0x42fe55
test cl, cl
je 0x42ff76
mov ecx, dword [edi + 0x10]
lea eax, [edi + 0xc]
cmp ecx, 0x81
jge 0x42fe90
test ecx, ecx
je 0x42fe72
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x42fe77
mov eax, 8
cmp eax, 0x81
mov ecx, 0x81
cmovg ecx, eax
push ecx
lea ecx, [edi + 0xc]
call fcn.00417fb0
lea eax, [edi + 0xc]
mov dword [eax], 0x81
mov ecx, dword [edi + 0x14]
mov edx, ecx
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x138], ecx
add ecx, 0x100
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x104], edx
cmp edx, ecx
jae 0x42ff16
mov esi, eax
nop
cmp byte [esi], 0
je 0x42ff0a
push 0
mov edx, esi
lea ecx, [ebp - 0xfc]
call fcn.00403660
mov edx, dword [ebp - 0x104]
add esi, eax
mov eax, dword [ebp - 0xfc]
add esp, 4
mov dword [ebp - 0x14c], esi
test eax, eax
je 0x42ff0a
mov word [edx], ax
add edx, 2
mov eax, dword [ebp - 0x138]
add eax, 0x100
mov dword [ebp - 0x104], edx
cmp edx, eax
jb 0x42fec0
mov esi, dword [ebp - 0x128]
mov eax, dword [ebp - 0x14c]
sub eax, dword [ebp - 0x120]
xor ecx, ecx
mov word [edx], cx
sub edx, dword [ebp - 0x138]
sar edx, 1
cmp dword [edi + 0x3c], edx
mov ecx, edx
mov dword [edi + 4], edx
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], edx
mov dword [edi + 0x3c], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], edx
mov dword [edi + 0x40], ecx
cmovl edx, dword [edi + 0x44]
cmp ecx, edx
mov dword [edi + 8], eax
movzx eax, byte [ebp - 0x139]
mov ecx, 0
cmovne ecx, eax
mov dword [edi + 0x44], edx
mov dl, byte [ebp - 0xf1]
mov dword [ebp - 0x114], ecx
test dl, dl
jne 0x42ff84
test cl, cl
jne 0x42ff84
mov eax, dword [ebp - 0x12c]
cmp dword [esi + 0x3e60], eax
jne 0x42ff9e
cmp byte [ebp - 0x134], 0
jne 0x42ff9e
test edi, edi
je 0x42ff9e
cmp byte [edi + 0x30], 0
mov byte [ebp - 0x139], 1
jne 0x42ffa5
mov byte [ebp - 0x139], 0
cmp byte [ebp - 0x1a8], 0
je 0x430038
mov edx, dword [esi + 0x3bb0]
cmp dword [edx + 0x14], 0x2a
ja 0x42ffc3
mov eax, dword [edx + 0x2c]
jmp 0x42ffe2
mov eax, dword [edx + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x42ffd9
mov eax, dword [edx + 0x2c]
jmp 0x42ffe2
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x28]
lea eax, [eax + ecx*8]
mov dword [ebp - 0x104], eax
lea ecx, [esi + 0x5110]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x3bb0]
mov eax, dword [eax + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [esi + 0x3bb0]
mov eax, dword [eax + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [esi + 0x3bb0]
mov eax, dword [eax + 0x4c]
mov dword [ecx + 0x4c], eax
mov eax, dword [esi + 0x3bb0]
mov eax, dword [eax + 0x30]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0x104]
mov dword [ecx + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [ecx + 0xc], eax
call fcn.00410410
mov ecx, dword [ebp - 0x12c]
movss xmm0, dword [ebp - 0x90]
movss xmm1, dword [0x4f92b8]
mov dword [ebp - 0x14c], 0
movss dword [ebp - 0x1a4], xmm0
cmp dword [esi + 0x3e60], ecx
jne 0x4305c0
mov eax, dword [edi + 8]
mov edx, dword [ebx + 0x14]
mov byte [edi + 0xe6e], 0
mov dword [edi + 0x34], 0x80
mov dword [edi + 0xe70], edx
cmp byte [esi + 0xdc0], 0
mov dword [ebp - 0x14c], eax
sete al
mov dword [esi + 0x53dc], 1
cmp byte [ebp - 0x11c], 0
mov byte [esi + 0x3e6d], al
movss xmm7, dword [esi + 0xdb8]
subss xmm7, xmm0
subss xmm7, dword [esi + 0x37d4]
addss xmm7, dword [edi + 0x38]
je 0x4300e0
mov eax, dword [ebp - 0x170]
movss xmm2, dword [esi + 0xdbc]
subss xmm2, dword [eax + 0xd8]
jmp 0x4300ec
movss xmm2, dword [esi + 0x3bb4]
mulss xmm2, xmm1
cmp byte [ebp - 0x10c], 0
mov al, byte [esi + 0x61]
mov byte [ebp - 0xf5], al
je 0x43011e
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov byte [edi + 0xe6d], 1
jmp 0x43040e
mov cl, byte [ebp - 0x13a]
test cl, cl
je 0x4302d3
cmp word [esi + 0x3702], 2
jb 0x4302d3
cmp byte [esi + 0xdd1], 0
jne 0x4302d3
cmp byte [edi + 0x53], 0
je 0x430161
push 0
mov edx, edi
lea ecx, [ebp - 0x2c]
call fcn.0042d1c0
movss xmm2, dword [ebp - 0x20]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.0042d640
lea edx, [edi + 0x3c]
mov dword [ebp - 0x108], eax
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov byte [edx + 0x16], 0
movzx ecx, word [esi + 0x3702]
sub ecx, 2
test cl, 1
jne 0x430242
test eax, eax
je 0x4301ac
mov eax, dword [edi + 0x14]
mov ecx, dword [ebp - 0x108]
cmp word [eax + ecx*2 - 2], 0xa
je 0x4301ac
xor cl, cl
jmp 0x4301ae
mov cl, 1
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x4301ba
test cl, cl
jne 0x4301dd
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042da20
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x4301fb
mov eax, dword [edi + 0x44]
cmp dword [edi + 0x40], eax
jne 0x4301f8
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
jmp 0x4301fb
mov dword [edi + 0x3c], eax
mov edx, dword [edi + 0x3c]
mov ecx, edi
call fcn.0042d380
mov dword [edi + 0x3c], eax
mov dword [edi + 0x44], eax
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 4]
cmp ecx, edx
je 0x430231
cmp ecx, eax
jle 0x430221
mov dword [edi + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x43022a
mov dword [edi + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x430231
mov dword [edi + 0x3c], ecx
cmp dword [edi + 0x3c], eax
jle 0x430401
mov dword [edi + 0x3c], eax
jmp 0x430401
mov eax, dword [edi + 0x14]
mov ecx, dword [ebp - 0x108]
push 0x200004
movzx esi, word [eax + ecx*2]
mov ecx, edi
call fcn.0042da20
add esp, 4
mov byte [edi + 0xe6c], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, edi
push 0x600005
call fcn.0042da20
add esp, 4
mov byte [edi + 0xe6c], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, edi
push 0x600001
call fcn.0042da20
add esp, 4
cmp esi, 0xa
je 0x4302c1
cmp byte [ebp - 0x11c], 0
je 0x4302c1
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 0x44]
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], ecx
mov dword [edi + 0x3c], ecx
mov esi, dword [ebp - 0x128]
mov byte [edi + 0xe6c], 0
jmp 0x430401
cmp byte [esi + 0x36f8], 0
je 0x430383
cmp byte [edi + 0xe6d], 0
jne 0x430383
test cl, cl
je 0x430414
cmp byte [esi + 0xdd1], 0
je 0x430344
cmp byte [edi + 0x53], 0
je 0x430318
push 0
mov edx, edi
lea ecx, [ebp - 0x2c]
call fcn.0042d1c0
movss xmm2, dword [ebp - 0x20]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x430326
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm7
mov ecx, edi
call fcn.0042d640
lea ecx, [edi + 0x44]
mov edx, edi
mov dword [ecx], eax
mov ecx, 0x3c
mov dword [edx + ecx], eax
jmp 0x430401
cmp byte [edi + 0x53], 0
je 0x43035e
push 0
mov edx, edi
lea ecx, [ebp - 0x2c]
call fcn.0042d1c0
movss xmm2, dword [ebp - 0x20]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.0042d640
lea ecx, [edi + 0x44]
mov dword [edi + 0x40], eax
mov byte [edi + 0x52], 0
mov edx, edi
mov dword [ecx], eax
mov ecx, 0x3c
mov dword [edx + ecx], eax
jmp 0x430401
cmp byte [esi + 0xdc0], 0
je 0x430414
cmp byte [edi + 0xe6d], 0
jne 0x43041d
movss xmm0, dword [esi + 0xb4]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x4303c2
movss xmm0, dword [esi + 0xb8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x430414
cmp byte [edi + 0x53], 0
je 0x4303dc
push 0
mov edx, edi
lea ecx, [ebp - 0x2c]
call fcn.0042d1c0
movss xmm2, dword [ebp - 0x20]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x4303ea
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm7
mov ecx, edi
call fcn.0042d640
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0xe6c], 1
mov edx, dword [ebx + 0x14]
mov dword [edi + 0xe68], 0xbe99999a
mov al, byte [ebp - 0xf5]
cmp byte [edi + 0xe6d], 0
je 0x43042d
cmp byte [esi + 0xdc0], 0
jne 0x43042d
mov byte [edi + 0xe6d], 0
cmp byte [esi + 0xdd0], 0
je 0x43043f
cmp byte [esi + 0xdd2], 0
je 0x43044c
test al, al
je 0x430455
cmp byte [esi + 0xdd3], 0
je 0x430455
mov byte [ebp - 0xf3], 1
jmp 0x43045c
mov byte [ebp - 0xf3], 0
test edx, 0x400
je 0x43065a
mov edx, 1
mov ecx, 0x200
call fcn.00410c90
mov ecx, dword [ebp - 0x134]
test al, al
mov al, byte [ebp - 0xf3]
je 0x4304eb
test al, al
jne 0x4304eb
cmp byte [esi + 0xdd1], al
jne 0x4304eb
mov edx, dword [ebx + 0x14]
test cl, cl
jne 0x4304ee
push 2
sub esp, 8
mov dword [ebp - 0x108], 9
lea ecx, [ebp - 0x108]
call fcn.0042ec20
add esp, 0xc
test al, al
je 0x4304df
push dword [ebp - 0x108]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042da20
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, dword [ebp - 0x134]
mov al, byte [ebp - 0xf3]
mov edx, dword [ebx + 0x14]
cmp dword [esi + 0x3770], 0
jle 0x4305c0
test al, al
jne 0x430588
test cl, cl
jne 0x430588
cmp byte [ebp - 0xf2], cl
jne 0x430588
xor ecx, ecx
mov dword [ebp - 0x104], ecx
nop
mov eax, dword [esi + 0x3778]
movzx eax, word [eax + ecx*2]
mov dword [ebp - 0x108], eax
cmp eax, 9
je 0x430576
push 2
sub esp, 8
lea ecx, [ebp - 0x108]
call fcn.0042ec20
add esp, 0xc
test al, al
je 0x430570
push dword [ebp - 0x108]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042da20
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, dword [ebp - 0x104]
mov edx, dword [ebx + 0x14]
inc ecx
mov dword [ebp - 0x104], ecx
cmp ecx, dword [esi + 0x3770]
jl 0x430520
mov ecx, dword [esi + 0x3774]
lea eax, [esi + 0x3770]
test ecx, ecx
jns 0x4305ba
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [esi + 0x3770]
call fcn.00417fb0
lea eax, [esi + 0x3770]
mov dword [eax], 0
mov eax, dword [ebp - 0x12c]
xor cl, cl
mov byte [ebp - 0xf2], cl
cmp dword [esi + 0x3e60], eax
jne 0x43118b
cmp byte [esi + 0x3e6c], cl
jne 0x43118b
cmp byte [ebp - 0x115], cl
jne 0x43118b
movss xmm0, dword [ebp - 0x188]
mov edx, 1
subss xmm0, dword [esi + 0x37d8]
mov ecx, edx
divss xmm0, dword [esi + 0x3bb4]
cvttss2si eax, xmm0
cmp eax, edx
cmovge ecx, eax
xor eax, eax
mov dword [edi + 0x4c], ecx
cmp byte [esi + 0xdd1], al
mov dword [ebp - 0x108], ecx
mov ecx, 0x400000
cmovne eax, ecx
mov dword [ebp - 0x10c], eax
mov al, byte [esi + 0x61]
mov byte [ebp - 0x179], al
test al, al
je 0x43066b
cmp dword [esi + 0xdd4], 0xa000
jne 0x43066b
mov byte [ebp - 0xf4], dl
jmp 0x430676
mov al, byte [ebp - 0xf3]
mov ecx, dword [ebp - 0x134]
jmp 0x4304ee
mov byte [ebp - 0xf4], 0
test al, al
je 0x4306a0
cmp byte [esi + 0xdd3], 0
mov al, byte [esi + 0xdd2]
mov byte [ebp - 0x10d], al
je 0x4306b3
cmp byte [esi + 0xdd0], 0
jne 0x4306b3
test al, al
jne 0x4306b3
mov byte [ebp - 0xf5], dl
jmp 0x4306ba
mov al, byte [esi + 0xdd0]
mov byte [ebp - 0x10d], al
mov byte [ebp - 0xf4], 0
mov byte [ebp - 0xf5], 0
cmp byte [esi + 0x61], 0
mov eax, dword [esi + 0xdd4]
je 0x4306cd
cmp eax, 0x8000
jmp 0x4306d2
cmp eax, 0x1000
sete al
mov byte [ebp - 0xf3], al
test al, al
je 0x4306f2
mov ecx, 0x239
call fcn.00410c90
test al, al
jne 0x43070c
mov edx, 1
cmp dword [esi + 0xdd4], 0x2000
jne 0x430738
mov ecx, 0x20a
call fcn.00410c90
test al, al
je 0x430738
cmp byte [ebp - 0x134], 0
jne 0x430738
cmp byte [ebp - 0x1a8], 0
jne 0x430738
cmp byte [ebp - 0x11c], 0
je 0x43072f
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x430738
mov byte [ebp - 0xfd], 1
jmp 0x43073f
mov byte [ebp - 0xfd], 0
cmp byte [ebp - 0xf3], 0
je 0x43075b
mov edx, 1
mov ecx, 0x224
call fcn.00410c90
test al, al
jne 0x43077a
cmp dword [esi + 0xdd4], 0x1000
jne 0x43079d
mov edx, 1
mov ecx, 0x209
call fcn.00410c90
test al, al
je 0x43079d
cmp byte [ebp - 0x1a8], 0
jne 0x43079d
cmp byte [ebp - 0x11c], 0
je 0x430794
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x43079d
mov byte [ebp - 0x17a], 1
jmp 0x4307a4
mov byte [ebp - 0x17a], 0
cmp byte [ebp - 0xf3], 0
je 0x4307c0
mov edx, 1
mov ecx, 0x237
call fcn.00410c90
test al, al
jne 0x4307df
cmp dword [esi + 0xdd4], 0x2000
jne 0x4307ef
mov edx, 1
mov ecx, 0x209
call fcn.00410c90
test al, al
je 0x4307ef
cmp byte [ebp - 0x134], 0
mov byte [ebp - 0x13a], 1
je 0x4307f6
mov byte [ebp - 0x13a], 0
mov al, byte [ebp - 0xf3]
test al, al
je 0x430834
mov edx, 1
mov ecx, 0x23b
call fcn.00410c90
test al, al
je 0x43082e
cmp byte [ebp - 0x134], 0
jne 0x43082e
cmp byte [ebp - 0x178], 0
je 0x43082e
mov byte [ebp - 0x17c], 1
jmp 0x430840
mov al, byte [ebp - 0xf3]
xor cl, cl
mov byte [ebp - 0x17c], cl
test al, al
je 0x430853
mov edx, 1
mov ecx, 0x23a
call fcn.00410c90
test al, al
jne 0x43086f
cmp byte [ebp - 0xf4], 0
je 0x430888
mov edx, 1
mov ecx, 0x23b
call fcn.00410c90
test al, al
je 0x430888
cmp byte [ebp - 0x134], 0
jne 0x430888
cmp byte [ebp - 0x178], 0
mov byte [ebp - 0x17b], 1
jne 0x43088f
mov byte [ebp - 0x17b], 0
cmp byte [ebp - 0xf3], 0
je 0x4308b2
mov edx, 1
mov ecx, 0x222
call fcn.00410c90
mov byte [ebp - 0x14d], 1
test al, al
jne 0x4308b9
mov byte [ebp - 0x14d], 0
test byte [esi + 8], 2
je 0x4308cc
test byte [esi + 0xc], 1
mov byte [ebp - 0xf4], 1
jne 0x4308d3
mov byte [ebp - 0xf4], 0
mov edx, 1
mov ecx, 0x20d
call fcn.00410c90
test al, al
jne 0x430900
mov edx, 1
mov ecx, 0x267
call fcn.00410c90
mov byte [ebp - 0x17d], 0
test al, al
je 0x430907
mov byte [ebp - 0x17d], 1
cmp byte [ebp - 0xf4], 0
je 0x430939
xor edx, edx
mov ecx, 0x26e
call fcn.00410c90
test al, al
jne 0x430930
xor edx, edx
mov ecx, 0x26d
call fcn.00410c90
test al, al
je 0x430939
mov byte [ebp - 0xf3], 1
jmp 0x430940
mov byte [ebp - 0xf3], 0
xor edx, edx
mov ecx, 0x20e
call fcn.00410c90
test al, al
jne 0x430971
cmp byte [ebp - 0xf4], al
je 0x430968
xor edx, edx
mov ecx, 0x26c
call fcn.00410c90
test al, al
jne 0x430971
mov byte [ebp - 0xf4], 0
jmp 0x430978
mov byte [ebp - 0xf4], 1
mov edx, 1
mov ecx, 0x201
call fcn.00410c90
test al, al
je 0x4309db
cmp byte [ebp - 0xf5], 0
je 0x43099b
mov eax, 0x200004
jmp 0x4309af
mov eax, 0x200000
mov ecx, 0x20000c
cmp byte [ebp - 0x10d], 0
cmovne eax, ecx
mov ecx, dword [ebp - 0x10c]
or ecx, eax
push ecx
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042da20
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
jmp 0x431159
mov edx, 1
mov ecx, 0x202
call fcn.00410c90
test al, al
je 0x430a08
cmp byte [ebp - 0xf5], 0
je 0x4309fe
mov eax, 0x200005
jmp 0x4309af
mov eax, 0x200001
lea ecx, [eax + 0xc]
jmp 0x4309a5
mov edx, 1
mov ecx, 0x203
call fcn.00410c90
test al, al
je 0x430a7d
cmp byte [ebp - 0x11c], 0
je 0x430a7d
cmp byte [esi + 0xdd0], 0
je 0x430a63
mov eax, dword [ebp - 0x170]
movss xmm0, dword [eax + 0x60]
subss xmm0, dword [esi + 0x3bb4]
mov dword [eax + 0x78], 0
mov dword [eax + 0x80], 0
maxss xmm0, dword [0x4f9270]
movss dword [eax + 0x70], xmm0
jmp 0x431159
movzx eax, byte [ebp - 0xf5]
lea eax, [eax*4 + 0x200002]
or eax, dword [ebp - 0x10c]
push eax
jmp 0x4309b8
mov edx, 1
mov ecx, 0x204
call fcn.00410c90
test al, al
je 0x430afa
cmp byte [ebp - 0x11c], 0
je 0x430afa
cmp byte [esi + 0xdd0], 0
je 0x430ae0
movss xmm0, dword [esi + 0x3bb4]
mov esi, dword [ebp - 0x170]
mov eax, dword [0x4feb00]
addss xmm0, dword [esi + 0x60]
mov eax, dword [eax + 0x3e28]
minss xmm0, dword [eax + 0x68]
mov dword [esi + 0x78], 0
mov dword [esi + 0x80], 0
movss dword [esi + 0x70], xmm0
jmp 0x431159
movzx eax, byte [ebp - 0xf5]
lea eax, [eax*4 + 0x200003]
or eax, dword [ebp - 0x10c]
push eax
jmp 0x4309b8
mov edx, 1
mov ecx, 0x205
call fcn.00410c90
test al, al
je 0x430b6d
cmp byte [ebp - 0x11c], 0
je 0x430b6d
mov ecx, dword [ebp - 0x10c]
lea edx, [edi + 0x3c]
or ecx, 0x20000e
push ecx
mov ecx, edi
call fcn.0042da20
movd xmm0, dword [ebp - 0x108]
add esp, 4
movss xmm1, dword [ebp - 0x18c]
cvtdq2ps xmm0, xmm0
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mulss xmm0, dword [esi + 0x3bb4]
subss xmm1, xmm0
movss dword [ebp - 0x18c], xmm1
jmp 0x431159
mov edx, 1
mov ecx, 0x206
call fcn.00410c90
test al, al
je 0x430bdc
cmp byte [ebp - 0x11c], 0
je 0x430bdc
mov ecx, dword [ebp - 0x10c]
lea edx, [edi + 0x3c]
or ecx, 0x20000f
push ecx
mov ecx, edi
call fcn.0042da20
movd xmm0, dword [ebp - 0x108]
add esp, 4
cvtdq2ps xmm0, xmm0
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mulss xmm0, dword [esi + 0x3bb4]
addss xmm0, dword [ebp - 0x18c]
movss dword [ebp - 0x18c], xmm0
jmp 0x431159
mov edx, 1
mov ecx, 0x207
call fcn.00410c90
test al, al
je 0x430c11
mov ecx, dword [ebp - 0x10c]
mov eax, ecx
or eax, 0x200006
or ecx, 0x200004
cmp byte [esi + 0xdd0], 0
cmovne ecx, eax
jmp 0x4309b7
mov edx, 1
mov ecx, 0x208
call fcn.00410c90
test al, al
je 0x430c46
mov ecx, dword [ebp - 0x10c]
mov eax, ecx
or eax, 0x200007
or ecx, 0x200005
cmp byte [esi + 0xdd0], 0
cmovne ecx, eax
jmp 0x4309b7
mov edx, 1
mov ecx, 0x20a
call fcn.00410c90
test al, al
je 0x430c7c
cmp byte [ebp - 0x134], 0
jne 0x430c7c
cmp byte [ebp - 0xfd], 0
jne 0x430c7c
mov ecx, dword [ebp - 0x10c]
or ecx, 0x200008
jmp 0x4309b7
mov edx, 1
mov ecx, 0x20b
call fcn.00410c90
test al, al
je 0x430d0c
cmp byte [ebp - 0x134], 0
jne 0x430d0c
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x430cfb
cmp byte [ebp - 0x10d], 0
je 0x430cb4
push 0x60000c
jmp 0x430cdd
cmp byte [ebp - 0x179], 0
je 0x430cfb
cmp byte [esi + 0xdd3], 0
je 0x430cfb
cmp byte [esi + 0xdd2], 0
jne 0x430cfb
cmp byte [esi + 0xdd0], 0
jne 0x430cfb
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042da20
mov dword [edi + 0xe68], 0xbe99999a
add esp, 4
mov byte [edi + 0xe6c], 1
mov ecx, dword [ebp - 0x10c]
or ecx, 0x200009
jmp 0x4309b7
cmp byte [ebp - 0x17d], 0
mov cl, byte [ebp - 0xf3]
jne 0x4310c5
test cl, cl
jne 0x4310c5
cmp byte [ebp - 0xf4], cl
je 0x430d7d
test dword [ebx + 0x14], 0x100000
je 0x430d60
mov eax, dword [edi + 8]
test eax, eax
jg 0x430d52
mov byte [ebp - 0x114], cl
mov byte [ebp - 0xf1], cl
mov byte [ebp - 0x115], 1
setg cl
mov byte [ebp - 0xf2], cl
jmp 0x43115f
mov cl, 1
xor dl, dl
xor ch, ch
mov byte [ebp - 0xf2], cl
mov byte [ebp - 0x115], cl
mov byte [ebp - 0xf1], ch
jmp 0x43116b
mov al, byte [ebp - 0x17c]
test al, al
jne 0x43108d
cmp byte [ebp - 0x17b], al
jne 0x43108d
cmp byte [ebp - 0x14d], al
je 0x430dbf
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov byte [edi + 0xe6c], 1
jmp 0x431159
mov al, byte [ebp - 0xfd]
test al, al
jne 0x430f73
cmp byte [ebp - 0x17a], al
jne 0x430f73
cmp byte [ebp - 0x13a], al
je 0x431159
mov eax, dword [0x4feb00]
mov ecx, dword [eax + 0x80]
test ecx, ecx
je 0x430e0b
push dword [eax + 0x88]
call ecx
mov esi, eax
add esp, 4
test esi, esi
je 0x431159
jmp 0x430e10
mov esi, 0x49e02b
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430e15
mov eax, dword [0x4feb00]
sub ecx, edx
test eax, eax
je 0x430e2d
inc dword [eax + 0xb0]
lea eax, [ecx*2 + 2]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
call eax
add esp, 4
mov dword [ebp - 0x198], eax
cmp byte [esi], 0
mov dword [ebp - 0x108], 0
je 0x430eb6
xor edi, edi
push 0
mov edx, esi
lea ecx, [ebp - 0x104]
call fcn.00403660
add esp, 4
add esi, eax
cmp dword [ebp - 0x104], 0
je 0x430ea4
mov edx, dword [ebx + 0x14]
lea ecx, [ebp - 0x104]
push 4
sub esp, 8
call fcn.0042ec20
add esp, 0xc
test al, al
je 0x430e9f
mov ecx, dword [ebp - 0x198]
mov ax, word [ebp - 0x104]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x430e56
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x108], edi
mov edi, dword [ebp - 0x140]
mov esi, dword [ebp - 0x108]
xor ecx, ecx
mov word [eax + esi*2], cx
test esi, esi
jle 0x430f4f
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x108], edx
mov edx, dword [edi + 0x40]
cmp edx, dword [edi + 0x44]
je 0x430f00
cmp edx, ecx
jle 0x430ee7
mov dword [edi + 0x40], ecx
mov edx, ecx
cmp dword [edi + 0x44], ecx
jle 0x430ef5
mov dword [edi + 0x44], ecx
mov dword [ebp - 0x108], ecx
cmp edx, dword [ebp - 0x108]
jne 0x430f00
mov dword [edi + 0x3c], edx
cmp dword [edi + 0x3c], ecx
jle 0x430f08
mov dword [edi + 0x3c], ecx
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042d990
mov edx, dword [edi + 0x3c]
mov ecx, edi
push esi
push dword [ebp - 0x198]
call fcn.0042d4f0
add esp, 8
test al, al
je 0x430f42
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x5c]
push esi
push 0
call fcn.0042e890
add esp, 8
mov byte [edi + 0x52], 0
add dword [edi + 0x3c], esi
mov eax, dword [ebp - 0x198]
mov byte [edi + 0xe6c], 1
test eax, eax
je 0x430f63
mov ecx, dword [0x4feb00]
test ecx, ecx
je 0x430f63
dec dword [ecx + 0xb0]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call eax
add esp, 4
jmp 0x431159
cmp dword [esi + 0x84], 0
je 0x431043
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x430f94
mov esi, ecx
cmovge ecx, eax
cmovl esi, eax
jmp 0x430f99
mov ecx, dword [edi + 4]
xor esi, esi
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0x194], esi
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.004038f0
mov ecx, dword [0x4feb00]
inc eax
mov dword [ebp - 0xfc], eax
test ecx, ecx
je 0x430fca
inc dword [ecx + 0xb0]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
call eax
mov esi, dword [edi + 0x14]
add esp, 4
mov ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x164], eax
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [ebp - 0x194]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.00403880
mov eax, dword [0x4feb00]
add esp, 8
mov ecx, dword [eax + 0x84]
test ecx, ecx
je 0x431024
push esi
push dword [eax + 0x88]
call ecx
mov eax, dword [0x4feb00]
add esp, 8
test esi, esi
je 0x431032
test eax, eax
je 0x431032
dec dword [eax + 0xb0]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push esi
call eax
mov al, byte [ebp - 0xfd]
add esp, 4
test al, al
je 0x431159
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x431067
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov byte [edi + 0xe6c], 1
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x431159
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042d990
mov byte [edi + 0x52], 0
jmp 0x431159
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.0042da20
mov eax, dword [edi + 0x3c]
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
jmp 0x431159
mov edx, dword [ebx + 0x14]
mov eax, edx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0x11c], 0
je 0x4310e8
test cl, cl
jne 0x4310e8
test al, al
je 0x431114
cmp byte [esi + 0xdd0], cl
jne 0x43111d
cmp byte [esi + 0x64], 0
mov byte [ebp - 0x121], 1
je 0x431152
cmp byte [ebp - 0x11c], 0
jne 0x431152
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
jmp 0x431159
cmp byte [esi + 0xdd0], 0
jne 0x4310e8
cmp byte [ebp - 0x134], 0
jne 0x431159
push 2
sub esp, 8
mov dword [ebp - 0x108], 0xa
lea ecx, [ebp - 0x108]
call fcn.0042ec20
add esp, 0xc
test al, al
je 0x431159
push dword [ebp - 0x108]
jmp 0x4309b8
mov byte [ebp - 0x115], 1
mov cl, byte [ebp - 0xf2]
mov edx, dword [ebp - 0x114]
mov ch, byte [ebp - 0xf1]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x43117b
test ch, ch
je 0x43117b
mov al, 1
jmp 0x43117d
xor al, al
mov esi, dword [ebp - 0x128]
or dl, al
mov dword [ebp - 0x114], edx
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x10c], 0
cmp dword [esi + 0x3e60], eax
jne 0x431663
cmp byte [ebp - 0x134], 0
jne 0x43153c
test cl, cl
je 0x431467
test dword [ebx + 0x14], 0x100000
je 0x43125f
mov eax, dword [edi + 4]
lea ecx, [edi + 0x5c]
push 0
push eax
xor edx, edx
mov dword [ebp - 0x130], 0x49e2ff
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xfc], eax
call fcn.0042e890
add esp, 8
mov dword [ebp - 0x164], eax
test eax, eax
je 0x431236
mov edx, dword [ebp - 0xfc]
xor ecx, ecx
test edx, edx
jle 0x431236
mov esi, eax
nop dword [eax + eax]
mov eax, dword [edi + 0x14]
mov ax, word [eax + ecx*2]
mov word [esi + ecx*2], ax
inc ecx
cmp ecx, edx
jl 0x431220
mov esi, dword [ebp - 0x128]
push dword [edi + 4]
xor edx, edx
mov ecx, edi
call fcn.0042d490
add esp, 4
mov dword [edi + 0x44], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x3c], 0
jmp 0x431467
mov ecx, dword [edi + 0x2c]
mov eax, dword [ebp - 0x120]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x431288
test dl, dl
je 0x431284
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x431288
add eax, 2
add ecx, 2
test dl, dl
jne 0x431268
xor eax, eax
jmp 0x43128d
sbb eax, eax
or eax, 1
test eax, eax
je 0x431467
mov eax, dword [edi + 0x24]
xor edx, edx
mov ecx, dword [edi + 0x2c]
dec eax
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x154], edx
mov dword [ebp - 4], edx
test eax, eax
jle 0x43141b
lea edi, [eax + ecx]
mov esi, ecx
xor eax, eax
mov dword [ebp - 0x104], eax
test edi, edi
je 0x4312e0
cmp esi, edi
jae 0x43130a
cmp byte [esi], 0
je 0x43130a
push edi
mov edx, esi
lea ecx, [ebp - 0xfc]
call fcn.00403660
add esi, eax
add esp, 4
cmp dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0x104]
je 0x43130a
inc eax
jmp 0x4312d2
mov edi, dword [ebp - 0x140]
lea edx, [eax + 1]
mov esi, dword [ebp - 0x128]
mov dword [ebp - 0x108], edx
test edx, edx
jle 0x43136d
mov ecx, 8
mov eax, edx
cmp edx, ecx
cmovl eax, ecx
mov dword [ebp - 0xfc], eax
test eax, eax
jle 0x43136d
mov ecx, dword [0x4feb00]
test ecx, ecx
je 0x431349
inc dword [ecx + 0xb0]
add eax, eax
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, dword [ebp - 0xfc]
add esp, 4
mov edx, dword [ebp - 0x108]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x158], ecx
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x130]
add ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x104], eax
lea ecx, [eax - 2]
lea ecx, [ecx + edx*2]
mov dword [ebp - 0x144], ecx
cmp eax, ecx
jae 0x431416
mov esi, dword [ebp - 0xfc]
mov edi, dword [ebp - 0x164]
nop dword [eax]
test edi, edi
je 0x4313c8
cmp esi, edi
jae 0x431404
cmp byte [esi], 0
je 0x431404
push edi
mov edx, esi
lea ecx, [ebp - 0xfc]
call fcn.00403660
mov ecx, dword [ebp - 0xfc]
add esi, eax
mov eax, dword [ebp - 0x104]
add esp, 4
test ecx, ecx
je 0x431404
mov word [eax], cx
add eax, 2
mov dword [ebp - 0x104], eax
cmp eax, dword [ebp - 0x144]
jb 0x4313c0
mov edi, dword [ebp - 0x140]
mov esi, dword [ebp - 0x128]
mov edx, dword [ebp - 0x108]
xor ecx, ecx
mov word [eax], cx
xor ecx, ecx
lea eax, [edx - 1]
cmp dword [ebp - 0x10c], ecx
lea edx, [edi + 0x3c]
cmovle eax, ecx
mov ecx, edi
push eax
push dword [ebp - 0x154]
call fcn.0042eb80
add esp, 8
mov ecx, dword [ebp - 0x154]
test ecx, ecx
je 0x431460
mov eax, dword [0x4feb00]
test eax, eax
je 0x431456
dec dword [eax + 0xb0]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [edi + 0xc]
lea ecx, [edi + 0x18]
mov byte [edi + 0x30], 1
lea edx, [eax*4 + 1]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x108], edx
cmp edx, eax
jle 0x4314b9
test eax, eax
je 0x43149b
cdq
sub eax, edx
mov edx, dword [ebp - 0x108]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x1c]
jmp 0x4314a0
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0x18]
push eax
call fcn.00417f30
mov edx, dword [ebp - 0x108]
lea ecx, [edi + 0x18]
mov dword [ecx], edx
mov eax, dword [edi + 0x20]
add edx, eax
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0xfc], edx
dec edx
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x164], edx
cmp eax, edx
jae 0x431539
mov edi, dword [ebp - 0xfc]
mov esi, eax
movzx eax, word [ecx]
test ax, ax
je 0x431521
add ecx, 2
mov dword [ebp - 0xfc], ecx
cmp eax, 0x80
jae 0x4314ff
mov byte [esi], al
inc esi
jmp 0x43151d
mov edx, edi
mov ecx, esi
sub edx, esi
push eax
dec edx
call fcn.004037c0
mov ecx, dword [ebp - 0xfc]
add esp, 4
mov edx, dword [ebp - 0x164]
add esi, eax
cmp esi, edx
jb 0x4314e2
mov edi, dword [ebp - 0x140]
mov dword [ebp - 0x198], esi
mov esi, dword [ebp - 0x128]
mov eax, dword [ebp - 0x198]
mov byte [eax], 0
cmp byte [ebp - 0xf2], 0
je 0x431759
cmp byte [ebp - 0x121], 0
je 0x43155e
mov edx, dword [ebx + 0x14]
test dl, 0x20
jne 0x43175c
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x130]
test edx, edx
je 0x43165d
cmp byte [ebp - 0x16c], 0
je 0x431616
mov eax, dword [ebx + 0x14]
xorps xmm0, xmm0
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0xdc], eax
lea eax, [ecx + 1]
mov dword [ebp - 0xd8], ecx
mov ecx, 0x80
cmp eax, ecx
movlpd qword [ebp - 0xe4], xmm0
movlpd qword [ebp - 0xd0], xmm0
cmovle eax, ecx
movlpd qword [ebp - 0xc8], xmm0
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0xf0]
push eax
xor eax, eax
mov dword [ebp - 0xf0], 0x40000
mov dword [ebp - 0xe8], 0
call eax
mov ecx, dword [ebp - 0xd4]
add esp, 4
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x148], ecx
dec ecx
cmp dword [ebp - 0xd8], ecx
mov dword [ebp - 0x120], eax
cmovl ecx, dword [ebp - 0xd8]
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x148]
cmp eax, ecx
cmovl ecx, eax
mov dword [ebp - 0x148], ecx
cmp ecx, 1
jb 0x431656
jbe 0x43164b
lea eax, [ecx - 1]
push eax
push edx
push dword [ebp - 0x120]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov ecx, dword [ebp - 0x148]
add esp, 0xc
mov eax, dword [ebp - 0x120]
mov byte [ecx + eax - 1], 0
mov byte [ebp - 0x13b], 1
mov eax, dword [ebp - 0x12c]
cmp byte [ebp - 0x115], 0
je 0x43167d
cmp dword [esi + 0x3e60], eax
jne 0x43167d
xor edx, edx
xor ecx, ecx
call fcn.00405d80
mov edx, dword [ebp - 0x11c]
test dl, dl
jne 0x431b8e
mov edx, dword [ebp - 0x12c]
lea ecx, [ebp - 0x90]
push 1
call fcn.00404dc0
movss xmm1, dword [0x4f92f0]
add esp, 4
mov ecx, 7
push dword [ebp - 0x84]
push dword [ebp - 0x88]
push dword [ebp - 0x8c]
push dword [ebp - 0x90]
call fcn.00404730
movss xmm2, dword [esi + 0x37dc]
mov dl, 1
mov ecx, eax
call fcn.00404ca0
movss xmm7, dword [ebp - 0x1a4]
add esp, 0x10
movss xmm2, dword [ebp - 0x8c]
movaps xmm0, xmm7
addss xmm0, dword [esi + 0x37d4]
movss xmm4, dword [ebp - 0x184]
movaps xmm1, xmm2
addss xmm1, dword [ebp - 0x188]
mov edx, dword [ebp - 0x11c]
movaps xmm3, xmm4
addss xmm3, xmm7
movss dword [ebp - 0x44], xmm7
movss dword [ebp - 0x158], xmm0
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x37d8]
movss dword [ebp - 0x40], xmm2
movss dword [ebp - 0x14c], xmm1
movss dword [ebp - 0x164], xmm3
movss dword [ebp - 0x3c], xmm3
movss dword [ebp - 0x154], xmm0
jmp 0x431bfc
mov edx, dword [ebx + 0x14]
test edx, 0x801c0
je 0x431b39
test dl, 0x40
je 0x431792
mov edx, 1
mov ecx, 0x200
call fcn.00410c90
mov edx, dword [ebx + 0x14]
test al, al
je 0x431792
mov eax, 0x40
mov ecx, 0x200
jmp 0x431807
test dl, dl
jns 0x4317da
mov edx, 1
mov ecx, 0x203
call fcn.00410c90
test al, al
je 0x4317b8
mov edx, dword [ebx + 0x14]
mov eax, 0x80
mov ecx, 0x203
jmp 0x431807
mov edx, 1
mov ecx, 0x204
call fcn.00410c90
mov edx, dword [ebx + 0x14]
test al, al
je 0x4317da
mov eax, 0x80
mov ecx, 0x204
jmp 0x431807
test edx, 0x80000
je 0x4317f2
cmp byte [edi + 0xe6e], 0
je 0x4317f2
mov eax, 0x80000
jmp 0x431805
test edx, 0x100
mov ecx, pe_nt_image_headers32
mov eax, 0
cmovne eax, ecx
xor ecx, ecx
test eax, eax
je 0x431b39
xor esi, esi
mov dword [ebp - 0xc0], eax
cmp byte [ebp - 0x134], 0
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0xb4], 0
mov word [ebp - 0x9f], si
mov byte [ebp - 0x9d], 0
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xb8], esi
jne 0x43184d
mov eax, dword [edi + 0x20]
mov esi, dword [edi + 0x14]
mov dword [ebp - 0xac], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0xa8], eax
mov eax, dword [edi + 0x34]
mov dword [ebp - 0xa4], eax
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0xb0], ecx
mov ecx, esi
mov byte [ebp - 0xa0], 0
lea edx, [esi + eax*2]
call fcn.004038f0
mov ecx, dword [ebp - 0x140]
mov edi, eax
mov dword [ebp - 0x9c], edi
mov ecx, dword [ecx + 0x40]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.004038f0
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax + 0x44]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.004038f0
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0xc0]
push eax
xor eax, eax
call eax
mov al, byte [ebp - 0xa0]
add esp, 4
mov edx, dword [ebp - 0x9c]
mov byte [ebp - 0xf4], al
cmp edx, edi
jne 0x4318f0
test al, al
je 0x431951
mov esi, dword [ebp - 0xac]
xor eax, eax
lea edi, [edx + esi]
mov dword [ebp - 0x104], eax
test edi, edi
je 0x431909
cmp esi, edi
jae 0x431933
cmp byte [esi], 0
je 0x431933
push edi
mov edx, esi
lea ecx, [ebp - 0xfc]
call fcn.00403660
add esi, eax
add esp, 4
cmp dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0x104]
je 0x431933
inc eax
jmp 0x4318fb
mov edi, dword [ebp - 0x140]
mov edx, dword [ebp - 0x9c]
mov dword [edi + 0x3c], eax
mov al, byte [ebp - 0xf4]
mov byte [edi + 0xe6c], 1
jmp 0x431957
mov edi, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x98]
cmp ecx, dword [ebp - 0x164]
jne 0x431969
test al, al
je 0x4319c4
cmp ecx, edx
jne 0x431972
mov eax, dword [edi + 0x3c]
jmp 0x4319c1
mov esi, dword [ebp - 0xac]
xor eax, eax
lea edi, [ecx + esi]
mov dword [ebp - 0x104], eax
test edi, edi
je 0x43198b
cmp esi, edi
jae 0x4319b5
cmp byte [esi], 0
je 0x4319b5
push edi
mov edx, esi
lea ecx, [ebp - 0xfc]
call fcn.00403660
add esi, eax
add esp, 4
cmp dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0x104]
je 0x4319b5
inc eax
jmp 0x43197d
mov ecx, dword [ebp - 0x98]
mov edi, dword [ebp - 0x140]
mov dword [edi + 0x40], eax
mov eax, dword [ebp - 0x94]
cmp eax, dword [ebp - 0x144]
jne 0x4319df
cmp byte [ebp - 0xf4], 0
je 0x431b33
cmp eax, ecx
jne 0x4319e8
mov eax, dword [edi + 0x40]
jmp 0x431a31
mov esi, dword [ebp - 0xac]
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 0x104], eax
test edi, edi
je 0x431a01
cmp esi, edi
jae 0x431a2b
cmp byte [esi], 0
je 0x431a2b
push edi
mov edx, esi
lea ecx, [ebp - 0xfc]
call fcn.00403660
add esi, eax
add esp, 4
cmp dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0x104]
je 0x431a2b
inc eax
jmp 0x4319f3
mov edi, dword [ebp - 0x140]
cmp byte [ebp - 0xf4], 0
mov dword [edi + 0x44], eax
je 0x431b33
push dword [ebp - 0xa8]
mov edx, dword [ebp - 0xac]
mov ecx, edi
call fcn.0042ee20
mov esi, dword [ebp - 0xa8]
add esp, 4
mov ecx, dword [ebp - 0x14c]
cmp esi, ecx
jle 0x431aa9
cmp byte [ebp - 0x16c], 0
je 0x431aa9
mov eax, dword [edi + 0x10]
sub esi, ecx
add esi, dword [edi + 0xc]
cmp esi, eax
jle 0x431aa6
test eax, eax
je 0x431a8f
cdq
sub eax, edx
lea edx, [edi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x431a97
mov ecx, 8
lea edx, [edi + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00417fb0
mov dword [edi + 0xc], esi
mov eax, dword [ebp - 0xac]
mov ecx, dword [edi + 0x14]
mov esi, ecx
mov dword [ebp - 0xfc], eax
mov eax, dword [edi + 0xc]
dec eax
mov dword [ebp - 0x144], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0x164], eax
cmp ecx, eax
jae 0x431b14
mov edi, dword [ebp - 0xfc]
cmp byte [edi], 0
je 0x431b08
push 0
mov edx, edi
lea ecx, [ebp - 0xfc]
call fcn.00403660
add edi, eax
add esp, 4
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x431b08
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0x164]
jb 0x431ad7
mov edi, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x144]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0xa8]
sar esi, 1
mov dword [edi + 4], esi
mov dword [edi + 8], eax
mov dword [edi + 0xe68], 0xbe99999a
mov esi, dword [ebp - 0x128]
cmp byte [ebp - 0x134], 0
jne 0x43155e
mov ecx, dword [ebp - 0x120]
mov eax, dword [edi + 0x20]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x431b70
test dl, dl
je 0x431b6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x431b70
add eax, 2
add ecx, 2
test dl, dl
jne 0x431b50
xor eax, eax
jmp 0x431b75
sbb eax, eax
or eax, 1
test eax, eax
je 0x43155e
mov ecx, dword [edi + 0x20]
mov dword [ebp - 0x130], ecx
mov ecx, dword [edi + 8]
jmp 0x431564
movss xmm1, dword [ebp - 0x1a4]
movss xmm4, dword [ebp - 0x184]
movaps xmm3, xmm1
movss xmm0, dword [ebp - 0x8c]
addss xmm3, xmm4
movss xmm2, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x170]
addss xmm2, xmm0
movss dword [ebp - 0x44], xmm1
movss dword [ebp - 0x40], xmm0
movaps xmm1, xmm3
mov eax, dword [ecx + 0xd4]
mov ecx, dword [ecx + 0xd8]
movss dword [ebp - 0x164], xmm1
movss dword [ebp - 0x3c], xmm1
movaps xmm1, xmm2
movss dword [ebp - 0x14c], xmm2
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], ecx
cmp byte [ebp - 0x139], 0
lea eax, [ebp - 0x158]
movss xmm6, dword [eax]
xorps xmm5, xmm5
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x198], xmm6
movss dword [ebp - 0x34], xmm6
xorps xmm6, xmm6
movss dword [ebp - 0x38], xmm1
movss dword [ebp - 0x178], xmm1
movss dword [ebp - 0x104], xmm3
movss dword [ebp - 0x30], xmm0
movss dword [ebp - 0x194], xmm5
movss dword [ebp - 0x108], xmm6
je 0x431c5c
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x120], eax
jmp 0x431c62
mov eax, dword [ebp - 0x120]
cmp byte [ebp - 0xf1], 0
jne 0x431e96
cmp byte [ebp - 0x114], 0
jne 0x431e96
test dl, dl
je 0x431cdf
mov dl, byte [eax]
lea edi, [eax + 1]
xor ecx, ecx
test dl, dl
je 0x431ca2
nop dword [eax + eax]
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [edi]
cmovne eax, ecx
inc edi
mov ecx, eax
test dl, dl
jne 0x431c90
mov al, byte [edi - 1]
dec edi
mov dword [ebp - 0x10c], edi
cmp al, 0xa
je 0x431cb5
cmp al, 0xd
je 0x431cb5
inc ecx
mov edx, dword [ebp - 0x10c]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x3bb4]
movss dword [ebp - 0x108], xmm0
movaps xmm0, xmm4
movss dword [ebp - 0x194], xmm0
jmp 0x431d2a
mov ecx, dword [ebp - 0x12c]
cmp dword [esi + 0x3e60], ecx
jne 0x431cf4
mov edx, dword [edi + 8]
add edx, eax
jmp 0x431d11
mov ecx, eax
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x431d00
sub ecx, edx
mov edx, dword [ebp - 0x120]
add edx, ecx
mov eax, edx
mov dword [ebp - 0x10c], edx
sub eax, dword [ebp - 0x120]
cmp eax, 0x200000
jge 0x432a84
movss xmm1, dword [0x4f92f0]
xor ecx, ecx
call fcn.00404730
cmp byte [ebp - 0x11c], 0
mov ecx, edx
movss xmm2, dword [esi + 0x3bb4]
lea edx, [ebp - 0x44]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0xfc], 0
cmovne edx, dword [ebp - 0xfc]
test dword [ebp - 0x178], 0xff000000
mov edi, dword [eax + 0x24c]
mov eax, dword [esi + 0x3bb0]
mov dword [ebp - 0x104], eax
je 0x432a84
cmp dword [ebp - 0x10c], 0
jne 0x431dbd
mov ecx, dword [ebp - 0x120]
lea eax, [ecx + 1]
mov dword [ebp - 0xfc], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x431da4
sub ecx, dword [ebp - 0xfc]
add ecx, dword [ebp - 0x120]
mov eax, dword [esi + 0x3bb0]
cmp dword [ebp - 0x120], ecx
je 0x432a84
test eax, eax
jne 0x431dd9
mov eax, dword [edi + 0x2c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x104], eax
ucomiss xmm2, dword [0x4f9270]
lahf
test ah, 0x44
jp 0x431dee
mov eax, dword [edi + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [edi + 0x60]
movups xmmword [ebp - 0x160], xmm0
test edx, edx
je 0x431e5e
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x160]
comiss xmm0, xmm1
jae 0x431e16
movss dword [ebp - 0x160], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x15c]
comiss xmm0, xmm1
jae 0x431e30
movss dword [ebp - 0x15c], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0x158]
ja 0x431e46
movss dword [ebp - 0x158], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0x154]
ja 0x431e5c
movss dword [ebp - 0x154], xmm0
test edx, edx
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x160]
push ecx
push dword [ebp - 0x120]
mov ecx, dword [ebp - 0x104]
push eax
push dword [ebp - 0x178]
lea eax, [ebp - 0x34]
push eax
push edi
call fcn.00426c40
jmp 0x432a84
mov eax, dword [edi + 8]
xor edx, edx
add eax, dword [ebp - 0x120]
xorps xmm7, xmm7
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x174], ecx
movss dword [ebp - 0x144], xmm5
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x190], 0xfffffc18
mov dword [ebp - 0x130], 0xfffffc18
cmp byte [ebp - 0xf1], dl
je 0x431f06
mov eax, dword [edi + 0x3c]
mov edx, 1
mov dword [ebp - 0x190], 0xffffffff
lea eax, [ecx + eax*2]
mov dword [ebp - 0x16c], eax
cmp byte [ebp - 0x114], 0
je 0x431f39
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [ebp - 0x174]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [ebp - 0x130], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x174]
mov dword [ebp - 0x148], eax
mov esi, dword [ebp - 0x174]
mov eax, dword [ebp - 0x11c]
movzx eax, al
add edx, eax
xor eax, eax
movzx esi, word [esi]
mov dword [ebp - 0xfc], esi
test si, si
mov esi, dword [ebp - 0x128]
je 0x431fe2
mov eax, dword [ebp - 0xfc]
xor esi, esi
mov edi, dword [ebp - 0x190]
movzx eax, ax
cmp ax, 0xa
jne 0x431fb0
inc esi
cmp edi, 0xffffffff
jne 0x431f94
cmp ecx, dword [ebp - 0x16c]
jb 0x431f94
dec edx
mov dword [ebp - 0x190], esi
test edx, edx
jle 0x431fca
cmp dword [ebp - 0x130], 0xffffffff
jne 0x431fb0
cmp ecx, dword [ebp - 0x148]
jb 0x431fb0
dec edx
mov dword [ebp - 0x130], esi
test edx, edx
jle 0x431fca
movzx eax, word [ecx + 2]
add ecx, 2
mov edi, eax
mov dword [ebp - 0xfc], edi
mov edi, dword [ebp - 0x190]
test ax, ax
jne 0x431f75
mov edi, dword [ebp - 0x140]
mov dword [ebp - 0x138], esi
mov esi, dword [ebp - 0x128]
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x130]
inc eax
cmp dword [ebp - 0x190], 0xffffffff
mov edx, eax
mov dword [ebp - 0x138], eax
cmovne edx, dword [ebp - 0x190]
cmp ecx, 0xffffffff
mov dword [ebp - 0x190], edx
mov edx, dword [ebp - 0x174]
cmove ecx, eax
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x130], ecx
mov ecx, eax
cmp eax, edx
jbe 0x432031
cmp word [ecx - 2], 0xa
je 0x432031
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x432023
movaps xmm1, xmm5
mov eax, dword [0x4feb00]
movaps xmm3, xmm5
mov edx, dword [eax + 0x3bb0]
movss xmm2, dword [eax + 0x3bb4]
divss xmm2, dword [edx + 0x10]
cmp ecx, dword [ebp - 0x16c]
jae 0x4320a8
mov esi, dword [ebp - 0x16c]
mov edi, edx
nop
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x432076
maxss xmm1, xmm3
movaps xmm3, xmm5
jmp 0x432098
cmp edx, 0xd
je 0x432098
mov edx, eax
cmp edx, dword [edi]
jge 0x43208b
mov eax, dword [edi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x432090
movss xmm0, dword [edi + 0xc]
mulss xmm0, xmm2
addss xmm3, xmm0
cmp ecx, esi
jb 0x432060
mov edi, dword [ebp - 0x140]
mov esi, dword [ebp - 0x128]
cmp dword [ebp - 0x130], 0
maxss xmm3, xmm1
movd xmm4, dword [ebp - 0x190]
movss xmm0, dword [esi + 0x3bb4]
cvtdq2ps xmm4, xmm4
movss dword [ebp - 0xfc], xmm3
mulss xmm4, xmm0
movss dword [ebp - 0x154], xmm4
jl 0x4321a6
mov eax, dword [ebp - 0x148]
mov ecx, eax
mov edx, dword [ebp - 0x174]
cmp eax, edx
jbe 0x432100
cmp word [ecx - 2], 0xa
je 0x432100
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x4320f2
movaps xmm1, xmm5
mov eax, dword [0x4feb00]
movaps xmm7, xmm5
mov edx, dword [eax + 0x3bb0]
movss xmm3, dword [eax + 0x3bb4]
divss xmm3, dword [edx + 0x10]
cmp ecx, dword [ebp - 0x148]
jae 0x43217b
mov esi, dword [ebp - 0x148]
mov edi, edx
nop
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x432146
maxss xmm1, xmm7
movaps xmm7, xmm5
jmp 0x43216b
cmp edx, 0xd
je 0x43216b
mov edx, eax
cmp edx, dword [edi]
jge 0x43215b
mov eax, dword [edi + 8]
movss xmm2, dword [eax + edx*4]
jmp 0x432160
movss xmm2, dword [edi + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm2
addss xmm7, xmm0
cmp ecx, esi
jb 0x432130
mov edi, dword [ebp - 0x140]
mov esi, dword [ebp - 0x128]
movd xmm3, dword [ebp - 0x130]
maxss xmm7, xmm1
movss xmm0, dword [esi + 0x3bb4]
cvtdq2ps xmm3, xmm3
mulss xmm3, xmm0
movss dword [ebp - 0x144], xmm3
movss xmm3, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x11c]
movss xmm1, dword [ebp - 0x184]
test cl, cl
je 0x4321da
movd xmm6, dword [ebp - 0x138]
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm0
movaps xmm0, xmm1
movss dword [ebp - 0x194], xmm0
movss dword [ebp - 0x108], xmm6
cmp byte [ebp - 0xf1], 0
je 0x43231c
cmp byte [edi + 0xe6c], 0
je 0x43231c
test dword [ebx + 0x14], 0x1000
jne 0x432255
movss xmm2, dword [edi + 0x38]
movaps xmm0, xmm1
comiss xmm2, xmm3
subss xmm1, dword [esi + 0x37d4]
mulss xmm0, dword [0x4f92a4]
movss dword [ebp - 0x184], xmm1
movaps xmm1, xmm3
jbe 0x432232
subss xmm1, xmm0
movaps xmm0, xmm5
maxss xmm0, xmm1
jmp 0x432243
subss xmm1, dword [ebp - 0x184]
comiss xmm1, xmm2
jb 0x43225c
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x43225c
mov dword [edi + 0x38], 0
test cl, cl
je 0x432308
movss xmm3, dword [ebp - 0x18c]
movaps xmm0, xmm4
subss xmm0, dword [esi + 0x3bb4]
comiss xmm3, xmm0
jbe 0x43229d
movaps xmm3, xmm5
maxss xmm3, xmm0
movss xmm0, dword [ebp - 0x188]
comiss xmm5, xmm3
movss xmm1, dword [esi + 0x37d8]
jbe 0x4322d6
movaps xmm1, xmm5
jmp 0x4322ea
movss xmm2, dword [esi + 0x37d8]
movaps xmm0, xmm4
movss xmm1, dword [ebp - 0x188]
addss xmm2, xmm2
subss xmm1, xmm2
subss xmm0, xmm1
comiss xmm0, xmm3
jb 0x432283
movss xmm0, dword [ebp - 0x188]
movaps xmm3, xmm4
subss xmm3, xmm0
addss xmm3, xmm2
jmp 0x43228b
addss xmm1, xmm1
addss xmm1, xmm6
subss xmm1, xmm0
maxss xmm1, xmm5
minss xmm1, xmm3
mov eax, dword [ebp - 0x170]
movss xmm0, dword [eax + 0x60]
subss xmm0, xmm1
addss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x30], xmm0
movss dword [eax + 0x60], xmm1
mov byte [edi + 0xe6c], 0
movss xmm0, dword [ebp - 0x34]
movss dword [ebp - 0x198], xmm0
cmp byte [ebp - 0x114], 0
movss xmm4, dword [edi + 0x38]
movss dword [ebp - 0x148], xmm4
je 0x43264d
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov esi, dword [ebp - 0x174]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0xf1], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x174]
lea edx, [eax + edx*2]
mov dword [ebp - 0x138], edx
je 0x432371
movss xmm1, dword [0x4f92f0]
jmp 0x432379
movss xmm1, dword [0x4f92bc]
mov ecx, 0x2f
call fcn.00404730
cmp byte [ebp - 0x11c], 0
xorps xmm5, xmm5
mov dword [ebp - 0x18c], eax
je 0x4323a2
xorps xmm6, xmm6
movss dword [ebp - 0x16c], xmm5
jmp 0x4323ba
movss xmm0, dword [0x4f9320]
movss xmm6, dword [0x4f93c0]
movss dword [ebp - 0x16c], xmm0
movss xmm4, dword [ebp - 0x30]
movss xmm3, dword [ebp - 0x198]
movss dword [ebp - 0x190], xmm6
addss xmm3, xmm7
addss xmm4, dword [ebp - 0x144]
subss xmm3, dword [ebp - 0x148]
subss xmm4, xmm5
movss dword [ebp - 0x144], xmm4
cmp esi, edx
jae 0x43263f
movss xmm7, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x128]
mov edi, dword [ebp - 0x18c]
nop dword [eax + eax]
movaps xmm0, xmm7
addss xmm0, dword [ecx + 0x3bb4]
comiss xmm4, xmm0
ja 0x432639
movss xmm0, dword [ebp - 0x8c]
comiss xmm0, xmm4
jbe 0x432459
cmp esi, edx
jae 0x432609
nop dword [eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x432609
cmp esi, edx
jb 0x432440
jmp 0x432609
mov eax, dword [0x4feb00]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov edx, dword [eax + 0x3bb0]
movss xmm2, dword [eax + 0x3bb4]
mov dword [ebp - 0x18c], edx
divss xmm2, dword [edx + 0x10]
mov edx, dword [ebp - 0x138]
cmp esi, edx
jae 0x4324d9
movzx eax, word [esi]
add esi, 2
mov edx, eax
cmp eax, 0xa
je 0x4324c6
cmp edx, 0xd
je 0x4324ba
mov eax, dword [ebp - 0x18c]
cmp edx, dword [eax]
jge 0x4324ad
mov eax, dword [eax + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x4324b2
movss xmm0, dword [eax + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
mov edx, dword [ebp - 0x138]
cmp esi, edx
jb 0x432487
jmp 0x4324d6
mov edx, dword [ebp - 0x138]
xorps xmm5, xmm5
maxss xmm5, xmm1
xorps xmm1, xmm1
xorps xmm0, xmm0
maxss xmm1, xmm5
comiss xmm0, xmm1
jb 0x432512
mov eax, dword [ecx + 0x3bb0]
cmp dword [eax], 0x20
jle 0x4324fa
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x4324ff
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x4f92b8]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [ebp - 0x16c]
addss xmm1, xmm3
addss xmm3, dword [0x4f9270]
movaps xmm2, xmm6
addss xmm0, xmm4
subss xmm2, dword [ecx + 0x3bb4]
movss xmm6, dword [ebp - 0x164]
minss xmm1, xmm6
maxss xmm3, dword [ebp - 0x1a4]
minss xmm0, xmm7
addss xmm2, xmm4
movss dword [ebp - 0x1c], xmm1
movss dword [ebp - 0x24], xmm3
comiss xmm0, dword [ebp - 0x8c]
maxss xmm2, dword [ebp - 0x8c]
movss dword [ebp - 0x18], xmm0
movss dword [ebp - 0x20], xmm2
jbe 0x432606
comiss xmm7, xmm2
jbe 0x432606
comiss xmm1, dword [ebp - 0x1a4]
jbe 0x432606
comiss xmm6, xmm3
jbe 0x432606
push 0
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x1c]
push edi
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x170]
mov ecx, dword [eax + 0x24c]
call fcn.00422e50
movss xmm0, dword [ebp - 0x104]
movss xmm4, dword [ebp - 0x34]
movss xmm7, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x128]
mov edx, dword [ebp - 0x138]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x14c]
movss dword [ebp - 0x198], xmm4
movss xmm4, dword [ebp - 0x144]
movss dword [ebp - 0x14c], xmm0
xorps xmm5, xmm5
movss xmm3, dword [ebp - 0x198]
movss xmm6, dword [ebp - 0x190]
addss xmm4, dword [ecx + 0x3bb4]
subss xmm3, dword [ebp - 0x148]
movss dword [ebp - 0x144], xmm4
cmp esi, edx
jb 0x432410
mov edi, dword [ebp - 0x140]
mov esi, dword [ebp - 0x128]
movss xmm4, dword [ebp - 0x148]
cmp byte [ebp - 0x11c], 0
mov edx, dword [ebp - 0x10c]
jne 0x43266f
mov eax, edx
sub eax, dword [ebp - 0x120]
cmp eax, 0x200000
jge 0x4328b1
mov eax, dword [0x4feb00]
movss xmm7, dword [0x4f92f0]
movups xmm2, xmmword [eax + 0x3860]
comiss xmm5, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [eax + 0x3798]
movups xmmword [ebp - 0x24], xmm2
jbe 0x4326a0
movaps xmm0, xmm5
jmp 0x4326a7
movaps xmm0, xmm7
minss xmm0, xmm2
movss xmm2, dword [0x4f938c]
movss xmm6, dword [0x4f92b8]
movss xmm3, dword [ebp - 0x20]
comiss xmm5, xmm3
mulss xmm0, xmm2
addss xmm0, xmm6
cvttss2si ecx, xmm0
jbe 0x4326d2
movaps xmm0, xmm5
jmp 0x4326d9
movaps xmm0, xmm7
minss xmm0, xmm3
movss xmm3, dword [ebp - 0x1c]
mulss xmm0, xmm2
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm5, xmm3
jbe 0x4326f9
movaps xmm0, xmm5
jmp 0x432700
movaps xmm0, xmm7
minss xmm0, xmm3
mulss xmm0, xmm2
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm5, xmm1
jbe 0x43271b
movaps xmm0, xmm5
jmp 0x432722
movaps xmm0, xmm7
minss xmm0, xmm1
mulss xmm0, xmm2
mov dword [ebp - 0x178], edx
mov edx, dword [esi + 0x3bb0]
movss xmm2, dword [esi + 0x3bb4]
addss xmm0, xmm6
mov dword [ebp - 0x164], edx
lea edx, [ebp - 0x44]
mov dword [ebp - 0x144], 0
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x198]
subss xmm0, xmm4
shl eax, 0x18
or eax, ecx
mov ecx, dword [ebp - 0x170]
cmp byte [ebp - 0x11c], 0
mov dword [ebp - 0x16c], eax
cmovne edx, dword [ebp - 0x144]
mov ecx, dword [ecx + 0x24c]
movss dword [ebp - 0x19c], xmm0
movss xmm0, dword [ebp - 0x30]
mov dword [ebp - 0x138], ecx
subss xmm0, xmm5
movss dword [ebp - 0x198], xmm0
test eax, 0xff000000
je 0x4328b1
cmp dword [ebp - 0x10c], 0
jne 0x4327eb
mov ecx, dword [ebp - 0x120]
lea eax, [ecx + 1]
mov dword [ebp - 0x144], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4327c8
sub ecx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x120]
add eax, ecx
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x178], eax
jmp 0x4327f1
mov eax, dword [ebp - 0x178]
cmp dword [ebp - 0x120], eax
je 0x4328b1
cmp dword [esi + 0x3bb0], 0
jne 0x432812
mov eax, dword [ecx + 0x2c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x164], eax
ucomiss xmm2, xmm5
lahf
test ah, 0x44
jp 0x432823
mov eax, dword [ecx + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [ecx + 0x60]
movups xmmword [ebp - 0x24], xmm0
test edx, edx
je 0x432878
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x24]
comiss xmm0, xmm1
jae 0x432842
movss dword [ebp - 0x24], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x20]
comiss xmm0, xmm1
jae 0x432856
movss dword [ebp - 0x20], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0x1c]
ja 0x432866
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0x18]
ja 0x432876
movss dword [ebp - 0x18], xmm0
test edx, edx
mov edx, dword [ebp - 0x178]
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x24]
push edx
push dword [ebp - 0x120]
push eax
push dword [ebp - 0x16c]
lea eax, [ebp - 0x19c]
push eax
push ecx
mov ecx, dword [ebp - 0x164]
call fcn.00426c40
cmp byte [ebp - 0xf1], 0
je 0x432a84
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [edi + 0xe68]
movss dword [edi + 0xe68], xmm0
cmp byte [esi + 0x63], 0
je 0x432920
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x432920
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x168], xmm0
fld qword [ebp - 0x168]
fld qword [0x4f9318]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x4f92dc]
fstp qword [ebp - 0x168]
movsd xmm1, qword [ebp - 0x168]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x432920
xor cl, cl
jmp 0x432922
mov cl, 1
movss xmm0, dword [ebp - 0xfc]
movss xmm6, dword [0x4f92f0]
addss xmm0, dword [ebp - 0x34]
subss xmm0, dword [ebp - 0x148]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x30]
addss xmm0, dword [ebp - 0x154]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x4f9270]
movss dword [ebp - 0xfc], xmm1
movaps xmm4, xmm1
movss dword [ebp - 0x24], xmm1
addss xmm4, xmm6
cvttss2si eax, xmm0
movss dword [ebp - 0x1c], xmm4
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [ebp - 0x154], xmm2
movaps xmm0, xmm2
movaps xmm3, xmm2
subss xmm0, dword [esi + 0x3bb4]
subss xmm3, dword [0x4f9308]
addss xmm0, dword [0x4f92b8]
movss dword [ebp - 0x18], xmm3
movss dword [ebp - 0x20], xmm0
test cl, cl
je 0x432a4c
comiss xmm3, dword [ebp - 0x8c]
jbe 0x432a4c
movss xmm5, dword [ebp - 0x14c]
comiss xmm5, xmm0
jbe 0x432a4c
comiss xmm4, dword [ebp - 0x1a4]
jbe 0x432a4c
movss xmm0, dword [ebp - 0x104]
comiss xmm0, xmm1
jbe 0x432a4c
sub esp, 8
movss dword [ebp - 0x168], xmm1
movaps xmm1, xmm6
movss dword [ebp - 0x164], xmm3
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.00404730
add esp, 4
push eax
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x170]
mov ecx, dword [eax + 0x24c]
call fcn.00422c50
movss xmm1, dword [ebp - 0xfc]
movss xmm2, dword [ebp - 0x154]
movss xmm6, dword [0x4f92f0]
cmp byte [ebp - 0x134], 0
jne 0x432a84
movss xmm0, dword [esi + 0x3bb4]
subss xmm1, xmm6
subss xmm2, xmm0
mov byte [esi + 0x51f4], 1
movss dword [esi + 0x5200], xmm0
movss dword [esi + 0x51f8], xmm1
movss dword [esi + 0x51fc], xmm2
cmp byte [ebp - 0x1a8], 0
je 0x432a92
call fcn.00410550
cmp byte [ebp - 0x11c], 0
je 0x432baa
mov ecx, dword [0x4feb00]
movss xmm1, dword [ebp - 0x108]
addss xmm1, dword [esi + 0x37d8]
movss xmm0, dword [ebp - 0x194]
mov eax, dword [ecx + 0x3e28]
movss dword [ebp - 0x158], xmm0
movss dword [ebp - 0x154], xmm1
mov byte [eax + 0x90], 1
mov eax, dword [ecx + 0x3e28]
cmp byte [eax + 0x93], 0
jne 0x432b3f
movss xmm3, dword [eax + 0xd4]
lea ecx, [ebp - 0x158]
movaps xmm4, xmm3
movss dword [ebp - 0x24], xmm3
addss xmm4, xmm0
movss xmm0, dword [eax + 0xd8]
movaps xmm2, xmm0
movss dword [ebp - 0x20], xmm0
addss xmm2, xmm1
movss xmm1, dword [0x4f93c0]
movss dword [ebp - 0x1c], xmm4
movss dword [ebp - 0x18], xmm2
call fcn.00411480
push 0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.004115e0
add esp, 8
mov esi, dword [esi + 0x3eb8]
mov eax, esi
mov edi, dword [ebp - 0x128]
or eax, 0x401
mov dword [edi + 0x3eb8], eax
call fcn.0040ad00
mov eax, dword [edi + 0x3ed8]
mov ecx, dword [ebp - 0x78]
and eax, 0x80
or ecx, eax
mov dword [edi + 0x3eb8], esi
mov dword [ebp - 0x154], ecx
call fcn.004119c0
mov esi, edi
cmp dword [esi + 0x3ed0], 0
jne 0x432baa
mov eax, dword [ebp - 0x12c]
mov dword [esi + 0x3ed0], eax
mov eax, dword [ebp - 0x7c]
mov dword [esi + 0x3ed4], eax
mov eax, dword [ebp - 0x154]
mov dword [esi + 0x3ed8], eax
cmp byte [esi + 0x525c], 0
je 0x432bec
cmp byte [ebp - 0x1a8], 0
jne 0x432bec
mov eax, dword [0x4feb00]
lea ecx, [ebp - 0x34]
push dword [ebp - 0x10c]
mov edx, dword [ebp - 0x120]
mov dword [eax + 0x5274], 0x4b703c
mov dword [eax + 0x5278], 0x4b7038
call fcn.00416420
add esp, 4
movss xmm0, dword [ebp - 0x1ac]
comiss xmm0, dword [0x4f9270]
jbe 0x432c4b
movss xmm0, dword [ebp - 0x88]
xor edx, edx
addss xmm0, dword [esi + 0x37ec]
mov ecx, dword [ebp - 0x1a0]
movss dword [ebp - 0x158], xmm0
movss xmm0, dword [ebp - 0x8c]
addss xmm0, dword [esi + 0x37d8]
movss dword [ebp - 0x154], xmm0
push dword [ebp - 0x154]
push dword [ebp - 0x158]
push 1
call fcn.004048a0
add esp, 0xc
mov dl, byte [ebp - 0x13b]
mov ecx, dword [ebx + 0x14]
test dl, dl
je 0x432c75
test ecx, 0x8000000
jne 0x432c75
mov eax, dword [0x4feb00]
or dword [eax + 0x3ed8], 4
mov word [eax + 0x3e70], 0x101
test cl, 0x20
movzx eax, dl
movzx ecx, byte [ebp - 0x121]
cmovne eax, ecx
jmp 0x42f6a7