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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb4
mov eax, dword [0x438040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
mov edi, dword [0x43acf0]
mov dword [ebp - 0x8c], edi
mov eax, dword [edi + 0x1b9c]
mov byte [eax + 0x8c], 1
mov esi, dword [edi + 0x1b9c]
mov dword [ebp - 0x60], esi
cmp byte [esi + 0x8f], 0
jne 0x42a21e
call fcn.0040ed00
mov ecx, dword [esi + 0xc4]
xor edx, edx
mov eax, dword [esi + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, str.source
call fcn.00403c80
mov esi, dword [0x43acf0]
add esp, 4
mov dword [ebp - 0x64], eax
cmp dword [esi + 0x1bd4], eax
jne 0x429f53
mov dword [esi + 0x1bd8], eax
cmp dword [esi + 0x1c0c], eax
jne 0x429f62
mov byte [esi + 0x1c10], 1
mov ecx, str.source
mov eax, ecx
cmp eax, 0xffffffff
jae 0x429f86
nop
mov dl, byte [ecx]
test dl, dl
je 0x429f86
cmp dl, 0x23
jne 0x429f80
cmp byte [ecx + 1], dl
je 0x429f86
inc ecx
cmp ecx, 0xffffffff
jb 0x429f70
cmp ecx, str.source
jne 0x429f9b
xorps xmm5, xmm5
movss dword [ebp - 0xb4], xmm5
jmp 0x429ff6
movss xmm3, dword [0x435ab8]
lea eax, [ebp - 0x58]
movss xmm2, dword [esi + 0x1930]
push ecx
push ecx
push str.source
push ecx
mov ecx, dword [esi + 0x192c]
mov dword [esp], 0xbf800000
push eax
call fcn.00424430
movss xmm0, dword [ebp - 0x58]
xorps xmm5, xmm5
addss xmm0, dword [0x435a14]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [ebp - 0x54]
movss dword [ebp - 0x54], xmm0
test byte [esi + 0x1c80], 1
movss xmm2, dword [edi + 0x1930]
mulss xmm2, dword [0x435a6c]
mov ecx, dword [esi + 0x1b9c]
je 0x42a01f
movss xmm0, dword [esi + 0x1c84]
jmp 0x42a027
movss xmm0, dword [ecx + 0x1b0]
comiss xmm5, xmm0
jbe 0x42a066
cmp dword [ecx + 0x198], 0
movss xmm1, dword [ecx + 0x248]
jne 0x42a046
cmp dword [esi + 0x1ed4], 0
je 0x42a04e
movss xmm1, dword [ecx + 0x218]
subss xmm1, dword [ecx + 0xd0]
addss xmm1, xmm0
movss xmm0, dword [0x435a1c]
maxss xmm0, xmm1
movss xmm3, dword [edi + 0x1554]
mov edx, ecx
movss xmm7, dword [ebx]
addss xmm3, xmm3
comiss xmm5, xmm7
movss xmm6, dword [ebx + 4]
addss xmm3, xmm2
movss dword [ebp - 0xa0], xmm7
xorps xmm1, xmm1
cvttss2si eax, xmm0
movss dword [ebp - 0x90], xmm6
xorps xmm0, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
ja 0x42a0ac
comiss xmm5, xmm6
jbe 0x42a0d6
cmp dword [ecx + 0x198], 0
movss xmm0, dword [ecx + 0x248]
movss xmm1, dword [ecx + 0x24c]
jne 0x42a0ce
cmp dword [esi + 0x1ed4], 0
je 0x42a0d6
movss xmm0, dword [ecx + 0x218]
movss xmm2, dword [0x435a58]
ucomiss xmm7, xmm5
lahf
test ah, 0x44
jp 0x42a0f4
movaps xmm7, xmm4
movss dword [ebp - 0xa0], xmm7
jmp 0x42a11d
comiss xmm5, xmm7
jbe 0x42a11d
subss xmm0, dword [edx + 0xd0]
addss xmm7, xmm0
comiss xmm2, xmm7
movss dword [ebp - 0xa0], xmm7
jb 0x42a11d
movaps xmm7, xmm2
movss dword [ebp - 0xa0], xmm2
ucomiss xmm6, xmm5
lahf
test ah, 0x44
jp 0x42a133
movaps xmm6, xmm3
movss dword [ebp - 0x90], xmm6
jmp 0x42a15c
comiss xmm5, xmm6
jbe 0x42a15c
subss xmm1, dword [edx + 0xd4]
addss xmm6, xmm1
comiss xmm2, xmm6
movss dword [ebp - 0x90], xmm6
jb 0x42a15c
movaps xmm6, xmm2
movss dword [ebp - 0x90], xmm2
movss xmm0, dword [ebp - 0xb4]
comiss xmm0, xmm5
jbe 0x42a176
movaps xmm4, xmm0
addss xmm4, dword [edi + 0x1568]
jmp 0x42a179
xorps xmm4, xmm4
mov eax, dword [ebp - 0x60]
addss xmm4, xmm7
mov ebx, dword [ebp - 0x64]
lea ecx, [ebp - 0x14]
push 1
mov edx, ebx
movss xmm2, dword [eax + 0xd4]
movss xmm3, dword [eax + 0xd0]
movaps xmm0, xmm2
addss xmm0, xmm6
movss dword [ebp - 0x44], xmm3
movaps xmm1, xmm3
movss dword [ebp - 0x40], xmm2
addss xmm1, xmm7
movss dword [ebp - 0x14], xmm3
addss xmm4, xmm3
movss dword [ebp - 0x10], xmm2
lea eax, [ebp - 0x44]
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm6
addss xmm0, xmm2
push eax
movss dword [ebp - 0x3c], xmm1
movss dword [ebp - 0xc], xmm4
movss dword [ebp - 8], xmm0
call fcn.0040e9a0
add esp, 8
test al, al
jne 0x42a231
movss xmm0, dword [ebp - 0xc]
lea ecx, [ebp - 0x58]
subss xmm0, dword [ebp - 0x14]
movss xmm1, dword [edi + 0x1554]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ebp - 8]
subss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x54], xmm0
call fcn.0040e870
call fcn.0040ee30
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042f9d8
mov esp, ebp
pop ebp
ret
mov esi, dword [0x43acf0]
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x30], 3
movups xmm0, xmmword [esi + 0x160c]
lea ecx, [esi + 0x1c94]
movups xmmword [ebp - 0x2c], xmm0
call fcn.004147a0
movups xmm0, xmmword [edi + 0x164c]
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 6
push eax
movups xmmword [esi + 0x160c], xmm0
mov esi, dword [0x43acf0]
movss xmm0, dword [edi + 0x1558]
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [esi + 0x1540]
lea ecx, [esi + 0x1ca0]
movss dword [ebp - 0xc], xmm0
call fcn.004146e0
movss xmm0, dword [ebp - 0x54]
lea eax, [ebp - 0x10]
movss dword [esi + 0x1540], xmm0
mov esi, dword [0x43acf0]
movss xmm0, dword [edi + 0x155c]
movss dword [ebp - 0x54], xmm0
push eax
movss xmm0, dword [esi + 0x1544]
lea ecx, [esi + 0x1ca0]
mov dword [ebp - 0x10], 7
movss dword [ebp - 0xc], xmm0
call fcn.004146e0
movss xmm0, dword [ebp - 0x54]
lea eax, [ebp - 0x58]
movss dword [esi + 0x1544], xmm0
mov edx, ebx
movss xmm0, dword [ebp - 0x3c]
subss xmm0, dword [ebp - 0x44]
push 4
push ecx
push eax
mov ecx, str.source
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ebp - 0x38]
subss xmm0, dword [ebp - 0x40]
movss dword [ebp - 0x54], xmm0
call fcn.00409450
add esp, 0xc
mov ecx, 2
mov bl, al
call fcn.004043a0
mov esi, dword [0x43acf0]
mov ecx, dword [esi + 0x1c94]
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0x1c9c]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
shl eax, 4
movups xmmword [eax + esi + 0x15dc], xmm0
dec dword [esi + 0x1c94]
test bl, bl
jne 0x42a37c
call fcn.00409640
call fcn.0040ee30
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042f9d8
mov esp, ebp
pop ebp
ret
mov ebx, edi
mov esi, dword [ebp - 0x64]
mov edx, dword [ebx + 0x1b9c]
mov dword [ebp - 0x74], edx
movsx ecx, word [edx + 0x14a]
mov eax, dword [edx + 0x144]
bts ecx, eax
mov word [edx + 0x14a], cx
lea ecx, [ebp - 0x44]
movss xmm0, dword [ebx + 0x1550]
addss xmm0, dword [edx + 0xd0]
movss dword [edx + 0xd0], xmm0
movss xmm0, dword [ebx + 0x1554]
addss xmm0, dword [edx + 0xd4]
movss dword [edx + 0xd4], xmm0
movss xmm0, dword [ebp - 0xa0]
subss xmm0, dword [edx + 0x80]
mov edx, esi
movss dword [ebp - 0xa0], xmm0
call fcn.00405710
mov dl, al
mov byte [ebp - 0x65], dl
test dl, dl
je 0x42a406
mov dword [ebx + 0x1e40], 1
mov edi, dword [0x43acf0]
xor eax, eax
add edi, 0x1f64
cmp dword [edi], esi
cmovne edi, eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0xac], edi
mov eax, dword [eax + 0x120]
mov ecx, eax
shr ecx, 8
shr eax, 9
and ecx, 0xffffff01
and eax, 0xffffff01
mov dword [ebp - 0x54], ecx
mov dword [ebp - 8], eax
test dl, dl
je 0x42a452
cmp byte [ebx + 0x3d8], 0
mov byte [ebp - 0x4c], 1
jne 0x42a456
mov byte [ebp - 0x4c], 0
mov esi, dword [ebx + 0x1bd4]
mov eax, dword [ebp - 0x64]
cmp esi, eax
je 0x42a482
cmp dword [ebx + 0x1d18], eax
je 0x42a47c
cmp dword [ebx + 0x1d0c], eax
jne 0x42a482
cmp dword [ebx + 0x1d30], 2
jne 0x42a482
mov byte [ebp - 0x4a], 1
jmp 0x42a486
mov byte [ebp - 0x4a], 0
test edi, edi
je 0x42a4be
test esi, esi
jne 0x42a4be
mov eax, dword [ebp - 0x74]
xor edx, edx
mov ecx, dword [eax + 0xc4]
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.00403c80
add esp, 4
cmp dword [ebx + 0x1c0c], eax
jne 0x42a4be
mov byte [ebp - 0x4b], 1
jmp 0x42a4c6
mov byte [ebp - 0x4b], 0
test edi, edi
je 0x42a507
mov eax, dword [ebp - 0x74]
mov ecx, str.SCROLLY
mov edx, dword [eax + 0xc4]
mov eax, dword [eax + 0xcc]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.00403c80
add esp, 4
cmp esi, eax
jne 0x42a507
mov eax, dword [ebp - 0x74]
mov cl, 1
mov byte [ebp - 0x49], cl
mov byte [ebp - 0x59], 0
movss xmm0, dword [eax + 0x5c]
movss dword [ebp - 0x88], xmm0
jmp 0x42a524
mov eax, dword [ebp - 0x74]
xor cl, cl
mov byte [ebp - 0x59], 0
mov byte [ebp - 0x49], cl
movss xmm0, dword [eax + 0x5c]
movss dword [ebp - 0x88], xmm0
test edi, edi
je 0x42a52e
cmp byte [edi + 0x53], 0
je 0x42a52e
mov al, 1
jmp 0x42a530
xor al, al
cmp byte [ebp - 0x4c], 0
mov byte [ebp - 0x46], al
jne 0x42a55e
cmp byte [ebp - 0x4b], 0
jne 0x42a55e
cmp byte [ebp - 0x4a], 0
jne 0x42a55e
cmp byte [ebp - 0x54], 0
jne 0x42a55e
cmp byte [ebp - 8], 0
jne 0x42a55e
mov byte [ebp - 0x4d], 0
test cl, cl
jne 0x42a562
mov byte [ebp - 0x4c], cl
jmp 0x42a56d
mov byte [ebp - 0x4d], 1
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 0x4c], 1
cmp esi, ecx
jne 0x42a575
test al, al
je 0x42a72b
mov ecx, 0x4385d0
mov dword [ebx + 0x2dcc], 0xbe99999a
lea edi, [ebx + 0x1f64]
mov dword [ebp - 0xac], edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42a593
mov eax, dword [edi + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x42a5d0
test eax, eax
je 0x42a5b9
cdq
sub eax, edx
lea edx, [edi + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x42a5c1
mov ecx, 8
lea edx, [edi + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00414b50
push esi
mov dword [edi + 0x24], esi
push 0x4385d0
push dword [edi + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [edi + 0x10]
lea eax, [edi + 0xc]
add esp, 0xc
cmp esi, 0x2710
jge 0x42a61e
test esi, esi
je 0x42a603
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x42a608
mov ecx, 8
mov eax, 0x2710
cmp ecx, eax
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.00414bc0
lea eax, [edi + 0xc]
mov dword [eax], 0x2710
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x42a644
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.00414b50
mov dword [edi + 0x18], 0
mov eax, 0x4385d0
mov edx, dword [edi + 0x14]
mov esi, edx
mov byte [edi + 0x30], 0
mov dword [ebp - 8], edx
lea ecx, [edx + 0x4e1c]
cmp edx, ecx
jae 0x42a6a4
mov ebx, eax
cmp byte [ebx], 0
je 0x42a698
push 0
mov edx, ebx
lea ecx, [ebp - 0x54]
call fcn.00403f00
mov edx, dword [ebp - 8]
add ebx, eax
mov eax, dword [ebp - 0x54]
add esp, 4
test eax, eax
je 0x42a698
mov word [esi], ax
add esi, 2
lea eax, [edx + 0x4e1c]
cmp esi, eax
jb 0x42a668
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 0x8c]
mov eax, dword [ebp - 8]
xor ecx, ecx
sub eax, 0x4385d0
mov word [esi], cx
sub esi, edx
sar esi, 1
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x64]
mov dword [edi + 4], esi
cmp dword [edi], eax
jne 0x42a6ea
cmp byte [ebp - 0x46], cl
jne 0x42a6ea
cmp dword [edi + 0x3c], esi
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], esi
mov dword [edi + 0x40], ecx
cmovl esi, dword [edi + 0x44]
mov dword [edi + 0x44], esi
mov esi, eax
jmp 0x42a72e
mov esi, eax
mov dword [edi + 0x38], ecx
mov dword [edi], esi
mov dword [edi + 0xe5a], 0x630000
mov dword [edi + 0xe60], ecx
mov dword [edi + 0xe64], 0x3e7
mov dword [edi + 0x40], ecx
mov dword [edi + 0x44], ecx
mov dword [edi + 0x3c], ecx
mov word [edi + 0x51], 1
mov dword [edi + 0x58], ecx
mov byte [edi + 0x50], cl
mov byte [edi + 0x53], cl
mov byte [edi + 0x48], cl
mov dword [edi + 0x4c], ecx
jmp 0x42a72e
mov esi, dword [ebp - 0x64]
cmp dword [ebx + 0x1bd4], esi
je 0x42a789
cmp byte [ebp - 0x4d], 0
je 0x42a781
mov edx, dword [ebp - 0x60]
mov ecx, esi
call fcn.00405510
call fcn.00410290
mov ecx, edx
call fcn.0040e360
mov ecx, dword [ebx + 0x1bf0]
or dword [ebx + 0x1be8], 0xf
or ecx, 0x1e0
or dword [ebx + 0x1bec], 2
or ecx, 1
mov eax, dword [ebx + 0x1bf4]
mov dword [ebx + 0x1bf0], ecx
mov dword [ebx + 0x1bf4], eax
cmp dword [ebx + 0x1bd4], esi
jne 0x42a7b7
test edi, edi
jne 0x42a792
call fcn.004055e0
cmp dword [ebx + 0x1bd4], esi
jne 0x42a7b7
cmp byte [ebx + 0x3d8], 0
je 0x42a7c1
cmp byte [ebp - 0x4c], 0
jne 0x42a7c1
cmp byte [ebp - 0x4d], 0
jne 0x42a7c1
mov byte [ebp - 0x59], 1
mov cl, 1
jmp 0x42a7c7
test edi, edi
je 0x42a7c5
cmp byte [ebp - 0x49], 0
je 0x42a7c5
mov cl, 1
jmp 0x42a7c7
xor cl, cl
mov byte [ebp - 0x49], cl
test edi, edi
je 0x42a7e4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x42a7e4
test cl, cl
je 0x42a7e4
mov byte [ebp - 0x47], 1
mov byte [ebp - 0x48], 0
jmp 0x42a7ff
mov byte [ebp - 0x48], 0
mov byte [ebp - 0x47], 0
test cl, cl
jne 0x42a7fb
mov byte [ebp - 0x47], cl
cmp dword [ebx + 0x1bd4], esi
jne 0x42a809
test edi, edi
je 0x42a809
cmp byte [edi + 0x30], 0
mov byte [ebp - 0x76], 1
jne 0x42a80d
mov byte [ebp - 0x76], 0
cmp dword [ebx + 0x1bd4], esi
jne 0x42ab37
mov cl, byte [ebp - 0x65]
mov byte [edi + 0xe6e], 0
mov dword [edi + 0x34], 0x270f
mov dword [edi + 0xe70], 0x4000400
mov dword [edi + 0xe74], 0
mov dword [edi + 0xe78], 0
cmp byte [ebx + 0xec], 0
mov dword [ebx + 0x3160], 1
sete al
mov byte [ebx + 0x1be1], al
movss xmm7, dword [ebx + 0xe4]
mov eax, dword [ebp - 0x74]
movss xmm2, dword [ebx + 0xe8]
subss xmm7, dword [ebp - 0x44]
subss xmm2, dword [eax + 0xd4]
mov al, byte [ebx + 0xb1]
mov byte [ebp - 0x46], al
subss xmm7, dword [ebx + 0x1550]
addss xmm7, dword [edi + 0x38]
test cl, cl
je 0x42a90b
test al, al
jne 0x42a8c8
cmp byte [ebx + 0x3dd], al
je 0x42a90b
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 0x42a9d8
cmp byte [ebx + 0x3dd], 0
je 0x42a90b
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00428ce0
add esp, 4
mov byte [edi + 0xe6c], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, edi
push 0x60000d
call fcn.00428ce0
add esp, 4
jmp 0x42a9c7
cmp byte [ebx + 0x3d8], 0
je 0x42a958
cmp byte [edi + 0xe6d], 0
jne 0x42a958
test cl, cl
je 0x42a9db
cmp byte [edi + 0x53], 0
je 0x42a93f
push 0
mov edx, edi
lea ecx, [ebp - 0x34]
call fcn.004285a0
movss xmm2, dword [ebp - 0x28]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.004288f0
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov byte [edi + 0x52], 0
jmp 0x42a9ce
cmp byte [ebx + 0xec], 0
je 0x42a9db
cmp byte [edi + 0xe6d], 0
jne 0x42a9e4
movss xmm0, dword [ebx + 0x374]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x42a98f
movss xmm0, dword [ebx + 0x378]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x42a9db
cmp byte [edi + 0x53], 0
je 0x42a9a9
push 0
mov edx, edi
lea ecx, [ebp - 0x34]
call fcn.004285a0
movss xmm2, dword [ebp - 0x28]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x42a9b7
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm7
mov ecx, edi
call fcn.004288f0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov al, byte [ebp - 0x46]
cmp byte [edi + 0xe6d], 0
je 0x42a9f4
cmp byte [ebx + 0xec], 0
jne 0x42a9f4
mov byte [edi + 0xe6d], 0
cmp byte [ebx + 0xfc], 0
je 0x42aa06
cmp byte [ebx + 0xfe], 0
je 0x42aa13
test al, al
je 0x42aa19
cmp byte [ebx + 0xff], 0
je 0x42aa19
mov byte [ebp - 0x45], 1
jmp 0x42aa1d
mov byte [ebp - 0x45], 0
mov eax, dword [0x43acf0]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x42aa84
call fcn.00409330
test al, al
mov al, byte [ebp - 0x45]
je 0x42aa87
test al, al
jne 0x42aa87
cmp byte [ebx + 0xfd], al
jne 0x42aa87
mov ecx, dword [ebx + 0x1510]
mov eax, dword [ebx + 0x1508]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x42aa64
mov ax, word [ecx]
add ecx, 2
cmp ax, 9
je 0x42aa84
cmp ecx, edx
jb 0x42aa54
push 9
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00428ce0
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov al, byte [ebp - 0x45]
cmp dword [ebx + 0x1508], 0
jle 0x42ab37
test al, al
jne 0x42ab07
cmp byte [ebp - 0x4a], al
jne 0x42ab07
xor esi, esi
nop
mov eax, dword [ebx + 0x1510]
movzx edx, word [eax + esi*2]
cmp edx, 9
jne 0x42aab8
cmp byte [ebx + 0xfd], 0
jne 0x42aafe
cmp edx, 0x20
jae 0x42aacd
cmp edx, 0xa
sete cl
cmp edx, 9
sete al
or cl, al
je 0x42aafe
cmp edx, 0x7f
je 0x42aafe
lea eax, [edx - 0xe000]
cmp eax, 0x18ff
jbe 0x42aafe
push edx
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00428ce0
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
inc esi
cmp esi, dword [ebx + 0x1508]
jl 0x42aaa0
mov ecx, dword [ebx + 0x150c]
test ecx, ecx
jns 0x42ab2d
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, [ebx + 0x1508]
call fcn.00414bc0
mov dword [ebx + 0x1508], 0
mov eax, dword [ebp - 0x64]
xor cl, cl
mov byte [ebp - 0x45], cl
cmp dword [ebx + 0x1bd4], eax
jne 0x42b47e
cmp byte [ebx + 0x1be0], cl
jne 0x42b47e
cmp byte [ebp - 0x59], cl
jne 0x42b47e
movss xmm0, dword [ebp - 0x90]
mov ecx, 1
subss xmm0, dword [ebx + 0x1554]
divss xmm0, dword [ebx + 0x1930]
cvttss2si eax, xmm0
cmp eax, ecx
cmovge ecx, eax
xor esi, esi
mov dword [edi + 0x4c], ecx
mov eax, 0x400000
cmp byte [ebx + 0xfd], 0
mov dword [ebp - 8], ecx
cmovne esi, eax
mov al, byte [ebx + 0xb1]
mov byte [ebp - 0x5a], al
test al, al
je 0x42abb9
cmp dword [ebx + 0x37c], 0xa
jne 0x42abb9
mov byte [ebp - 0x4b], 1
jmp 0x42abc1
mov byte [ebp - 0x4b], 0
test al, al
je 0x42abe6
cmp byte [ebx + 0xff], 0
mov al, byte [ebx + 0xfe]
mov byte [ebp - 0x4d], al
je 0x42abf3
cmp byte [ebx + 0xfc], 0
jne 0x42abf3
test al, al
jne 0x42abf3
mov byte [ebp - 0x46], 1
jmp 0x42abf7
mov al, byte [ebx + 0xfc]
mov byte [ebp - 0x4d], al
mov byte [ebp - 0x4b], 0
mov byte [ebp - 0x46], 0
cmp byte [ebx + 0xb1], 0
mov eax, dword [ebx + 0x37c]
je 0x42ac0b
cmp eax, 8
jmp 0x42ac0e
cmp eax, 1
mov edx, dword [0x43acf0]
sete cl
mov byte [ebp - 0x4a], cl
test cl, cl
je 0x42ac3d
mov ecx, dword [edx + 0x80]
test ecx, ecx
js 0x42ac3d
call fcn.00409330
test al, al
jne 0x42ac52
mov eax, dword [ebx + 0x37c]
mov edx, dword [0x43acf0]
cmp eax, 2
jne 0x42ac5e
mov ecx, dword [edx + 0x5c]
test ecx, ecx
js 0x42ac5e
call fcn.00409330
test al, al
je 0x42ac5e
mov eax, dword [edi + 0x40]
mov byte [ebp - 0x4c], 1
cmp eax, dword [edi + 0x44]
jne 0x42ac62
mov byte [ebp - 0x4c], 0
cmp byte [ebp - 0x4a], 0
mov eax, dword [0x43acf0]
je 0x42ac82
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x42ac82
call fcn.00409330
test al, al
jne 0x42ac9b
mov eax, dword [0x43acf0]
cmp dword [ebx + 0x37c], 1
jne 0x42aca7
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x42aca7
call fcn.00409330
test al, al
je 0x42aca7
mov eax, dword [edi + 0x40]
mov byte [ebp - 0x75], 1
cmp eax, dword [edi + 0x44]
jne 0x42acab
mov byte [ebp - 0x75], 0
cmp byte [ebp - 0x4a], 0
mov eax, dword [0x43acf0]
je 0x42accb
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x42accb
call fcn.00409330
test al, al
jne 0x42ace4
mov eax, dword [0x43acf0]
cmp dword [ebx + 0x37c], 2
jne 0x42acea
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x42acea
call fcn.00409330
test al, al
je 0x42acea
mov byte [ebp - 0x65], 1
jmp 0x42acee
mov byte [ebp - 0x65], 0
mov dl, byte [ebp - 0x4a]
test dl, dl
je 0x42ad16
mov eax, dword [0x43acf0]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x42ad16
call fcn.00409330
test al, al
je 0x42ad13
mov byte [ebp - 0x6d], 1
jmp 0x42ad1e
mov dl, byte [ebp - 0x4a]
mov byte [ebp - 0x6d], 0
test dl, dl
je 0x42ad36
mov eax, dword [0x43acf0]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x42ad3b
call fcn.00409330
test al, al
jne 0x42ad54
mov eax, dword [0x43acf0]
cmp byte [ebp - 0x4b], 0
je 0x42ad5a
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x42ad5a
call fcn.00409330
test al, al
je 0x42ad5a
mov byte [ebp - 0x4b], 1
jmp 0x42ad5e
mov byte [ebp - 0x4b], 0
mov eax, dword [0x43acf0]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x42adb8
call fcn.00409330
test al, al
je 0x42adb3
cmp byte [ebp - 0x46], 0
je 0x42ad90
mov eax, 0x200004
lea edx, [edi + 0x3c]
or eax, esi
mov ecx, edi
push eax
call fcn.00428ce0
jmp 0x42b450
cmp byte [ebp - 0x4d], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000c
mov eax, 0x200000
cmovne eax, ecx
mov ecx, edi
or eax, esi
push eax
call fcn.00428ce0
jmp 0x42b450
mov eax, dword [0x43acf0]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x42ae0d
call fcn.00409330
test al, al
je 0x42ae08
cmp byte [ebp - 0x46], 0
je 0x42ade5
mov eax, 0x200005
lea edx, [edi + 0x3c]
or eax, esi
mov ecx, edi
push eax
call fcn.00428ce0
jmp 0x42b450
cmp byte [ebp - 0x4d], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000d
mov eax, 0x200001
cmovne eax, ecx
mov ecx, edi
or eax, esi
push eax
call fcn.00428ce0
jmp 0x42b450
mov eax, dword [0x43acf0]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x42ae78
call fcn.00409330
test al, al
je 0x42ae73
cmp byte [ebx + 0xfc], 0
je 0x42ae56
mov edx, dword [ebp - 0x74]
movss xmm0, dword [edx + 0x5c]
subss xmm0, dword [ebx + 0x1930]
mov dword [edx + 0x74], 0
mov dword [edx + 0x7c], 0
maxss xmm0, dword [0x4359a0]
movss dword [edx + 0x6c], xmm0
jmp 0x42b464
movzx eax, byte [ebp - 0x46]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200002]
or eax, esi
push eax
call fcn.00428ce0
jmp 0x42b450
mov eax, dword [0x43acf0]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x42aeec
call fcn.00409330
test al, al
je 0x42aee7
cmp byte [ebx + 0xfc], 0
je 0x42aeca
mov ecx, dword [ebp - 0x74]
movss xmm0, dword [ebx + 0x1930]
mov esi, dword [0x43acf0]
addss xmm0, dword [ecx + 0x5c]
mov eax, dword [esi + 0x1b9c]
minss xmm0, dword [eax + 0x64]
mov dword [ecx + 0x74], 0
mov dword [ecx + 0x7c], 0
movss dword [ecx + 0x6c], xmm0
jmp 0x42b464
movzx eax, byte [ebp - 0x46]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200003]
or eax, esi
push eax
call fcn.00428ce0
jmp 0x42b450
mov eax, dword [0x43acf0]
mov ecx, dword [eax + 0x48]
test ecx, ecx
js 0x42af4c
call fcn.00409330
test al, al
je 0x42af47
or esi, 0x20000e
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.00428ce0
movd xmm0, dword [ebp - 8]
movss xmm1, dword [ebp - 0x88]
cvtdq2ps xmm0, xmm0
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mulss xmm0, dword [ebx + 0x1930]
subss xmm1, xmm0
movss dword [ebp - 0x88], xmm1
jmp 0x42b461
mov eax, dword [0x43acf0]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
js 0x42afa8
call fcn.00409330
test al, al
je 0x42afa3
or esi, 0x20000f
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.00428ce0
movd xmm0, dword [ebp - 8]
cvtdq2ps xmm0, xmm0
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mulss xmm0, dword [ebx + 0x1930]
addss xmm0, dword [ebp - 0x88]
movss dword [ebp - 0x88], xmm0
jmp 0x42b461
mov eax, dword [0x43acf0]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x42afe4
call fcn.00409330
test al, al
je 0x42afdf
mov eax, esi
lea edx, [edi + 0x3c]
or eax, 0x200006
or esi, 0x200004
cmp byte [ebx + 0xfc], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.00428ce0
jmp 0x42b450
mov eax, dword [0x43acf0]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x42b020
call fcn.00409330
test al, al
je 0x42b01b
mov eax, esi
lea edx, [edi + 0x3c]
or eax, 0x200007
or esi, 0x200005
cmp byte [ebx + 0xfc], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.00428ce0
jmp 0x42b450
mov eax, dword [0x43acf0]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x42b04b
call fcn.00409330
test al, al
je 0x42b046
or esi, 0x200008
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.00428ce0
jmp 0x42b450
mov eax, dword [0x43acf0]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x42b0ca
call fcn.00409330
test al, al
je 0x42b0ca
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x42b0b4
cmp byte [ebp - 0x4d], 0
je 0x42b070
push 0x60000c
jmp 0x42b096
cmp byte [ebp - 0x5a], 0
je 0x42b0b4
cmp byte [ebx + 0xff], 0
je 0x42b0b4
cmp byte [ebx + 0xfe], 0
jne 0x42b0b4
cmp byte [ebx + 0xfc], 0
jne 0x42b0b4
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00428ce0
mov dword [edi + 0xe68], 0xbe99999a
add esp, 4
mov byte [edi + 0xe6c], 1
or esi, 0x200009
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.00428ce0
jmp 0x42b450
mov esi, dword [0x43acf0]
mov ecx, dword [esi + 0x68]
test ecx, ecx
js 0x42b0e0
call fcn.00409330
test al, al
jne 0x42b0f0
mov ecx, dword [esi + 0x70]
test ecx, ecx
js 0x42b113
call fcn.00409330
test al, al
je 0x42b113
cmp byte [ebx + 0xfc], 0
jne 0x42b10a
push 0xa
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00428ce0
jmp 0x42b450
mov byte [ebp - 0x59], 1
jmp 0x42b464
mov ecx, dword [esi + 0x6c]
test ecx, ecx
js 0x42b12d
call fcn.00409330
test al, al
je 0x42b12d
mov cl, 1
mov byte [ebp - 0x59], cl
jmp 0x42b467
mov al, byte [ebp - 0x6d]
test al, al
jne 0x42b431
cmp byte [ebp - 0x4b], al
jne 0x42b431
cmp byte [ebp - 0x4a], al
je 0x42b176
mov ecx, dword [esi + 0x74]
test ecx, ecx
js 0x42b176
call fcn.00409330
test al, al
je 0x42b176
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 0x42b464
mov al, byte [ebp - 0x4c]
test al, al
jne 0x42b317
cmp byte [ebp - 0x75], al
jne 0x42b317
cmp byte [ebp - 0x65], al
je 0x42b464
mov eax, dword [esi + 0xd0]
test eax, eax
je 0x42b1b3
push dword [esi + 0xd8]
call eax
mov esi, eax
add esp, 4
test esi, esi
jne 0x42b1b8
jmp 0x42b464
mov esi, 0x4352b0
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42b1c0
mov eax, dword [0x43acf0]
sub ecx, edx
test eax, eax
je 0x42b1d8
inc dword [eax + 0x370]
lea eax, [ecx*2 + 2]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
call eax
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x6c], eax
cmp byte [esi], al
je 0x42b257
xor ebx, ebx
mov edi, ecx
nop
push 0
mov edx, esi
lea ecx, [ebp - 0x54]
call fcn.00403f00
mov edx, dword [ebp - 0x54]
add esp, 4
add esi, eax
test edx, edx
je 0x42b23f
cmp edx, 0x20
jae 0x42b22d
cmp edx, 0xa
sete cl
cmp edx, 9
sete al
or al, cl
je 0x42b23a
cmp edx, 0xffff
ja 0x42b23a
mov word [edi + ebx*2], dx
inc ebx
cmp byte [esi], 0
jne 0x42b200
mov edi, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x42b2f7
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 4]
cmp ecx, edx
je 0x42b28b
cmp ecx, eax
jle 0x42b27b
mov dword [edi + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x42b284
mov dword [edi + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x42b28b
mov dword [edi + 0x3c], ecx
cmp dword [edi + 0x3c], eax
jle 0x42b293
mov dword [edi + 0x3c], eax
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00428c50
push dword [ebp - 0x6c]
mov edx, dword [edi + 0x3c]
mov ecx, edi
push dword [ebp - 0x94]
call fcn.004287a0
add esp, 8
test al, al
je 0x42b2d6
push dword [ebp - 0x6c]
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x5c]
push 0
call fcn.00429be0
mov eax, dword [ebp - 0x6c]
add esp, 8
add dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
jmp 0x42b2ea
movzx eax, word [edi + 0xe5a]
test ax, ax
je 0x42b2ea
dec eax
mov word [edi + 0xe5a], ax
mov ecx, dword [ebp - 0x94]
mov byte [edi + 0xe6c], 1
test ecx, ecx
je 0x42b30a
mov eax, dword [0x43acf0]
test eax, eax
je 0x42b30a
dec dword [eax + 0x370]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push ecx
call eax
jmp 0x42b461
cmp dword [ebx + 0xd4], 0
je 0x42b3f2
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
movss xmm0, dword [ebp - 0x88]
movss dword [ebp - 0x88], xmm0
cmp eax, ecx
je 0x42b348
mov esi, ecx
cmovge ecx, eax
cmovl esi, eax
jmp 0x42b34d
mov ecx, dword [edi + 4]
xor esi, esi
mov al, byte [ebp - 0x47]
mov byte [ebp - 0x47], al
mov al, byte [ebp - 0x48]
mov byte [ebp - 0x48], al
mov eax, dword [edi + 0x14]
mov dword [ebp - 8], ecx
mov dword [ebp - 0xa8], esi
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.00404190
mov ecx, dword [0x43acf0]
inc eax
mov dword [ebp - 0x54], eax
test ecx, ecx
je 0x42b384
inc dword [ecx + 0x370]
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 - 8]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0xa8]
lea ecx, [esi + ecx*2]
push ecx
lea ecx, [esi + eax*2]
mov esi, dword [ebp - 0x60]
push ecx
mov ecx, esi
call fcn.00404120
mov eax, dword [0x43acf0]
add esp, 8
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x42b3d6
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x43acf0]
add esp, 8
test esi, esi
je 0x42b3e4
test eax, eax
je 0x42b3e4
dec dword [eax + 0x370]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push esi
call eax
mov al, byte [ebp - 0x4c]
add esp, 4
test al, al
je 0x42b464
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x42b412
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 0x42b464
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00428c50
mov byte [edi + 0x52], 0
jmp 0x42b464
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.00428ce0
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
add esp, 4
mov cl, byte [ebp - 0x45]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x42b479
cmp byte [ebp - 0x49], 0
je 0x42b479
mov al, 1
jmp 0x42b47b
xor al, al
or byte [ebp - 0x47], al
mov eax, dword [ebp - 0x64]
mov dl, byte [ebp - 0x48]
cmp dword [ebx + 0x1bd4], eax
jne 0x42b7a6
test cl, cl
je 0x42b66c
mov esi, dword [edi + 0x2c]
mov eax, 0x4385d0
mov dword [ebp - 0x80], esi
mov ecx, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42b4c5
test dl, dl
je 0x42b4c1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42b4c5
add eax, 2
add ecx, 2
test dl, dl
jne 0x42b4a5
xor eax, eax
jmp 0x42b4ca
sbb eax, eax
or eax, 1
test eax, eax
je 0x42b785
mov eax, dword [edi + 0x24]
xor edx, edx
dec eax
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x94], eax
test eax, eax
jle 0x42b5cb
lea ebx, [eax + esi]
xor eax, eax
mov dword [ebp - 0x60], eax
test ebx, ebx
je 0x42b4f9
cmp esi, ebx
jae 0x42b51a
cmp byte [esi], 0
je 0x42b51a
push ebx
mov edx, esi
lea ecx, [ebp - 0x54]
call fcn.00403f00
add esi, eax
add esp, 4
cmp dword [ebp - 0x54], 0
mov eax, dword [ebp - 0x60]
je 0x42b51a
inc eax
jmp 0x42b4ee
mov ebx, dword [ebp - 0x8c]
lea edx, [eax + 1]
mov dword [ebp - 8], edx
test edx, edx
jle 0x42b55c
mov ecx, 8
mov eax, edx
cmp edx, ecx
cmovl eax, ecx
test eax, eax
jle 0x42b55c
mov ecx, dword [0x43acf0]
test ecx, ecx
je 0x42b54a
inc dword [ecx + 0x370]
add eax, eax
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edx, dword [ebp - 8]
add esp, 4
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x94]
mov esi, dword [ebp - 0x80]
add ecx, esi
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x6c]
mov eax, ecx
mov dword [ebp - 0x60], eax
lea ecx, [ecx + edx*2]
add ecx, 0xfffffffe
mov dword [ebp - 0xa8], ecx
cmp eax, ecx
jae 0x42b5c6
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x42b58d
cmp esi, ebx
jae 0x42b5bd
cmp byte [esi], 0
je 0x42b5bd
push ebx
mov edx, esi
lea ecx, [ebp - 0x54]
call fcn.00403f00
mov ecx, dword [ebp - 0x54]
add esi, eax
mov eax, dword [ebp - 0x60]
add esp, 4
test ecx, ecx
je 0x42b5bd
mov word [eax], cx
add eax, 2
mov dword [ebp - 0x60], eax
cmp eax, dword [ebp - 0xa8]
jb 0x42b585
mov ebx, dword [ebp - 0x8c]
mov edx, dword [ebp - 8]
xor ecx, ecx
mov word [eax], cx
mov esi, dword [edi + 4]
lea eax, [edx - 1]
xor ecx, ecx
cmp dword [ebp - 0x94], ecx
cmovle eax, ecx
lea ecx, [edi + 0x5c]
push eax
push esi
xor edx, edx
mov dword [ebp - 0x54], eax
call fcn.00429be0
mov edx, eax
add esp, 8
test edx, edx
je 0x42b610
xor ecx, ecx
test esi, esi
jle 0x42b610
nop word [eax + eax]
mov eax, dword [edi + 0x14]
mov ax, word [eax + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jl 0x42b600
push dword [edi + 4]
xor edx, edx
mov ecx, edi
call fcn.00428740
mov esi, dword [ebp - 0x54]
add esp, 4
test esi, esi
jle 0x42b641
push esi
push dword [ebp - 0x6c]
xor edx, edx
mov ecx, edi
call fcn.004287a0
add esp, 8
test al, al
je 0x42b641
mov dword [edi + 0x3c], esi
mov byte [edi + 0x52], 0
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x42b661
mov eax, dword [0x43acf0]
test eax, eax
je 0x42b657
dec dword [eax + 0x370]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov eax, dword [ebp - 0x94]
jmp 0x42b74e
mov eax, dword [edi + 0xc]
mov byte [edi + 0x30], 1
lea esi, [eax*4 + 1]
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x54], esi
cmp esi, eax
jle 0x42b6b1
test eax, eax
je 0x42b697
cdq
sub eax, edx
lea edx, [edi + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x42b69f
mov ecx, 8
lea edx, [edi + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00414b50
mov dl, byte [ebp - 0x48]
mov eax, dword [ebp - 0x54]
mov dword [edi + 0x18], esi
mov esi, dword [edi + 0x20]
add eax, esi
mov ecx, dword [edi + 0x14]
mov dword [ebp - 8], eax
dec eax
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x48], dl
cmp esi, eax
jae 0x42b714
mov edi, dword [ebp - 8]
mov ebx, eax
mov byte [ebp - 0x48], dl
movzx eax, word [ecx]
test ax, ax
je 0x42b708
add ecx, 2
mov dword [ebp - 0x54], ecx
cmp eax, 0x80
jae 0x42b6ef
mov byte [esi], al
inc esi
jmp 0x42b704
mov edx, edi
mov ecx, esi
sub edx, esi
push eax
dec edx
call fcn.00404060
mov ecx, dword [ebp - 0x54]
add esp, 4
add esi, eax
cmp esi, ebx
jb 0x42b6d5
mov edi, dword [ebp - 0xac]
mov ebx, dword [ebp - 0x8c]
mov byte [esi], 0
mov ecx, 0x4385d0
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x80], eax
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42b742
test dl, dl
je 0x42b73e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42b742
add eax, 2
add ecx, 2
test dl, dl
jne 0x42b722
xor eax, eax
jmp 0x42b747
sbb eax, eax
or eax, 1
test eax, eax
je 0x42b785
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x80]
test ecx, ecx
je 0x42b785
inc eax
mov esi, 0x270f
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x42b781
jbe 0x42b77a
lea eax, [esi - 1]
push eax
push ecx
push 0x4385d0
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov byte [esi + 0x4385cf], 0
mov byte [ebp - 0x48], 1
mov eax, dword [ebp - 0x64]
mov dword [edi + 0xe70], 0
mov dword [edi + 0xe74], 0
mov dword [edi + 0xe78], 0
cmp byte [ebp - 0x59], 0
je 0x42b7b9
cmp dword [ebx + 0x1bd4], eax
jne 0x42b7b9
call fcn.004055e0
cmp byte [ebp - 0x76], 0
movss xmm0, dword [ebp - 0x44]
addss xmm0, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ecx + 0xd0]
mov ecx, dword [ecx + 0xd4]
movss dword [ebp - 8], xmm0
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [ebp - 0x90]
mov dword [ebp - 0x84], eax
movss xmm3, dword [ebp - 0x84]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x60], eax
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [ebp - 0x80]
mov dword [ebp - 0x54], ecx
movss dword [ebp - 0x94], xmm3
movss dword [ebp - 0x1c], xmm3
movss dword [ebp - 0x18], xmm0
je 0x42b828
mov esi, dword [edi + 0x20]
jmp 0x42b82d
mov esi, 0x4385d0
cmp byte [ebp - 0x49], 0
mov dword [ebp - 0xa4], esi
jne 0x42b915
cmp byte [ebp - 0x47], 0
jne 0x42b915
mov dl, byte [esi]
lea edi, [esi + 1]
xor ecx, ecx
test dl, dl
je 0x42b864
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [edi]
cmovne eax, ecx
inc edi
mov ecx, eax
test dl, dl
jne 0x42b852
mov al, byte [edi - 1]
dec edi
cmp al, 0xa
je 0x42b871
cmp al, 0xd
je 0x42b871
inc ecx
movss xmm7, dword [ebx + 0x1930]
movss xmm1, dword [0x435a1c]
movd xmm4, ecx
xor ecx, ecx
cvtdq2ps xmm4, xmm4
mulss xmm4, xmm7
movss dword [ebp - 0x9c], xmm4
call fcn.004042c0
mov ecx, dword [ebx + 0x192c]
mov esi, eax
mov eax, dword [ebp - 0x74]
mov edx, dword [eax + 0x284]
test esi, 0xff000000
je 0x42c22d
cmp dword [ebp - 0xa4], edi
je 0x42c22d
test ecx, ecx
jne 0x42b8ce
mov eax, dword [edx + 0x2c]
mov ecx, dword [eax + 8]
ucomiss xmm7, dword [0x4359a0]
lahf
test ah, 0x44
jp 0x42b8e3
mov eax, dword [edx + 0x2c]
movss xmm7, dword [eax + 0xc]
push dword [ebp - 0x54]
movups xmm0, xmmword [edx + 0x60]
lea eax, [ebp - 0x2c]
push dword [ebp - 0x60]
movaps xmm2, xmm7
push 0
push ecx
mov dword [esp], 0
push edi
push dword [ebp - 0xa4]
movups xmmword [ebp - 0x2c], xmm0
push eax
push esi
push edx
call fcn.004245e0
jmp 0x42c22d
mov eax, dword [edi + 8]
xor edx, edx
mov ecx, dword [edi + 0x14]
add eax, esi
mov esi, 0xfffffc18
xorps xmm6, xmm6
xorps xmm7, xmm7
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x64], ecx
movss dword [ebp - 0x54], xmm6
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x6c], esi
cmp byte [ebp - 0x49], dl
je 0x42b96c
mov eax, dword [edi + 0x3c]
or esi, 0xffffffff
mov dword [ebp - 0x9c], esi
lea eax, [ecx + eax*2]
mov dword [ebp - 0xb0], eax
lea edx, [esi + 2]
cmp byte [ebp - 0x47], 0
je 0x42b990
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [ebp - 0x64]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [ebp - 0x6c], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x64]
inc edx
xor eax, eax
movzx ebx, word [ebx]
test bx, bx
mov ebx, dword [ebp - 0x8c]
je 0x42ba0c
mov ebx, dword [ebp - 0x64]
xor edi, edi
movzx esi, word [ebx]
mov ebx, dword [ebp - 0x9c]
cmp si, 0xa
jne 0x42b9e0
inc edi
cmp ebx, 0xffffffff
jne 0x42b9cd
cmp ecx, dword [ebp - 0xb0]
jb 0x42b9cd
dec edx
mov ebx, edi
test edx, edx
jle 0x42b9ee
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x42b9e0
cmp ecx, dword [ebp - 0x7c]
jb 0x42b9e0
dec edx
mov dword [ebp - 0x6c], edi
test edx, edx
jle 0x42b9ee
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x42b9b2
mov dword [ebp - 0x80], edi
mov edi, dword [ebp - 0xac]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x9c], ebx
mov ebx, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xb0]
inc eax
cmp esi, 0xffffffff
mov dword [ebp - 0x80], eax
mov ecx, eax
cmovne ecx, esi
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x9c], ecx
mov ecx, dword [ebp - 0x6c]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [ebp - 0x6c], ecx
mov ecx, edx
cmp edx, esi
jbe 0x42ba4e
nop dword [eax]
cmp word [ecx - 2], 0xa
je 0x42ba4e
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x42ba40
mov eax, dword [0x43acf0]
movaps xmm1, xmm6
movaps xmm5, xmm6
mov esi, dword [eax + 0x192c]
movss xmm2, dword [eax + 0x1930]
divss xmm2, dword [esi + 0x10]
cmp ecx, edx
jae 0x42bab8
mov edi, dword [ebp - 0xb0]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x42ba8c
maxss xmm1, xmm5
movaps xmm5, xmm6
jmp 0x42baae
cmp edx, 0xd
je 0x42baae
mov edx, eax
cmp edx, dword [esi]
jge 0x42baa1
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x42baa6
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm5, xmm0
cmp ecx, edi
jb 0x42ba76
mov edi, dword [ebp - 0xac]
cmp dword [ebp - 0x6c], 0
maxss xmm5, xmm1
movd xmm2, dword [ebp - 0x9c]
movss xmm0, dword [ebx + 0x1930]
cvtdq2ps xmm2, xmm2
movss dword [ebp - 0x8c], xmm5
mulss xmm2, xmm0
movss dword [ebp - 0xb0], xmm2
jl 0x42bb93
mov eax, dword [ebp - 0x7c]
mov ecx, eax
mov edx, dword [ebp - 0x64]
cmp eax, edx
jbe 0x42bb0e
nop dword [eax]
cmp word [ecx - 2], 0xa
je 0x42bb0e
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x42bb00
movaps xmm1, xmm6
mov eax, dword [0x43acf0]
movaps xmm7, xmm6
mov esi, dword [eax + 0x192c]
movss xmm2, dword [eax + 0x1930]
divss xmm2, dword [esi + 0x10]
cmp ecx, dword [ebp - 0x7c]
jae 0x42bb76
mov edi, dword [ebp - 0x7c]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x42bb4a
maxss xmm1, xmm7
movaps xmm7, xmm6
jmp 0x42bb6c
cmp edx, 0xd
je 0x42bb6c
mov edx, eax
cmp edx, dword [esi]
jge 0x42bb5f
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x42bb64
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm7, xmm0
cmp ecx, edi
jb 0x42bb34
mov edi, dword [ebp - 0xac]
movd xmm3, dword [ebp - 0x6c]
maxss xmm7, xmm1
movss xmm0, dword [ebx + 0x1930]
cvtdq2ps xmm3, xmm3
mulss xmm3, xmm0
movss dword [ebp - 0x54], xmm3
cmp byte [ebp - 0x49], 0
movd xmm4, dword [ebp - 0x80]
cvtdq2ps xmm4, xmm4
mulss xmm4, xmm0
movss dword [ebp - 0x9c], xmm4
je 0x42bcbf
cmp byte [edi + 0xe6c], 0
je 0x42bcbf
movss xmm3, dword [edi + 0x38]
movaps xmm1, xmm5
comiss xmm3, xmm5
movss xmm0, dword [ebp - 0xa0]
movss xmm2, dword [ebp - 0xa0]
mulss xmm0, dword [0x4359d0]
subss xmm2, dword [ebx + 0x1550]
jbe 0x42bbf8
subss xmm1, xmm0
movaps xmm0, xmm6
maxss xmm0, xmm1
jmp 0x42bc05
subss xmm1, xmm2
comiss xmm1, xmm3
jb 0x42bc15
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
movss xmm2, dword [ebp - 0xb0]
movss xmm3, dword [ebp - 0x88]
movaps xmm0, xmm2
subss xmm0, dword [ebx + 0x1930]
comiss xmm3, xmm0
jbe 0x42bc46
movss xmm2, dword [ebp - 0x90]
movaps xmm3, xmm6
maxss xmm3, xmm0
jmp 0x42bc6a
movaps xmm0, xmm2
movss xmm2, dword [ebp - 0x90]
subss xmm0, xmm2
comiss xmm0, xmm3
jb 0x42bc6a
movss xmm3, dword [ebx + 0x1554]
addss xmm3, xmm3
addss xmm3, xmm0
comiss xmm6, xmm3
movss xmm1, dword [ebx + 0x1554]
jbe 0x42bc7c
movaps xmm1, xmm6
jmp 0x42bc90
addss xmm1, xmm1
addss xmm1, xmm4
subss xmm1, xmm2
maxss xmm1, xmm6
minss xmm1, xmm3
mov eax, dword [ebp - 0x74]
movss xmm0, dword [eax + 0x5c]
subss xmm0, xmm1
addss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x18], xmm0
movss dword [eax + 0x5c], xmm1
mov byte [edi + 0xe6c], 0
movss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0x94], xmm0
cmp byte [ebp - 0x47], 0
movss xmm5, dword [edi + 0x38]
movss xmm4, dword [0x4359e4]
movss dword [ebp - 0x7c], xmm5
je 0x42bf26
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov esi, dword [ebp - 0x64]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0x49], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x64]
lea eax, [eax + edx*2]
mov dword [ebp - 0x80], eax
je 0x42bd0a
movss xmm1, dword [0x435a1c]
jmp 0x42bd12
movss xmm1, dword [0x4359e8]
mov ecx, 0x2f
call fcn.004042c0
movss xmm4, dword [ebp - 0x18]
xorps xmm6, xmm6
addss xmm4, dword [ebp - 0x54]
movss xmm5, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x80]
addss xmm5, xmm7
mov dword [ebp - 0x90], eax
subss xmm4, xmm6
subss xmm5, dword [ebp - 0x7c]
movss dword [ebp - 0x54], xmm4
cmp esi, ecx
jae 0x42bf19
movss xmm7, dword [ebp - 0xa8]
mov edi, dword [0x43acf0]
movaps xmm0, xmm7
addss xmm0, dword [ebx + 0x1930]
comiss xmm4, xmm0
ja 0x42bf13
movss xmm0, dword [ebp - 0x40]
comiss xmm0, xmm4
jbe 0x42bda9
cmp esi, ecx
jae 0x42bef1
nop dword [eax + eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x42bef1
cmp esi, ecx
jb 0x42bd90
jmp 0x42bf13
mov edx, dword [edi + 0x192c]
movaps xmm3, xmm6
movss xmm2, dword [edi + 0x1930]
movaps xmm1, xmm6
divss xmm2, dword [edx + 0x10]
cmp esi, ecx
jae 0x42be09
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x42bdfc
cmp ecx, 0xd
je 0x42bdf3
cmp ecx, dword [edx]
jge 0x42bde6
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x42bdeb
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
mov ecx, dword [ebp - 0x80]
cmp esi, ecx
jb 0x42bdc6
jmp 0x42be09
mov ecx, dword [ebp - 0x80]
movaps xmm3, xmm6
maxss xmm3, xmm1
movaps xmm1, xmm6
maxss xmm1, xmm3
comiss xmm6, xmm1
jb 0x42be42
mov eax, dword [ebx + 0x192c]
cmp dword [eax], 0x20
jle 0x42be2a
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x42be2f
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x4359e4]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm2, xmm6
addss xmm1, xmm5
subss xmm2, dword [ebx + 0x1930]
movaps xmm0, xmm4
movaps xmm3, xmm5
addss xmm0, xmm6
addss xmm3, xmm6
minss xmm1, dword [ebp - 8]
addss xmm2, xmm4
minss xmm0, xmm7
maxss xmm3, dword [ebp - 0x44]
movss dword [ebp - 0x24], xmm1
maxss xmm2, dword [ebp - 0x40]
comiss xmm0, dword [ebp - 0x40]
movss dword [ebp - 0x2c], xmm3
movss dword [ebp - 0x28], xmm2
movss dword [ebp - 0x20], xmm0
jbe 0x42bef1
comiss xmm7, xmm2
jbe 0x42bef1
comiss xmm1, dword [ebp - 0x44]
jbe 0x42bef1
movss xmm0, dword [ebp - 8]
comiss xmm0, xmm3
jbe 0x42bef1
push 0
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x24]
push dword [ebp - 0x90]
push eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax + 0x284]
call fcn.00420830
movss xmm4, dword [ebp - 0x1c]
xorps xmm6, xmm6
movss xmm7, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x80]
mov edi, dword [0x43acf0]
movss dword [ebp - 0x94], xmm4
movss xmm4, dword [ebp - 0x54]
movss xmm5, dword [ebp - 0x94]
addss xmm4, dword [ebx + 0x1930]
subss xmm5, dword [ebp - 0x7c]
movss dword [ebp - 0x54], xmm4
cmp esi, ecx
jb 0x42bd62
mov edi, dword [ebp - 0xac]
movss xmm5, dword [ebp - 0x7c]
movss xmm4, dword [0x4359e4]
mov eax, dword [0x43acf0]
movss xmm7, dword [0x435a1c]
movups xmm2, xmmword [eax + 0x15dc]
comiss xmm6, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [eax + 0x1518]
movups xmmword [ebp - 0x2c], xmm2
jbe 0x42bf57
movaps xmm0, xmm6
jmp 0x42bf5e
movaps xmm0, xmm7
minss xmm0, xmm2
movss xmm2, dword [0x435a98]
movss xmm3, dword [ebp - 0x28]
comiss xmm6, xmm3
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si ecx, xmm0
jbe 0x42bf81
movaps xmm0, xmm6
jmp 0x42bf88
movaps xmm0, xmm7
minss xmm0, xmm3
movss xmm3, dword [ebp - 0x24]
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm3
jbe 0x42bfa8
movaps xmm0, xmm6
jmp 0x42bfaf
movaps xmm0, xmm7
minss xmm0, xmm3
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm6, xmm1
jbe 0x42bfca
movaps xmm0, xmm6
jmp 0x42bfd1
movaps xmm0, xmm7
minss xmm0, xmm1
mov eax, dword [ebp - 0x74]
mulss xmm0, xmm2
movss xmm2, dword [ebx + 0x1930]
mov esi, dword [eax + 0x284]
mov eax, dword [ebx + 0x192c]
addss xmm0, xmm4
mov dword [ebp - 0x54], eax
cvttss2si edx, xmm0
movss xmm0, dword [ebp - 0x94]
subss xmm0, xmm5
shl edx, 0x18
or edx, ecx
mov ecx, dword [ebp - 0x60]
movss dword [ebp - 0x98], xmm0
movss xmm0, dword [ebp - 0x18]
subss xmm0, xmm6
movss dword [ebp - 0x94], xmm0
test edx, 0xff000000
je 0x42c0b2
test ecx, ecx
jne 0x42c056
mov ecx, dword [ebp - 0xa4]
lea eax, [ecx + 1]
mov dword [ebp - 0x80], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42c040
sub ecx, dword [ebp - 0x80]
add ecx, dword [ebp - 0xa4]
mov eax, dword [ebx + 0x192c]
cmp dword [ebp - 0xa4], ecx
je 0x42c0b2
test eax, eax
jne 0x42c06b
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x54], eax
ucomiss xmm2, xmm6
lahf
test ah, 0x44
jp 0x42c07c
mov eax, dword [esi + 0x2c]
movss xmm2, dword [eax + 0xc]
push dword [ebp - 0x94]
movups xmm0, xmmword [esi + 0x60]
lea eax, [ebp - 0x2c]
push dword [ebp - 0x98]
movups xmmword [ebp - 0x2c], xmm0
push 0
push ecx
mov dword [esp], 0
push ecx
push dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x54]
push eax
push edx
push esi
call fcn.004245e0
xorps xmm6, xmm6
cmp byte [ebp - 0x49], 0
je 0x42c22a
movss xmm0, dword [ebx + 0x18]
addss xmm0, dword [edi + 0xe68]
movss dword [edi + 0xe68], xmm0
cmp byte [ebx + 0xb2], 0
je 0x42c112
comiss xmm6, xmm0
jae 0x42c112
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x58], xmm0
fld qword [ebp - 0x58]
fld qword [0x435a40]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x435a04]
fstp qword [ebp - 0x58]
movsd xmm1, qword [ebp - 0x58]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x42c112
xor cl, cl
jmp 0x42c114
mov cl, 1
movss xmm0, dword [ebp - 0x1c]
movss xmm6, dword [0x435a1c]
addss xmm0, dword [ebp - 0x8c]
subss xmm0, dword [ebp - 0x7c]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x18]
addss xmm0, dword [ebp - 0xb0]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x4359a0]
movss dword [ebp - 0x54], xmm1
movaps xmm4, xmm1
movss dword [ebp - 0x2c], xmm1
addss xmm4, xmm6
cvttss2si eax, xmm0
movss dword [ebp - 0x24], xmm4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x80], xmm0
movaps xmm2, xmm0
movaps xmm3, xmm0
subss xmm2, dword [ebx + 0x1930]
subss xmm3, dword [0x435a38]
addss xmm2, dword [0x4359e4]
movss dword [ebp - 0x20], xmm3
movss dword [ebp - 0x28], xmm2
test cl, cl
je 0x42c20e
comiss xmm3, dword [ebp - 0x40]
jbe 0x42c20e
movss xmm5, dword [ebp - 0xa8]
comiss xmm5, xmm2
jbe 0x42c20e
comiss xmm4, dword [ebp - 0x44]
jbe 0x42c20e
movss xmm2, dword [ebp - 8]
comiss xmm2, xmm1
jbe 0x42c20e
sub esp, 8
movss dword [ebp - 0xc], xmm1
movaps xmm1, xmm6
movss dword [ebp - 8], xmm3
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.004042c0
add esp, 4
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax + 0x284]
call fcn.00420630
movss xmm1, dword [ebp - 0x54]
movss xmm0, dword [ebp - 0x80]
movss xmm6, dword [0x435a1c]
subss xmm0, dword [ebx + 0x1930]
subss xmm1, xmm6
movss dword [ebx + 0x2ecc], xmm0
movss dword [ebx + 0x2ec8], xmm1
mov edi, dword [ebp - 0x60]
mov ecx, dword [0x43acf0]
movss xmm1, dword [ebp - 0x9c]
addss xmm1, dword [ebx + 0x1554]
movss xmm0, dword [ebp - 0xa0]
mov eax, dword [ecx + 0x1b9c]
movss dword [ebp - 0x58], xmm0
movss dword [ebp - 0x54], xmm1
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1b9c]
cmp byte [eax + 0x8f], 0
jne 0x42c2c1
movss xmm2, dword [eax + 0xd0]
lea ecx, [ebp - 0x58]
movaps xmm3, xmm2
movss dword [ebp - 0x2c], xmm2
addss xmm3, xmm0
movss xmm0, dword [eax + 0xd4]
addss xmm1, xmm0
movss dword [ebp - 0x28], xmm0
movss dword [ebp - 0x24], xmm3
movss dword [ebp - 0x20], xmm1
movss xmm1, dword [0x435ac8]
call fcn.0040e870
push 0
push 0
xor edx, edx
lea ecx, [ebp - 0x2c]
call fcn.0040e9a0
add esp, 8
call fcn.00409640
call fcn.0040ee30
cmp byte [ebx + 0x2f20], 0
je 0x42c2ff
mov eax, dword [0x43acf0]
lea ecx, [ebp - 0x1c]
mov edx, dword [ebp - 0xa4]
push edi
mov dword [eax + 0x2f38], 0x4358b8
mov dword [eax + 0x2f3c], 0x4358b4
call fcn.00413480
add esp, 4
movss xmm0, dword [ebp - 0xb4]
comiss xmm0, dword [0x4359a0]
jbe 0x42c34b
movss xmm0, dword [ebp - 0x3c]
xor edx, edx
addss xmm0, dword [ebx + 0x1568]
mov ecx, str.source
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [ebx + 0x1554]
movss dword [ebp - 0x54], xmm0
push dword [ebp - 0x54]
push dword [ebp - 0x58]
push 1
call fcn.00404420
add esp, 0xc
mov al, byte [ebp - 0x48]
test al, al
je 0x42c36e
mov ecx, dword [0x43acf0]
mov word [ecx + 0x1be4], 0x101
mov ecx, dword [ecx + 0x1b9c]
or dword [ecx + 0x120], 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042f9d8
mov esp, ebp
pop ebp
ret