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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45e760
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x13c
push esi
push edi
mov edi, dword [0x4772f8]
mov esi, edi
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0x38], esi
mov eax, dword [esi + 0x1b9c]
mov byte [eax + 0x8c], 1
mov eax, dword [esi + 0x1b9c]
mov dword [ebp - 0x44], eax
cmp byte [eax + 0x8f], 0
jne 0x42ba87
mov ecx, dword [ebp + 0x14]
mov edx, ecx
mov dword [ebp - 0x34], ecx
shr dword [ebp - 0x34], 0xe
and byte [ebp - 0x34], 1
mov dword [ebp - 0x94], ecx
shr dword [ebp - 0x94], 0xf
and byte [ebp - 0x94], 1
shr ecx, 0x10
not cl
shr edx, 0x1a
and ecx, 0xffffff01
and edx, 0xffffff01
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp + 0x14]
shr ecx, 0x12
and ecx, 0xffffff01
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x6c], ecx
test dl, dl
je 0x42b803
call fcn.0040e4e0
mov edi, dword [0x4772f8]
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0xc4]
xor edx, edx
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0xc4]
call fcn.00402e70
add esp, 4
mov dword [ebp - 0x24], eax
cmp dword [edi + 0x1bd4], eax
jne 0x42b834
mov dword [edi + 0x1bd8], eax
cmp dword [edi + 0x1c0c], eax
jne 0x42b843
mov byte [edi + 0x1c10], 1
mov eax, dword [ebp - 0xc4]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x42b866
mov dl, byte [ecx]
test dl, dl
je 0x42b866
cmp dl, 0x23
jne 0x42b860
cmp byte [ecx + 1], dl
je 0x42b866
inc ecx
cmp ecx, 0xffffffff
jb 0x42b850
movss xmm1, dword [0x46b818]
movss xmm0, dword [edi + 0x1930]
movss dword [ebp - 0xc0], xmm1
cmp eax, ecx
jne 0x42b88f
xorps xmm3, xmm3
movss dword [ebp - 0xe8], xmm3
jmp 0x42b8d7
push ecx
push ecx
push eax
push ecx
mov ecx, dword [edi + 0x192c]
lea eax, [ebp - 0x5c]
mov dword [esp], 0xbf800000
movaps xmm3, xmm1
push eax
movaps xmm2, xmm0
call fcn.004225c0
movss xmm0, dword [ebp - 0x5c]
xorps xmm3, xmm3
addss xmm0, dword [0x46b754]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0x58]
cmp byte [ebp - 0x30], 0
je 0x42b8ed
movss xmm0, dword [esi + 0x1930]
mulss xmm0, dword [0x46b7c4]
test byte [edi + 0x1c80], 1
movss xmm1, dword [esi + 0x1554]
mov eax, dword [edi + 0x1b9c]
movaps xmm2, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
je 0x42b919
movss xmm0, dword [edi + 0x1c84]
jmp 0x42b921
movss xmm0, dword [eax + 0x1b0]
comiss xmm3, xmm0
jbe 0x42b960
cmp dword [eax + 0x198], 0
movss xmm1, dword [eax + 0x248]
jne 0x42b940
cmp dword [edi + 0x1ed4], 0
je 0x42b948
movss xmm1, dword [eax + 0x218]
subss xmm1, dword [eax + 0xd0]
addss xmm1, xmm0
movss xmm0, dword [0x46b75c]
maxss xmm0, xmm1
cvttss2si eax, xmm0
lea ecx, [ebp - 0x5c]
movd xmm1, eax
mov eax, dword [ebp + 0x10]
cvtdq2ps xmm1, xmm1
push dword [eax + 4]
push dword [eax]
call fcn.0040e400
movss xmm1, dword [ebp - 0xe8]
xorps xmm0, xmm0
add esp, 8
comiss xmm1, xmm0
jbe 0x42b99b
movaps xmm2, xmm1
addss xmm2, dword [esi + 0x1568]
jmp 0x42b99e
xorps xmm2, xmm2
cmp byte [ebp - 0x30], 0
mov eax, dword [ebp - 0x44]
movss xmm5, dword [ebp - 0x5c]
addss xmm2, xmm5
movss dword [ebp - 0xac], xmm5
mov dword [ebp - 0x74], eax
movss xmm4, dword [eax + 0xd4]
movss xmm3, dword [eax + 0xd0]
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0x58]
movaps xmm1, xmm3
movss dword [ebp - 0xbc], xmm3
addss xmm1, xmm5
movss dword [ebp - 0xb8], xmm4
addss xmm2, xmm3
movss dword [ebp - 0xa8], xmm3
movss dword [ebp - 0xa4], xmm4
movss dword [ebp - 0xb0], xmm0
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0x58]
movss dword [ebp - 0xb4], xmm1
movss dword [ebp - 0xa0], xmm2
movss dword [ebp - 0x9c], xmm0
je 0x42bc63
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0xbc]
push 1
push eax
lea ecx, [ebp - 0xa8]
call fcn.0040e0a0
add esp, 8
test al, al
jne 0x42ba99
movss xmm0, dword [ebp - 0xa0]
lea ecx, [ebp - 0x5c]
subss xmm0, dword [ebp - 0xa8]
movss xmm1, dword [esi + 0x1554]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0x9c]
subss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0x58], xmm0
call fcn.0040df70
call fcn.0040e610
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov esi, dword [0x4772f8]
lea eax, [ebp - 0xe0]
push eax
mov dword [ebp - 0xe0], 3
movups xmm0, xmmword [esi + 0x160c]
lea ecx, [esi + 0x1c94]
movups xmmword [ebp - 0xdc], xmm0
call fcn.00414490
mov edi, dword [ebp - 0x38]
lea eax, [ebp - 0x84]
push eax
mov dword [ebp - 0x84], 6
movups xmm0, xmmword [edi + 0x164c]
movups xmmword [esi + 0x160c], xmm0
mov esi, dword [0x4772f8]
movss xmm0, dword [edi + 0x1558]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [esi + 0x1540]
lea ecx, [esi + 0x1ca0]
movss dword [ebp - 0x80], xmm0
call fcn.004143d0
movss xmm0, dword [ebp - 0x1c]
lea eax, [ebp - 0x84]
movss dword [esi + 0x1540], xmm0
mov esi, dword [0x4772f8]
movss xmm0, dword [edi + 0x155c]
movss dword [ebp - 0x1c], xmm0
push eax
movss xmm0, dword [esi + 0x1544]
lea ecx, [esi + 0x1ca0]
mov dword [ebp - 0x84], 7
movss dword [ebp - 0x80], xmm0
call fcn.004143d0
movss xmm0, dword [ebp - 0x1c]
lea eax, [ebp - 0x80]
movss xmm1, dword [ebp - 0xb4]
sub esp, 8
subss xmm1, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xc4]
movss dword [esi + 0x1544], xmm0
movss xmm0, dword [ebp - 0xb0]
subss xmm0, dword [ebp - 0xb8]
push eax
movss dword [ebp - 0x80], xmm1
movss dword [ebp - 0x7c], xmm0
call fcn.00408b80
add esp, 0xc
mov byte [ebp - 0x4b], al
mov ecx, 2
call fcn.00403840
mov esi, dword [0x4772f8]
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]
cmp byte [ebp - 0x4b], 0
jne 0x42bbfa
call fcn.00408d50
jmp 0x42ba82
mov esi, edi
mov edi, dword [esi + 0x1b9c]
mov dword [ebp - 0x74], edi
movsx ecx, word [edi + 0x14a]
mov eax, dword [edi + 0x144]
bts ecx, eax
mov word [edi + 0x14a], cx
movss xmm0, dword [esi + 0x1550]
addss xmm0, dword [edi + 0xd0]
movss dword [edi + 0xd0], xmm0
movss xmm0, dword [esi + 0x1554]
addss xmm0, dword [edi + 0xd4]
movss dword [edi + 0xd4], xmm0
movss xmm0, dword [ebp - 0x5c]
subss xmm0, dword [edi + 0x80]
movss dword [ebp - 0xac], xmm0
jmp 0x42bcb0
movss xmm1, dword [esi + 0x1554]
subss xmm2, xmm3
subss xmm0, xmm4
lea ecx, [ebp - 0x80]
movss dword [ebp - 0x80], xmm2
movss dword [ebp - 0x7c], xmm0
call fcn.0040df70
test dword [ebp + 0x14], 0x10000000
jne 0x42bcb0
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0xbc]
push 1
push eax
lea ecx, [ebp - 0xa8]
call fcn.0040e0a0
add esp, 8
test al, al
je 0x42ba87
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 0xbc]
call fcn.00404d80
mov dl, al
mov byte [ebp - 0x49], dl
test dl, dl
je 0x42bcd1
mov dword [esi + 0x1e40], 1
mov edi, dword [0x4772f8]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
add edi, 0x1f5c
cmp dword [edi], eax
mov eax, dword [ebp - 0x44]
cmovne edi, ecx
mov dword [ebp - 0x54], edi
mov eax, dword [eax + 0x120]
mov ecx, eax
shr ecx, 8
shr eax, 9
and ecx, 0xffffff01
and eax, 0xffffff01
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x8c], eax
test dl, dl
je 0x42bd23
cmp byte [esi + 0x3d8], 0
mov byte [ebp - 0xf], 1
jne 0x42bd27
mov byte [ebp - 0xf], 0
mov ecx, dword [esi + 0x1bd4]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
je 0x42bd53
cmp dword [esi + 0x1d18], eax
je 0x42bd4d
cmp dword [esi + 0x1d0c], eax
jne 0x42bd53
cmp dword [esi + 0x1d30], 2
jne 0x42bd53
mov byte [ebp - 0xe], 1
jmp 0x42bd57
mov byte [ebp - 0xe], 0
mov eax, dword [ebp - 0x30]
test al, al
je 0x42bd9f
test edi, edi
je 0x42bd9f
test ecx, ecx
jne 0x42bd9f
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.00402e70
add esp, 4
cmp dword [esi + 0x1c0c], eax
jne 0x42bd96
mov byte [ebp - 0x10], 1
jmp 0x42bdaf
mov ecx, dword [esi + 0x1bd4]
mov eax, dword [ebp - 0x30]
mov byte [ebp - 0x10], 0
test al, al
je 0x42bddf
mov byte [ebp - 0x10], 0
test edi, edi
je 0x42bddf
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.00402e70
mov ecx, dword [esi + 0x1bd4]
add esp, 4
cmp ecx, eax
jne 0x42bddf
mov dl, 1
jmp 0x42bde1
xor dl, dl
mov ah, byte [ebp - 0xe]
mov byte [ebp - 0x17], dl
mov byte [ebp - 0x3d], 0
cmp ecx, dword [ebp - 0x24]
je 0x42be09
test byte [ebp + 0x14], 0x10
jne 0x42bdfa
test ah, ah
je 0x42be09
cmp byte [ebp - 0x30], 0
jne 0x42be09
mov byte [ebp - 0x88], 1
jmp 0x42be29
cmp byte [ebp - 0x30], 0
mov byte [ebp - 0x88], 0
je 0x42be29
mov esi, dword [ebp - 0x74]
movss xmm0, dword [esi + 0x5c]
mov esi, dword [ebp - 0x38]
movss dword [ebp - 0xc0], xmm0
test edi, edi
je 0x42be3b
mov al, byte [ebp - 0x30]
xor al, 1
cmp byte [edi + 0x53], al
je 0x42be3b
mov al, 1
jmp 0x42be3d
xor al, al
cmp byte [ebp - 0xf], 0
mov byte [ebp - 0x29], al
mov dword [ebp - 0x48], 1
jne 0x42be73
cmp byte [ebp - 0x10], 0
jne 0x42be73
test ah, ah
jne 0x42be73
cmp byte [ebp - 0x98], ah
jne 0x42be73
cmp byte [ebp - 0x8c], ah
jne 0x42be73
mov byte [ebp - 0x10], ah
test dl, dl
jne 0x42be77
mov byte [ebp - 0x15], dl
jmp 0x42be80
mov byte [ebp - 0x10], 1
mov byte [ebp - 0x15], 1
cmp ecx, dword [ebp - 0x24]
jne 0x42be88
test al, al
je 0x42c09c
mov ecx, dword [ebp + 8]
lea edi, [esi + 0x1f5c]
mov dword [ebp - 0x54], edi
mov dword [edi + 0xe68], 0xbe99999a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42bea1
mov eax, dword [edi + 0x28]
sub ecx, edx
lea edx, [ecx + 1]
mov dword [ebp - 0x3c], edx
cmp edx, eax
jle 0x42bee2
test eax, eax
je 0x42beca
cdq
sub eax, edx
mov edx, dword [ebp - 0x3c]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x28]
jmp 0x42becf
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0x24]
push eax
call fcn.00414820
mov edx, dword [ebp - 0x3c]
push edx
push dword [ebp + 8]
mov dword [edi + 0x24], edx
push dword [edi + 0x2c]
call fcn.0043ad90
mov edx, dword [ebp + 0xc]
add esp, 0xc
mov eax, dword [edi + 0x10]
inc edx
mov dword [ebp - 0x3c], edx
cmp edx, eax
jle 0x42bf2d
test eax, eax
je 0x42bf15
cdq
sub eax, edx
mov edx, dword [ebp - 0x3c]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x10]
jmp 0x42bf1a
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.00414890
mov edx, dword [ebp - 0x3c]
lea eax, [edi + 0x18]
mov dword [edi + 0xc], edx
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x42bf56
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.00414820
lea eax, [edi + 0x18]
mov esi, dword [ebp + 0xc]
mov dword [eax], 0
mov ecx, dword [edi + 0x14]
mov edx, ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x14], ecx
lea ecx, [ecx + esi*2]
mov byte [edi + 0x30], 0
mov esi, dword [ebp - 0x38]
add ecx, 0xfffffffe
mov dword [ebp - 0x50], eax
cmp edx, ecx
jae 0x42bfc8
mov edi, dword [ebp + 0xc]
mov esi, eax
cmp byte [esi], 0
je 0x42bfbf
push 0
mov edx, esi
lea ecx, [ebp - 0x1c]
call fcn.00403100
mov edx, dword [ebp - 0x14]
add esi, eax
mov eax, dword [ebp - 0x1c]
add esp, 4
mov dword [ebp - 0x50], esi
test eax, eax
je 0x42bfbf
mov ecx, dword [ebp - 0x68]
mov word [edx], ax
lea eax, [edi - 1]
add edx, 2
mov dword [ebp - 0x14], edx
lea eax, [ecx + eax*2]
cmp edx, eax
jb 0x42bf86
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp + 8]
xor ecx, ecx
mov word [edx], cx
sub edx, dword [ebp - 0x68]
sar edx, 1
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 4], edx
cmp dword [edi], eax
jne 0x42c00e
cmp byte [ebp - 0x29], cl
jne 0x42c00e
cmp dword [edi + 0x3c], edx
mov ecx, edx
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], edx
mov dword [edi + 0x3c], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], edx
mov dword [edi + 0x40], ecx
cmovl edx, dword [edi + 0x44]
mov dword [edi + 0x44], edx
mov edx, dword [ebp - 0x30]
jmp 0x42c06f
mov edx, dword [ebp - 0x30]
mov dword [edi], eax
mov al, dl
xor al, 1
mov dword [edi + 0x38], ecx
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], al
mov byte [edi + 0x48], cl
mov dword [edi + 0x4c], ecx
test dl, dl
jne 0x42c06f
mov eax, dword [ebp - 0x88]
cmp byte [ebp - 0x98], cl
movzx eax, al
cmovne eax, dword [ebp - 0x48]
mov dword [ebp - 0x88], eax
test dword [ebp + 0x14], 0x2000
je 0x42c07c
mov byte [edi + 0x48], 1
test dl, dl
jne 0x42c09c
cmp byte [ebp - 0x8c], dl
jne 0x42c095
cmp byte [ebp - 0xf], dl
je 0x42c09c
cmp byte [esi + 0xfc], dl
je 0x42c09c
mov byte [ebp - 0x88], 1
mov ecx, dword [ebp - 0x24]
cmp dword [esi + 0x1bd4], ecx
je 0x42c148
cmp byte [ebp - 0x10], 0
je 0x42c140
mov edx, dword [ebp - 0x44]
call fcn.00404b30
call fcn.0040f870
mov ecx, edx
call fcn.0040d920
mov eax, dword [esi + 0x1be8]
mov edx, dword [ebp - 0x30]
or eax, 3
mov dword [esi + 0x1be8], eax
test dl, dl
jne 0x42c0e5
test byte [ebp + 0x14], 0x80
je 0x42c0ee
or eax, 0xc
mov dword [esi + 0x1be8], eax
mov eax, dword [esi + 0x1bf0]
or dword [esi + 0x1bec], 2
or eax, 0x180
mov ecx, dword [esi + 0x1bf4]
mov dword [esi + 0x1bf0], eax
mov dword [esi + 0x1bf4], ecx
test dl, dl
je 0x42c125
or eax, 0x60
mov dword [esi + 0x1bf4], ecx
mov dword [esi + 0x1bf0], eax
test dword [ebp + 0x14], 0x440
je 0x42c13d
or eax, 1
mov dword [esi + 0x1bf4], ecx
mov dword [esi + 0x1bf0], eax
mov ecx, dword [ebp - 0x24]
cmp dword [esi + 0x1bd4], ecx
jne 0x42c179
test edi, edi
jne 0x42c154
call fcn.00404c00
mov ecx, dword [ebp - 0x24]
cmp dword [esi + 0x1bd4], ecx
jne 0x42c179
cmp byte [esi + 0x3d8], 0
je 0x42c183
cmp byte [ebp - 0x15], 0
jne 0x42c183
cmp byte [ebp - 0x10], 0
jne 0x42c183
mov byte [ebp - 0x3d], 1
mov dl, 1
jmp 0x42c189
test edi, edi
je 0x42c187
cmp byte [ebp - 0x17], 0
je 0x42c187
mov dl, 1
jmp 0x42c189
xor dl, dl
mov byte [ebp - 0x16], dl
test edi, edi
je 0x42c1a3
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x42c1a3
test dl, dl
je 0x42c1a3
mov edx, 1
jmp 0x42c1a5
xor dl, dl
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x64], edx
mov byte [ebp - 0x4a], dl
mov byte [ebp - 0x4b], 0
mov byte [ebp - 0x29], 0
test al, al
je 0x42c2b3
test edi, edi
je 0x42c2b3
cmp byte [ebp - 0x16], 0
jne 0x42c1d4
test dl, dl
je 0x42c2bd
mov ecx, dword [ebp + 0xc]
mov eax, dword [edi + 0x10]
inc ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, eax
jle 0x42c20b
test eax, eax
je 0x42c1f2
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x10]
jmp 0x42c1f7
mov ecx, 8
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.00414890
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp + 8]
mov dword [edi + 0xc], ecx
dec ecx
mov edx, dword [edi + 0x14]
mov esi, edx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x14], edx
lea ecx, [esi + ecx*2]
cmp esi, ecx
mov dword [ebp - 0x70], ecx
mov esi, dword [ebp - 0x38]
jae 0x42c267
mov esi, eax
nop
cmp byte [esi], 0
je 0x42c261
push 0
mov edx, esi
lea ecx, [ebp - 0x1c]
call fcn.00403100
mov edx, dword [ebp - 0x14]
add esi, eax
mov eax, dword [ebp - 0x1c]
add esp, 4
mov dword [ebp - 0x50], esi
test eax, eax
je 0x42c261
mov word [edx], ax
add edx, 2
mov dword [ebp - 0x14], edx
cmp edx, dword [ebp - 0x70]
jb 0x42c230
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp + 8]
xor ecx, ecx
mov word [edx], cx
sub edx, dword [ebp - 0x3c]
sar edx, 1
cmp dword [edi + 0x3c], edx
mov ecx, edx
mov dword [edi + 4], edx
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], edx
mov dword [edi + 0x3c], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], edx
mov dword [edi + 8], eax
cmovl edx, dword [edi + 0x44]
movzx eax, byte [ebp - 0x4a]
cmp ecx, edx
mov dword [edi + 0x44], edx
mov edx, 0
cmovne edx, eax
mov dword [edi + 0x40], ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x64], edx
cmp byte [ebp - 0x16], 0
jne 0x42c2c5
test dl, dl
jne 0x42c2c5
cmp dword [esi + 0x1bd4], ecx
jne 0x42c2d6
test al, al
jne 0x42c2d6
test edi, edi
je 0x42c2d6
mov byte [ebp - 0x4a], 1
cmp byte [edi + 0x30], al
jne 0x42c2da
mov byte [ebp - 0x4a], 0
cmp byte [ebp - 0x94], 0
je 0x42c367
mov edx, dword [esi + 0x192c]
cmp dword [edx + 0x14], 0x2a
ja 0x42c2f8
mov eax, dword [edx + 0x2c]
jmp 0x42c317
mov eax, dword [edx + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x42c30e
mov eax, dword [edx + 0x2c]
jmp 0x42c317
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x28]
lea eax, [eax + ecx*8]
mov dword [ebp - 0x14], eax
lea ecx, [esi + 0x2dd8]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x192c]
mov eax, dword [eax + 0x40]
mov dword [ecx + 0x40], eax
mov eax, dword [esi + 0x192c]
mov eax, dword [eax + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [esi + 0x192c]
mov eax, dword [eax + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [esi + 0x192c]
mov eax, dword [eax + 0x30]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0x14]
mov dword [ecx + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [ecx + 0xc], eax
call fcn.0040db70
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x50], 0
cmp dword [esi + 0x1bd4], ecx
jne 0x42c779
mov eax, dword [edi + 8]
mov edx, dword [ebp + 0x14]
mov byte [edi + 0xe6e], 0
mov dword [edi + 0xe70], edx
mov dword [edi + 0xe74], 0
mov dword [edi + 0xe78], 0
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0xc]
mov dword [edi + 0x34], eax
cmp byte [esi + 0xec], 0
mov dword [esi + 0x3124], 1
sete al
cmp byte [ebp - 0x30], 0
mov byte [esi + 0x1be1], al
movss xmm7, dword [esi + 0xe4]
subss xmm7, dword [ebp - 0xbc]
subss xmm7, dword [esi + 0x1550]
addss xmm7, dword [edi + 0x38]
je 0x42c3ff
mov eax, dword [ebp - 0x74]
movss xmm2, dword [esi + 0xe8]
subss xmm2, dword [eax + 0xd4]
jmp 0x42c40f
movss xmm2, dword [esi + 0x1930]
mulss xmm2, dword [0x46b720]
cmp byte [ebp - 0x88], 0
mov al, byte [esi + 0xb1]
mov byte [ebp - 0xf], al
jne 0x42c591
mov cl, byte [ebp - 0x49]
test cl, cl
je 0x42c43c
test al, al
jne 0x42c4a7
cmp byte [esi + 0x3dd], al
jne 0x42c591
cmp byte [esi + 0x3d8], 0
je 0x42c4fe
cmp byte [edi + 0xe6d], 0
jne 0x42c4fe
test cl, cl
je 0x42c5af
cmp byte [edi + 0x53], 0
je 0x42c47e
push 0
mov edx, edi
lea ecx, [ebp - 0xe4]
call fcn.00429bc0
movss xmm2, dword [ebp - 0xd8]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.00429f10
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov byte [edi + 0x52], 0
mov dword [edi + 0xe68], 0xbe99999a
jmp 0x42c5ac
cmp byte [esi + 0x3dd], 0
je 0x42c43c
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042a2f0
push 0x60000d
lea edx, [edi + 0x3c]
mov byte [edi + 0xe6c], 1
mov ecx, edi
mov dword [edi + 0xe68], 0xbe99999a
call fcn.0042a2f0
mov esi, dword [ebp - 0x38]
add esp, 8
mov edx, dword [ebp + 0x14]
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
jmp 0x42c5ac
cmp byte [esi + 0xec], 0
je 0x42c5af
cmp byte [edi + 0xe6d], 0
jne 0x42c5b8
movss xmm0, dword [esi + 0x374]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x42c53d
movss xmm0, dword [esi + 0x378]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x42c5af
cmp byte [edi + 0x53], 0
je 0x42c55d
push 0
mov edx, edi
lea ecx, [ebp - 0xe4]
call fcn.00429bc0
movss xmm2, dword [ebp - 0xd8]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x42c56b
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm7
mov ecx, edi
call fcn.00429f10
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0xe68], 0xbe99999a
mov byte [edi + 0xe6c], 1
jmp 0x42c5ac
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
mov al, byte [ebp - 0xf]
cmp byte [edi + 0xe6d], 0
je 0x42c5c8
cmp byte [esi + 0xec], 0
jne 0x42c5c8
mov byte [edi + 0xe6d], 0
cmp byte [esi + 0xfc], 0
je 0x42c5da
cmp byte [esi + 0xfe], 0
je 0x42c5e7
test al, al
je 0x42c5ed
cmp byte [esi + 0xff], 0
je 0x42c5ed
mov byte [ebp - 0xd], 1
jmp 0x42c5f1
mov byte [ebp - 0xd], 0
test edx, 0x400
je 0x42c7fc
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x42c7fc
call fcn.00408ac0
mov ecx, dword [ebp - 0x34]
test al, al
mov al, byte [ebp - 0xd]
je 0x42c698
test al, al
jne 0x42c698
cmp byte [esi + 0xfd], al
jne 0x42c698
test cl, cl
jne 0x42c698
mov ecx, dword [esi + 0x1510]
mov eax, dword [esi + 0x1508]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x42c653
mov ax, word [ecx]
add ecx, 2
cmp ax, 9
je 0x42c692
cmp ecx, edx
jb 0x42c643
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0x3c]
push 2
sub esp, 8
mov dword [ebp - 0x3c], 9
call fcn.0042b5b0
add esp, 0xc
test al, al
je 0x42c692
push dword [ebp - 0x3c]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042a2f0
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, dword [ebp - 0x34]
mov al, byte [ebp - 0xd]
mov edx, dword [ebp + 0x14]
cmp dword [esi + 0x1508], 0
jle 0x42c779
test al, al
jne 0x42c741
test cl, cl
jne 0x42c741
cmp byte [ebp - 0xe], cl
jne 0x42c741
xor ecx, ecx
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x14], ecx
mov eax, dword [esi + 0x1510]
movzx eax, word [ecx + eax]
mov dword [ebp - 0x3c], eax
cmp eax, 9
jne 0x42c6eb
cmp byte [esi + 0xfd], 0
jne 0x42c723
push 2
sub esp, 8
lea ecx, [ebp - 0x3c]
call fcn.0042b5b0
add esp, 0xc
test al, al
je 0x42c720
push dword [ebp - 0x3c]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042a2f0
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x98]
add ecx, 2
mov edx, dword [ebp + 0x14]
inc eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x14], ecx
cmp eax, dword [esi + 0x1508]
jl 0x42c6d0
mov ecx, dword [esi + 0x150c]
lea eax, [esi + 0x1508]
test ecx, ecx
jns 0x42c773
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [esi + 0x1508]
call fcn.00414890
lea eax, [esi + 0x1508]
mov dword [eax], 0
mov eax, dword [ebp - 0x24]
xor cl, cl
mov byte [ebp - 0xd], cl
cmp dword [esi + 0x1bd4], eax
jne 0x42d87b
cmp byte [esi + 0x1be0], cl
jne 0x42d167
cmp byte [ebp - 0x3d], cl
jne 0x42d167
movss xmm0, dword [ebp - 0x58]
subss xmm0, dword [esi + 0x1554]
mov ecx, dword [ebp - 0x48]
divss xmm0, dword [esi + 0x1930]
cvttss2si eax, xmm0
cmp eax, 1
cmovge ecx, eax
xor eax, eax
mov dword [edi + 0x4c], ecx
cmp byte [esi + 0xfd], al
mov dword [ebp - 0x48], ecx
mov ecx, 0x400000
cmovne eax, ecx
mov dword [ebp - 0x28], eax
mov al, byte [esi + 0xb1]
mov byte [ebp - 0x8d], al
test al, al
je 0x42c807
cmp dword [esi + 0x37c], 0xa
jne 0x42c807
mov byte [ebp - 0x17], 1
jmp 0x42c80f
mov al, byte [ebp - 0xd]
mov ecx, dword [ebp - 0x34]
jmp 0x42c69b
mov byte [ebp - 0x17], 0
test al, al
je 0x42c834
cmp byte [esi + 0xff], 0
mov al, byte [esi + 0xfe]
mov byte [ebp - 0x10], al
je 0x42c841
cmp byte [esi + 0xfc], 0
jne 0x42c841
test al, al
jne 0x42c841
mov byte [ebp - 0xf], 1
jmp 0x42c845
mov al, byte [esi + 0xfc]
mov byte [ebp - 0x10], al
mov byte [ebp - 0x17], 0
mov byte [ebp - 0xf], 0
cmp byte [esi + 0xb1], 0
mov ecx, dword [esi + 0x37c]
je 0x42c859
cmp ecx, 8
jmp 0x42c85c
cmp ecx, 1
sete al
mov byte [ebp - 0xe], al
test al, al
je 0x42c886
mov eax, dword [0x4772f8]
mov eax, dword [eax + 0x80]
test eax, eax
js 0x42c886
mov ecx, eax
call fcn.00408ac0
test al, al
jne 0x42c8a0
mov ecx, dword [esi + 0x37c]
cmp ecx, 2
jne 0x42c8c3
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x42c8c3
call fcn.00408ac0
test al, al
je 0x42c8c3
cmp byte [ebp - 0x34], 0
jne 0x42c8c3
cmp byte [ebp - 0x94], 0
jne 0x42c8c3
cmp byte [ebp - 0x30], 0
je 0x42c8bd
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x42c8c3
mov byte [ebp - 0x15], 1
jmp 0x42c8c7
mov byte [ebp - 0x15], 0
cmp byte [ebp - 0xe], 0
je 0x42c8e2
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x42c8e2
call fcn.00408ac0
test al, al
jne 0x42c900
cmp dword [esi + 0x37c], 1
jne 0x42c920
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x42c920
call fcn.00408ac0
test al, al
je 0x42c920
cmp byte [ebp - 0x94], 0
jne 0x42c920
cmp byte [ebp - 0x30], 0
je 0x42c917
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x42c920
mov byte [ebp - 0x8e], 1
jmp 0x42c927
mov byte [ebp - 0x8e], 0
cmp byte [ebp - 0xe], 0
je 0x42c942
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x42c942
call fcn.00408ac0
test al, al
jne 0x42c960
cmp dword [esi + 0x37c], 2
jne 0x42c96a
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x42c96a
call fcn.00408ac0
test al, al
je 0x42c96a
cmp byte [ebp - 0x34], 0
mov byte [ebp - 0x49], 1
je 0x42c96e
mov byte [ebp - 0x49], 0
mov dl, byte [ebp - 0xe]
test dl, dl
je 0x42c9a2
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x42c9a2
call fcn.00408ac0
test al, al
je 0x42c99f
cmp byte [ebp - 0x34], 0
jne 0x42c99f
cmp byte [ebp - 0x20], 0
je 0x42c99f
mov byte [ebp - 0x5d], 1
jmp 0x42c9aa
mov dl, byte [ebp - 0xe]
mov byte [ebp - 0x5d], 0
test dl, dl
je 0x42c9c2
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x42c9c2
call fcn.00408ac0
test al, al
jne 0x42c9e0
cmp byte [ebp - 0x17], 0
je 0x42c9f0
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x42c9f0
call fcn.00408ac0
test al, al
je 0x42c9f0
cmp byte [ebp - 0x34], 0
jne 0x42c9f0
cmp byte [ebp - 0x20], 0
mov byte [ebp - 0x17], 1
jne 0x42c9f4
mov byte [ebp - 0x17], 0
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x42ca4b
call fcn.00408ac0
test al, al
je 0x42ca4b
cmp byte [ebp - 0xf], 0
je 0x42ca27
mov eax, 0x200004
lea edx, [edi + 0x3c]
or eax, dword [ebp - 0x28]
mov ecx, edi
push eax
call fcn.0042a2f0
jmp 0x42d133
mov eax, 0x200000
mov ecx, 0x20000c
cmp byte [ebp - 0x10], 0
lea edx, [edi + 0x3c]
cmovne eax, ecx
mov ecx, edi
or eax, dword [ebp - 0x28]
push eax
call fcn.0042a2f0
jmp 0x42d133
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x42ca88
call fcn.00408ac0
test al, al
je 0x42ca88
cmp byte [ebp - 0xf], 0
je 0x42ca7e
mov eax, 0x200005
lea edx, [edi + 0x3c]
or eax, dword [ebp - 0x28]
mov ecx, edi
push eax
call fcn.0042a2f0
jmp 0x42d133
mov eax, 0x200001
lea ecx, [eax + 0xc]
jmp 0x42ca31
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x42cafa
call fcn.00408ac0
test al, al
je 0x42cafa
cmp byte [ebp - 0x30], 0
je 0x42cafa
cmp byte [esi + 0xfc], 0
je 0x42cadc
mov edx, dword [ebp - 0x74]
movss xmm0, dword [edx + 0x5c]
subss xmm0, dword [esi + 0x1930]
mov dword [edx + 0x74], 0
mov dword [edx + 0x7c], 0
maxss xmm0, dword [0x46b6b8]
movss dword [edx + 0x6c], xmm0
jmp 0x42d147
movzx eax, byte [ebp - 0xf]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200002]
or eax, dword [ebp - 0x28]
push eax
call fcn.0042a2f0
jmp 0x42d133
mov ecx, dword [0x4772f8]
mov ecx, dword [ecx + 0x44]
test ecx, ecx
js 0x42cb75
call fcn.00408ac0
test al, al
je 0x42cb75
cmp byte [ebp - 0x30], 0
je 0x42cb75
cmp byte [esi + 0xfc], 0
je 0x42cb57
mov ecx, dword [ebp - 0x74]
movss xmm0, dword [esi + 0x1930]
mov eax, dword [0x4772f8]
addss xmm0, dword [ecx + 0x5c]
mov eax, dword [eax + 0x1b9c]
minss xmm0, dword [eax + 0x64]
mov dword [ecx + 0x74], 0
mov dword [ecx + 0x7c], 0
movss dword [ecx + 0x6c], xmm0
jmp 0x42d147
movzx eax, byte [ebp - 0xf]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200003]
or eax, dword [ebp - 0x28]
push eax
call fcn.0042a2f0
jmp 0x42d133
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x48]
test ecx, ecx
js 0x42cbde
call fcn.00408ac0
test al, al
je 0x42cbde
cmp byte [ebp - 0x30], 0
je 0x42cbde
mov ecx, dword [ebp - 0x28]
lea edx, [edi + 0x3c]
or ecx, 0x20000e
push ecx
mov ecx, edi
call fcn.0042a2f0
movd xmm0, dword [ebp - 0x48]
movss xmm1, dword [ebp - 0xc0]
cvtdq2ps xmm0, xmm0
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mulss xmm0, dword [esi + 0x1930]
subss xmm1, xmm0
movss dword [ebp - 0xc0], xmm1
jmp 0x42d144
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
js 0x42cc43
call fcn.00408ac0
test al, al
je 0x42cc43
cmp byte [ebp - 0x30], 0
je 0x42cc43
mov ecx, dword [ebp - 0x28]
lea edx, [edi + 0x3c]
or ecx, 0x20000f
push ecx
mov ecx, edi
call fcn.0042a2f0
movd xmm0, dword [ebp - 0x48]
cvtdq2ps xmm0, xmm0
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mulss xmm0, dword [esi + 0x1930]
addss xmm0, dword [ebp - 0xc0]
movss dword [ebp - 0xc0], xmm0
jmp 0x42d144
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x42cc82
call fcn.00408ac0
test al, al
je 0x42cc82
mov ecx, dword [ebp - 0x28]
lea edx, [edi + 0x3c]
mov eax, ecx
or ecx, 0x200004
or eax, 0x200006
cmp byte [esi + 0xfc], 0
cmovne ecx, eax
push ecx
mov ecx, edi
call fcn.0042a2f0
jmp 0x42d133
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x42ccc1
call fcn.00408ac0
test al, al
je 0x42ccc1
mov ecx, dword [ebp - 0x28]
lea edx, [edi + 0x3c]
mov eax, ecx
or ecx, 0x200005
or eax, 0x200007
cmp byte [esi + 0xfc], 0
cmovne ecx, eax
push ecx
mov ecx, edi
call fcn.0042a2f0
jmp 0x42d133
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x42ccf5
call fcn.00408ac0
test al, al
je 0x42ccf5
cmp byte [ebp - 0x34], 0
jne 0x42ccf5
mov ecx, dword [ebp - 0x28]
lea edx, [edi + 0x3c]
or ecx, 0x200008
push ecx
mov ecx, edi
call fcn.0042a2f0
jmp 0x42d133
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x42cd8d
call fcn.00408ac0
test al, al
je 0x42cd8d
cmp byte [ebp - 0x34], 0
jne 0x42cd8d
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x42cd74
cmp byte [ebp - 0x10], 0
je 0x42cd2d
push 0x60000c
jmp 0x42cd56
cmp byte [ebp - 0x8d], 0
je 0x42cd74
cmp byte [esi + 0xff], 0
je 0x42cd74
cmp byte [esi + 0xfe], 0
jne 0x42cd74
cmp byte [esi + 0xfc], 0
jne 0x42cd74
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042a2f0
mov dword [edi + 0xe68], 0xbe99999a
add esp, 4
mov byte [edi + 0xe6c], 1
mov ecx, dword [ebp - 0x28]
lea edx, [edi + 0x3c]
or ecx, 0x200009
push ecx
mov ecx, edi
call fcn.0042a2f0
jmp 0x42d133
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x68]
test ecx, ecx
js 0x42cda2
call fcn.00408ac0
test al, al
jne 0x42cdb7
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x42ce21
call fcn.00408ac0
test al, al
je 0x42ce21
mov edx, dword [ebp + 0x14]
mov eax, edx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0x30], 0
je 0x42cdd5
mov cl, byte [esi + 0xfc]
test al, al
je 0x42cde2
test cl, cl
jne 0x42cde6
mov byte [ebp - 0x3d], 1
mov byte [ebp - 0x29], 1
jmp 0x42d147
test cl, cl
jne 0x42cdd5
cmp byte [ebp - 0x34], 0
jne 0x42d147
push 2
sub esp, 8
mov dword [ebp - 0x20], 0xa
lea ecx, [ebp - 0x20]
call fcn.0042b5b0
add esp, 0xc
test al, al
je 0x42d147
push dword [ebp - 0x20]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042a2f0
jmp 0x42d133
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
js 0x42ce40
call fcn.00408ac0
test al, al
je 0x42ce40
mov cl, 1
mov byte [ebp - 0x3d], cl
jmp 0x42d14a
mov al, byte [ebp - 0x5d]
test al, al
jne 0x42d114
cmp byte [ebp - 0x17], al
jne 0x42d114
cmp byte [ebp - 0xe], al
je 0x42ce8e
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x74]
test ecx, ecx
js 0x42ce8e
call fcn.00408ac0
test al, al
je 0x42ce8e
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 0x42d147
mov al, byte [ebp - 0x15]
test al, al
jne 0x42d024
cmp byte [ebp - 0x8e], al
jne 0x42d024
cmp byte [ebp - 0x49], al
je 0x42d147
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0xd0]
test ecx, ecx
je 0x42ced3
push dword [eax + 0xd8]
call ecx
mov esi, eax
add esp, 4
test esi, esi
jne 0x42ced8
jmp 0x42d147
mov esi, 0x466c0e
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42cee0
mov eax, dword [0x4772f8]
sub ecx, edx
test eax, eax
je 0x42cef8
inc dword [eax + 0x370]
lea eax, [ecx*2 + 2]
push eax
call fcn.00444ae9
add esp, 4
mov dword [ebp - 0x44], eax
cmp byte [esi], 0
mov dword [ebp - 0x20], 0
je 0x42cf68
xor edi, edi
nop dword [eax]
push 0
mov edx, esi
lea ecx, [ebp - 0x14]
call fcn.00403100
add esp, 4
add esi, eax
cmp dword [ebp - 0x14], 0
je 0x42cf5f
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0x14]
push 5
sub esp, 8
call fcn.0042b5b0
add esp, 0xc
test al, al
je 0x42cf5a
mov ecx, dword [ebp - 0x44]
mov ax, word [ebp - 0x14]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x42cf20
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x20], edi
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x20]
xor ecx, ecx
mov word [eax + esi*2], cx
test esi, esi
jle 0x42d005
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x20], edx
mov edx, dword [edi + 0x40]
cmp edx, dword [edi + 0x44]
je 0x42cfa6
cmp edx, ecx
jle 0x42cf93
mov dword [edi + 0x40], ecx
mov edx, ecx
cmp dword [edi + 0x44], ecx
jle 0x42cf9e
mov dword [edi + 0x44], ecx
mov dword [ebp - 0x20], ecx
cmp edx, dword [ebp - 0x20]
jne 0x42cfa6
mov dword [edi + 0x3c], edx
cmp dword [edi + 0x3c], ecx
jle 0x42cfae
mov dword [edi + 0x3c], ecx
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042a260
mov edx, dword [edi + 0x3c]
mov ecx, edi
push esi
push dword [ebp - 0x44]
call fcn.00429dc0
add esp, 8
test al, al
je 0x42cfe7
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x5c]
push esi
push 0
call fcn.0042b2c0
add esp, 8
mov byte [edi + 0x52], 0
add dword [edi + 0x3c], esi
jmp 0x42cffb
movzx eax, word [edi + 0xe5a]
test ax, ax
je 0x42cffb
dec eax
mov word [edi + 0xe5a], ax
mov eax, dword [ebp - 0x44]
mov byte [edi + 0xe6c], 1
test eax, eax
je 0x42d019
mov ecx, dword [0x4772f8]
test ecx, ecx
je 0x42d019
dec dword [ecx + 0x370]
push eax
call fcn.0043fd01
jmp 0x42d144
cmp dword [esi + 0xd4], 0
je 0x42d0d5
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x42d045
mov esi, ecx
cmovge ecx, eax
cmovl esi, eax
jmp 0x42d04a
mov ecx, dword [edi + 4]
xor esi, esi
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x3c], esi
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.00403340
mov ecx, dword [0x4772f8]
inc eax
mov dword [ebp - 0x1c], eax
test ecx, ecx
je 0x42d072
inc dword [ecx + 0x370]
push eax
call fcn.00444ae9
mov esi, dword [edi + 0x14]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x70], eax
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [ebp - 0x3c]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.00403270
mov eax, dword [0x4772f8]
add esp, 0xc
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x42d0bb
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x4772f8]
add esp, 8
test esi, esi
je 0x42d0c9
test eax, eax
je 0x42d0c9
dec dword [eax + 0x370]
push esi
call fcn.0043fd01
mov al, byte [ebp - 0x15]
add esp, 4
test al, al
je 0x42d147
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x42d0f5
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 0x42d147
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0042a260
mov byte [edi + 0x52], 0
jmp 0x42d147
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.0042a2f0
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0xe68], 0xbe99999a
mov byte [edi + 0xe6c], 1
add esp, 4
mov cl, byte [ebp - 0xd]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x42d15c
cmp byte [ebp - 0x16], 0
je 0x42d15c
mov al, 1
jmp 0x42d15e
xor al, al
or byte [ebp - 0x64], al
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
cmp dword [esi + 0x1bd4], eax
jne 0x42d87b
xor eax, eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x28], eax
test cl, cl
je 0x42d392
cmp byte [ebp - 0x34], al
jne 0x42d37d
mov ecx, dword [edi + 0x2c]
mov eax, dword [ebp + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42d1b6
test dl, dl
je 0x42d1b2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42d1b6
add eax, 2
add ecx, 2
test dl, dl
jne 0x42d196
xor eax, eax
jmp 0x42d1bb
sbb eax, eax
or eax, 1
test eax, eax
je 0x42d37d
mov eax, dword [edi + 0x24]
xor edx, edx
mov ecx, dword [edi + 0x2c]
dec eax
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 4], edx
test eax, eax
jle 0x42d2de
lea edi, [eax + ecx]
mov esi, ecx
xor eax, eax
mov dword [ebp - 0x14], eax
test edi, edi
je 0x42d1ff
cmp esi, edi
jae 0x42d220
cmp byte [esi], 0
je 0x42d220
push edi
mov edx, esi
lea ecx, [ebp - 0x1c]
call fcn.00403100
add esi, eax
add esp, 4
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x14]
je 0x42d220
inc eax
jmp 0x42d1f4
mov edi, dword [ebp - 0x54]
lea edx, [eax + 1]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x20], edx
test edx, edx
jle 0x42d26a
mov ecx, 8
mov eax, edx
cmp edx, ecx
cmovl eax, ecx
mov dword [ebp - 0x1c], eax
test eax, eax
jle 0x42d26a
mov ecx, dword [0x4772f8]
test ecx, ecx
je 0x42d253
inc dword [ecx + 0x370]
add eax, eax
push eax
call fcn.00444ae9
mov ecx, dword [ebp - 0x1c]
add esp, 4
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x80], ecx
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x14], eax
lea ecx, [eax - 2]
lea ecx, [ecx + edx*2]
mov dword [ebp - 0x78], ecx
cmp eax, ecx
jae 0x42d2d6
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x70]
test edi, edi
je 0x42d2a0
cmp esi, edi
jae 0x42d2cd
cmp byte [esi], 0
je 0x42d2cd
push edi
mov edx, esi
lea ecx, [ebp - 0x1c]
call fcn.00403100
mov ecx, dword [ebp - 0x1c]
add esi, eax
mov eax, dword [ebp - 0x14]
add esp, 4
test ecx, ecx
je 0x42d2cd
mov word [eax], cx
add eax, 2
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x78]
jb 0x42d298
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x38]
mov edx, dword [ebp - 0x20]
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x28]
lea ecx, [edx - 1]
xor edx, edx
test eax, eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x1c], eax
cmovle ecx, edx
push ecx
mov dword [ebp - 0x20], ecx
lea ecx, [edi + 0x5c]
push eax
call fcn.0042b2c0
add esp, 8
mov dword [ebp - 0x70], eax
test eax, eax
je 0x42d323
mov edx, dword [ebp - 0x1c]
xor ecx, ecx
test edx, edx
jle 0x42d323
mov esi, eax
mov eax, dword [edi + 0x14]
mov ax, word [eax + ecx*2]
mov word [esi + ecx*2], ax
inc ecx
cmp ecx, edx
jl 0x42d310
mov esi, dword [ebp - 0x38]
push dword [edi + 4]
xor edx, edx
mov ecx, edi
call fcn.00429d60
mov eax, dword [ebp - 0x20]
add esp, 4
test eax, eax
jle 0x42d357
push eax
push dword [ebp - 0x7c]
xor edx, edx
mov ecx, edi
call fcn.00429dc0
add esp, 8
test al, al
je 0x42d357
mov eax, dword [ebp - 0x20]
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov ecx, dword [ebp - 0x7c]
test ecx, ecx
je 0x42d376
mov eax, dword [0x4772f8]
test eax, eax
je 0x42d36d
dec dword [eax + 0x370]
push ecx
call fcn.0043fd01
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x29], 0
mov eax, dword [ebp + 0x14]
je 0x42d78a
test al, 0x20
je 0x42d78a
cmp byte [ebp - 0x34], 0
jne 0x42d3f3
mov eax, dword [edi + 0xc]
lea ecx, [edi + 0x18]
mov byte [edi + 0x30], 1
lea edx, [eax*4 + 1]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x20], edx
cmp edx, eax
jle 0x42d3e1
test eax, eax
je 0x42d3c6
cdq
sub eax, edx
mov edx, dword [ebp - 0x20]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x1c]
jmp 0x42d3cb
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0x18]
push eax
call fcn.00414820
mov edx, dword [ebp - 0x20]
lea ecx, [edi + 0x18]
mov dword [ecx], edx
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.00403270
add esp, 8
mov edx, dword [ebp + 0x14]
test edx, 0x801c0
je 0x42d740
test dl, 0x40
je 0x42d42b
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x42d42b
call fcn.00408ac0
mov edx, dword [ebp + 0x14]
test al, al
je 0x42d42b
mov eax, 0x40
xor ecx, ecx
jmp 0x42d4a3
test dl, dl
jns 0x42d473
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x42d451
call fcn.00408ac0
mov edx, dword [ebp + 0x14]
test al, al
je 0x42d451
mov eax, 0x80
lea ecx, [eax - 0x7d]
jmp 0x42d4a3
mov eax, dword [0x4772f8]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x42d473
call fcn.00408ac0
mov edx, dword [ebp + 0x14]
test al, al
je 0x42d473
mov eax, 0x80
lea ecx, [eax - 0x7c]
jmp 0x42d4a3
test edx, 0x80000
je 0x42d48b
cmp byte [edi + 0xe6e], 0
je 0x42d48b
mov eax, 0x80000
jmp 0x42d49e
test edx, 0x100
mov ecx, pe_nt_image_headers32
mov eax, 0
cmovne eax, ecx
mov ecx, 0x16
test eax, eax
je 0x42d740
mov dword [ebp - 0x118], eax
xor esi, esi
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x104], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x100], eax
mov eax, dword [edi + 0x34]
mov word [ebp - 0xf7], si
mov dword [ebp - 0x110], esi
mov esi, dword [edi + 0x14]
mov dword [ebp - 0xfc], eax
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x108], ecx
mov ecx, esi
mov dword [ebp - 0x10c], 0
lea edx, [esi + eax*2]
mov byte [ebp - 0xf5], 0
mov byte [ebp - 0xf8], 0
call fcn.00403340
mov edx, dword [ebp - 0x54]
mov edi, eax
mov ecx, esi
mov dword [ebp - 0xf4], edi
mov edx, dword [edx + 0x40]
lea edx, [esi + edx*2]
call fcn.00403340
mov dword [ebp - 0x70], eax
mov ecx, esi
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x54]
mov edx, dword [eax + 0x44]
lea edx, [esi + edx*2]
call fcn.00403340
mov dword [ebp - 0x78], eax
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0x118]
push eax
xor eax, eax
call eax
mov al, byte [ebp - 0xf8]
add esp, 4
mov edx, dword [ebp - 0xf4]
mov byte [ebp - 0x15], al
cmp edx, edi
jne 0x42d56e
test al, al
je 0x42d5bd
mov esi, dword [ebp - 0x104]
xor eax, eax
lea edi, [edx + esi]
mov dword [ebp - 0x14], eax
test edi, edi
je 0x42d584
cmp esi, edi
jae 0x42d5a5
cmp byte [esi], 0
je 0x42d5a5
push edi
mov edx, esi
lea ecx, [ebp - 0x1c]
call fcn.00403100
add esi, eax
add esp, 4
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x14]
je 0x42d5a5
inc eax
jmp 0x42d579
mov edi, dword [ebp - 0x54]
mov edx, dword [ebp - 0xf4]
mov dword [edi + 0x3c], eax
mov al, byte [ebp - 0x15]
mov byte [edi + 0xe6c], 1
jmp 0x42d5c0
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0xf0]
cmp ecx, dword [ebp - 0x70]
jne 0x42d5cf
test al, al
je 0x42d61b
cmp ecx, edx
jne 0x42d5d8
mov eax, dword [edi + 0x3c]
jmp 0x42d618
mov esi, dword [ebp - 0x104]
xor eax, eax
lea edi, [ecx + esi]
mov dword [ebp - 0x14], eax
test edi, edi
je 0x42d5ee
cmp esi, edi
jae 0x42d60f
cmp byte [esi], 0
je 0x42d60f
push edi
mov edx, esi
lea ecx, [ebp - 0x1c]
call fcn.00403100
add esi, eax
add esp, 4
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x14]
je 0x42d60f
inc eax
jmp 0x42d5e3
mov ecx, dword [ebp - 0xf0]
mov edi, dword [ebp - 0x54]
mov dword [edi + 0x40], eax
mov eax, dword [ebp - 0xec]
cmp eax, dword [ebp - 0x78]
jne 0x42d630
cmp byte [ebp - 0x15], 0
je 0x42d73d
cmp eax, ecx
jne 0x42d639
mov eax, dword [edi + 0x40]
jmp 0x42d673
mov esi, dword [ebp - 0x104]
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 0x14], eax
test edi, edi
je 0x42d64f
cmp esi, edi
jae 0x42d670
cmp byte [esi], 0
je 0x42d670
push edi
mov edx, esi
lea ecx, [ebp - 0x1c]
call fcn.00403100
add esi, eax
add esp, 4
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x14]
je 0x42d670
inc eax
jmp 0x42d644
mov edi, dword [ebp - 0x54]
cmp byte [ebp - 0x15], 0
mov dword [edi + 0x44], eax
je 0x42d73d
mov esi, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x50]
cmp esi, ecx
jle 0x42d6cc
cmp byte [ebp - 0x6c], 0
je 0x42d6cc
mov eax, dword [edi + 0x10]
sub esi, ecx
add esi, dword [edi + 0xc]
cmp esi, eax
jle 0x42d6c9
test eax, eax
je 0x42d6b2
cdq
sub eax, edx
lea edx, [edi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x42d6ba
mov ecx, 8
lea edx, [edi + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00414890
mov dword [edi + 0xc], esi
mov eax, dword [ebp - 0x104]
mov ecx, dword [edi + 0x14]
mov esi, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 0xc]
dec eax
mov dword [ebp - 0x78], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0x70], eax
cmp ecx, eax
jae 0x42d71e
mov edi, dword [ebp - 0x1c]
nop
cmp byte [edi], 0
je 0x42d718
push 0
mov edx, edi
lea ecx, [ebp - 0x1c]
call fcn.00403100
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x42d718
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0x70]
jb 0x42d6f0
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x100]
sar esi, 1
mov dword [edi + 4], esi
mov dword [edi + 8], eax
mov dword [edi + 0xe68], 0xbe99999a
mov esi, dword [ebp - 0x38]
cmp byte [ebp - 0x34], 0
jne 0x42d787
mov ecx, dword [ebp + 8]
mov eax, dword [edi + 0x20]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42d770
test dl, dl
je 0x42d76c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42d770
add eax, 2
add ecx, 2
test dl, dl
jne 0x42d750
xor eax, eax
jmp 0x42d775
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp + 0x14]
je 0x42d78a
mov ecx, dword [edi + 0x20]
mov dword [ebp - 0x48], ecx
mov ecx, dword [edi + 8]
jmp 0x42d78d
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x48]
test edx, edx
je 0x42d85d
cmp byte [ebp - 0x6c], 0
je 0x42d829
mov dword [ebp - 0x144], eax
xorps xmm0, xmm0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x134], eax
lea eax, [ecx + 1]
cmp dword [ebp + 0xc], eax
movlpd qword [ebp - 0x13c], xmm0
cmovge eax, dword [ebp + 0xc]
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x148]
push eax
xor eax, eax
movlpd qword [ebp - 0x128], xmm0
movlpd qword [ebp - 0x120], xmm0
mov dword [ebp - 0x148], 0x40000
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x140], 0
call eax
mov eax, dword [ebp - 0x134]
add esp, 4
mov edx, dword [ebp - 0x48]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x12c]
mov dword [ebp + 0xc], eax
lea ecx, [eax - 1]
cmp dword [ebp - 0x130], ecx
cmovl ecx, dword [ebp - 0x130]
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
cmp eax, ecx
cmovl ecx, eax
mov dword [ebp + 0xc], ecx
cmp ecx, 1
jb 0x42d859
jbe 0x42d851
lea eax, [ecx - 1]
push eax
push edx
push dword [ebp + 8]
call fcn.0043dc30
mov ecx, dword [ebp + 0xc]
add esp, 0xc
mov eax, dword [ebp + 8]
mov byte [ecx + eax - 1], 0
mov byte [ebp - 0x4b], 1
mov dword [edi + 0xe70], 0
mov dword [edi + 0xe74], 0
mov dword [edi + 0xe78], 0
cmp byte [ebp - 0x3d], 0
mov ecx, dword [ebp - 0x24]
je 0x42d894
cmp dword [esi + 0x1bd4], ecx
jne 0x42d894
call fcn.00404c00
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
test al, al
jne 0x42d964
mov edx, ecx
lea ecx, [ebp - 0xbc]
push 1
call fcn.00403e80
movss xmm1, dword [0x46b75c]
add esp, 4
mov ecx, 7
push dword [ebp - 0xb0]
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
call fcn.00403690
movss xmm2, dword [esi + 0x1558]
mov dl, 1
mov ecx, eax
call fcn.00403c70
movss xmm7, dword [ebp - 0xbc]
add esp, 0x10
movss xmm2, dword [ebp - 0xb8]
movaps xmm4, xmm7
addss xmm4, dword [ebp - 0xac]
mov eax, dword [ebp - 0x30]
movaps xmm1, xmm2
addss xmm1, dword [ebp - 0x58]
movaps xmm3, xmm7
movss dword [ebp - 0xdc], xmm7
addss xmm3, dword [esi + 0x1550]
movaps xmm0, xmm2
movss dword [ebp - 0x20], xmm4
addss xmm0, dword [esi + 0x1554]
movss dword [ebp - 0xd4], xmm4
movss dword [ebp - 0x1c], xmm4
movss xmm4, dword [ebp - 0xac]
movss dword [ebp - 0xd8], xmm2
movss dword [ebp - 0x14], xmm1
movss dword [ebp - 0xd0], xmm1
jmp 0x42d9d3
movss xmm1, dword [ebp - 0xbc]
movss xmm4, dword [ebp - 0xac]
movaps xmm2, xmm1
movss xmm0, dword [ebp - 0xb8]
addss xmm2, xmm4
mov ecx, dword [ebp - 0x74]
movss dword [ebp - 0xdc], xmm1
movss dword [ebp - 0xd8], xmm0
movss xmm3, dword [ecx + 0xd0]
movaps xmm1, xmm2
movss dword [ebp - 0x20], xmm1
movss dword [ebp - 0xd4], xmm1
movaps xmm1, xmm0
addss xmm1, dword [ebp - 0x58]
movss dword [ebp - 0x1c], xmm2
movaps xmm0, xmm1
movss dword [ebp - 0x14], xmm0
movss dword [ebp - 0xd0], xmm0
movss xmm0, dword [ecx + 0xd4]
cmp byte [ebp - 0x4a], 0
xorps xmm5, xmm5
movss dword [ebp - 0x7c], xmm0
xorps xmm6, xmm6
movss dword [ebp - 0xc8], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x80], xmm3
movss dword [ebp - 0x88], xmm3
movss dword [ebp - 0x70], xmm1
movss dword [ebp - 0xcc], xmm3
movss dword [ebp - 0x98], xmm0
movss dword [ebp - 0x3c], xmm5
je 0x42da1e
mov ecx, dword [edi + 0x20]
mov dword [ebp + 8], ecx
jmp 0x42da21
mov ecx, dword [ebp + 8]
cmp byte [ebp - 0x16], 0
jne 0x42dbf7
cmp byte [ebp - 0x64], 0
jne 0x42dbf7
test al, al
je 0x42da8d
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dl, byte [eax]
lea edi, [eax + 1]
test dl, dl
je 0x42da59
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [edi]
cmovne eax, ecx
inc edi
mov ecx, eax
test dl, dl
jne 0x42da47
mov al, byte [edi - 1]
dec edi
mov dword [ebp - 0x28], edi
cmp al, 0xa
je 0x42da69
cmp al, 0xd
je 0x42da69
inc ecx
mov edx, dword [ebp - 0x28]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x1930]
movss dword [ebp - 0x3c], xmm0
movaps xmm0, xmm4
movss dword [ebp - 0x98], xmm0
jmp 0x42dac5
mov eax, dword [ebp - 0x24]
cmp dword [esi + 0x1bd4], eax
jne 0x42da9f
mov edx, dword [edi + 8]
add edx, ecx
jmp 0x42dab3
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42daa2
sub ecx, edx
mov edx, dword [ebp + 8]
add edx, ecx
mov ecx, dword [ebp + 8]
mov eax, edx
mov dword [ebp - 0x28], edx
sub eax, ecx
cmp eax, 0x200000
jge 0x42e646
movss xmm1, dword [0x46b75c]
xor ecx, ecx
call fcn.00403690
cmp byte [ebp - 0x30], 0
mov ecx, edx
movss xmm2, dword [esi + 0x1930]
lea edx, [ebp - 0xdc]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x1c], 0
cmovne edx, dword [ebp - 0x1c]
test dword [ebp - 0x6c], 0xff000000
mov edi, dword [eax + 0x284]
mov eax, dword [esi + 0x192c]
mov dword [ebp - 0x20], eax
je 0x42e646
cmp dword [ebp - 0x28], 0
jne 0x42db37
mov ecx, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [ebp - 0x1c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42db24
sub ecx, dword [ebp - 0x1c]
add ecx, dword [ebp + 8]
mov eax, dword [esi + 0x192c]
cmp dword [ebp + 8], ecx
je 0x42e646
test eax, eax
jne 0x42db4d
mov eax, dword [edi + 0x2c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x20], eax
ucomiss xmm2, dword [0x46b6b8]
lahf
test ah, 0x44
jp 0x42db62
mov eax, dword [edi + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [edi + 0x60]
movups xmmword [ebp - 0xa8], xmm0
test edx, edx
je 0x42dbc4
movss xmm0, dword [ebp - 0xa8]
maxss xmm0, dword [edx]
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [ebp - 0xa4]
maxss xmm0, dword [edx + 4]
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [ebp - 0xa0]
minss xmm0, dword [edx + 8]
movss dword [ebp - 0xa0], xmm0
movss xmm0, dword [ebp - 0x9c]
minss xmm0, dword [edx + 0xc]
movss dword [ebp - 0x9c], xmm0
push dword [ebp - 0x7c]
test edx, edx
push dword [ebp - 0x80]
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xa8]
push ecx
push dword [ebp + 8]
mov ecx, dword [ebp - 0x20]
push eax
push dword [ebp - 0x6c]
push edi
call fcn.00422770
jmp 0x42e646
mov eax, dword [edi + 8]
xor edx, edx
add eax, ecx
movss dword [ebp - 0x6c], xmm6
xorps xmm7, xmm7
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x50], 0xfffffc18
mov dword [ebp - 0x48], 0xfffffc18
cmp byte [ebp - 0x16], dl
je 0x42dc4b
mov eax, dword [edi + 0x3c]
mov edx, 1
mov dword [ebp - 0x50], 0xffffffff
lea eax, [ecx + eax*2]
mov dword [ebp - 0x8c], eax
cmp byte [ebp - 0x64], 0
je 0x42dc6f
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [ebp - 0x24]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [ebp - 0x48], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x68], eax
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
movzx eax, al
add edx, eax
xor eax, eax
movzx esi, word [esi]
test si, si
mov dword [ebp - 0x44], eax
mov esi, dword [ebp - 0x38]
je 0x42dcde
mov edi, dword [ebp - 0x24]
movzx esi, word [edi]
mov edi, dword [ebp - 0x50]
cmp si, 0xa
jne 0x42dcc4
inc eax
mov dword [ebp - 0x44], eax
cmp edi, 0xffffffff
jne 0x42dcb1
cmp ecx, dword [ebp - 0x8c]
jb 0x42dcb1
dec edx
mov edi, eax
test edx, edx
jle 0x42dcd5
cmp dword [ebp - 0x48], 0xffffffff
jne 0x42dcc4
cmp ecx, dword [ebp - 0x68]
jb 0x42dcc4
dec edx
mov dword [ebp - 0x48], eax
test edx, edx
jle 0x42dcd5
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
mov eax, dword [ebp - 0x44]
jne 0x42dc93
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x50], edi
mov edi, dword [ebp - 0x54]
mov edx, dword [ebp - 0x24]
inc eax
cmp dword [ebp - 0x50], 0xffffffff
mov ecx, eax
mov dword [ebp - 0x44], eax
cmovne ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x48]
cmp eax, 0xffffffff
mov dword [ebp - 0x7c], ecx
cmove eax, dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x8c]
mov ecx, eax
cmp eax, edx
jbe 0x42dd1e
nop dword [eax + eax]
cmp word [ecx - 2], 0xa
je 0x42dd1e
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x42dd10
movaps xmm4, xmm6
mov eax, dword [0x4772f8]
movaps xmm1, xmm6
movss dword [ebp - 0x50], xmm4
mov edx, dword [eax + 0x192c]
movss xmm2, dword [eax + 0x1930]
divss xmm2, dword [edx + 0x10]
cmp ecx, dword [ebp - 0x8c]
jae 0x42dda5
mov esi, dword [ebp - 0x8c]
mov edi, edx
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x42dd67
maxss xmm4, xmm1
movaps xmm1, xmm6
jmp 0x42dd89
cmp edx, 0xd
je 0x42dd89
mov edx, eax
cmp edx, dword [edi]
jge 0x42dd7c
mov eax, dword [edi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x42dd81
movss xmm0, dword [edi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp ecx, esi
jb 0x42dd51
comiss xmm1, xmm4
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x38]
movss dword [ebp - 0x50], xmm4
jbe 0x42dda5
movaps xmm4, xmm1
movss dword [ebp - 0x50], xmm1
cmp dword [ebp - 0x48], 0
movd xmm3, dword [ebp - 0x7c]
movss xmm0, dword [esi + 0x1930]
cvtdq2ps xmm3, xmm3
mulss xmm3, xmm0
movss dword [ebp - 0x78], xmm3
jl 0x42de78
mov eax, dword [ebp - 0x68]
mov ecx, eax
mov edx, dword [ebp - 0x24]
cmp eax, edx
jbe 0x42dde2
cmp word [ecx - 2], 0xa
je 0x42dde2
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x42ddd4
movaps xmm7, xmm6
mov eax, dword [0x4772f8]
movaps xmm1, xmm6
mov edx, dword [eax + 0x192c]
movss xmm2, dword [eax + 0x1930]
divss xmm2, dword [edx + 0x10]
cmp ecx, dword [ebp - 0x68]
jae 0x42de5a
mov esi, dword [ebp - 0x68]
mov edi, edx
nop word [eax + eax]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x42de26
maxss xmm7, xmm1
movaps xmm1, xmm6
jmp 0x42de48
cmp edx, 0xd
je 0x42de48
mov edx, eax
cmp edx, dword [edi]
jge 0x42de3b
mov eax, dword [edi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x42de40
movss xmm0, dword [edi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp ecx, esi
jb 0x42de10
comiss xmm1, xmm7
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x38]
jbe 0x42de5a
movaps xmm7, xmm1
movd xmm3, dword [ebp - 0x48]
movss xmm0, dword [esi + 0x1930]
cvtdq2ps xmm3, xmm3
mulss xmm3, xmm0
movss dword [ebp - 0x6c], xmm3
movss xmm3, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x30]
movss xmm1, dword [ebp - 0xac]
test cl, cl
je 0x42dea3
movd xmm5, dword [ebp - 0x44]
cvtdq2ps xmm5, xmm5
mulss xmm5, xmm0
movaps xmm0, xmm1
movss dword [ebp - 0x98], xmm0
movss dword [ebp - 0x3c], xmm5
cmp byte [ebp - 0x16], 0
je 0x42dfd2
cmp byte [edi + 0xe6c], 0
je 0x42dfd2
test dword [ebp + 0x14], 0x1000
jne 0x42df1e
movaps xmm2, xmm1
subss xmm1, dword [esi + 0x1550]
mulss xmm2, dword [0x46b70c]
movss dword [ebp - 0xac], xmm1
movss xmm1, dword [edi + 0x38]
comiss xmm1, xmm4
jbe 0x42def8
movaps xmm1, xmm4
movaps xmm0, xmm6
subss xmm1, xmm2
maxss xmm0, xmm1
jmp 0x42df0c
movaps xmm0, xmm4
subss xmm0, dword [ebp - 0xac]
comiss xmm0, xmm1
jb 0x42df25
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x42df25
mov dword [edi + 0x38], 0
test cl, cl
je 0x42dfbb
movss xmm2, dword [ebp - 0xc0]
movaps xmm0, xmm3
subss xmm0, dword [esi + 0x1930]
comiss xmm2, xmm0
jbe 0x42df53
movss xmm3, dword [ebp - 0x58]
movaps xmm2, xmm6
maxss xmm2, xmm0
jmp 0x42df74
movaps xmm0, xmm3
movss xmm3, dword [ebp - 0x58]
subss xmm0, xmm3
comiss xmm0, xmm2
jb 0x42df74
movss xmm2, dword [esi + 0x1554]
addss xmm2, xmm2
addss xmm2, xmm0
comiss xmm6, xmm2
movss xmm1, dword [esi + 0x1554]
jbe 0x42df86
movaps xmm1, xmm6
jmp 0x42df9a
addss xmm1, xmm1
addss xmm1, xmm5
subss xmm1, xmm3
maxss xmm1, xmm6
minss xmm1, xmm2
mov eax, dword [ebp - 0x74]
movss xmm0, dword [eax + 0x5c]
subss xmm0, xmm1
addss xmm0, dword [ebp - 0xc8]
movss dword [ebp - 0xc8], xmm0
movss dword [eax + 0x5c], xmm1
mov byte [edi + 0xe6c], 0
movss xmm0, dword [ebp - 0xcc]
movss dword [ebp - 0x88], xmm0
cmp byte [ebp - 0x64], 0
movss xmm5, dword [edi + 0x38]
movss dword [ebp - 0x44], xmm5
je 0x42e284
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov esi, dword [ebp - 0x24]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0x16], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x24]
lea edx, [eax + edx*2]
mov dword [ebp - 0x64], edx
je 0x42e015
movss xmm1, dword [0x46b75c]
jmp 0x42e01d
movss xmm1, dword [0x46b728]
mov ecx, 0x2f
call fcn.00403690
mov ecx, dword [ebp - 0x30]
xorps xmm0, xmm0
mov dword [ebp - 0x7c], eax
test cl, cl
je 0x42e03c
xorps xmm5, xmm5
xorps xmm6, xmm6
jmp 0x42e04c
movss xmm5, dword [0x46b83c]
movss xmm6, dword [0x46b790]
movss xmm3, dword [ebp - 0xc8]
movss dword [ebp - 0x8c], xmm6
movss dword [ebp - 0x68], xmm5
addss xmm3, dword [ebp - 0x6c]
addss xmm7, dword [ebp - 0x88]
subss xmm3, xmm0
subss xmm7, dword [ebp - 0x44]
movss dword [ebp - 0x6c], xmm3
cmp esi, edx
jae 0x42e279
movss xmm4, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x7c]
nop
movaps xmm0, xmm4
addss xmm0, dword [ecx + 0x1930]
comiss xmm3, xmm0
ja 0x42e273
movss xmm0, dword [ebp - 0xb8]
comiss xmm0, xmm3
jbe 0x42e0d9
cmp esi, edx
jae 0x42e244
nop dword [eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x42e244
cmp esi, edx
jb 0x42e0c0
jmp 0x42e244
xorps xmm0, xmm0
mov eax, dword [0x4772f8]
xorps xmm4, xmm4
xorps xmm1, xmm1
mov edx, dword [eax + 0x192c]
movss xmm2, dword [eax + 0x1930]
divss xmm2, dword [edx + 0x10]
cmp esi, dword [ebp - 0x64]
jae 0x42e144
nop
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x42e134
cmp ecx, 0xd
je 0x42e12d
cmp ecx, dword [edx]
jge 0x42e120
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x42e125
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, dword [ebp - 0x64]
jb 0x42e100
jmp 0x42e13e
xorps xmm4, xmm4
maxss xmm4, xmm1
xorps xmm1, xmm1
mov ecx, dword [ebp - 0x38]
xorps xmm0, xmm0
maxss xmm1, xmm4
comiss xmm0, xmm1
jb 0x42e17d
mov eax, dword [ecx + 0x192c]
cmp dword [eax], 0x20
jle 0x42e165
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x42e16a
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x46b720]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm4, dword [ebp - 0x14]
addss xmm1, xmm7
addss xmm7, dword [0x46b6b8]
movaps xmm2, xmm5
movaps xmm0, xmm6
subss xmm2, dword [ecx + 0x1930]
movss xmm6, dword [ebp - 0x20]
addss xmm0, xmm3
minss xmm1, xmm6
maxss xmm7, dword [ebp - 0xbc]
addss xmm2, xmm3
minss xmm0, xmm4
movss dword [ebp - 0xa0], xmm1
movss dword [ebp - 0xa8], xmm7
maxss xmm2, dword [ebp - 0xb8]
comiss xmm0, dword [ebp - 0xb8]
movss dword [ebp - 0xa4], xmm2
movss dword [ebp - 0x9c], xmm0
jbe 0x42e241
comiss xmm4, xmm2
jbe 0x42e241
comiss xmm1, dword [ebp - 0xbc]
jbe 0x42e241
comiss xmm6, xmm7
jbe 0x42e241
push 0
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xa0]
push edi
push eax
lea eax, [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax + 0x284]
call fcn.0041ea30
movss xmm3, dword [ebp - 0xcc]
movss xmm4, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
movss dword [ebp - 0x88], xmm3
movss xmm3, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x64]
movss xmm7, dword [ebp - 0x88]
movss xmm5, dword [ebp - 0x68]
movss xmm6, dword [ebp - 0x8c]
addss xmm3, dword [ecx + 0x1930]
subss xmm7, dword [ebp - 0x44]
movss dword [ebp - 0x6c], xmm3
cmp esi, edx
jb 0x42e090
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x38]
xorps xmm6, xmm6
movss xmm5, dword [ebp - 0x44]
mov edx, dword [ebp - 0x28]
test cl, cl
jne 0x42e29b
mov eax, edx
sub eax, dword [ebp + 8]
cmp eax, 0x200000
jge 0x42e4b9
mov eax, dword [0x4772f8]
movss xmm7, dword [0x46b75c]
movups xmm2, xmmword [eax + 0x15dc]
comiss xmm6, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [eax + 0x1518]
movups xmmword [ebp - 0xa8], xmm2
jbe 0x42e2cf
movaps xmm0, xmm6
jmp 0x42e2d6
movaps xmm0, xmm7
minss xmm0, xmm2
movss xmm2, dword [0x46b7f0]
movss xmm4, dword [0x46b720]
movss xmm3, dword [ebp - 0xa4]
comiss xmm6, xmm3
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si ecx, xmm0
jbe 0x42e304
movaps xmm0, xmm6
jmp 0x42e30b
movaps xmm0, xmm7
minss xmm0, xmm3
movss xmm3, dword [ebp - 0xa0]
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm3
jbe 0x42e32e
movaps xmm0, xmm6
jmp 0x42e335
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 0x42e350
movaps xmm0, xmm6
jmp 0x42e357
movaps xmm0, xmm7
minss xmm0, xmm1
mulss xmm0, xmm2
mov dword [ebp - 0x14], edx
mov edx, dword [esi + 0x192c]
movss xmm2, dword [esi + 0x1930]
addss xmm0, xmm4
mov dword [ebp - 0x6c], edx
lea edx, [ebp - 0xdc]
mov dword [ebp - 0x7c], 0
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x88]
subss xmm0, xmm5
shl eax, 0x18
or eax, ecx
mov ecx, dword [ebp - 0x74]
cmp byte [ebp - 0x30], 0
mov dword [ebp - 0x68], eax
cmovne edx, dword [ebp - 0x7c]
mov ecx, dword [ecx + 0x284]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0xc8]
mov dword [ebp - 0x20], ecx
subss xmm0, xmm6
movss dword [ebp - 0x58], xmm0
test eax, 0xff000000
je 0x42e4b9
cmp dword [ebp - 0x28], 0
jne 0x42e3f7
mov ecx, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [ebp - 0x7c], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42e3e0
sub ecx, dword [ebp - 0x7c]
mov eax, dword [ebp + 8]
add eax, ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
jmp 0x42e3fa
mov eax, dword [ebp - 0x14]
cmp dword [ebp + 8], eax
je 0x42e4b9
cmp dword [esi + 0x192c], 0
jne 0x42e415
mov eax, dword [ecx + 0x2c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x6c], eax
ucomiss xmm2, xmm6
lahf
test ah, 0x44
jp 0x42e426
mov eax, dword [ecx + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [ecx + 0x60]
movups xmmword [ebp - 0xa8], xmm0
test edx, edx
je 0x42e488
movss xmm0, dword [ebp - 0xa8]
maxss xmm0, dword [edx]
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [ebp - 0xa4]
maxss xmm0, dword [edx + 4]
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [ebp - 0xa0]
minss xmm0, dword [edx + 8]
movss dword [ebp - 0xa0], xmm0
movss xmm0, dword [ebp - 0x9c]
minss xmm0, dword [edx + 0xc]
movss dword [ebp - 0x9c], xmm0
push dword [ebp - 0x58]
test edx, edx
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x5c]
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xa8]
push edx
push dword [ebp + 8]
push eax
push dword [ebp - 0x68]
push ecx
mov ecx, dword [ebp - 0x6c]
call fcn.00422770
cmp byte [ebp - 0x16], 0
je 0x42e646
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [edi + 0xe68]
movss dword [edi + 0xe68], xmm0
cmp byte [esi + 0xb2], 0
je 0x42e51c
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x42e51c
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x5c], xmm0
fld qword [ebp - 0x5c]
fld qword [0x46b788]
call fcn.0045aad0
movss xmm0, dword [0x46b744]
fstp qword [ebp - 0x5c]
movsd xmm1, qword [ebp - 0x5c]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x42e51c
xor cl, cl
jmp 0x42e51e
mov cl, 1
movss xmm0, dword [ebp - 0x50]
movss xmm6, dword [0x46b75c]
addss xmm0, dword [ebp - 0xcc]
subss xmm0, dword [ebp - 0x44]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0xc8]
addss xmm0, dword [ebp - 0x78]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x46b6b8]
movss dword [ebp - 0x7c], xmm1
movaps xmm4, xmm1
movss dword [ebp - 0xdc], xmm1
addss xmm4, xmm6
cvttss2si eax, xmm0
movss dword [ebp - 0xd4], xmm4
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [ebp - 0x78], xmm2
movaps xmm0, xmm2
movaps xmm3, xmm2
subss xmm0, dword [esi + 0x1930]
subss xmm3, dword [0x46b77c]
addss xmm0, dword [0x46b720]
movss dword [ebp - 0xd0], xmm3
movss dword [ebp - 0xd8], xmm0
test cl, cl
je 0x42e624
comiss xmm3, dword [ebp - 0xb8]
jbe 0x42e624
movss xmm5, dword [ebp - 0x70]
comiss xmm5, xmm0
jbe 0x42e624
comiss xmm4, dword [ebp - 0xbc]
jbe 0x42e624
movss xmm0, dword [ebp - 0x1c]
comiss xmm0, xmm1
jbe 0x42e624
push ecx
movss dword [ebp - 0x5c], xmm1
xor ecx, ecx
movaps xmm1, xmm6
movss dword [ebp - 0x58], xmm3
mov dword [esp], 0x3f800000
call fcn.00403690
push eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0xdc]
push eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax + 0x284]
call fcn.0041e830
movss xmm1, dword [ebp - 0x7c]
movss xmm2, dword [ebp - 0x78]
movss xmm6, dword [0x46b75c]
cmp byte [ebp - 0x34], 0
jne 0x42e646
subss xmm2, dword [esi + 0x1930]
subss xmm1, xmm6
movss dword [esi + 0x2e90], xmm2
movss dword [esi + 0x2e8c], xmm1
cmp byte [ebp - 0x94], 0
je 0x42e654
call fcn.0040dc20
cmp byte [ebp - 0x30], 0
je 0x42e708
mov ecx, dword [0x4772f8]
movss xmm1, dword [ebp - 0x3c]
addss xmm1, dword [esi + 0x1554]
movss xmm4, dword [ebp - 0x98]
mov eax, dword [ecx + 0x1b9c]
movss dword [ebp - 0x5c], xmm4
movss dword [ebp - 0x58], xmm1
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1b9c]
cmp byte [eax + 0x8f], 0
jne 0x42e6fe
movss xmm0, dword [eax + 0xd4]
lea ecx, [ebp - 0x5c]
movss xmm3, dword [eax + 0xd0]
movaps xmm2, xmm0
addss xmm2, xmm1
movss dword [ebp - 0xdc], xmm3
movss xmm1, dword [0x46b83c]
addss xmm4, xmm3
movss dword [ebp - 0xd8], xmm0
movss dword [ebp - 0xd0], xmm2
movss dword [ebp - 0xd4], xmm4
call fcn.0040df70
push 0
push 0
xor edx, edx
lea ecx, [ebp - 0xdc]
call fcn.0040e0a0
add esp, 8
call fcn.00408d50
call fcn.0040e610
cmp byte [esi + 0x2ee4], 0
je 0x42e747
cmp byte [ebp - 0x94], 0
jne 0x42e747
mov eax, dword [0x4772f8]
lea ecx, [ebp - 0xcc]
push dword [ebp - 0x28]
mov edx, dword [ebp + 8]
mov dword [eax + 0x2efc], 0x46b118
mov dword [eax + 0x2f00], 0x46b114
call fcn.00412f60
add esp, 4
movss xmm0, dword [ebp - 0xe8]
comiss xmm0, dword [0x46b6b8]
jbe 0x42e79a
movss xmm0, dword [ebp - 0xb4]
xor edx, edx
addss xmm0, dword [esi + 0x1568]
mov ecx, dword [ebp - 0xc4]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0xb8]
addss xmm0, dword [esi + 0x1554]
movss dword [ebp - 0x58], xmm0
push dword [ebp - 0x58]
push dword [ebp - 0x5c]
push 1
call fcn.004038c0
add esp, 0xc
mov dl, byte [ebp - 0x4b]
mov ecx, dword [ebp + 0x14]
test dl, dl
je 0x42e7c7
test ecx, 0x8000000
jne 0x42e7c7
mov eax, dword [0x4772f8]
mov word [eax + 0x1be4], 0x101
mov eax, dword [eax + 0x1b9c]
or dword [eax + 0x120], 4
test cl, 0x20
movzx eax, dl
movzx ecx, byte [ebp - 0x29]
cmovne eax, ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret