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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa4
mov eax, dword [0x47d040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [0x48536c]
mov dword [ebp - 0x48], eax
push esi
mov esi, dword [ebp + 0x10]
mov eax, dword [ebx + 0x1a68]
push edi
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x3c], ebx
mov byte [eax + 0x7c], 1
mov edi, dword [ebx + 0x1a68]
mov dword [ebp - 0x90], edi
cmp byte [edi + 0x7f], 0
jne 0x42dbc7
mov ecx, dword [edi + 0xbc]
xor edx, edx
mov eax, dword [edi + 0xc4]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x94]
call fcn.00407b70
add esp, 4
mov dword [ebp - 0x60], eax
cmp dword [ebx + 0x1aa0], eax
jne 0x42be7f
mov dword [ebx + 0x1aa4], eax
cmp dword [ebx + 0x1adc], eax
jne 0x42be8e
mov byte [ebx + 0x1ae0], 1
mov eax, dword [ebp - 0x94]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x42beb6
nop dword [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x42beb6
cmp dl, 0x23
jne 0x42beb0
cmp byte [ecx + 1], dl
je 0x42beb6
inc ecx
cmp ecx, 0xffffffff
jb 0x42bea0
movss xmm2, dword [ebx + 0x192c]
cmp eax, ecx
jne 0x42becf
xorps xmm7, xmm7
movss dword [ebp - 0x98], xmm7
jmp 0x42bf1a
movss xmm3, dword [0x475b9c]
push 0
push ecx
push eax
push ecx
mov ecx, dword [ebx + 0x1928]
lea eax, [ebp - 0x74]
mov dword [esp], 0xbf800000
push eax
call fcn.00425a00
movss xmm0, dword [ebp - 0x74]
xorps xmm7, xmm7
addss xmm0, dword [0x475a94]
movss xmm2, dword [ebp - 0x70]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x98], xmm0
test byte [ebx + 0x1b50], 1
mov eax, dword [ebx + 0x1a68]
je 0x42bf33
movss xmm0, dword [ebx + 0x1b54]
jmp 0x42bf3b
movss xmm0, dword [eax + 0x1a8]
comiss xmm7, xmm0
jbe 0x42bf71
cmp dword [eax + 0x190], 0
movss xmm1, dword [eax + 0x254]
je 0x42bf59
movss xmm1, dword [eax + 0x224]
subss xmm1, dword [eax + 0xc8]
addss xmm1, xmm0
movss xmm0, dword [0x475a9c]
maxss xmm0, xmm1
movss xmm5, dword [ebx + 0x155c]
xorps xmm1, xmm1
movss xmm6, dword [esi]
movaps xmm3, xmm5
comiss xmm7, xmm6
mov ecx, dword [ebx + 0x1a68]
addss xmm3, xmm5
movss dword [ebp - 0x54], xmm6
cvttss2si eax, xmm0
addss xmm3, xmm2
xorps xmm0, xmm0
movss xmm2, dword [esi + 4]
movss dword [ebp - 0x5c], xmm2
movd xmm4, eax
cvtdq2ps xmm4, xmm4
ja 0x42bfb8
comiss xmm7, xmm2
jbe 0x42bfd9
cmp dword [ecx + 0x190], 0
movss xmm0, dword [ecx + 0x254]
movss xmm1, dword [ecx + 0x258]
je 0x42bfd9
movss xmm0, dword [ecx + 0x224]
movss xmm2, dword [0x475ac8]
ucomiss xmm6, xmm7
lahf
test ah, 0x44
jp 0x42bff4
movaps xmm6, xmm4
movss dword [ebp - 0x54], xmm6
jmp 0x42c017
comiss xmm7, xmm6
jbe 0x42c017
subss xmm0, dword [ecx + 0xc8]
addss xmm6, xmm0
comiss xmm2, xmm6
movss dword [ebp - 0x54], xmm6
jb 0x42c017
movaps xmm6, xmm2
movss dword [ebp - 0x54], xmm2
movss xmm0, dword [ebp - 0x5c]
ucomiss xmm0, xmm7
lahf
test ah, 0x44
jp 0x42c02a
movaps xmm0, xmm3
jmp 0x42c048
comiss xmm7, xmm0
jbe 0x42c04d
subss xmm1, dword [ecx + 0xcc]
addss xmm0, xmm1
comiss xmm2, xmm0
movss dword [ebp - 0x5c], xmm0
jb 0x42c04d
movaps xmm0, xmm2
movss dword [ebp - 0x5c], xmm0
movss xmm1, dword [ebp - 0x98]
comiss xmm1, xmm7
jbe 0x42c067
movaps xmm4, xmm1
addss xmm4, dword [ebx + 0x1570]
jmp 0x42c06a
xorps xmm4, xmm4
movss xmm3, dword [edi + 0xc8]
lea ecx, [ebp - 0x74]
movss xmm2, dword [edi + 0xcc]
movaps xmm1, xmm6
addss xmm1, xmm3
movss dword [ebp - 0x2c], xmm3
addss xmm0, xmm2
movss dword [ebp - 0x28], xmm2
movss dword [ebp - 0x14], xmm3
movss dword [ebp - 0x10], xmm2
movss dword [ebp - 0x24], xmm1
movaps xmm1, xmm6
addss xmm1, xmm4
movss dword [ebp - 0x20], xmm0
movaps xmm0, xmm2
addss xmm0, dword [ebp - 0x5c]
addss xmm1, xmm3
movss dword [ebp - 8], xmm0
subss xmm0, xmm2
movss dword [ebp - 0xc], xmm1
subss xmm1, xmm3
movss dword [ebp - 0x70], xmm0
movss dword [ebp - 0x74], xmm1
movaps xmm1, xmm5
call fcn.00411fb0
mov esi, dword [ebp - 0x60]
lea eax, [ebp - 0x2c]
push eax
mov edx, esi
lea ecx, [ebp - 0x14]
call fcn.004120e0
add esp, 4
test al, al
je 0x42dbc7
mov edx, esi
lea ecx, [ebp - 0x2c]
call fcn.00409e90
mov byte [ebp - 0x32], al
test al, al
je 0x42c114
mov dword [ebx + 0x1e5c], 1
mov edi, dword [0x48536c]
xor eax, eax
mov ecx, dword [ebp - 0x90]
add edi, 0x1f30
mov edx, esi
cmp dword [edi], esi
cmovne edi, eax
mov dword [ebp - 0x8c], edi
call fcn.0040a0f0
test al, al
je 0x42c175
mov edx, dword [ebp - 0x90]
cmp dword [ebx + 0x1cc0], edx
jne 0x42c175
mov ecx, dword [ebx + 0x1cc8]
cmp ecx, dword [edx + 0x19c]
jne 0x42c175
mov byte [ebp - 0x33], 1
mov byte [ebp - 0x35], 0
cmp byte [ebp - 0x32], 0
je 0x42c187
cmp byte [ebx + 0x3e0], 0
je 0x42c187
mov dl, 1
jmp 0x42c189
mov byte [ebp - 0x33], 0
test al, al
je 0x42c15e
mov byte [ebp - 0x35], 1
mov byte [ebp - 0x33], 0
jmp 0x42c162
xor dl, dl
mov ecx, dword [ebx + 0x1aa0]
mov byte [ebp - 0x34], dl
cmp ecx, esi
je 0x42c1b6
cmp dword [ebx + 0x1bb8], esi
je 0x42c1af
cmp dword [ebx + 0x1bac], esi
jne 0x42c1b6
cmp dword [ebx + 0x1bd0], 3
jne 0x42c1b6
mov ah, 1
mov byte [ebp - 0x44], ah
jmp 0x42c1bc
mov byte [ebp - 0x44], 0
xor ah, ah
mov byte [ebp - 0x68], 0
mov byte [ebp - 0x2d], ah
mov dword [ebp - 0x40], 1
test al, al
jne 0x42c1de
test dl, dl
jne 0x42c1de
test ah, ah
jne 0x42c1de
mov byte [ebp - 0x2e], al
jmp 0x42c3d2
mov dword [ebp - 0x8c], edi
mov al, 1
mov byte [ebp - 0x2e], al
cmp ecx, esi
je 0x42c3d2
mov ecx, dword [ebp - 0x48]
lea edi, [ebx + 0x1f30]
mov dword [ebp - 0x8c], edi
mov dword [edi + 0xe60], 0xbe99999a
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42c210
mov ebx, dword [edi + 0x28]
lea eax, [edi + 0x24]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, ebx
jle 0x42c24f
test ebx, ebx
je 0x42c237
mov eax, ebx
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, ebx
jmp 0x42c23c
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [edi + 0x24]
push eax
call fcn.004178d0
lea eax, [edi + 0x24]
push esi
push dword [ebp - 0x48]
mov dword [eax], esi
push dword [edi + 0x2c]
call fcn.00443620
mov ebx, dword [ebp + 0xc]
lea eax, [edi + 0xc]
mov esi, dword [eax + 4]
inc ebx
add esp, 0xc
cmp ebx, esi
jle 0x42c297
test esi, esi
je 0x42c27f
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x42c284
mov ecx, 8
cmp ecx, ebx
mov eax, ebx
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.00417940
lea eax, [edi + 0xc]
mov dword [eax], ebx
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x42c2b9
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.004178d0
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x48]
dec eax
mov dword [edi + 0x18], 0
mov ebx, edx
mov ecx, dword [edi + 0x14]
mov esi, ecx
mov byte [edi + 0x30], 0
mov dword [ebp - 0x4c], ecx
lea eax, [ecx + eax*2]
cmp ecx, eax
jae 0x42c314
nop dword [eax]
cmp byte [ebx], 0
je 0x42c311
push 0
mov edx, ebx
lea ecx, [ebp - 0x7c]
call fcn.00407de0
mov ecx, dword [ebp - 0x4c]
add ebx, eax
mov eax, dword [ebp - 0x7c]
add esp, 4
test eax, eax
je 0x42c311
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0xc]
dec eax
lea eax, [ecx + eax*2]
cmp esi, eax
jb 0x42c2e0
mov edx, dword [ebp - 0x48]
xor eax, eax
sub ebx, edx
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x60]
sar esi, 1
mov dword [edi + 4], esi
mov dword [edi + 8], ebx
cmp dword [edi], eax
jne 0x42c352
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 0x42c3b3
mov edx, dword [ebp - 0x44]
mov esi, eax
cmp byte [ebp - 0x33], 0
movzx edx, dl
cmovne edx, dword [ebp - 0x40]
mov dword [edi], esi
mov dword [edi + 0x38], 0
mov dword [edi + 0xe52], 0x630000
mov dword [edi + 0xe58], 0
mov dword [edi + 0xe5c], 0x3e7
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x48], 0x10000
mov dword [edi + 0x50], 0
mov byte [edi + 0x4c], 1
mov dword [ebp - 0x44], edx
cmp byte [ebp - 0x35], 0
mov ebx, dword [ebp - 0x3c]
jne 0x42c3cb
cmp byte [ebp - 0x34], 0
je 0x42c3cf
cmp byte [ebx + 0x100], 0
je 0x42c3cf
mov byte [ebp - 0x44], 1
mov al, byte [ebp - 0x2e]
cmp dword [ebx + 0x1aa0], esi
je 0x42c423
test al, al
je 0x42c41b
mov edx, dword [ebp - 0x90]
mov ecx, esi
call fcn.00409db0
call fcn.00413340
mov ecx, edx
call fcn.00411af0
or dword [ebx + 0x1ab4], 3
or dword [ebx + 0x1ab8], 2
mov eax, dword [ebx + 0x1ac4]
or dword [ebx + 0x1ac0], 0x180
mov dword [ebx + 0x1ac4], eax
cmp dword [ebx + 0x1aa0], esi
jne 0x42c456
test edi, edi
jne 0x42c430
xor edx, edx
xor ecx, ecx
call fcn.00409db0
cmp dword [ebx + 0x1aa0], esi
jne 0x42c456
cmp byte [ebx + 0x3e0], 0
je 0x42c452
mov eax, dword [ebp - 0x68]
cmp byte [ebp - 0x2e], 0
movzx eax, al
cmove eax, dword [ebp - 0x40]
mov dword [ebp - 0x68], eax
mov dl, 1
jmp 0x42c458
xor dl, dl
mov byte [ebp - 0x2e], dl
test edi, edi
je 0x42c475
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x42c475
test dl, dl
je 0x42c475
mov byte [ebp - 0x2f], 1
mov byte [ebp - 0x31], 0
jmp 0x42c490
xor cl, cl
mov byte [ebp - 0x31], cl
mov byte [ebp - 0x2f], cl
test dl, dl
jne 0x42c48c
mov byte [ebp - 0x2f], dl
cmp dword [ebx + 0x1aa0], esi
jne 0x42c49a
test edi, edi
je 0x42c49a
cmp byte [edi + 0x30], 0
mov byte [ebp - 0x64], 1
jne 0x42c49e
mov byte [ebp - 0x64], 0
cmp dword [ebx + 0x1aa0], esi
jne 0x42c777
mov eax, dword [ebp + 0xc]
mov dword [edi + 0x34], eax
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
cmp byte [ebx + 0xf0], 0
movss xmm2, dword [ebx + 0x192c]
mulss xmm2, dword [0x475a68]
sete al
cmp byte [ebp - 0x44], 0
mov byte [ebx + 0x1aad], al
mov dword [ebx + 0x30b8], 1
movss xmm7, dword [ebx + 0xe8]
subss xmm7, dword [ebp - 0x2c]
mov al, byte [ebx + 0xb1]
mov byte [ebp - 0x30], al
subss xmm7, dword [ebx + 0x1558]
addss xmm7, dword [edi + 0x38]
jne 0x42c67c
mov cl, byte [ebp - 0x32]
test cl, cl
je 0x42c53c
test al, al
jne 0x42c59e
cmp byte [ebx + 0x3e5], al
jne 0x42c67c
cmp byte [ebx + 0x3e0], 0
je 0x42c5f2
cmp byte [edi + 0xe65], 0
jne 0x42c5f2
test cl, cl
je 0x42c69a
cmp byte [edi + 0x4c], 0
je 0x42c578
push 0
mov edx, edi
lea ecx, [ebp - 0x1c]
call fcn.0042a6d0
movss xmm2, dword [ebp - 0x10]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.0042aa00
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov byte [edi + 0x4b], 0
mov dword [edi + 0xe60], 0xbe99999a
jmp 0x42c697
cmp byte [ebx + 0x3e5], 0
je 0x42c53c
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042adf0
add esp, 4
mov byte [edi + 0xe64], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, edi
push 0x60000d
call fcn.0042adf0
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
jmp 0x42c697
cmp byte [ebx + 0xf0], 0
je 0x42c69a
cmp byte [edi + 0xe65], 0
jne 0x42c6a3
movss xmm0, dword [ebx + 0x378]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x42c631
movss xmm0, dword [ebx + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x42c69a
cmp byte [edi + 0x4c], 0
je 0x42c64b
push 0
mov edx, edi
lea ecx, [ebp - 0x1c]
call fcn.0042a6d0
movss xmm2, dword [ebp - 0x10]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x42c659
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm7
mov ecx, edi
call fcn.0042aa00
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0xe60], 0xbe99999a
mov byte [edi + 0xe64], 1
jmp 0x42c697
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
mov byte [edi + 0xe65], 1
mov al, byte [ebp - 0x30]
cmp byte [edi + 0xe65], 0
je 0x42c6b3
cmp byte [ebx + 0xf0], 0
jne 0x42c6b3
mov byte [edi + 0xe65], 0
cmp byte [ebx + 0x100], 0
je 0x42c6c5
cmp byte [ebx + 0x102], 0
je 0x42c6d2
test al, al
je 0x42c6d6
cmp byte [ebx + 0x103], 0
je 0x42c6d6
mov al, 1
jmp 0x42c6d8
xor al, al
cmp dword [ebx + 0x1510], 0
jle 0x42c777
test al, al
jne 0x42c747
cmp byte [ebp - 0x2d], al
jne 0x42c747
xor esi, esi
mov eax, dword [ebx + 0x1518]
movzx ecx, word [eax + esi*2]
cmp ecx, 9
jne 0x42c708
cmp byte [ebx + 0x101], 0
jne 0x42c73e
cmp ecx, 0x20
jb 0x42c73e
cmp ecx, 0x7f
je 0x42c73e
lea eax, [ecx - 0xe000]
cmp eax, 0x18ff
jbe 0x42c73e
push ecx
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042adf0
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
inc esi
cmp esi, dword [ebx + 0x1510]
jl 0x42c6f0
mov ecx, dword [ebx + 0x1514]
test ecx, ecx
jns 0x42c76d
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 + 0x1510]
call fcn.00417940
mov dword [ebx + 0x1510], 0
mov eax, dword [ebp - 0x60]
xor cl, cl
mov byte [ebp - 0x2d], cl
cmp dword [ebx + 0x1aa0], eax
jne 0x42d05c
cmp byte [ebx + 0x1aac], cl
jne 0x42ce43
cmp byte [ebp - 0x68], cl
jne 0x42ce43
mov eax, dword [ebp - 0x3c]
xor ebx, ebx
mov ecx, 0x400000
cmp byte [eax + 0x101], bl
cmovne ebx, ecx
mov cl, byte [eax + 0xb1]
mov byte [ebp - 0x4d], cl
test cl, cl
je 0x42c7cf
cmp dword [eax + 0x380], 0xa
jne 0x42c7cf
mov byte [ebp - 0x32], 1
jmp 0x42c7d7
mov byte [ebp - 0x32], 0
test cl, cl
je 0x42c7fc
cmp byte [eax + 0x103], 0
mov cl, byte [eax + 0x102]
mov byte [ebp - 0x33], cl
je 0x42c809
cmp byte [eax + 0x100], 0
jne 0x42c809
test cl, cl
jne 0x42c809
mov byte [ebp - 0x34], 1
jmp 0x42c80d
mov cl, byte [eax + 0x100]
mov byte [ebp - 0x33], cl
mov byte [ebp - 0x32], 0
mov byte [ebp - 0x34], 0
cmp byte [eax + 0xb1], 0
mov edx, dword [eax + 0x380]
mov dword [ebp - 0x40], edx
je 0x42c824
cmp edx, 8
jmp 0x42c827
cmp edx, 1
mov esi, dword [0x48536c]
sete al
mov byte [ebp - 0x30], al
test al, al
je 0x42c84d
mov ecx, dword [esi + 0x80]
test ecx, ecx
js 0x42c84d
call fcn.0040d130
test al, al
jne 0x42c862
mov edx, dword [ebp - 0x40]
cmp edx, 2
jne 0x42c868
mov ecx, dword [esi + 0x5c]
test ecx, ecx
js 0x42c868
call fcn.0040d130
test al, al
je 0x42c868
mov byte [ebp - 0x35], 1
jmp 0x42c86c
mov byte [ebp - 0x35], 0
cmp byte [ebp - 0x30], 0
je 0x42c882
mov ecx, dword [esi + 0x78]
test ecx, ecx
js 0x42c882
call fcn.0040d130
test al, al
jne 0x42c898
cmp dword [ebp - 0x40], 1
jne 0x42c89e
mov ecx, dword [esi + 0x58]
test ecx, ecx
js 0x42c89e
call fcn.0040d130
test al, al
je 0x42c89e
mov byte [ebp - 0x62], 1
jmp 0x42c8a2
mov byte [ebp - 0x62], 0
cmp byte [ebp - 0x30], 0
je 0x42c8b8
mov ecx, dword [esi + 0x7c]
test ecx, ecx
js 0x42c8b8
call fcn.0040d130
test al, al
jne 0x42c8ce
cmp dword [ebp - 0x40], 2
jne 0x42c8d4
mov ecx, dword [esi + 0x58]
test ecx, ecx
js 0x42c8d4
call fcn.0040d130
test al, al
je 0x42c8d4
mov byte [ebp - 0x63], 1
jmp 0x42c8d8
mov byte [ebp - 0x63], 0
mov al, byte [ebp - 0x30]
test al, al
je 0x42c8fb
mov ecx, dword [esi + 0x88]
test ecx, ecx
js 0x42c8fb
call fcn.0040d130
test al, al
je 0x42c8f8
mov byte [ebp - 0x61], 1
jmp 0x42c903
mov al, byte [ebp - 0x30]
mov byte [ebp - 0x61], 0
test al, al
je 0x42c916
mov ecx, dword [esi + 0x84]
test ecx, ecx
js 0x42c916
call fcn.0040d130
test al, al
jne 0x42c92f
cmp byte [ebp - 0x32], 0
je 0x42c935
mov ecx, dword [esi + 0x88]
test ecx, ecx
js 0x42c935
call fcn.0040d130
test al, al
je 0x42c935
mov byte [ebp - 0x32], 1
jmp 0x42c939
mov byte [ebp - 0x32], 0
mov ecx, dword [esi + 0x38]
test ecx, ecx
js 0x42c989
call fcn.0040d130
test al, al
je 0x42c989
cmp byte [ebp - 0x34], 0
je 0x42c966
mov eax, 0x200004
lea edx, [edi + 0x3c]
or eax, ebx
mov ecx, edi
push eax
call fcn.0042adf0
jmp 0x42ce0f
cmp byte [ebp - 0x33], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000c
mov eax, 0x200000
cmovne eax, ecx
mov ecx, edi
or eax, ebx
push eax
call fcn.0042adf0
jmp 0x42ce0f
mov ecx, dword [esi + 0x3c]
test ecx, ecx
js 0x42c9d9
call fcn.0040d130
test al, al
je 0x42c9d9
cmp byte [ebp - 0x34], 0
je 0x42c9b6
mov eax, 0x200005
lea edx, [edi + 0x3c]
or eax, ebx
mov ecx, edi
push eax
call fcn.0042adf0
jmp 0x42ce0f
cmp byte [ebp - 0x33], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000d
mov eax, 0x200001
cmovne eax, ecx
mov ecx, edi
or eax, ebx
push eax
call fcn.0042adf0
jmp 0x42ce0f
mov ecx, dword [esi + 0x50]
test ecx, ecx
js 0x42ca13
call fcn.0040d130
test al, al
je 0x42ca13
mov eax, ebx
or eax, 0x200006
or ebx, 0x200004
mov ecx, dword [ebp - 0x3c]
lea edx, [edi + 0x3c]
cmp byte [ecx + 0x100], 0
mov ecx, edi
cmovne ebx, eax
push ebx
call fcn.0042adf0
jmp 0x42ce0f
mov ecx, dword [esi + 0x54]
test ecx, ecx
js 0x42ca32
call fcn.0040d130
test al, al
je 0x42ca32
mov eax, ebx
or eax, 0x200007
or ebx, 0x200005
jmp 0x42c9f6
mov ecx, dword [esi + 0x5c]
test ecx, ecx
js 0x42ca58
call fcn.0040d130
test al, al
je 0x42ca58
or ebx, 0x200008
lea edx, [edi + 0x3c]
push ebx
mov ecx, edi
call fcn.0042adf0
jmp 0x42ce0f
mov ecx, dword [esi + 0x60]
test ecx, ecx
js 0x42cade
call fcn.0040d130
test al, al
je 0x42cade
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x42cac8
cmp byte [ebp - 0x33], 0
je 0x42ca81
push 0x60000c
jmp 0x42caaa
cmp byte [ebp - 0x4d], 0
je 0x42cac8
mov ecx, dword [ebp - 0x3c]
cmp byte [ecx + 0x103], 0
je 0x42cac8
cmp byte [ecx + 0x102], 0
jne 0x42cac8
cmp byte [ecx + 0x100], 0
jne 0x42cac8
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042adf0
mov dword [edi + 0xe60], 0xbe99999a
add esp, 4
mov byte [edi + 0xe64], 1
or ebx, 0x200009
lea edx, [edi + 0x3c]
push ebx
mov ecx, edi
call fcn.0042adf0
jmp 0x42ce0f
mov ecx, dword [esi + 0x68]
test ecx, ecx
js 0x42caee
call fcn.0040d130
test al, al
jne 0x42cafe
mov ecx, dword [esi + 0x70]
test ecx, ecx
js 0x42cb07
call fcn.0040d130
test al, al
je 0x42cb07
mov byte [ebp - 0x68], 1
jmp 0x42ce23
mov ecx, dword [esi + 0x6c]
test ecx, ecx
js 0x42cb24
call fcn.0040d130
test al, al
je 0x42cb24
mov ebx, dword [ebp - 0x3c]
mov cl, 1
mov byte [ebp - 0x68], cl
jmp 0x42ce29
mov al, byte [ebp - 0x61]
test al, al
jne 0x42cdf0
cmp byte [ebp - 0x32], al
jne 0x42cdf0
cmp byte [ebp - 0x30], al
je 0x42cb66
mov ecx, dword [esi + 0x74]
test ecx, ecx
js 0x42cb66
call fcn.0040d130
test al, al
je 0x42cb66
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
jmp 0x42ce1c
mov al, byte [ebp - 0x35]
test al, al
jne 0x42cceb
cmp byte [ebp - 0x62], al
jne 0x42cceb
cmp byte [ebp - 0x63], al
je 0x42ce23
mov eax, dword [esi + 0xd0]
test eax, eax
je 0x42cbaa
push dword [esi + 0xd8]
call eax
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x42ce23
mov esi, dword [0x48536c]
jmp 0x42cbaf
mov ebx, 0x475550
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42cbb4
sub ecx, edx
test esi, esi
je 0x42cbc7
inc dword [esi + 0x374]
lea eax, [ecx*2 + 2]
push eax
call fcn.00450dc2
xor esi, esi
mov dword [ebp - 0x58], eax
add esp, 4
mov dword [ebp - 0x4c], esi
cmp byte [ebx], 0
je 0x42cc33
mov edi, eax
push 0
mov edx, ebx
lea ecx, [ebp - 0x7c]
call fcn.00407de0
mov ecx, dword [ebp - 0x7c]
add esp, 4
add ebx, eax
test ecx, ecx
je 0x42cc27
cmp ecx, 0x20
jb 0x42cc22
cmp ecx, 0x7f
je 0x42cc22
lea eax, [ecx - 0xe000]
cmp eax, 0x18ff
jbe 0x42cc22
cmp ecx, 0xffff
ja 0x42cc22
mov word [edi + esi*2], cx
inc esi
cmp byte [ebx], 0
jne 0x42cbe6
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x4c], esi
xor ecx, ecx
mov word [eax + esi*2], cx
test esi, esi
jle 0x42ccc9
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 4]
cmp ecx, edx
je 0x42cc67
cmp ecx, eax
jle 0x42cc57
mov dword [edi + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x42cc60
mov dword [edi + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x42cc67
mov dword [edi + 0x3c], ecx
cmp dword [edi + 0x3c], eax
jle 0x42cc6f
mov dword [edi + 0x3c], eax
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042ad60
mov ebx, dword [ebp - 0x4c]
mov ecx, edi
mov edx, dword [edi + 0x3c]
push ebx
push dword [ebp - 0x58]
call fcn.0042a8b0
add esp, 8
test al, al
je 0x42ccab
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x54]
push ebx
push 0
call fcn.0042bb10
add esp, 8
mov byte [edi + 0x4b], 0
add dword [edi + 0x3c], ebx
jmp 0x42ccbf
movzx eax, word [edi + 0xe52]
test ax, ax
je 0x42ccbf
dec eax
mov word [edi + 0xe52], ax
mov eax, dword [ebp - 0x58]
mov byte [edi + 0xe64], 1
test eax, eax
je 0x42ccdd
mov ecx, dword [0x48536c]
test ecx, ecx
je 0x42ccdd
dec dword [ecx + 0x374]
push eax
call fcn.0044c079
add esp, 4
jmp 0x42ce23
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx + 0xd4], 0
je 0x42cdb1
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x42cd12
mov edx, ecx
cmovge ecx, eax
cmovl edx, eax
mov dword [ebp - 0x40], edx
jmp 0x42cd1c
mov ecx, dword [edi + 4]
mov dword [ebp - 0x40], 0
mov al, byte [ebp - 0x2f]
mov byte [ebp - 0x2f], al
mov al, byte [ebp - 0x31]
mov byte [ebp - 0x31], al
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x4c], ecx
lea edx, [eax + ecx*2]
mov ecx, dword [ebp - 0x40]
lea ecx, [eax + ecx*2]
call fcn.00408050
inc eax
mov dword [ebp - 0x7c], eax
test esi, esi
je 0x42cd4a
inc dword [esi + 0x374]
push eax
call fcn.00450dc2
mov esi, dword [edi + 0x14]
add esp, 4
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x40]
lea ecx, [esi + ecx*2]
push ecx
lea ecx, [esi + eax*2]
mov esi, dword [ebp - 0x58]
push ecx
mov ecx, esi
call fcn.00407f80
mov eax, dword [0x48536c]
add esp, 8
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x42cd97
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x48536c]
add esp, 8
test esi, esi
je 0x42cda5
test eax, eax
je 0x42cda5
dec dword [eax + 0x374]
push esi
call fcn.0044c079
mov al, byte [ebp - 0x35]
add esp, 4
test al, al
je 0x42ce26
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x42cdd1
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
mov byte [edi + 0xe64], 1
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x42ce26
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042ad60
mov byte [edi + 0x4b], 0
jmp 0x42ce26
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.0042adf0
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0xe60], 0xbe99999a
add esp, 4
mov byte [edi + 0xe64], 1
mov ebx, dword [ebp - 0x3c]
mov cl, byte [ebp - 0x2d]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x42ce3b
cmp byte [ebp - 0x2e], 0
je 0x42ce3b
mov al, 1
jmp 0x42ce3d
xor al, al
or byte [ebp - 0x2f], al
mov eax, dword [ebp - 0x60]
cmp dword [ebx + 0x1aa0], eax
jne 0x42d05c
test cl, cl
je 0x42d128
mov eax, dword [edi + 0x2c]
mov ecx, eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42ce82
test dl, dl
je 0x42ce7e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42ce82
add eax, 2
add ecx, 2
test dl, dl
jne 0x42ce62
xor eax, eax
jmp 0x42ce87
sbb eax, eax
or eax, 1
test eax, eax
je 0x42d03b
mov eax, dword [edi + 0x24]
xor edx, edx
dec eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x58], eax
test eax, eax
jle 0x42cf79
mov ecx, dword [ebp - 0x40]
mov ebx, ecx
lea esi, [eax + ecx]
xor eax, eax
mov dword [ebp - 0x4c], eax
test esi, esi
je 0x42ceb8
cmp ebx, esi
jae 0x42ced9
cmp byte [ebx], 0
je 0x42ced9
push esi
mov edx, ebx
lea ecx, [ebp - 0x7c]
call fcn.00407de0
add ebx, eax
add esp, 4
cmp dword [ebp - 0x7c], 0
mov eax, dword [ebp - 0x4c]
je 0x42ced9
inc eax
jmp 0x42cead
mov esi, dword [0x48536c]
lea edx, [eax + 1]
mov dword [ebp - 0x4c], edx
test edx, edx
jle 0x42cf14
mov ecx, 8
mov eax, edx
cmp edx, ecx
cmovl eax, ecx
test eax, eax
jle 0x42cf14
test esi, esi
je 0x42cf03
inc dword [esi + 0x374]
add eax, eax
push eax
call fcn.00450dc2
mov edx, dword [ebp - 0x4c]
add esp, 4
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x40]
add ecx, esi
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x44]
mov ebx, ecx
lea eax, [ecx - 2]
lea eax, [eax + edx*2]
cmp ecx, eax
jae 0x42cf71
mov edi, dword [ebp - 0x7c]
test edi, edi
je 0x42cf39
cmp esi, edi
jae 0x42cf6b
cmp byte [esi], 0
je 0x42cf6b
push edi
mov edx, esi
lea ecx, [ebp - 0x7c]
call fcn.00407de0
mov edx, dword [ebp - 0x4c]
add esi, eax
mov eax, dword [ebp - 0x7c]
add esp, 4
test eax, eax
je 0x42cf6b
mov ecx, dword [ebp - 0x44]
mov word [ebx], ax
lea eax, [edx - 1]
add ebx, 2
lea eax, [ecx + eax*2]
cmp ebx, eax
jb 0x42cf31
mov edi, dword [ebp - 0x8c]
xor eax, eax
mov word [ebx], ax
mov ebx, dword [ebp - 0x3c]
mov esi, dword [edi + 4]
lea eax, [edx - 1]
xor ecx, ecx
cmp dword [ebp - 0x58], ecx
cmovle eax, ecx
lea ecx, [edi + 0x54]
push eax
push esi
xor edx, edx
mov dword [ebp - 0x7c], eax
call fcn.0042bb10
mov edx, eax
add esp, 8
test edx, edx
je 0x42cfb5
xor ecx, ecx
test esi, esi
jle 0x42cfb5
mov eax, dword [edi + 0x14]
mov ax, word [eax + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jl 0x42cfa5
push dword [edi + 4]
xor edx, edx
mov ecx, edi
call fcn.0042a850
mov esi, dword [ebp - 0x7c]
add esp, 4
test esi, esi
jle 0x42cfe6
push esi
push dword [ebp - 0x44]
xor edx, edx
mov ecx, edi
call fcn.0042a8b0
add esp, 8
test al, al
je 0x42cfe6
mov dword [edi + 0x3c], esi
mov byte [edi + 0x4b], 0
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je 0x42d005
mov eax, dword [0x48536c]
test eax, eax
je 0x42cffc
dec dword [eax + 0x374]
push ecx
call fcn.0044c079
add esp, 4
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x40]
test ecx, ecx
je 0x42d03b
mov esi, dword [ebp + 0xc]
inc eax
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x42d037
jbe 0x42d02f
lea eax, [esi - 1]
push eax
push ecx
push dword [ebp - 0x48]
call fcn.0044bab0
add esp, 0xc
mov eax, dword [ebp - 0x48]
mov byte [esi + eax - 1], 0
mov byte [ebp - 0x31], 1
mov eax, dword [ebp - 0x60]
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
cmp byte [ebp - 0x68], 0
je 0x42d073
cmp dword [ebx + 0x1aa0], eax
jne 0x42d073
xor edx, edx
xor ecx, ecx
call fcn.00409db0
mov esi, dword [ebp - 0x60]
lea ecx, [ebp - 0x2c]
push 1
mov edx, esi
call fcn.00409160
movss xmm1, dword [0x475a9c]
add esp, 4
mov ecx, 7
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call fcn.00408200
movss xmm2, dword [ebx + 0x1560]
mov dl, 1
mov ecx, eax
call fcn.00408d40
movss xmm0, dword [ebp - 0x5c]
add esp, 0x10
cmp byte [ebp - 0x64], 0
movss xmm5, dword [ebp - 0x28]
movss xmm4, dword [ebp - 0x54]
addss xmm0, xmm5
movaps xmm7, xmm4
movaps xmm6, xmm5
addss xmm6, dword [ebx + 0x155c]
addss xmm7, dword [ebp - 0x2c]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0x2c]
addss xmm0, dword [ebx + 0x1558]
movss dword [ebp - 0x4c], xmm7
movss dword [ebp - 0x58], xmm6
movss dword [ebp - 0x70], xmm6
movss dword [ebp - 0x9c], xmm6
movss dword [ebp - 0x74], xmm0
movss dword [ebp - 0xa0], xmm0
je 0x42d1c3
mov edx, dword [edi + 0x20]
mov dword [ebp - 0x48], edx
jmp 0x42d1c6
mov eax, dword [edi + 0xc]
mov byte [edi + 0x30], 1
lea esi, [eax*4 + 1]
mov eax, dword [edi + 0x1c]
cmp esi, eax
jle 0x42d167
test eax, eax
je 0x42d150
cdq
sub eax, edx
lea edx, [edi + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x42d158
mov ecx, 8
lea edx, [edi + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.004178d0
mov dword [edi + 0x18], esi
mov edx, esi
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.00407f80
mov eax, dword [edi + 0x20]
add esp, 8
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x40], eax
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42d1a5
test dl, dl
je 0x42d1a1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42d1a5
add eax, 2
add ecx, 2
test dl, dl
jne 0x42d185
xor eax, eax
jmp 0x42d1aa
sbb eax, eax
or eax, 1
mov cl, byte [ebp - 0x31]
mov byte [ebp - 0x31], cl
test eax, eax
je 0x42d03b
mov eax, dword [edi + 8]
mov byte [ebp - 0x31], cl
jmp 0x42d008
mov edx, dword [ebp - 0x48]
mov ch, byte [ebp - 0x2e]
mov cl, byte [ebp - 0x2f]
test ch, ch
jne 0x42d30e
test cl, cl
jne 0x42d30e
cmp dword [ebx + 0x1aa0], esi
jne 0x42d1eb
mov eax, dword [edi + 8]
add eax, edx
jmp 0x42d1ff
mov ecx, edx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d1f0
sub ecx, edx
mov edx, dword [ebp - 0x48]
lea eax, [edx + ecx]
mov dword [ebp - 0x60], eax
sub eax, edx
cmp eax, 0x200000
jge 0x42db29
movss xmm1, dword [0x475a9c]
xor ecx, ecx
call fcn.00408200
mov esi, dword [ebx + 0x1928]
mov edi, eax
mov eax, dword [ebp - 0x90]
movss xmm2, dword [ebx + 0x192c]
mov edx, dword [eax + 0x290]
mov eax, dword [ebp - 0x60]
mov ecx, eax
test edi, 0xff000000
je 0x42db29
test eax, eax
jne 0x42d269
mov ecx, dword [ebp - 0x48]
lea eax, [ecx + 1]
mov dword [ebp - 0x7c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d258
sub ecx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x48]
add ecx, eax
jmp 0x42d26c
mov eax, dword [ebp - 0x48]
cmp eax, ecx
je 0x42db29
test esi, esi
jne 0x42d27e
mov eax, dword [edx + 0x28]
mov esi, dword [eax + 8]
ucomiss xmm2, dword [0x475a28]
lahf
test ah, 0x44
jp 0x42d293
mov eax, dword [edx + 0x28]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [edx + 0x60]
movss xmm1, dword [ebp - 0x2c]
comiss xmm0, xmm1
movups xmmword [ebp - 0x88], xmm0
jae 0x42d2b0
movss dword [ebp - 0x88], xmm1
movss xmm0, dword [ebp - 0x84]
movss xmm4, dword [ebp - 0x28]
comiss xmm0, xmm4
jae 0x42d2ca
movss dword [ebp - 0x84], xmm4
comiss xmm7, dword [ebp - 0x80]
ja 0x42d2d5
movss dword [ebp - 0x80], xmm7
movss xmm0, dword [ebp - 0x5c]
comiss xmm0, dword [ebp - 0x7c]
ja 0x42d2e5
movss dword [ebp - 0x7c], xmm0
push dword [ebp - 0x70]
lea eax, [ebp - 0x88]
push dword [ebp - 0x74]
push 1
push ecx
mov dword [esp], 0
push ecx
push dword [ebp - 0x48]
mov ecx, esi
push eax
push edi
push edx
call fcn.00425d10
jmp 0x42db29
mov eax, dword [edi + 8]
xorps xmm0, xmm0
add eax, edx
movss dword [ebp - 0x7c], xmm0
xor edx, edx
mov dword [ebp - 0x60], eax
mov eax, dword [edi + 0x14]
xorps xmm7, xmm7
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x54], 0xfffffc18
mov dword [ebp - 0x68], 0xfffffc18
test ch, ch
je 0x42d360
mov esi, dword [edi + 0x14]
mov edx, 1
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x54], 0xffffffff
lea eax, [esi + eax*2]
mov dword [ebp - 0x40], eax
mov eax, esi
test cl, cl
je 0x42d37f
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [edi + 0x14]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [ebp - 0x68], 0xffffffff
lea ecx, [eax + ecx*2]
mov dword [ebp - 0x44], ecx
mov ecx, eax
xor esi, esi
movzx eax, word [eax]
test ax, ax
je 0x42d3d5
mov edi, dword [ebp - 0x54]
mov ebx, eax
cmp bx, 0xa
jne 0x42d3bb
inc esi
cmp edi, 0xffffffff
jne 0x42d3a8
cmp ecx, dword [ebp - 0x40]
jb 0x42d3a8
dec edx
mov edi, esi
test edx, edx
jle 0x42d3c9
cmp dword [ebp - 0x68], 0xffffffff
jne 0x42d3bb
cmp ecx, dword [ebp - 0x44]
jb 0x42d3bb
dec edx
mov dword [ebp - 0x68], esi
test edx, edx
jle 0x42d3c9
movzx eax, word [ecx + 2]
add ecx, 2
mov ebx, eax
test ax, ax
jne 0x42d390
mov ebx, dword [ebp - 0x3c]
mov dword [ebp - 0x54], edi
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x68]
inc esi
cmp dword [ebp - 0x54], 0xffffffff
mov ecx, esi
mov edx, dword [ebp - 0x40]
cmovne ecx, dword [ebp - 0x54]
cmp eax, 0xffffffff
mov dword [ebp - 0x54], ecx
mov ecx, edx
cmove eax, esi
mov esi, dword [edi + 0x14]
mov dword [ebp - 0x68], eax
cmp edx, esi
jbe 0x42d40e
nop dword [eax + eax]
cmp word [ecx - 2], 0xa
je 0x42d40e
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x42d400
mov eax, dword [0x48536c]
movaps xmm1, xmm0
movaps xmm3, xmm0
mov esi, dword [eax + 0x1928]
movss xmm2, dword [eax + 0x192c]
divss xmm2, dword [esi + 0x10]
cmp ecx, edx
jae 0x42d478
mov edi, dword [ebp - 0x40]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x42d449
maxss xmm1, xmm3
movaps xmm3, xmm0
jmp 0x42d46e
cmp edx, 0xd
je 0x42d46e
mov edx, eax
cmp edx, dword [esi]
jge 0x42d45e
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x42d463
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm3, xmm0
xorps xmm0, xmm0
cmp ecx, edi
jb 0x42d433
mov edi, dword [ebp - 0x8c]
cmp dword [ebp - 0x68], 0
maxss xmm3, xmm1
movd xmm0, dword [ebp - 0x54]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x40], xmm3
mulss xmm0, dword [ebx + 0x192c]
movss dword [ebp - 0x3c], xmm0
jl 0x42d545
mov ecx, dword [ebp - 0x44]
mov edx, dword [edi + 0x14]
cmp ecx, edx
jbe 0x42d4be
nop word [eax + eax]
cmp word [ecx - 2], 0xa
je 0x42d4be
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x42d4b0
xorps xmm0, xmm0
mov eax, dword [0x48536c]
xorps xmm1, xmm1
xorps xmm7, xmm7
mov esi, dword [eax + 0x1928]
movss xmm2, dword [eax + 0x192c]
divss xmm2, dword [esi + 0x10]
cmp ecx, dword [ebp - 0x44]
jae 0x42d52c
mov edi, dword [ebp - 0x44]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x42d4fd
maxss xmm1, xmm7
movaps xmm7, xmm0
jmp 0x42d522
cmp edx, 0xd
je 0x42d522
mov edx, eax
cmp edx, dword [esi]
jge 0x42d512
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x42d517
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm7, xmm0
xorps xmm0, xmm0
cmp ecx, edi
jb 0x42d4e7
mov edi, dword [ebp - 0x8c]
movd xmm0, dword [ebp - 0x68]
maxss xmm7, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebx + 0x192c]
movss dword [ebp - 0x7c], xmm0
cmp byte [ebp - 0x2e], 0
je 0x42d59d
cmp byte [edi + 0xe64], 0
je 0x42d59d
movss xmm2, dword [edi + 0x38]
movaps xmm0, xmm4
comiss xmm2, xmm3
mulss xmm0, dword [0x475a54]
movaps xmm1, xmm3
jbe 0x42d579
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x42d586
subss xmm1, xmm4
comiss xmm1, xmm2
jb 0x42d596
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
mov byte [edi + 0xe64], 0
cmp byte [ebp - 0x2f], 0
movss xmm4, dword [edi + 0x38]
movss dword [ebp - 0x44], xmm4
je 0x42d7e0
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov esi, dword [edi + 0x14]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0x2e], 0
lea esi, [esi + eax*2]
mov eax, dword [edi + 0x14]
lea eax, [eax + edx*2]
mov dword [ebp - 0x54], eax
je 0x42d5e0
movss xmm1, dword [0x475a9c]
jmp 0x42d5e8
movss xmm1, dword [0x475a6c]
mov ecx, 0x2f
call fcn.00408200
movss xmm6, dword [ebp - 0x58]
movss xmm4, dword [ebp - 0x74]
movaps xmm5, xmm6
addss xmm5, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x54]
addss xmm4, xmm7
mov dword [ebp - 0x68], eax
xorps xmm7, xmm7
subss xmm5, xmm7
subss xmm4, dword [ebp - 0x44]
movss dword [ebp - 0x7c], xmm5
cmp esi, ecx
jae 0x42d7d6
movss xmm0, dword [ebp - 0x5c]
mov edi, eax
nop
addss xmm0, dword [ebx + 0x192c]
comiss xmm5, xmm0
ja 0x42d7cb
movss xmm6, dword [ebp - 0x28]
comiss xmm6, xmm5
jbe 0x42d66c
cmp esi, ecx
jae 0x42d7a7
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x42d7a7
cmp esi, ecx
jb 0x42d653
jmp 0x42d7cb
mov eax, dword [0x48536c]
movaps xmm3, xmm7
movaps xmm1, xmm7
mov edx, dword [eax + 0x1928]
movss xmm2, dword [eax + 0x192c]
divss xmm2, dword [edx + 0x10]
cmp esi, ecx
jae 0x42d6d3
nop
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x42d6c6
cmp ecx, 0xd
je 0x42d6bd
cmp ecx, dword [edx]
jge 0x42d6b0
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x42d6b5
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
mov ecx, dword [ebp - 0x54]
cmp esi, ecx
jb 0x42d690
jmp 0x42d6d3
mov ecx, dword [ebp - 0x54]
movaps xmm3, xmm7
maxss xmm3, xmm1
movaps xmm1, xmm7
maxss xmm1, xmm3
comiss xmm7, xmm1
jb 0x42d70c
mov eax, dword [ebx + 0x1928]
cmp dword [eax], 0x20
jle 0x42d6f4
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x42d6f9
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x475a68]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [0x475ba8]
addss xmm1, xmm4
subss xmm2, dword [ebx + 0x192c]
movss xmm3, dword [ebp - 0x4c]
addss xmm4, xmm7
movaps xmm0, xmm5
addss xmm0, dword [0x475ab8]
minss xmm1, xmm3
addss xmm2, xmm5
maxss xmm4, dword [ebp - 0x2c]
minss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0xc], xmm1
maxss xmm2, xmm6
movss dword [ebp - 0x14], xmm4
movss dword [ebp - 8], xmm0
comiss xmm0, xmm6
movss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0x10], xmm2
jbe 0x42d7ac
comiss xmm0, xmm2
jbe 0x42d7ac
comiss xmm1, dword [ebp - 0x2c]
jbe 0x42d7ac
comiss xmm3, xmm4
jbe 0x42d7ac
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xc]
push edi
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x290]
call fcn.004223f0
movss xmm5, dword [ebp - 0x7c]
xorps xmm7, xmm7
mov ecx, dword [ebp - 0x54]
movss xmm0, dword [ebp - 0x5c]
movss xmm4, dword [ebp - 0x74]
addss xmm5, dword [ebx + 0x192c]
subss xmm4, dword [ebp - 0x44]
movss dword [ebp - 0x7c], xmm5
cmp esi, ecx
jb 0x42d630
movss xmm6, dword [ebp - 0x58]
mov edi, dword [ebp - 0x8c]
movss xmm5, dword [ebp - 0x28]
movss xmm4, dword [ebp - 0x44]
mov eax, dword [ebp - 0x60]
xorps xmm7, xmm7
sub eax, dword [ebp - 0x48]
cmp eax, 0x200000
jge 0x42d9c5
mov eax, dword [0x48536c]
movups xmm1, xmmword [eax + 0x15d8]
comiss xmm7, xmm1
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [eax + 0x1520]
movups xmmword [ebp - 0x14], xmm1
jbe 0x42d81d
xorps xmm0, xmm0
jmp 0x42d829
movss xmm0, dword [0x475a9c]
minss xmm0, xmm1
movss xmm1, dword [0x475b7c]
movss xmm3, dword [ebp - 0x10]
comiss xmm7, xmm3
mulss xmm0, xmm1
addss xmm0, dword [0x475a68]
cvttss2si ecx, xmm0
jbe 0x42d850
xorps xmm0, xmm0
jmp 0x42d85c
movss xmm0, dword [0x475a9c]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0xc]
mulss xmm0, xmm1
addss xmm0, dword [0x475a68]
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm3
jbe 0x42d880
xorps xmm0, xmm0
jmp 0x42d88c
movss xmm0, dword [0x475a9c]
minss xmm0, xmm3
movss xmm3, dword [0x475a68]
mulss xmm0, xmm1
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm2
jbe 0x42d8af
xorps xmm0, xmm0
jmp 0x42d8bb
movss xmm0, dword [0x475a9c]
minss xmm0, xmm2
mov eax, dword [ebp - 0x90]
mulss xmm0, xmm1
movss xmm2, dword [ebx + 0x192c]
mov esi, dword [eax + 0x290]
mov eax, dword [ebx + 0x1928]
addss xmm0, xmm3
mov dword [ebp - 0x7c], eax
cvttss2si edx, xmm0
movss xmm0, dword [ebp - 0x74]
subss xmm0, xmm4
shl edx, 0x18
or edx, ecx
mov ecx, dword [ebp - 0x60]
movss dword [ebp - 0x6c], xmm0
movaps xmm0, xmm6
subss xmm0, xmm7
movss dword [ebp - 0x68], xmm0
test edx, 0xff000000
je 0x42d9c5
test ecx, ecx
jne 0x42d933
mov ecx, dword [ebp - 0x48]
lea eax, [ecx + 1]
mov dword [ebp - 0x54], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d920
sub ecx, dword [ebp - 0x54]
add ecx, dword [ebp - 0x48]
mov eax, dword [ebx + 0x1928]
cmp dword [ebp - 0x48], ecx
je 0x42d9c5
test eax, eax
jne 0x42d949
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x7c], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x42d95a
mov eax, dword [esi + 0x28]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [esi + 0x60]
movss xmm1, dword [ebp - 0x2c]
comiss xmm0, xmm1
movups xmmword [ebp - 0x14], xmm0
jae 0x42d971
movss dword [ebp - 0x14], xmm1
movss xmm0, dword [ebp - 0x10]
comiss xmm0, xmm5
jae 0x42d980
movss dword [ebp - 0x10], xmm5
movss xmm0, dword [ebp - 0x4c]
comiss xmm0, dword [ebp - 0xc]
ja 0x42d990
movss dword [ebp - 0xc], xmm0
movss xmm0, dword [ebp - 0x5c]
comiss xmm0, dword [ebp - 8]
ja 0x42d9a0
movss dword [ebp - 8], xmm0
push dword [ebp - 0x68]
lea eax, [ebp - 0x14]
push dword [ebp - 0x6c]
push 1
push ecx
mov dword [esp], 0
push ecx
push dword [ebp - 0x48]
mov ecx, dword [ebp - 0x7c]
push eax
push edx
push esi
call fcn.00425d10
xorps xmm7, xmm7
cmp byte [ebp - 0x2e], 0
je 0x42db29
movss xmm0, dword [ebx + 0x18]
addss xmm0, dword [edi + 0xe60]
movss dword [edi + 0xe60], xmm0
cmp byte [ebx + 0xb2], 0
je 0x42da25
comiss xmm7, xmm0
jae 0x42da25
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x80], xmm0
fld qword [ebp - 0x80]
fld qword [0x475ab0]
call fcn.00464c00
movss xmm0, dword [0x475a8c]
fstp qword [ebp - 0x80]
movsd xmm1, qword [ebp - 0x80]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x42da25
xor al, al
jmp 0x42da27
mov al, 1
movss xmm5, dword [ebp - 0x58]
movss xmm3, dword [ebp - 0x40]
movss xmm6, dword [0x475a9c]
addss xmm5, dword [ebp - 0x3c]
addss xmm3, dword [ebp - 0x74]
subss xmm5, dword [0x475a28]
subss xmm3, dword [ebp - 0x44]
movss dword [ebp - 0x58], xmm5
movaps xmm0, xmm5
movss dword [ebp - 0x40], xmm3
movaps xmm2, xmm3
movss dword [ebp - 0x14], xmm3
movaps xmm1, xmm5
addss xmm2, xmm6
subss xmm0, dword [ebx + 0x192c]
subss xmm1, dword [0x475aa8]
movss dword [ebp - 0xc], xmm2
addss xmm0, dword [0x475a68]
movss dword [ebp - 8], xmm1
movss dword [ebp - 0x10], xmm0
test al, al
je 0x42db0d
comiss xmm1, dword [ebp - 0x28]
jbe 0x42db0d
movss xmm4, dword [ebp - 0x5c]
comiss xmm4, xmm0
jbe 0x42db0d
comiss xmm2, dword [ebp - 0x2c]
jbe 0x42db0d
movss xmm0, dword [ebp - 0x4c]
comiss xmm0, xmm3
jbe 0x42db0d
sub esp, 8
movss dword [ebp - 0x70], xmm1
movaps xmm1, xmm6
movss dword [ebp - 0x74], xmm3
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.00408200
add esp, 4
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x290]
call fcn.004221f0
movss xmm3, dword [ebp - 0x40]
movss xmm5, dword [ebp - 0x58]
movss xmm6, dword [0x475a9c]
subss xmm5, dword [ebx + 0x192c]
subss xmm3, xmm6
movss dword [ebx + 0x2e5c], xmm5
movss dword [ebx + 0x2e58], xmm3
cmp byte [ebx + 0x2e94], 0
je 0x42db46
push dword [ebp - 0x60]
mov edx, dword [ebp - 0x48]
lea ecx, [ebp - 0xa0]
call fcn.00416470
add esp, 4
movss xmm0, dword [ebp - 0x98]
comiss xmm0, dword [0x475a28]
jbe 0x42db93
movss xmm0, dword [ebp - 0x24]
xor edx, edx
addss xmm0, dword [ebx + 0x1570]
mov ecx, dword [ebp - 0x94]
movss dword [ebp - 0x74], xmm0
movss xmm0, dword [ebp - 0x28]
addss xmm0, dword [ebx + 0x155c]
movss dword [ebp - 0x70], xmm0
push dword [ebp - 0x70]
push dword [ebp - 0x74]
push 1
call fcn.004083b0
add esp, 0xc
mov al, byte [ebp - 0x31]
test al, al
je 0x42dbc9
mov ecx, dword [0x48536c]
mov word [ecx + 0x1aaf], 0x101
mov ecx, dword [ecx + 0x1a68]
or dword [ecx + 0x110], 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044096c
mov esp, ebp
pop ebp
ret
xor al, al
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0044096c
mov esp, ebp
pop ebp
ret