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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd4
mov eax, dword [0x49c00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [0x4a5724]
mov ebx, ecx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0x4c], edi
mov eax, dword [edi + 0x1a68]
mov byte [eax + 0x7c], 1
mov esi, dword [edi + 0x1a68]
mov dword [ebp - 0x94], esi
cmp byte [esi + 0x7f], 0
je 0x42bbbc
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043eeb1
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0xbc]
xor edx, edx
mov eax, dword [esi + 0xc4]
push dword [eax + ecx*4 - 4]
mov ecx, ebx
call fcn.00407bf0
mov ebx, eax
add esp, 4
mov dword [ebp - 0x48], ebx
cmp dword [edi + 0x1aa0], ebx
jne 0x42bbeb
mov dword [edi + 0x1aa4], ebx
cmp dword [edi + 0x1adc], ebx
jne 0x42bbfa
mov byte [edi + 0x1ae0], 1
mov edx, dword [ebp - 0xd4]
mov eax, edx
cmp edx, 0xffffffff
jae 0x42bc1d
mov cl, byte [eax]
test cl, cl
je 0x42bc1d
cmp cl, 0x23
jne 0x42bc17
cmp byte [eax + 1], cl
je 0x42bc1d
inc eax
cmp eax, 0xffffffff
jb 0x42bc07
movss xmm2, dword [edi + 0x192c]
cmp edx, eax
jne 0x42bc36
xorps xmm7, xmm7
movss dword [ebp - 0xa4], xmm7
jmp 0x42bca6
movss xmm3, dword [0x491470]
push 0
push eax
push edx
push ecx
mov ecx, dword [edi + 0x1928]
lea eax, [ebp - 0xa8]
mov dword [esp], 0xbf800000
push eax
call fcn.004256c0
movss xmm0, dword [ebp - 0xa8]
xorps xmm7, xmm7
addss xmm0, dword [0x49136c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xa8], xmm0
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0xa4]
movss xmm0, dword [ebp - 0x58]
mov dword [ebp - 0x54], eax
movss xmm2, dword [ebp - 0x54]
movss dword [ebp - 0xa4], xmm0
test byte [edi + 0x1b50], 1
mov edx, dword [edi + 0x1a68]
je 0x42bcbf
movss xmm0, dword [edi + 0x1b54]
jmp 0x42bcc7
movss xmm0, dword [edx + 0x1a8]
comiss xmm7, xmm0
jbe 0x42bd19
mov ecx, edx
cmp dword [ecx + 0x190], 0
mov eax, dword [ecx + 0x254]
mov dword [ebp - 0x88], eax
mov eax, dword [ecx + 0x258]
mov dword [ebp - 0x84], eax
je 0x42bcf9
movss xmm1, dword [ecx + 0x224]
jmp 0x42bd01
movss xmm1, dword [ebp - 0x88]
subss xmm1, dword [edx + 0xc8]
addss xmm1, xmm0
movss xmm0, dword [0x491374]
maxss xmm0, xmm1
movss xmm4, dword [edi + 0x155c]
movaps xmm1, xmm7
mov ecx, dword [ebp + 0x10]
movaps xmm3, xmm4
cvttss2si eax, xmm0
addss xmm3, xmm4
movaps xmm0, xmm7
movd xmm5, eax
mov eax, dword [ecx]
addss xmm3, xmm2
mov dword [ebp - 0x58], eax
mov eax, dword [ecx + 4]
mov ecx, edx
movss xmm2, dword [ebp - 0x58]
comiss xmm7, xmm2
mov dword [ebp - 0x54], eax
movss xmm6, dword [ebp - 0x54]
cvtdq2ps xmm5, xmm5
movss dword [ebp - 0x7c], xmm2
movss dword [ebp - 0x6c], xmm6
ja 0x42bd6b
comiss xmm7, xmm6
jbe 0x42bd8c
cmp dword [ecx + 0x190], 0
movss xmm0, dword [ecx + 0x254]
movss xmm1, dword [ecx + 0x258]
je 0x42bd8c
movss xmm0, dword [ecx + 0x224]
ucomiss xmm2, xmm7
movss xmm2, dword [0x4913a0]
lahf
test ah, 0x44
jnp 0x42bdc0
movss xmm5, dword [ebp - 0x58]
comiss xmm7, xmm5
jbe 0x42bdc5
subss xmm0, dword [ecx + 0xc8]
addss xmm5, xmm0
comiss xmm2, xmm5
movss dword [ebp - 0x7c], xmm5
jb 0x42bdc5
movaps xmm5, xmm2
movss dword [ebp - 0x7c], xmm5
ucomiss xmm6, xmm7
lahf
test ah, 0x44
jp 0x42bdd3
movaps xmm6, xmm3
jmp 0x42bdf1
comiss xmm7, xmm6
jbe 0x42bdf6
subss xmm1, dword [ecx + 0xcc]
addss xmm6, xmm1
comiss xmm2, xmm6
movss dword [ebp - 0x6c], xmm6
jb 0x42bdf6
movaps xmm6, xmm2
movss dword [ebp - 0x6c], xmm6
movss xmm0, dword [ebp - 0xa4]
comiss xmm0, xmm7
jbe 0x42be11
movss xmm2, dword [edi + 0x1570]
addss xmm2, xmm0
jmp 0x42be14
movaps xmm2, xmm7
mov eax, dword [esi + 0xc8]
addss xmm2, xmm5
movaps xmm0, xmm5
mov dword [ebp - 0x38], eax
addss xmm0, dword [esi + 0xc8]
mov eax, dword [esi + 0xcc]
lea ecx, [ebp - 0x88]
movss xmm1, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
addss xmm1, xmm2
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [esi + 0xcc]
mov eax, dword [ebp - 0x58]
addss xmm0, xmm6
mov dword [ebp - 0x30], eax
movss dword [ebp - 0x58], xmm1
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [ebp - 0x34]
mov eax, dword [ebp - 0x54]
addss xmm0, xmm6
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0xc8]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0xcc]
subss xmm1, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x58]
movss dword [ebp - 0x54], xmm0
subss xmm0, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x54]
movss dword [ebp - 0x88], xmm1
movaps xmm1, xmm4
mov dword [ebp - 0xc], eax
movss dword [ebp - 0x84], xmm0
call fcn.004120e0
lea eax, [ebp - 0x38]
mov edx, ebx
push eax
lea ecx, [ebp - 0x18]
call fcn.00412220
add esp, 4
test al, al
je 0x42bba9
mov edx, ebx
lea ecx, [ebp - 0x38]
call fcn.0040a1a0
mov byte [ebp - 0x39], al
test al, al
je 0x42beed
mov dword [edi + 0x1e5c], 1
mov ebx, dword [0x4a5724]
xor ecx, ecx
mov eax, dword [ebp - 0x48]
add ebx, 0x1f30
mov edx, eax
cmp dword [ebx], eax
cmovne ebx, ecx
mov ecx, esi
mov dword [ebp - 0x78], ebx
call fcn.0040a370
mov dl, al
test dl, dl
je 0x42bf2f
cmp dword [edi + 0x1cc0], esi
jne 0x42bf2f
mov ecx, dword [edi + 0x1cc8]
cmp ecx, dword [esi + 0x19c]
jne 0x42bf2f
mov al, 1
jmp 0x42bf31
xor al, al
mov byte [ebp - 0x40], al
test dl, dl
je 0x42bf40
mov byte [ebp - 0x3f], 1
test al, al
je 0x42bf44
mov byte [ebp - 0x3f], 0
cmp byte [ebp - 0x39], 0
je 0x42bf57
cmp byte [edi + 0x3e0], 0
je 0x42bf57
mov cl, 1
jmp 0x42bf59
xor cl, cl
mov eax, dword [edi + 0x1aa0]
mov esi, dword [0x4a5724]
mov byte [ebp - 0x3e], cl
cmp eax, dword [ebp - 0x48]
je 0x42bf99
mov ebx, dword [ebp - 0x48]
cmp dword [edi + 0x1bb8], ebx
mov ebx, dword [ebp - 0x78]
je 0x42bf95
mov esi, dword [ebp - 0x48]
cmp dword [edi + 0x1bac], esi
mov esi, dword [0x4a5724]
jne 0x42bf99
cmp dword [edi + 0x1bd0], 3
jne 0x42bf99
mov ch, 1
jmp 0x42bf9b
xor ch, ch
mov byte [ebp - 0x41], ch
mov byte [ebp - 0x64], 0
cmp eax, dword [ebp - 0x48]
je 0x42bfaf
mov byte [ebp - 0x68], 1
test ch, ch
jne 0x42bfb3
mov byte [ebp - 0x68], 0
mov dword [ebp - 0x74], 1
test dl, dl
jne 0x42bfd4
test cl, cl
jne 0x42bfd4
test ch, ch
jne 0x42bfd4
mov edx, dword [ebp - 0x48]
mov byte [ebp - 0x3b], cl
mov byte [ebp - 0x3d], ch
jmp 0x42c143
mov edx, dword [ebp - 0x48]
mov cl, 1
mov byte [ebp - 0x3b], cl
mov byte [ebp - 0x3d], cl
mov dword [ebp - 0x78], ebx
cmp eax, edx
je 0x42c143
lea ebx, [edi + 0x1f30]
mov edi, dword [ebp - 0x5c]
mov esi, edi
mov dword [ebx + 0xe60], 0xbe99999a
mov dword [ebp - 0x78], ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42c005
sub esi, ecx
lea ecx, [ebx + 0x24]
inc esi
push esi
call fcn.004179d0
push esi
push edi
push dword [ebx + 0x2c]
call fcn.00443e60
mov eax, dword [ebp + 0xc]
lea ecx, [ebx + 0xc]
add esp, 0xc
inc eax
push eax
call fcn.00417ad0
push 0
lea ecx, [ebx + 0x18]
call fcn.004179d0
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov eax, dword [ebp + 0xc]
dec eax
mov byte [ebx + 0x30], 0
mov dword [ebp - 0x54], ecx
lea eax, [ecx + eax*2]
cmp ecx, eax
jae 0x42c084
cmp byte [edi], 0
je 0x42c084
push 0
mov edx, edi
lea ecx, [ebp - 0x60]
call fcn.00407e50
mov ecx, dword [ebp - 0x54]
add edi, eax
mov eax, dword [ebp - 0x60]
add esp, 4
test eax, eax
je 0x42c084
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0xc]
dec eax
lea eax, [ecx + eax*2]
cmp esi, eax
jb 0x42c053
sub edi, dword [ebp - 0x5c]
xor eax, eax
mov edx, dword [ebp - 0x48]
mov word [esi], ax
sub esi, ecx
sar esi, 1
mov dword [ebx + 4], esi
mov dword [ebx + 8], edi
cmp dword [ebx], edx
jne 0x42c0c2
cmp dword [ebx + 0x3c], esi
mov ecx, esi
mov eax, dword [ebx + 0x44]
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], esi
mov dword [ebx + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [ebx + 0x40]
cmp eax, esi
mov dword [ebx + 0x40], ecx
cmovl esi, eax
mov dword [ebx + 0x44], esi
jmp 0x42c11e
mov ecx, dword [ebp - 0x68]
cmp byte [ebp - 0x40], 0
mov dword [ebx + 0x38], eax
mov dword [ebx], edx
movzx ecx, cl
cmovne ecx, dword [ebp - 0x74]
mov dword [ebx + 0xe58], eax
mov eax, 0x63
mov dword [ebx + 0xe52], 0x630000
mov dword [ebx + 0xe5c], 0x3e7
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x48], 0x10000
mov dword [ebx + 0x50], 0
mov byte [ebx + 0x4c], 1
mov dword [ebp - 0x68], ecx
cmp byte [ebp - 0x3f], 0
mov edi, dword [ebp - 0x4c]
jne 0x42c136
cmp byte [ebp - 0x3e], 0
je 0x42c13a
cmp byte [edi + 0x100], 0
je 0x42c13a
mov byte [ebp - 0x68], 1
mov cl, byte [ebp - 0x3b]
mov esi, dword [0x4a5724]
cmp dword [edi + 0x1aa0], edx
je 0x42c19e
test cl, cl
je 0x42c196
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x48]
call fcn.00409f30
call fcn.00413600
mov ecx, edx
call fcn.00411c70
or dword [edi + 0x1ab4], 3
or dword [edi + 0x1ab8], 2
mov eax, dword [edi + 0x1ac4]
or dword [edi + 0x1ac0], 0x180
mov esi, dword [0x4a5724]
mov edx, dword [ebp - 0x48]
mov dword [edi + 0x1ac4], eax
cmp dword [edi + 0x1aa0], edx
jne 0x42c1a7
test ebx, ebx
jne 0x42c1a7
call fcn.00409ff0
mov ecx, dword [edi + 0x1aa0]
cmp ecx, edx
jne 0x42c1d3
cmp byte [edi + 0x3e0], 0
je 0x42c1d1
cmp byte [ebp - 0x3d], 0
jne 0x42c1d1
mov eax, dword [ebp - 0x64]
cmp byte [ebp - 0x3b], 0
movzx eax, al
cmove eax, dword [ebp - 0x74]
mov dword [ebp - 0x64], eax
cmp ecx, edx
sete ah
mov byte [ebp - 0x3c], ah
test ebx, ebx
je 0x42c1f0
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
mov ah, byte [ebp - 0x3c]
je 0x42c1f0
test ah, ah
je 0x42c1f0
mov al, 1
jmp 0x42c1f2
xor al, al
mov byte [ebp - 0x40], 0
mov byte [ebp - 0x3b], al
test ah, ah
jne 0x42c205
test al, al
jne 0x42c205
cmp ecx, edx
jne 0x42c213
test ebx, ebx
je 0x42c213
cmp byte [ebx + 0x30], 0
mov byte [ebp - 0x6f], 1
jne 0x42c217
mov byte [ebp - 0x6f], 0
movss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x98], xmm0
cmp ecx, edx
jne 0x42c4ff
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x34], eax
mov dword [ebx + 0xe68], 0
mov dword [ebx + 0xe6c], 0
mov dword [ebx + 0xe70], 0
cmp byte [edi + 0xf0], 0
movss xmm2, dword [edi + 0x192c]
mulss xmm2, dword [0x491340]
sete al
cmp byte [ebp - 0x68], 0
mov byte [edi + 0x1aad], al
mov dword [edi + 0x30b8], 1
movss xmm6, dword [edi + 0xe8]
mov al, byte [edi + 0xb1]
subss xmm6, xmm0
mov byte [ebp - 0x3a], al
subss xmm6, dword [edi + 0x1558]
addss xmm6, dword [ebx + 0x38]
jne 0x42c40f
mov cl, byte [ebp - 0x39]
test cl, cl
je 0x42c2bd
test al, al
jne 0x42c325
cmp byte [edi + 0x3e5], al
jne 0x42c40f
cmp byte [edi + 0x3e0], 0
je 0x42c37f
cmp byte [ebx + 0xe65], 0
jne 0x42c37f
test cl, cl
je 0x42c42d
cmp byte [ebx + 0x4c], 0
je 0x42c2ff
push 0
mov edx, ebx
lea ecx, [ebp - 0xd0]
call fcn.0042a480
movss xmm2, dword [ebp - 0xc4]
add esp, 4
movaps xmm1, xmm6
mov ecx, ebx
call fcn.0042a7f0
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], eax
mov byte [ebx + 0x4b], 0
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x42c42a
cmp byte [edi + 0x3e5], 0
je 0x42c2bd
push 0x20000c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0042ad50
add esp, 4
mov byte [ebx + 0xe64], 1
lea edx, [ebx + 0x3c]
mov dword [ebx + 0xe60], 0xbe99999a
mov ecx, ebx
push 0x60000d
call fcn.0042ad50
mov esi, dword [0x4a5724]
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x42c42a
cmp byte [edi + 0xf0], 0
je 0x42c42d
cmp byte [ebx + 0xe65], 0
jne 0x42c436
movss xmm0, dword [edi + 0x378]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x42c3be
movss xmm0, dword [edi + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x42c42d
cmp byte [ebx + 0x4c], 0
je 0x42c3de
push 0
mov edx, ebx
lea ecx, [ebp - 0xd0]
call fcn.0042a480
movss xmm2, dword [ebp - 0xc4]
add esp, 4
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x42c3ec
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x40], eax
movaps xmm1, xmm6
mov ecx, ebx
call fcn.0042a7f0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
jmp 0x42c42a
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
mov byte [ebx + 0xe65], 1
mov al, byte [ebp - 0x3a]
cmp byte [ebx + 0xe65], 0
je 0x42c446
cmp byte [edi + 0xf0], 0
jne 0x42c446
mov byte [ebx + 0xe65], 0
cmp byte [edi + 0x100], 0
je 0x42c458
cmp byte [edi + 0x102], 0
je 0x42c465
test al, al
je 0x42c469
cmp byte [edi + 0x103], 0
je 0x42c469
mov al, 1
jmp 0x42c46b
xor al, al
mov ecx, dword [edi + 0x1510]
test ecx, ecx
jle 0x42c4fc
test al, al
jne 0x42c4e9
cmp byte [ebp - 0x41], al
jne 0x42c4e9
xor esi, esi
test ecx, ecx
jle 0x42c4e9
nop dword [eax + eax]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x1518]
movzx ecx, word [eax + esi*2]
cmp ecx, 9
je 0x42c4e0
cmp ecx, 0x20
jb 0x42c4e0
cmp ecx, 0x7f
je 0x42c4e0
lea eax, [ecx - 0xe000]
cmp eax, 0x18ff
jbe 0x42c4e0
cmp ecx, 0xffff
ja 0x42c4e0
push ecx
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0042ad50
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
inc esi
cmp esi, dword [edi + 0x1510]
jl 0x42c490
push 0
lea ecx, [edi + 0x1510]
call fcn.00417ad0
mov esi, dword [0x4a5724]
mov edi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
xor cl, cl
mov byte [ebp - 0x39], cl
cmp dword [edi + 0x1aa0], eax
jne 0x42ce51
cmp byte [edi + 0x1aac], cl
jne 0x42ce51
cmp byte [ebp - 0x64], cl
jne 0x42ce51
mov eax, dword [ebp - 0x4c]
xor edi, edi
mov ecx, 0x400000
cmp byte [eax + 0x101], 0
cmovne edi, ecx
mov cl, byte [eax + 0xb1]
mov byte [ebp - 0x8d], cl
test cl, cl
je 0x42c559
cmp dword [eax + 0x380], 0xa
mov byte [ebp - 0x41], 1
je 0x42c55d
mov byte [ebp - 0x41], 0
test cl, cl
je 0x42c586
cmp byte [eax + 0x103], 0
mov cl, byte [eax + 0x102]
mov byte [ebp - 0x3d], cl
je 0x42c58f
cmp byte [eax + 0x100], 0
jne 0x42c58f
test cl, cl
jne 0x42c58f
mov byte [ebp - 0x3e], 1
jmp 0x42c593
mov cl, byte [eax + 0x100]
mov byte [ebp - 0x3d], cl
mov byte [ebp - 0x3e], 0
cmp byte [eax + 0xb1], 0
mov edx, dword [eax + 0x380]
je 0x42c5a7
cmp edx, 8
jmp 0x42c5aa
cmp edx, 1
sete al
xorps xmm5, xmm5
mov byte [ebp - 0x3a], al
test al, al
je 0x42c5f6
mov ecx, dword [esi + 0x80]
test ecx, ecx
js 0x42c5f6
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42c637
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42c5f6
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
jne 0x42c637
cmp edx, 2
jne 0x42c63d
mov ecx, dword [esi + 0x5c]
test ecx, ecx
js 0x42c63d
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42c637
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42c63d
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
je 0x42c63d
mov byte [ebp - 0x3f], 1
jmp 0x42c641
mov byte [ebp - 0x3f], 0
cmp byte [ebp - 0x3a], 0
je 0x42c683
mov ecx, dword [esi + 0x78]
test ecx, ecx
js 0x42c683
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42c6c4
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42c683
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
jne 0x42c6c4
cmp edx, 1
jne 0x42c6ca
mov ecx, dword [esi + 0x58]
test ecx, ecx
js 0x42c6ca
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42c6c4
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42c6ca
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
je 0x42c6ca
mov byte [ebp - 0x6d], 1
jmp 0x42c6ce
mov byte [ebp - 0x6d], 0
cmp byte [ebp - 0x3a], 0
je 0x42c710
mov ecx, dword [esi + 0x7c]
test ecx, ecx
js 0x42c710
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42c751
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42c710
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
jne 0x42c751
cmp edx, 2
jne 0x42c757
mov ecx, dword [esi + 0x58]
test ecx, ecx
js 0x42c757
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42c751
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42c757
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
je 0x42c757
mov byte [ebp - 0x6e], 1
jmp 0x42c75b
mov byte [ebp - 0x6e], 0
mov al, byte [ebp - 0x3a]
test al, al
je 0x42c7a8
mov ecx, dword [esi + 0x88]
test ecx, ecx
js 0x42c7a8
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42c7a4
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42c7a8
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
mov al, byte [ebp - 0x3a]
je 0x42c7a8
mov dh, 1
jmp 0x42c7aa
xor dh, dh
test al, al
je 0x42c7ed
mov ecx, dword [esi + 0x84]
test ecx, ecx
js 0x42c7ed
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42c832
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42c7ed
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
jne 0x42c832
cmp byte [ebp - 0x41], 0
je 0x42c836
mov ecx, dword [esi + 0x88]
test ecx, ecx
js 0x42c836
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42c832
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42c836
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
je 0x42c836
mov dl, 1
jmp 0x42c838
xor dl, dl
mov ecx, dword [esi + 0x38]
test ecx, ecx
js 0x42c8b4
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42c874
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42c8b4
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
je 0x42c8b4
cmp byte [ebp - 0x3e], 0
je 0x42c891
mov eax, 0x200004
lea edx, [ebx + 0x3c]
or eax, edi
mov ecx, ebx
push eax
call fcn.0042ad50
jmp 0x42ce18
cmp byte [ebp - 0x3d], 0
lea edx, [ebx + 0x3c]
mov ecx, 0x20000c
mov eax, 0x200000
cmovne eax, ecx
mov ecx, ebx
or eax, edi
push eax
call fcn.0042ad50
jmp 0x42ce18
mov ecx, dword [esi + 0x3c]
test ecx, ecx
js 0x42c930
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42c8f0
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42c930
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
je 0x42c930
cmp byte [ebp - 0x3e], 0
je 0x42c90d
mov eax, 0x200005
lea edx, [ebx + 0x3c]
or eax, edi
mov ecx, ebx
push eax
call fcn.0042ad50
jmp 0x42ce18
cmp byte [ebp - 0x3d], 0
lea edx, [ebx + 0x3c]
mov ecx, 0x20000d
mov eax, 0x200001
cmovne eax, ecx
mov ecx, ebx
or eax, edi
push eax
call fcn.0042ad50
jmp 0x42ce18
mov eax, dword [esi + 0x40]
test eax, eax
js 0x42c945
movss xmm0, dword [esi + eax*4 + 0x460]
movss dword [ebp - 0x54], xmm0
mov eax, dword [esi + 0x44]
test eax, eax
js 0x42c95a
movss xmm0, dword [esi + eax*4 + 0x460]
movss dword [ebp - 0x54], xmm0
mov ecx, dword [esi + 0x50]
test ecx, ecx
js 0x42c9bd
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42c996
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42c9bd
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
je 0x42c9bd
mov ecx, dword [ebp - 0x4c]
lea edx, [ebx + 0x3c]
xor eax, eax
cmp byte [ecx + 0x100], al
mov ecx, ebx
setne al
lea eax, [eax*2 + 0x200004]
or eax, edi
push eax
call fcn.0042ad50
jmp 0x42ce18
mov ecx, dword [esi + 0x54]
test ecx, ecx
js 0x42ca20
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42c9f9
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42ca20
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
je 0x42ca20
mov ecx, dword [ebp - 0x4c]
lea edx, [ebx + 0x3c]
xor eax, eax
cmp byte [ecx + 0x100], al
mov ecx, ebx
setne al
lea eax, [eax*2 + 0x200005]
or eax, edi
push eax
call fcn.0042ad50
jmp 0x42ce18
mov ecx, dword [esi + 0x5c]
test ecx, ecx
js 0x42ca72
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42ca5c
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42ca72
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
je 0x42ca72
or edi, 0x200008
lea edx, [ebx + 0x3c]
push edi
mov ecx, ebx
call fcn.0042ad50
jmp 0x42ce18
mov ecx, dword [esi + 0x60]
test ecx, ecx
js 0x42cb2b
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42cab6
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42cb2b
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
je 0x42cb2b
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x42cb15
cmp byte [ebp - 0x3d], 0
je 0x42cacb
push 0x60000c
jmp 0x42caf7
cmp byte [ebp - 0x8d], 0
je 0x42cb15
mov eax, dword [ebp - 0x4c]
cmp byte [eax + 0x103], 0
je 0x42cb15
cmp byte [eax + 0x102], 0
jne 0x42cb15
cmp byte [eax + 0x100], 0
jne 0x42cb15
push 0x600004
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0042ad50
mov dword [ebx + 0xe60], 0xbe99999a
add esp, 4
mov byte [ebx + 0xe64], 1
or edi, 0x200009
lea edx, [ebx + 0x3c]
push edi
mov ecx, ebx
call fcn.0042ad50
jmp 0x42ce18
mov ecx, dword [esi + 0x68]
test ecx, ecx
js 0x42cb67
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42cba3
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42cb67
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
jne 0x42cba3
mov ecx, dword [esi + 0x70]
test ecx, ecx
js 0x42cbac
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42cba3
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42cbac
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
je 0x42cbac
mov byte [ebp - 0x64], 1
jmp 0x42ce2c
mov ecx, dword [esi + 0x6c]
test ecx, ecx
js 0x42cbf2
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42cbe8
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42cbf2
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
je 0x42cbf2
mov cl, 1
mov byte [ebp - 0x64], cl
jmp 0x42ce2f
test dh, dh
jne 0x42cdf8
test dl, dl
jne 0x42cdf8
cmp byte [ebp - 0x3a], dl
je 0x42cc5c
mov ecx, dword [esi + 0x74]
test ecx, ecx
js 0x42cc5c
movss xmm0, dword [esi + ecx*4 + 0x460]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x42cc43
movss xmm1, dword [esi + 0x8c]
comiss xmm0, xmm1
jbe 0x42cc5c
movss xmm2, dword [esi + 0x90]
call fcn.0040d400
test eax, eax
setg al
test al, al
je 0x42cc5c
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
jmp 0x42ce25
cmp byte [ebp - 0x3f], 0
jne 0x42cd3c
cmp byte [ebp - 0x6d], 0
jne 0x42cd3c
cmp byte [ebp - 0x6e], 0
je 0x42ce2c
mov eax, dword [esi + 0xd0]
test eax, eax
je 0x42cc9b
push dword [esi + 0xd8]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x42ce2c
jmp 0x42cca0
mov esi, 0x490ddc
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42cca5
sub ecx, edx
lea ecx, [ecx*2 + 2]
call fcn.0040a440
xor edi, edi
mov dword [ebp - 0x60], eax
cmp byte [esi], 0
je 0x42cd0d
mov ebx, eax
push 0
mov edx, esi
lea ecx, [ebp - 0x54]
call fcn.00407e50
mov ecx, dword [ebp - 0x54]
add esp, 4
add esi, eax
test ecx, ecx
je 0x42cd07
cmp ecx, 0x20
jb 0x42cd02
cmp ecx, 0x7f
je 0x42cd02
lea eax, [ecx - 0xe000]
cmp eax, 0x18ff
jbe 0x42cd02
cmp ecx, 0xffff
ja 0x42cd02
mov word [ebx + edi*2], cx
inc edi
cmp byte [esi], 0
jne 0x42ccc6
mov ebx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x60]
xor ecx, ecx
mov word [eax + edi*2], cx
test edi, edi
jle 0x42cd30
push edi
push eax
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0042aca0
mov eax, dword [ebp - 0x60]
add esp, 8
mov byte [ebx + 0xe64], 1
mov ecx, eax
call fcn.0040a460
jmp 0x42ce2c
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0xd4], 0
je 0x42cdb7
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
cmp eax, ecx
je 0x42cd59
mov esi, ecx
cmovl esi, eax
jmp 0x42cd5b
xor esi, esi
cmp eax, ecx
mov dword [ebp - 0x74], esi
cmovge ecx, eax
jne 0x42cd68
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x54], ecx
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.00408130
mov edi, eax
lea ecx, [edi + 1]
call fcn.0040a440
mov esi, dword [ebp - 0x78]
lea edx, [edi + 1]
mov ebx, eax
mov eax, dword [ebp - 0x54]
mov esi, dword [esi + 0x14]
lea ecx, [esi + eax*2]
mov eax, dword [ebp - 0x74]
push ecx
lea ecx, [esi + eax*2]
push ecx
mov ecx, ebx
call fcn.004080c0
add esp, 8
mov ecx, ebx
call fcn.0040a480
mov ecx, ebx
call fcn.0040a460
mov ebx, dword [ebp - 0x78]
cmp byte [ebp - 0x3f], 0
je 0x42ce2c
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x42cdd9
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
mov byte [ebx + 0xe64], 1
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x42ce2c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.0042ab60
mov byte [ebx + 0x4b], 0
jmp 0x42ce2c
xor eax, eax
mov ecx, ebx
test dh, dh
lea edx, [ebx + 0x3c]
sete al
add eax, 0x20000a
push eax
call fcn.0042ad50
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
add esp, 4
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
mov cl, byte [ebp - 0x39]
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x42ce44
cmp byte [ebp - 0x3c], 0
je 0x42ce44
mov eax, 1
jmp 0x42ce46
xor eax, eax
mov dl, byte [ebp - 0x3b]
mov edi, dword [ebp - 0x4c]
or dl, al
mov byte [ebp - 0x3b], dl
mov esi, dword [ebp - 0x48]
cmp dword [edi + 0x1aa0], esi
jne 0x42d0d7
xor edi, edi
mov dword [ebp - 0x68], 0
test cl, cl
je 0x42cfdf
mov esi, dword [ebx + 0x2c]
mov ecx, esi
mov eax, dword [ebp - 0x5c]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42cea0
test dl, dl
je 0x42ce9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42cea0
add eax, 2
add ecx, 2
test dl, dl
jne 0x42ce80
xor eax, eax
jmp 0x42cea5
sbb eax, eax
or eax, 1
test eax, eax
je 0x42d07e
mov ecx, dword [ebx + 0x24]
xor eax, eax
dec ecx
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x74], ecx
mov edx, esi
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x84], eax
test ecx, ecx
jle 0x42cf86
lea esi, [ecx + edx]
mov edi, edx
mov dword [ebp - 0x60], eax
test esi, esi
je 0x42cee5
cmp edi, esi
jae 0x42cf06
cmp byte [edi], 0
je 0x42cf06
push esi
mov edx, edi
lea ecx, [ebp - 0x54]
call fcn.00407e50
add edi, eax
add esp, 4
cmp dword [ebp - 0x54], 0
mov eax, dword [ebp - 0x60]
je 0x42cf06
inc eax
jmp 0x42ceda
inc eax
lea ecx, [ebp - 0x8c]
push eax
call fcn.00417ad0
mov edx, dword [ebp - 0x84]
mov eax, edx
mov ecx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x68]
dec ecx
mov dword [ebp - 0x60], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x42cf78
mov ebx, dword [ebp - 0x8c]
test esi, esi
je 0x42cf3d
cmp edi, esi
jae 0x42cf75
cmp byte [edi], 0
je 0x42cf75
push esi
mov edx, edi
lea ecx, [ebp - 0x54]
call fcn.00407e50
mov ecx, dword [ebp - 0x54]
add edi, eax
mov eax, dword [ebp - 0x60]
add esp, 4
test ecx, ecx
je 0x42cf75
mov edx, dword [ebp - 0x84]
mov word [eax], cx
lea ecx, [ebx - 1]
add eax, 2
mov dword [ebp - 0x60], eax
lea ecx, [edx + ecx*2]
cmp eax, ecx
jb 0x42cf35
mov ebx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x8c]
xor ecx, ecx
mov word [eax], cx
dec esi
jmp 0x42cf88
xor esi, esi
push esi
push dword [ebx + 4]
lea edx, [ebx + 0x3c]
mov ecx, ebx
push 0
call fcn.0042bae0
add esp, 0xc
xor edx, edx
mov ecx, ebx
push dword [ebx + 4]
call fcn.0042a660
add esp, 4
test esi, esi
jle 0x42cfcc
push esi
push dword [ebp - 0x84]
xor edx, edx
mov ecx, ebx
call fcn.0042a6c0
add esp, 8
test al, al
je 0x42cfcc
mov dword [ebx + 0x3c], esi
mov byte [ebx + 0x4b], 0
lea ecx, [ebp - 0x8c]
call fcn.00406e20
mov edi, dword [ebp - 0x74]
jmp 0x42d07e
mov eax, dword [ebx + 0xc]
lea ecx, [ebx + 0x18]
mov byte [ebx + 0x30], 1
lea eax, [eax*4 + 1]
push eax
call fcn.004179d0
mov edi, dword [ebx + 0x20]
mov esi, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x14]
add esi, edi
lea eax, [esi - 1]
cmp edi, eax
jae 0x42d046
lea ebx, [esi - 1]
nop dword [eax + eax]
movzx eax, word [ecx]
test ax, ax
je 0x42d043
add ecx, 2
mov dword [ebp - 0x54], ecx
cmp eax, 0x80
jae 0x42d02a
mov byte [edi], al
inc edi
jmp 0x42d03f
mov edx, esi
mov ecx, edi
sub edx, edi
push eax
dec edx
call fcn.00408000
mov ecx, dword [ebp - 0x54]
add esp, 4
add edi, eax
cmp edi, ebx
jb 0x42d010
mov ebx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x5c]
mov byte [edi], 0
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x68], eax
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42d072
test dl, dl
je 0x42d06e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42d072
add eax, 2
add ecx, 2
test dl, dl
jne 0x42d052
xor eax, eax
jmp 0x42d077
sbb eax, eax
or eax, 1
test eax, eax
je 0x42d0b3
mov edi, dword [ebx + 8]
mov ecx, dword [ebp - 0x68]
test ecx, ecx
je 0x42d0b3
mov esi, dword [ebp + 0xc]
lea eax, [edi + 1]
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x42d0af
jbe 0x42d0a7
lea eax, [esi - 1]
push eax
push ecx
push dword [ebp - 0x5c]
call fcn.0044a4a0
add esp, 0xc
mov eax, dword [ebp - 0x5c]
mov byte [esi + eax - 1], 0
mov byte [ebp - 0x40], 1
mov edi, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
mov dword [ebx + 0xe68], 0
mov dword [ebx + 0xe6c], 0
mov dword [ebx + 0xe70], 0
cmp byte [ebp - 0x64], 0
je 0x42d0ea
cmp dword [edi + 0x1aa0], esi
jne 0x42d0ea
call fcn.00409ff0
push 1
mov edx, esi
lea ecx, [ebp - 0x38]
call fcn.004092d0
movss xmm1, dword [0x491374]
add esp, 4
mov ecx, 7
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
call fcn.00408460
movss xmm2, dword [edi + 0x1560]
mov dl, 1
mov ecx, eax
call fcn.00409070
movss xmm1, dword [ebp - 0x38]
add esp, 0x10
cmp byte [ebp - 0x6f], 0
movaps xmm6, xmm1
addss xmm6, dword [ebp - 0x7c]
movss xmm0, dword [ebp - 0x34]
movss dword [ebp - 0x28], xmm1
movaps xmm5, xmm0
addss xmm5, dword [ebp - 0x6c]
movss dword [ebp - 0x24], xmm0
movss dword [ebp - 0x9c], xmm6
movss dword [ebp - 0x20], xmm6
movss xmm6, dword [edi + 0x1558]
addss xmm6, xmm1
movss dword [ebp - 0xa0], xmm5
movss xmm1, dword [edi + 0x155c]
addss xmm1, xmm0
movss dword [ebp - 0x1c], xmm5
movss dword [ebp - 0x58], xmm6
mov eax, dword [ebp - 0x58]
movss dword [ebp - 0x54], xmm1
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x54]
movss dword [ebp - 0x60], xmm6
movss dword [ebp - 0x74], xmm1
mov dword [ebp - 0x84], eax
je 0x42d1b5
mov edx, dword [ebx + 0x20]
mov dword [ebp - 0x5c], edx
jmp 0x42d1b8
mov edx, dword [ebp - 0x5c]
mov ch, byte [ebp - 0x3c]
mov cl, byte [ebp - 0x3b]
test ch, ch
jne 0x42d241
test cl, cl
jne 0x42d241
cmp dword [edi + 0x1aa0], esi
jne 0x42d1d3
mov ecx, dword [ebx + 8]
jmp 0x42d1e4
mov ecx, edx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d1d8
sub ecx, edx
mov edx, dword [ebp - 0x5c]
add ecx, edx
mov eax, ecx
mov dword [ebp - 0x48], ecx
sub eax, edx
cmp eax, 0x200000
jge 0x42db23
movss xmm1, dword [0x491374]
lea eax, [ebp - 0x28]
push eax
push ecx
mov dword [esp], 0
push ecx
push edx
xor ecx, ecx
call fcn.00408460
mov ecx, dword [ebp - 0x94]
movss xmm2, dword [edi + 0x192c]
push eax
lea eax, [ebp - 0x88]
mov ecx, dword [ecx + 0x290]
push eax
push dword [edi + 0x1928]
call fcn.004221c0
jmp 0x42db1d
mov eax, dword [ebx + 8]
xorps xmm5, xmm5
mov esi, dword [ebx + 0x14]
add eax, edx
movaps xmm0, xmm5
mov dword [ebp - 0x48], eax
mov edi, 0xfffffc18
movss dword [ebp - 0x68], xmm0
xor edx, edx
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x80], 0
movaps xmm7, xmm5
mov dword [ebp - 0x64], edi
test ch, ch
je 0x42d285
mov eax, dword [ebx + 0x3c]
or edi, 0xffffffff
lea eax, [esi + eax*2]
mov dword [ebp - 0x6c], eax
lea edx, [edi + 2]
test cl, cl
je 0x42d2a1
mov ecx, dword [ebx + 0x44]
cmp dword [ebx + 0x40], ecx
mov dword [ebp - 0x64], 0xffffffff
cmovl ecx, dword [ebx + 0x40]
inc edx
lea eax, [esi + ecx*2]
mov dword [ebp - 0x80], eax
mov eax, esi
xor ecx, ecx
movzx esi, word [esi]
test si, si
je 0x42d2e9
mov ebx, dword [ebp - 0x6c]
cmp si, 0xa
jne 0x42d2da
inc ecx
cmp edi, 0xffffffff
jne 0x42d2c7
cmp eax, ebx
jb 0x42d2c7
dec edx
mov edi, ecx
test edx, edx
jle 0x42d2e6
cmp dword [ebp - 0x64], 0xffffffff
jne 0x42d2da
cmp eax, dword [ebp - 0x80]
jb 0x42d2da
dec edx
mov dword [ebp - 0x64], ecx
test edx, edx
jle 0x42d2e6
movzx esi, word [eax + 2]
add eax, 2
test si, si
jne 0x42d2b0
mov ebx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x64]
inc ecx
mov edx, dword [ebp - 0x6c]
cmp edi, 0xffffffff
mov esi, dword [ebx + 0x14]
cmove edi, ecx
cmp eax, 0xffffffff
cmove eax, ecx
mov ecx, edx
mov dword [ebp - 0x64], eax
cmp edx, esi
jbe 0x42d316
cmp word [ecx - 2], 0xa
je 0x42d316
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x42d308
mov eax, dword [0x4a5724]
movaps xmm1, xmm5
movaps xmm4, xmm5
mov esi, dword [eax + 0x1928]
movss xmm2, dword [eax + 0x192c]
divss xmm2, dword [esi + 0x10]
cmp ecx, edx
jae 0x42d37d
nop dword [eax + eax]
movzx eax, word [ecx]
add ecx, 2
cmp eax, 0xa
jne 0x42d354
maxss xmm1, xmm4
movaps xmm4, xmm5
jmp 0x42d379
cmp eax, 0xd
je 0x42d379
mov edx, eax
cmp edx, dword [esi]
jge 0x42d369
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x42d36e
movss xmm0, dword [esi + 0xc]
mov edx, dword [ebp - 0x6c]
mulss xmm0, xmm2
addss xmm4, xmm0
cmp ecx, edx
jb 0x42d340
cmp dword [ebp - 0x64], 0
maxss xmm4, xmm1
mov eax, dword [ebp - 0x4c]
movd xmm0, edi
mov edi, dword [ebx + 0x14]
cvtdq2ps xmm0, xmm0
movss xmm3, dword [eax + 0x192c]
mulss xmm0, xmm3
movss dword [ebp - 0x6c], xmm4
movss dword [ebp - 0x54], xmm0
jl 0x42d439
mov edx, dword [ebp - 0x80]
mov ecx, edx
cmp edx, edi
jbe 0x42d3c5
cmp word [ecx - 2], 0xa
je 0x42d3c5
add ecx, 0xfffffffe
cmp ecx, edi
ja 0x42d3b7
mov eax, dword [0x4a5724]
movaps xmm1, xmm5
movaps xmm7, xmm5
mov esi, dword [eax + 0x1928]
movss xmm2, dword [eax + 0x192c]
divss xmm2, dword [esi + 0x10]
cmp ecx, edx
jae 0x42d424
movzx eax, word [ecx]
add ecx, 2
cmp eax, 0xa
jne 0x42d3fb
maxss xmm1, xmm7
movaps xmm7, xmm5
jmp 0x42d420
cmp eax, 0xd
je 0x42d420
mov edx, eax
cmp edx, dword [esi]
jge 0x42d410
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x42d415
movss xmm0, dword [esi + 0xc]
mov edx, dword [ebp - 0x80]
mulss xmm0, xmm2
addss xmm7, xmm0
cmp ecx, edx
jb 0x42d3e7
movd xmm0, dword [ebp - 0x64]
maxss xmm7, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss dword [ebp - 0x68], xmm0
cmp byte [ebp - 0x3c], 0
je 0x42d4bd
cmp byte [ebx + 0xe64], 0
je 0x42d4bd
movss xmm3, dword [ebp - 0x7c]
movaps xmm1, xmm4
movss xmm2, dword [ebx + 0x38]
movaps xmm0, xmm3
comiss xmm2, xmm4
mulss xmm0, dword [0x49132c]
jbe 0x42d472
subss xmm1, xmm0
movaps xmm0, xmm5
maxss xmm0, xmm1
jmp 0x42d47f
subss xmm1, xmm3
comiss xmm1, xmm2
jb 0x42d48f
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x38], xmm0
mov byte [ebx + 0xe64], 0
movss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0xa0], xmm0
movss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x9c], xmm0
movss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x98], xmm0
mov dl, byte [ebp - 0x3b]
movss xmm4, dword [ebx + 0x38]
movss dword [ebp - 0x80], xmm4
test dl, dl
je 0x42d787
mov edx, dword [ebx + 0x44]
mov eax, edx
mov ecx, dword [ebx + 0x40]
cmp ecx, edx
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0x3c], 0
lea esi, [edi + eax*2]
lea edi, [edi + edx*2]
mov dword [ebp - 0x64], edi
je 0x42d4fb
movss xmm1, dword [0x491374]
jmp 0x42d503
movss xmm1, dword [0x491344]
mov ecx, 0x2f
call fcn.00408460
movss xmm5, dword [ebp - 0x68]
xorps xmm2, xmm2
movss xmm6, dword [ebp - 0x60]
movss xmm4, dword [ebp - 0x80]
addss xmm7, xmm6
mov dword [ebp - 0x7c], eax
addss xmm5, dword [ebp - 0x74]
subss xmm7, xmm4
subss xmm5, xmm2
movss dword [ebp - 0x68], xmm5
cmp esi, edi
jae 0x42d784
movss xmm6, dword [ebp - 0xa0]
movss xmm1, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x94]
nop word [eax + eax]
movss xmm4, dword [ecx + 0x192c]
movaps xmm0, xmm6
addss xmm0, xmm4
comiss xmm5, xmm0
ja 0x42d777
comiss xmm1, xmm5
jbe 0x42d59e
cmp esi, edi
jae 0x42d752
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x42d752
cmp esi, edi
jb 0x42d585
jmp 0x42d752
mov eax, dword [0x4a5724]
xorps xmm0, xmm0
movaps xmm3, xmm0
movaps xmm1, xmm0
mov edx, dword [eax + 0x1928]
movss xmm2, dword [eax + 0x192c]
divss xmm2, dword [edx + 0x10]
cmp esi, edi
jae 0x42d5fa
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x42d61b
cmp eax, 0xd
je 0x42d5f0
mov ecx, eax
cmp ecx, dword [edx]
jge 0x42d5e3
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x42d5e8
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, edi
jb 0x42d5c3
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x4c]
maxss xmm1, xmm3
comiss xmm0, xmm1
jb 0x42d642
mov eax, dword [ecx + 0x1928]
cmp dword [eax], 0x20
jle 0x42d62a
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x42d62f
xorps xmm0, xmm0
movaps xmm3, xmm0
maxss xmm3, xmm1
movaps xmm1, xmm0
jmp 0x42d5f7
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x491340]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x491480]
xorps xmm2, xmm2
subss xmm0, xmm4
movaps xmm3, xmm7
addss xmm7, xmm2
movaps xmm2, xmm5
addss xmm3, xmm1
movaps xmm1, xmm5
addss xmm1, dword [0x491390]
addss xmm2, xmm0
movss xmm0, dword [ebp - 0x9c]
maxss xmm7, dword [ebp - 0x98]
minss xmm3, xmm0
minss xmm1, xmm6
maxss xmm2, dword [ebp - 0x24]
movss dword [ebp - 0xb0], xmm7
mov eax, dword [ebp - 0xb0]
comiss xmm1, dword [ebp - 0x24]
mov dword [ebp - 0xc8], eax
movss dword [ebp - 0xac], xmm2
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xc4], eax
movss dword [ebp - 0x10], xmm3
mov eax, dword [ebp - 0x10]
movss dword [ebp - 0xc], xmm1
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xbc], eax
jbe 0x42d74d
comiss xmm6, xmm2
jbe 0x42d74d
comiss xmm3, dword [ebp - 0x98]
jbe 0x42d74d
comiss xmm0, xmm7
jbe 0x42d74d
test dword [ebp - 0x7c], 0xff000000
mov edi, dword [ebx + 0x290]
je 0x42d74a
push 4
push 6
mov ecx, edi
call fcn.00420330
mov eax, dword [ebp - 0x7c]
mov ecx, edi
push eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.00420430
movss xmm0, dword [ebp - 0x20]
movss xmm6, dword [ebp - 0x1c]
movss xmm5, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x4c]
movss dword [ebp - 0x9c], xmm0
movss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0xa0], xmm6
movss dword [ebp - 0x98], xmm0
mov edi, dword [ebp - 0x64]
movss xmm1, dword [ebp - 0x24]
movss xmm7, dword [ebp - 0x60]
movss xmm4, dword [ebp - 0x80]
subss xmm7, xmm4
addss xmm5, dword [ecx + 0x192c]
movss dword [ebp - 0x68], xmm5
cmp esi, edi
jb 0x42d560
jmp 0x42d77c
movss xmm4, dword [ebp - 0x80]
movss xmm6, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x78]
xorps xmm5, xmm5
mov ecx, dword [ebp - 0x48]
mov eax, ecx
mov edx, dword [ebp - 0x5c]
sub eax, edx
cmp eax, 0x200000
jge 0x42d9a0
mov eax, dword [0x4a5724]
movups xmm0, xmmword [eax + 0x15d8]
movss xmm2, dword [eax + 0x1520]
movups xmmword [ebp - 0xc8], xmm0
movss xmm1, dword [ebp - 0xc8]
comiss xmm5, xmm1
shufps xmm0, xmm0, 0xff
mulss xmm2, xmm0
jbe 0x42d7d1
movaps xmm0, xmm5
jmp 0x42d7dd
movss xmm0, dword [0x491374]
minss xmm0, xmm1
movss xmm1, dword [0x491450]
movss xmm7, dword [0x491340]
movss xmm3, dword [ebp - 0xc4]
comiss xmm5, xmm3
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x42d80b
movaps xmm0, xmm5
jmp 0x42d817
movss xmm0, dword [0x491374]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0xc0]
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm5, xmm3
jbe 0x42d83a
movaps xmm0, xmm5
jmp 0x42d846
movss xmm0, dword [0x491374]
minss xmm0, xmm3
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm5, xmm2
jbe 0x42d861
movaps xmm0, xmm5
jmp 0x42d86d
movss xmm0, dword [0x491374]
minss xmm0, xmm2
mov eax, dword [ebp - 0x94]
mulss xmm0, xmm1
mov esi, dword [eax + 0x290]
mov eax, dword [ebp - 0x4c]
addss xmm0, xmm7
mov edi, dword [eax + 0x1928]
movss xmm2, dword [eax + 0x192c]
mov eax, dword [ebp - 0x48]
cvttss2si edx, xmm0
movaps xmm0, xmm6
subss xmm0, xmm4
shl edx, 0x18
or edx, ecx
mov ecx, eax
movss dword [ebp - 0x10], xmm0
movss xmm0, dword [ebp - 0x74]
subss xmm0, xmm5
movss dword [ebp - 0xc], xmm0
test edx, 0xff000000
je 0x42d99a
test eax, eax
jne 0x42d8e4
mov ecx, dword [ebp - 0x5c]
lea eax, [ecx + 1]
mov dword [ebp - 0x7c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d8d3
sub ecx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x5c]
add ecx, eax
jmp 0x42d8e7
mov eax, dword [ebp - 0x5c]
cmp eax, ecx
je 0x42d99a
test edi, edi
jne 0x42d8f9
mov eax, dword [esi + 0x28]
mov edi, dword [eax + 8]
ucomiss xmm2, xmm5
lahf
test ah, 0x44
jp 0x42d90a
mov eax, dword [esi + 0x28]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [esi + 0x60]
movss xmm1, dword [ebp - 0x98]
comiss xmm0, xmm1
movups xmmword [ebp - 0xb8], xmm0
jae 0x42d92a
movss dword [ebp - 0xb8], xmm1
movss xmm0, dword [ebp - 0xb4]
movss xmm1, dword [ebp - 0x24]
comiss xmm0, xmm1
jae 0x42d944
movss dword [ebp - 0xb4], xmm1
movss xmm0, dword [ebp - 0x9c]
comiss xmm0, dword [ebp - 0xb0]
ja 0x42d95d
movss dword [ebp - 0xb0], xmm0
movss xmm0, dword [ebp - 0xa0]
comiss xmm0, dword [ebp - 0xac]
ja 0x42d976
movss dword [ebp - 0xac], xmm0
push dword [ebp - 0xc]
lea eax, [ebp - 0xb8]
push dword [ebp - 0x10]
push 1
push ecx
mov dword [esp], 0
push ecx
push dword [ebp - 0x5c]
mov ecx, edi
push eax
push edx
push esi
call fcn.004259f0
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x5c]
cmp byte [ebp - 0x3c], 0
mov edi, dword [ebp - 0x4c]
je 0x42db23
movss xmm0, dword [edi + 0x18]
addss xmm0, dword [ebx + 0xe60]
movss dword [ebx + 0xe60], xmm0
cmp byte [edi + 0xb2], 0
je 0x42da06
xorps xmm2, xmm2
comiss xmm2, xmm0
jae 0x42da06
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x10], xmm0
fld qword [ebp - 0x10]
fld qword [0x491388]
call fcn.00479aaa
movss xmm0, dword [0x491364]
fstp qword [ebp - 0x10]
movsd xmm1, qword [ebp - 0x10]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x42da06
xor al, al
jmp 0x42da08
mov al, 1
movss xmm5, dword [ebp - 0x54]
movss xmm4, dword [ebp - 0x6c]
movss xmm6, dword [0x491374]
addss xmm5, dword [ebp - 0x74]
addss xmm4, dword [ebp - 0x60]
subss xmm5, dword [0x491300]
subss xmm4, dword [ebp - 0x80]
movss dword [ebp - 0x54], xmm5
movaps xmm1, xmm5
movss dword [ebp - 0x6c], xmm4
movaps xmm3, xmm4
movss dword [ebp - 0xc8], xmm4
movaps xmm2, xmm5
addss xmm3, xmm6
subss xmm1, dword [edi + 0x192c]
subss xmm2, dword [0x491380]
movss dword [ebp - 0xc0], xmm3
addss xmm1, dword [0x491340]
movss dword [ebp - 0xbc], xmm2
movss dword [ebp - 0xc4], xmm1
test al, al
je 0x42daf5
comiss xmm2, dword [ebp - 0x24]
jbe 0x42daf5
movss xmm0, dword [ebp - 0x1c]
comiss xmm0, xmm1
jbe 0x42daf5
comiss xmm3, dword [ebp - 0x28]
jbe 0x42daf5
movss xmm0, dword [ebp - 0x20]
comiss xmm0, xmm4
jbe 0x42daf5
sub esp, 8
movss dword [ebp - 0x10], xmm4
movaps xmm1, xmm6
movss dword [ebp - 0xc], xmm2
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.00408460
add esp, 4
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax + 0x290]
call fcn.00421e30
movss xmm4, dword [ebp - 0x6c]
movss xmm5, dword [ebp - 0x54]
movss xmm6, dword [0x491374]
subss xmm5, dword [edi + 0x192c]
subss xmm4, xmm6
movss dword [ebp - 0xc], xmm5
movss dword [ebp - 0x10], xmm4
mov eax, dword [ebp - 0x10]
mov dword [edi + 0x2e58], eax
mov eax, dword [ebp - 0xc]
mov dword [edi + 0x2e5c], eax
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x48]
cmp byte [edi + 0x2e94], 0
je 0x42db3b
push ecx
lea ecx, [ebp - 0x88]
call fcn.00416750
add esp, 4
movss xmm0, dword [ebp - 0xa4]
comiss xmm0, dword [0x491300]
jbe 0x42db94
movss xmm0, dword [edi + 0x1570]
xor edx, edx
addss xmm0, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xd4]
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [edi + 0x155c]
movss dword [ebp - 0x84], xmm0
push dword [ebp - 0x84]
push dword [ebp - 0x88]
push 1
call fcn.00408730
add esp, 0xc
mov al, byte [ebp - 0x40]
test al, al
je 0x42dbb7
mov ecx, dword [0x4a5724]
mov word [ecx + 0x1aaf], 0x101
mov ecx, dword [ecx + 0x1a68]
or dword [ecx + 0x110], 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043eeb1
mov esp, ebp
pop ebp
ret