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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4dc9c0
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x148
mov eax, dword [0x509040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x150], ecx
mov esi, dword [0x5887f0]
mov edi, esi
mov eax, dword [ebx + 8]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xbc], edi
mov eax, dword [edi + 0x1c48]
mov byte [eax + 0xc5], 1
mov eax, dword [edi + 0x1c48]
mov dword [ebp - 0x14c], eax
cmp byte [eax + 0xc8], 0
jne 0x43a98b
mov edx, dword [ebx + 0x14]
mov eax, edx
shr eax, 0xe
mov ecx, edx
and eax, 0xffffff01
shr ecx, 0x1a
mov dword [ebp - 0xe8], eax
and ecx, 0xffffff01
mov eax, edx
mov dword [ebp - 0xd4], ecx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0x154], eax
mov eax, edx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0x118], eax
mov eax, edx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0xf4], eax
test cl, cl
je 0x43a6f9
call fcn.004117c0
mov esi, dword [0x5887f0]
mov eax, dword [ebp - 0x14c]
xor edx, edx
mov ecx, dword [eax + 0xfc]
mov eax, dword [eax + 0x104]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x150]
call fcn.004039d0
add esp, 4
mov dword [ebp - 0xd0], eax
cmp dword [esi + 0x1c84], eax
jne 0x43a733
mov dword [esi + 0x1c88], eax
cmp dword [esi + 0x1cbc], eax
jne 0x43a742
mov byte [esi + 0x1cc0], 1
mov eax, dword [ebp - 0x150]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x43a766
nop
mov dl, byte [ecx]
test dl, dl
je 0x43a766
cmp dl, 0x23
jne 0x43a760
cmp byte [ecx + 1], dl
je 0x43a766
inc ecx
cmp ecx, 0xffffffff
jb 0x43a750
movss xmm1, dword [0x4feb00]
movss xmm0, dword [esi + 0x19d8]
movss dword [ebp - 0x13c], xmm1
cmp eax, ecx
jne 0x43a78f
xorps xmm3, xmm3
movss dword [ebp - 0x158], xmm3
jmp 0x43a7e1
push 0
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x19d4]
lea eax, [ebp - 0x100]
mov dword [esp], 0xbf800000
movaps xmm3, xmm1
push eax
movaps xmm2, xmm0
call fcn.0042ff60
movss xmm0, dword [ebp - 0x100]
xorps xmm3, xmm3
addss xmm0, dword [0x4fe9f4]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x158], xmm0
movss xmm0, dword [ebp - 0xfc]
cmp byte [ebp - 0xd4], 0
je 0x43a7fa
movss xmm0, dword [edi + 0x19d8]
mulss xmm0, dword [0x4fea64]
test byte [esi + 0x1d5c], 1
movss xmm1, dword [edi + 0x15d4]
mov eax, dword [esi + 0x1c48]
movaps xmm2, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
je 0x43a826
movss xmm0, dword [esi + 0x1d60]
jmp 0x43a82e
movss xmm0, dword [eax + 0x1ec]
comiss xmm3, xmm0
jbe 0x43a86d
cmp dword [eax + 0x1d0], 0
movss xmm1, dword [eax + 0x284]
jne 0x43a84d
cmp dword [esi + 0x1fec], 0
je 0x43a855
movss xmm1, dword [eax + 0x254]
subss xmm1, dword [eax + 0x108]
addss xmm1, xmm0
movss xmm0, dword [0x4fe9fc]
maxss xmm0, xmm1
cvttss2si eax, xmm0
lea ecx, [ebp - 0x100]
movd xmm1, eax
mov eax, dword [ebx + 0x10]
cvtdq2ps xmm1, xmm1
push dword [eax + 4]
push dword [eax]
call fcn.004116e0
movss xmm1, dword [ebp - 0x158]
xorps xmm0, xmm0
add esp, 8
comiss xmm1, xmm0
jbe 0x43a8ab
movaps xmm2, xmm1
addss xmm2, dword [edi + 0x15e8]
jmp 0x43a8ae
xorps xmm2, xmm2
cmp byte [ebp - 0xd4], 0
mov esi, dword [ebp - 0x14c]
movss xmm5, dword [ebp - 0x100]
addss xmm2, xmm5
movss dword [ebp - 0x140], xmm5
mov dword [ebp - 0x10c], esi
movss xmm4, dword [esi + 0x10c]
movss xmm3, dword [esi + 0x108]
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0xfc]
movaps xmm1, xmm3
movss dword [ebp - 0x54], xmm3
addss xmm1, xmm5
movss dword [ebp - 0x50], xmm4
addss xmm2, xmm3
movss dword [ebp - 0x24], xmm3
movss dword [ebp - 0x20], xmm4
movss dword [ebp - 0x48], xmm0
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0x4c], xmm1
movss dword [ebp - 0x1c], xmm2
movss dword [ebp - 0x18], xmm0
je 0x43ab66
mov edx, dword [ebp - 0xd0]
lea eax, [ebp - 0x54]
push 1
push eax
lea ecx, [ebp - 0x24]
call fcn.004111e0
add esp, 8
test al, al
jne 0x43a9ab
movss xmm0, dword [ebp - 0x1c]
lea ecx, [ebp - 0x100]
subss xmm0, dword [ebp - 0x24]
movss xmm1, dword [edi + 0x15d4]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x18]
subss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0xfc], xmm0
call fcn.004110b0
call fcn.004118f0
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004870f9
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov esi, dword [0x5887f0]
lea eax, [ebp - 0x40]
push eax
mov dword [ebp - 0x40], 3
movups xmm0, xmmword [esi + 0x168c]
lea ecx, [esi + 0x1d70]
movups xmmword [ebp - 0x3c], xmm0
call fcn.00421090
movups xmm0, xmmword [edi + 0x16cc]
lea eax, [ebp - 0x130]
mov dword [ebp - 0x130], 6
push eax
movups xmmword [esi + 0x168c], xmm0
mov esi, dword [0x5887f0]
movss xmm0, dword [edi + 0x15d8]
movss dword [ebp - 0xc4], xmm0
movss xmm0, dword [esi + 0x15c0]
lea ecx, [esi + 0x1d7c]
movss dword [ebp - 0x12c], xmm0
call fcn.00420fd0
movss xmm0, dword [ebp - 0xc4]
lea eax, [ebp - 0x130]
movss dword [esi + 0x15c0], xmm0
mov esi, dword [0x5887f0]
movss xmm0, dword [edi + 0x15dc]
movss dword [ebp - 0xc4], xmm0
push eax
movss xmm0, dword [esi + 0x15c4]
lea ecx, [esi + 0x1d7c]
mov dword [ebp - 0x130], 7
movss dword [ebp - 0x12c], xmm0
call fcn.00420fd0
movss xmm0, dword [ebp - 0xc4]
lea eax, [ebp - 0x12c]
movss xmm1, dword [ebp - 0x4c]
subss xmm1, dword [ebp - 0x54]
mov edx, dword [ebp - 0xd0]
movss dword [esi + 0x15c4], xmm0
movss xmm0, dword [ebp - 0x48]
subss xmm0, dword [ebp - 0x50]
push 4
push ecx
mov ecx, dword [ebp - 0x150]
push eax
movss dword [ebp - 0x12c], xmm1
movss dword [ebp - 0x128], xmm0
call fcn.0040a9a0
add esp, 0xc
mov byte [ebp - 0xeb], al
mov ecx, 2
call fcn.00404470
mov ecx, 1
call fcn.004043b0
cmp byte [ebp - 0xeb], 0
jne 0x43aaf3
call fcn.0040aba0
jmp 0x43a986
mov esi, dword [edi + 0x1c48]
mov dword [ebp - 0x10c], esi
movsx ecx, word [esi + 0x182]
mov eax, dword [esi + 0x17c]
bts ecx, eax
movss xmm0, dword [esi + 0x108]
mov word [esi + 0x182], cx
addss xmm0, dword [edi + 0x15d0]
movss dword [esi + 0x108], xmm0
movss xmm0, dword [edi + 0x15d4]
addss xmm0, dword [esi + 0x10c]
movss dword [esi + 0x10c], xmm0
movss xmm0, dword [ebp - 0x100]
subss xmm0, dword [esi + 0xb8]
mov esi, dword [ebp - 0x14c]
movss dword [ebp - 0x140], xmm0
jmp 0x43abb9
movss xmm1, dword [edi + 0x15d4]
subss xmm2, xmm3
subss xmm0, xmm4
lea ecx, [ebp - 0x12c]
movss dword [ebp - 0x12c], xmm2
movss dword [ebp - 0x128], xmm0
call fcn.004110b0
test dword [ebx + 0x14], 0x10000000
jne 0x43abb9
mov edx, dword [ebp - 0xd0]
lea eax, [ebp - 0x54]
push 1
push eax
lea ecx, [ebp - 0x24]
call fcn.004111e0
add esp, 8
test al, al
je 0x43a98b
mov edx, dword [ebp - 0xd0]
lea ecx, [ebp - 0x54]
call fcn.00406070
mov dl, al
mov byte [ebp - 0xe9], dl
test dl, dl
je 0x43abdd
mov dword [edi + 0x1f58], 1
mov edi, dword [0x5887f0]
xor ecx, ecx
mov eax, dword [ebp - 0xd0]
add edi, 0x2070
cmp dword [edi], eax
mov eax, dword [esi + 0x158]
cmovne edi, ecx
mov ecx, eax
shr eax, 9
shr ecx, 8
and eax, 0xffffff01
and ecx, 0xffffff01
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0x134], ecx
test dl, dl
je 0x43ac3b
cmp byte [eax + 0x3e0], 0
mov byte [ebp - 0xb7], 1
jne 0x43ac42
mov byte [ebp - 0xb7], 0
mov esi, dword [eax + 0x1c84]
mov ecx, dword [ebp - 0xd0]
cmp esi, ecx
je 0x43ac74
cmp dword [eax + 0x1e30], ecx
je 0x43ac6b
cmp dword [eax + 0x1e24], ecx
jne 0x43ac74
cmp dword [eax + 0x1e48], 2
jne 0x43ac74
mov byte [ebp - 0xb6], 1
jmp 0x43ac7b
mov byte [ebp - 0xb6], 0
mov eax, dword [ebp - 0xd4]
test al, al
je 0x43accf
test edi, edi
je 0x43accf
test esi, esi
jne 0x43accf
mov eax, dword [ebp - 0x10c]
xor edx, edx
mov ecx, dword [eax + 0xfc]
mov eax, dword [eax + 0x104]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.004039d0
mov ecx, dword [ebp - 0xbc]
add esp, 4
cmp dword [ecx + 0x1cbc], eax
jne 0x43acc9
mov byte [ebp - 0xbd], 1
jmp 0x43ace5
mov eax, dword [ebp - 0xd4]
mov byte [ebp - 0xbd], 0
test al, al
je 0x43ad12
mov byte [ebp - 0xbd], 0
test edi, edi
je 0x43ad12
mov eax, dword [ebp - 0x10c]
xor edx, edx
mov ecx, dword [eax + 0xfc]
mov eax, dword [eax + 0x104]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.004039d0
add esp, 4
cmp esi, eax
jne 0x43ad12
mov cl, 1
jmp 0x43ad14
xor cl, cl
mov dl, byte [ebp - 0xb6]
mov byte [ebp - 0xc0], cl
mov byte [ebp - 0xe1], 0
cmp esi, dword [ebp - 0xd0]
je 0x43ad4c
test byte [ebx + 0x14], 0x10
jne 0x43ad39
test dl, dl
je 0x43ad4c
mov eax, dword [ebp - 0xd4]
test al, al
jne 0x43ad52
mov byte [ebp - 0xe0], 1
jmp 0x43ad79
mov eax, dword [ebp - 0xd4]
mov byte [ebp - 0xe0], 0
test al, al
je 0x43ad79
mov edi, dword [ebp - 0x10c]
movss xmm0, dword [edi + 0x94]
mov edi, dword [ebp - 0xf0]
movss dword [ebp - 0x13c], xmm0
test edi, edi
je 0x43ad88
xor al, 1
cmp byte [edi + 0x53], al
je 0x43ad88
mov al, 1
jmp 0x43ad8a
xor al, al
cmp byte [ebp - 0xb7], 0
mov byte [ebp - 0xd5], al
jne 0x43adc8
cmp byte [ebp - 0xbd], 0
jne 0x43adc8
test dl, dl
jne 0x43adc8
cmp byte [ebp - 0x134], dl
jne 0x43adc8
cmp byte [ebp - 0x124], dl
jne 0x43adc8
mov byte [ebp - 0xbd], dl
test cl, cl
jne 0x43adcf
mov byte [ebp - 0xbe], cl
jmp 0x43ade0
mov byte [ebp - 0xbd], 1
mov edx, dword [ebp - 0xd0]
mov byte [ebp - 0xbe], 1
cmp esi, edx
jne 0x43ade8
test al, al
je 0x43b031
mov edi, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xdc]
add edi, 0x2070
mov dword [ebp - 0xf0], edi
mov dword [edi + 0xe68], 0xbe99999a
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43ae10
mov eax, dword [edi + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x43ae4d
test eax, eax
je 0x43ae36
cdq
sub eax, edx
lea edx, [edi + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x43ae3e
mov ecx, 8
lea edx, [edi + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.004214c0
push esi
push dword [ebp - 0xdc]
mov dword [edi + 0x24], esi
push dword [edi + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebx + 0xc]
lea eax, [edi + 0xc]
mov esi, dword [eax + 4]
inc edx
add esp, 0xc
mov dword [ebp - 0xcc], edx
cmp edx, esi
jle 0x43aeab
test esi, esi
je 0x43ae8d
mov eax, esi
cdq
sub eax, edx
mov edx, dword [ebp - 0xcc]
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x43ae92
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.00421530
mov edx, dword [ebp - 0xcc]
lea eax, [edi + 0xc]
mov dword [eax], edx
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x43aecd
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.004214c0
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebp - 0xdc]
dec ecx
mov dword [edi + 0x18], 0
mov edx, dword [edi + 0x14]
mov esi, edx
mov byte [edi + 0x30], 0
mov dword [ebp - 0xcc], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x43af42
mov edi, eax
cmp byte [edi], 0
je 0x43af30
push 0
mov edx, edi
lea ecx, [ebp - 0xc4]
call fcn.00403c80
mov edx, dword [ebp - 0xcc]
add edi, eax
mov eax, dword [ebp - 0xc4]
add esp, 4
test eax, eax
je 0x43af30
mov word [esi], ax
add esi, 2
mov eax, dword [ebx + 0xc]
dec eax
lea eax, [edx + eax*2]
cmp esi, eax
jb 0x43aef6
mov dword [ebp - 0xc8], edi
mov edi, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xc8]
sub eax, dword [ebp - 0xdc]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
mov dword [edi + 8], eax
mov eax, dword [ebp - 0xd0]
mov dword [edi + 4], esi
cmp dword [edi], eax
jne 0x43af8d
cmp byte [ebp - 0xd5], cl
jne 0x43af8d
cmp dword [edi + 0x3c], esi
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], esi
mov dword [edi + 0x40], ecx
cmovl esi, dword [edi + 0x44]
mov dword [edi + 0x44], esi
jmp 0x43aff5
mov edx, dword [ebp - 0xd4]
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 0x43affb
mov edx, dword [ebp - 0xe0]
mov eax, 1
cmp byte [ebp - 0x134], cl
movzx edx, dl
cmovne edx, eax
mov dword [ebp - 0xe0], edx
mov edx, dword [ebp - 0xd4]
test dword [ebx + 0x14], 0x2000
je 0x43b008
mov byte [edi + 0x48], 1
test dl, dl
jne 0x43b031
cmp byte [ebp - 0x124], dl
jne 0x43b02a
cmp byte [ebp - 0xb7], dl
je 0x43b031
mov eax, dword [ebp - 0xbc]
cmp byte [eax + 0x100], dl
je 0x43b031
mov byte [ebp - 0xe0], 1
mov esi, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xd0]
cmp dword [esi + 0x1c84], ecx
je 0x43b0f2
cmp byte [ebp - 0xbd], 0
je 0x43b0ea
mov edx, dword [ebp - 0x14c]
call fcn.00405db0
call fcn.00412ed0
mov ecx, edx
call fcn.004109e0
mov eax, dword [esi + 0x1c98]
mov edx, dword [ebp - 0xd4]
or eax, 3
mov dword [esi + 0x1c98], eax
test dl, dl
jne 0x43b08c
test byte [ebx + 0x14], 0x80
je 0x43b095
or eax, 0xc
mov dword [esi + 0x1c98], eax
mov eax, dword [esi + 0x1ca0]
or dword [esi + 0x1c9c], 2
or eax, 0x180
mov ecx, dword [esi + 0x1ca4]
mov dword [esi + 0x1ca0], eax
mov dword [esi + 0x1ca4], ecx
test dl, dl
je 0x43b0cc
or eax, 0x60
mov dword [esi + 0x1ca4], ecx
mov dword [esi + 0x1ca0], eax
test dword [ebx + 0x14], 0x440
je 0x43b0e4
or eax, 1
mov dword [esi + 0x1ca4], ecx
mov dword [esi + 0x1ca0], eax
mov ecx, dword [ebp - 0xd0]
cmp dword [esi + 0x1c84], ecx
jne 0x43b12f
test edi, edi
jne 0x43b101
call fcn.00405e80
mov ecx, dword [ebp - 0xd0]
cmp dword [esi + 0x1c84], ecx
jne 0x43b12f
cmp byte [esi + 0x3e0], 0
je 0x43b13c
cmp byte [ebp - 0xbe], 0
jne 0x43b13c
cmp byte [ebp - 0xbd], 0
jne 0x43b13c
mov byte [ebp - 0xe1], 1
mov dl, 1
jmp 0x43b142
test edi, edi
je 0x43b140
cmp byte [ebp - 0xc0], 0
je 0x43b140
mov dl, 1
jmp 0x43b142
xor dl, dl
mov byte [ebp - 0xbf], dl
test edi, edi
je 0x43b15f
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x43b15f
test dl, dl
je 0x43b15f
mov edx, 1
jmp 0x43b161
xor dl, dl
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x144], edx
mov byte [ebp - 0xea], dl
mov byte [ebp - 0xeb], 0
mov byte [ebp - 0xd5], 0
test al, al
je 0x43b2a8
test edi, edi
je 0x43b2a8
cmp byte [ebp - 0xbf], 0
jne 0x43b1a2
test dl, dl
je 0x43b2b5
mov ecx, dword [ebx + 0xc]
mov eax, dword [edi + 0x10]
lea esi, [ecx + 1]
cmp esi, eax
jle 0x43b1dc
test eax, eax
je 0x43b1c2
cdq
sub eax, edx
lea edx, [edi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x43b1ca
mov ecx, 8
lea edx, [edi + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00421530
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebp - 0xdc]
mov dword [edi + 0xc], esi
mov edx, dword [edi + 0x14]
mov esi, edx
mov dword [ebp - 0xcc], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x43b24b
mov edi, eax
nop dword [eax]
cmp byte [edi], 0
je 0x43b239
push 0
mov edx, edi
lea ecx, [ebp - 0xc4]
call fcn.00403c80
mov edx, dword [ebp - 0xcc]
add edi, eax
mov eax, dword [ebp - 0xc4]
add esp, 4
test eax, eax
je 0x43b239
mov ecx, dword [ebx + 0xc]
mov word [esi], ax
add esi, 2
lea eax, [edx + ecx*2]
cmp esi, eax
jb 0x43b200
mov dword [ebp - 0xc8], edi
mov edi, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xc8]
sub eax, dword [ebp - 0xdc]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
cmp dword [edi + 0x3c], esi
mov ecx, esi
mov dword [edi + 4], esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], esi
mov dword [edi + 8], eax
cmovl esi, dword [edi + 0x44]
xor edx, edx
movzx eax, byte [ebp - 0xea]
cmp ecx, esi
mov dword [edi + 0x40], ecx
mov ecx, dword [ebp - 0xd0]
cmovne edx, eax
mov eax, dword [ebp - 0xe8]
mov dword [edi + 0x44], esi
mov esi, dword [ebp - 0xbc]
mov dword [ebp - 0x144], edx
cmp byte [ebp - 0xbf], 0
jne 0x43b2bd
test dl, dl
jne 0x43b2bd
cmp dword [esi + 0x1c84], ecx
jne 0x43b2d1
test al, al
jne 0x43b2d1
test edi, edi
je 0x43b2d1
mov byte [ebp - 0xea], 1
cmp byte [edi + 0x30], al
jne 0x43b2d8
mov byte [ebp - 0xea], 0
cmp byte [ebp - 0x154], 0
je 0x43b36b
mov edx, dword [esi + 0x19d4]
cmp dword [edx + 0x14], 0x2a
ja 0x43b2f6
mov esi, dword [edx + 0x2c]
jmp 0x43b315
mov eax, dword [edx + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x43b30c
mov esi, dword [edx + 0x2c]
jmp 0x43b315
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x28]
lea esi, [eax + ecx*8]
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xbc]
add ecx, 0x2eec
mov dword [ecx + 0x10], eax
mov eax, dword [edx + 0x19d4]
mov eax, dword [eax + 0x40]
mov dword [ecx + 0x40], eax
mov eax, dword [edx + 0x19d4]
mov eax, dword [eax + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [edx + 0x19d4]
mov eax, dword [eax + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [edx + 0x19d4]
mov eax, dword [eax + 0x30]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x2c], esi
mov eax, dword [esi + 4]
mov dword [ecx + 0xc], eax
call fcn.00410c10
mov esi, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x124], 0
cmp dword [esi + 0x1c84], ecx
jne 0x43b7a7
mov eax, dword [edi + 8]
mov edx, dword [ebx + 0x14]
mov byte [edi + 0xe6e], 0
mov dword [edi + 0xe70], edx
mov dword [edi + 0xe74], 0
mov dword [edi + 0xe78], 0
mov dword [ebp - 0x124], eax
mov eax, dword [ebx + 0xc]
mov dword [edi + 0x34], eax
cmp byte [esi + 0xec], 0
mov dword [esi + 0x3264], 1
sete al
cmp byte [ebp - 0xd4], 0
mov byte [esi + 0x1c91], al
movss xmm7, dword [esi + 0xe4]
subss xmm7, dword [ebp - 0x54]
subss xmm7, dword [esi + 0x15d0]
addss xmm7, dword [edi + 0x38]
je 0x43b415
mov eax, dword [ebp - 0x10c]
movss xmm2, dword [esi + 0xe8]
subss xmm2, dword [eax + 0x10c]
jmp 0x43b425
movss xmm2, dword [esi + 0x19d8]
mulss xmm2, dword [0x4fe9b8]
cmp byte [ebp - 0xe0], 0
mov al, byte [esi + 0xb8]
mov byte [ebp - 0xb7], al
jne 0x43b5a1
mov cl, byte [ebp - 0xe9]
test cl, cl
je 0x43b458
test al, al
jne 0x43b4bd
cmp byte [esi + 0x3e5], al
jne 0x43b5a1
cmp byte [esi + 0x3e0], 0
je 0x43b514
cmp byte [edi + 0xe6d], 0
jne 0x43b514
test cl, cl
je 0x43b5c2
cmp byte [edi + 0x53], 0
je 0x43b494
push 0
mov edx, edi
lea ecx, [ebp - 0x44]
call fcn.00438bf0
movss xmm2, dword [ebp - 0x38]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.00438f20
mov edx, dword [ebx + 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 0x43b5bc
cmp byte [esi + 0x3e5], 0
je 0x43b458
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00439300
add esp, 4
mov byte [edi + 0xe6c], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, edi
push 0x60000d
call fcn.00439300
mov edx, dword [ebx + 0x14]
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
jmp 0x43b5bc
cmp byte [esi + 0xec], 0
je 0x43b5c2
cmp byte [edi + 0xe6d], 0
jne 0x43b5cb
movss xmm0, dword [esi + 0x378]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x43b553
movss xmm0, dword [esi + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x43b5c2
cmp byte [edi + 0x53], 0
je 0x43b56d
push 0
mov edx, edi
lea ecx, [ebp - 0x44]
call fcn.00438bf0
movss xmm2, dword [ebp - 0x38]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x43b57b
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm7
mov ecx, edi
call fcn.00438f20
mov edx, dword [ebx + 0x14]
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0xe68], 0xbe99999a
mov byte [edi + 0xe6c], 1
jmp 0x43b5bc
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 - 0xb7]
cmp byte [edi + 0xe6d], 0
je 0x43b5db
cmp byte [esi + 0xec], 0
jne 0x43b5db
mov byte [edi + 0xe6d], 0
cmp byte [esi + 0x100], 0
je 0x43b5ed
cmp byte [esi + 0x102], 0
je 0x43b5fa
test al, al
je 0x43b603
cmp byte [esi + 0x103], 0
je 0x43b603
mov byte [ebp - 0xb5], 1
jmp 0x43b60a
mov byte [ebp - 0xb5], 0
test edx, 0x400
je 0x43b842
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x43b842
call fcn.0040a8e0
mov ecx, dword [ebp - 0xe8]
test al, al
mov al, byte [ebp - 0xb5]
je 0x43b6ca
test al, al
jne 0x43b6ca
cmp byte [esi + 0x101], al
jne 0x43b6ca
test cl, cl
jne 0x43b6ca
mov ecx, dword [esi + 0x1518]
mov eax, dword [esi + 0x1510]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x43b676
mov ax, word [ecx]
add ecx, 2
cmp ax, 9
je 0x43b6be
cmp ecx, edx
jb 0x43b666
mov edx, dword [ebx + 0x14]
lea ecx, [ebp - 0xcc]
push 2
sub esp, 8
mov dword [ebp - 0xcc], 9
call fcn.0043a440
add esp, 0xc
test al, al
je 0x43b6be
push dword [ebp - 0xcc]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00439300
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, dword [ebp - 0xe8]
mov al, byte [ebp - 0xb5]
mov edx, dword [ebx + 0x14]
cmp dword [esi + 0x1510], 0
jle 0x43b7a7
test al, al
jne 0x43b771
test cl, cl
jne 0x43b771
cmp byte [ebp - 0xb6], cl
jne 0x43b771
mov ecx, dword [ebp - 0xbc]
xor esi, esi
nop
mov eax, dword [ecx + 0x1518]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0xcc], eax
cmp eax, 9
jne 0x43b71e
cmp byte [ecx + 0x101], 0
jne 0x43b75f
push 2
sub esp, 8
lea ecx, [ebp - 0xcc]
call fcn.0043a440
add esp, 0xc
test al, al
je 0x43b759
push dword [ebp - 0xcc]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00439300
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebx + 0x14]
inc esi
cmp esi, dword [ecx + 0x1510]
jl 0x43b700
mov esi, dword [ebp - 0xbc]
mov ecx, dword [esi + 0x1514]
test ecx, ecx
jns 0x43b797
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 + 0x1510]
call fcn.00421530
mov dword [esi + 0x1510], 0
mov esi, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xd0]
xor cl, cl
mov byte [ebp - 0xb5], cl
cmp dword [esi + 0x1c84], edx
jne 0x43c35e
cmp byte [esi + 0x1c90], cl
jne 0x43c35e
cmp byte [ebp - 0xe1], cl
jne 0x43c35e
movss xmm0, dword [ebp - 0xfc]
mov ecx, 1
subss xmm0, dword [esi + 0x15d4]
divss xmm0, dword [esi + 0x19d8]
cvttss2si eax, xmm0
cmp eax, 1
cmovge ecx, eax
mov eax, dword [ebp - 0xbc]
mov dword [edi + 0x4c], ecx
xor esi, esi
mov dword [ebp - 0xcc], ecx
mov ecx, 0x400000
cmp byte [eax + 0x101], 0
cmovne esi, ecx
mov cl, byte [eax + 0xb8]
mov byte [ebp - 0x10e], cl
test cl, cl
je 0x43b853
cmp dword [eax + 0x380], 0xa
jne 0x43b853
mov byte [ebp - 0xc0], 1
jmp 0x43b85e
mov al, byte [ebp - 0xb5]
mov ecx, dword [ebp - 0xe8]
jmp 0x43b6cd
mov byte [ebp - 0xc0], 0
test cl, cl
je 0x43b889
cmp byte [eax + 0x103], 0
mov cl, byte [eax + 0x102]
mov byte [ebp - 0xbd], cl
je 0x43b89c
cmp byte [eax + 0x100], 0
jne 0x43b89c
test cl, cl
jne 0x43b89c
mov byte [ebp - 0xb7], 1
jmp 0x43b8a3
mov cl, byte [eax + 0x100]
mov byte [ebp - 0xbd], cl
mov byte [ebp - 0xc0], 0
mov byte [ebp - 0xb7], 0
cmp byte [eax + 0xb8], 0
mov edx, dword [eax + 0x380]
mov dword [ebp - 0xc4], edx
je 0x43b8bd
cmp edx, 8
jmp 0x43b8c0
cmp edx, 1
sete al
mov byte [ebp - 0xb6], al
test al, al
je 0x43b8eb
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x80]
test ecx, ecx
js 0x43b8eb
call fcn.0040a8e0
test al, al
jne 0x43b905
mov edx, dword [ebp - 0xc4]
cmp edx, 2
jne 0x43b931
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x43b931
call fcn.0040a8e0
test al, al
je 0x43b931
cmp byte [ebp - 0xe8], 0
jne 0x43b931
cmp byte [ebp - 0x154], 0
jne 0x43b931
cmp byte [ebp - 0xd4], 0
je 0x43b928
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x43b931
mov byte [ebp - 0xbe], 1
jmp 0x43b938
mov byte [ebp - 0xbe], 0
cmp byte [ebp - 0xb6], 0
je 0x43b956
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x43b956
call fcn.0040a8e0
test al, al
jne 0x43b97a
mov eax, dword [ebp - 0xbc]
cmp dword [eax + 0x380], 1
jne 0x43b99d
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x43b99d
call fcn.0040a8e0
test al, al
je 0x43b99d
cmp byte [ebp - 0x154], 0
jne 0x43b99d
cmp byte [ebp - 0xd4], 0
je 0x43b994
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x43b99d
mov byte [ebp - 0x10d], 1
jmp 0x43b9a4
mov byte [ebp - 0x10d], 0
cmp byte [ebp - 0xb6], 0
je 0x43b9c2
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x43b9c2
call fcn.0040a8e0
test al, al
jne 0x43b9e6
mov eax, dword [ebp - 0xbc]
cmp dword [eax + 0x380], 2
jne 0x43b9f6
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x43b9f6
call fcn.0040a8e0
test al, al
je 0x43b9f6
cmp byte [ebp - 0xe8], 0
mov byte [ebp - 0xe9], 1
je 0x43b9fd
mov byte [ebp - 0xe9], 0
mov dl, byte [ebp - 0xb6]
test dl, dl
je 0x43ba40
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x43ba40
call fcn.0040a8e0
test al, al
je 0x43ba3a
cmp byte [ebp - 0xe8], 0
jne 0x43ba3a
cmp byte [ebp - 0x118], 0
je 0x43ba3a
mov byte [ebp - 0x101], 1
jmp 0x43ba4b
mov dl, byte [ebp - 0xb6]
mov byte [ebp - 0x101], 0
test dl, dl
je 0x43ba63
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x43ba63
call fcn.0040a8e0
test al, al
jne 0x43ba84
cmp byte [ebp - 0xc0], 0
je 0x43ba9d
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x43ba9d
call fcn.0040a8e0
test al, al
je 0x43ba9d
cmp byte [ebp - 0xe8], 0
jne 0x43ba9d
cmp byte [ebp - 0x118], 0
mov byte [ebp - 0xc0], 1
jne 0x43baa4
mov byte [ebp - 0xc0], 0
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x43baff
call fcn.0040a8e0
test al, al
je 0x43baff
cmp byte [ebp - 0xb7], 0
je 0x43bad9
mov eax, 0x200004
lea edx, [edi + 0x3c]
or eax, esi
mov ecx, edi
push eax
call fcn.00439300
jmp 0x43c321
cmp byte [ebp - 0xbd], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000c
mov eax, 0x200000
cmovne eax, ecx
mov ecx, edi
or eax, esi
push eax
call fcn.00439300
jmp 0x43c321
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x43bb5a
call fcn.0040a8e0
test al, al
je 0x43bb5a
cmp byte [ebp - 0xb7], 0
je 0x43bb34
mov eax, 0x200005
lea edx, [edi + 0x3c]
or eax, esi
mov ecx, edi
push eax
call fcn.00439300
jmp 0x43c321
cmp byte [ebp - 0xbd], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000d
mov eax, 0x200001
cmovne eax, ecx
mov ecx, edi
or eax, esi
push eax
call fcn.00439300
jmp 0x43c321
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x43bbf0
call fcn.0040a8e0
test al, al
je 0x43bbf0
cmp byte [ebp - 0xd4], 0
je 0x43bbf0
mov eax, dword [ebp - 0xbc]
cmp byte [eax + 0x100], 0
je 0x43bbd0
mov edx, dword [ebp - 0x10c]
mov esi, eax
movss xmm0, dword [edx + 0x94]
subss xmm0, dword [esi + 0x19d8]
mov dword [edx + 0xac], 0
mov dword [edx + 0xb4], 0
maxss xmm0, dword [0x4fe95c]
movss dword [edx + 0xa4], xmm0
jmp 0x43c33b
movzx eax, byte [ebp - 0xb7]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200002]
or eax, esi
push eax
call fcn.00439300
jmp 0x43c321
mov ecx, dword [0x5887f0]
mov ecx, dword [ecx + 0x44]
test ecx, ecx
js 0x43bc9a
call fcn.0040a8e0
test al, al
je 0x43bc9a
cmp byte [ebp - 0xd4], 0
je 0x43bc9a
mov eax, dword [ebp - 0xbc]
cmp byte [eax + 0x100], 0
je 0x43bc7a
mov ecx, dword [ebp - 0x10c]
mov esi, dword [ebp - 0xbc]
mov eax, dword [0x5887f0]
movss xmm0, dword [esi + 0x19d8]
mov eax, dword [eax + 0x1c48]
addss xmm0, dword [ecx + 0x94]
minss xmm0, dword [eax + 0x9c]
mov dword [ecx + 0xac], 0
mov dword [ecx + 0xb4], 0
movss dword [ecx + 0xa4], xmm0
jmp 0x43c33b
movzx eax, byte [ebp - 0xb7]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200003]
or eax, esi
push eax
call fcn.00439300
jmp 0x43c321
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x48]
test ecx, ecx
js 0x43bd0f
call fcn.0040a8e0
test al, al
je 0x43bd0f
cmp byte [ebp - 0xd4], 0
je 0x43bd0f
or esi, 0x20000e
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.00439300
movd xmm0, dword [ebp - 0xcc]
add esp, 4
mov esi, dword [ebp - 0xbc]
movss xmm1, dword [ebp - 0x13c]
cvtdq2ps xmm0, xmm0
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mulss xmm0, dword [esi + 0x19d8]
subss xmm1, xmm0
movss dword [ebp - 0x13c], xmm1
jmp 0x43c33b
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
js 0x43bd80
call fcn.0040a8e0
test al, al
je 0x43bd80
cmp byte [ebp - 0xd4], 0
je 0x43bd80
or esi, 0x20000f
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.00439300
movd xmm0, dword [ebp - 0xcc]
add esp, 4
mov esi, dword [ebp - 0xbc]
cvtdq2ps xmm0, xmm0
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mulss xmm0, dword [esi + 0x19d8]
addss xmm0, dword [ebp - 0x13c]
movss dword [ebp - 0x13c], xmm0
jmp 0x43c33b
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x43bdc2
call fcn.0040a8e0
test al, al
je 0x43bdc2
mov ecx, dword [ebp - 0xbc]
lea edx, [edi + 0x3c]
mov eax, esi
or esi, 0x200004
or eax, 0x200006
cmp byte [ecx + 0x100], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.00439300
jmp 0x43c321
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x43be04
call fcn.0040a8e0
test al, al
je 0x43be04
mov ecx, dword [ebp - 0xbc]
lea edx, [edi + 0x3c]
mov eax, esi
or esi, 0x200005
or eax, 0x200007
cmp byte [ecx + 0x100], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.00439300
jmp 0x43c321
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x43be38
call fcn.0040a8e0
test al, al
je 0x43be38
cmp byte [ebp - 0xe8], 0
jne 0x43be38
or esi, 0x200008
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.00439300
jmp 0x43c321
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x43bedd
call fcn.0040a8e0
test al, al
je 0x43bedd
cmp byte [ebp - 0xe8], 0
jne 0x43bedd
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x43bec7
cmp byte [ebp - 0xbd], 0
je 0x43be7a
push 0x60000c
jmp 0x43bea9
cmp byte [ebp - 0x10e], 0
je 0x43bec7
mov eax, dword [ebp - 0xbc]
cmp byte [eax + 0x103], 0
je 0x43bec7
cmp byte [eax + 0x102], 0
jne 0x43bec7
cmp byte [eax + 0x100], 0
jne 0x43bec7
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00439300
mov dword [edi + 0xe68], 0xbe99999a
add esp, 4
mov byte [edi + 0xe6c], 1
or esi, 0x200009
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.00439300
jmp 0x43c321
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x68]
test ecx, ecx
js 0x43bef2
call fcn.0040a8e0
test al, al
jne 0x43bf0f
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x43bfa8
call fcn.0040a8e0
test al, al
je 0x43bfa8
mov edx, dword [ebx + 0x14]
mov eax, edx
mov esi, dword [ebp - 0xbc]
shr eax, 0xb
and al, 1
cmp byte [ebp - 0xd4], 0
je 0x43bf36
mov cl, byte [esi + 0x100]
test al, al
je 0x43bf49
test cl, cl
jne 0x43bf4d
mov byte [ebp - 0xe1], 1
mov byte [ebp - 0xd5], 1
jmp 0x43c33b
test cl, cl
jne 0x43bf36
cmp byte [ebp - 0xe8], 0
jne 0x43c33b
push 2
sub esp, 8
mov dword [ebp - 0xcc], 0xa
lea ecx, [ebp - 0xcc]
call fcn.0043a440
add esp, 0xc
test al, al
je 0x43c33b
push dword [ebp - 0xcc]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00439300
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
jmp 0x43c33b
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
js 0x43bfd0
call fcn.0040a8e0
test al, al
je 0x43bfd0
mov esi, dword [ebp - 0xbc]
mov cl, 1
mov byte [ebp - 0xe1], cl
jmp 0x43c341
mov al, byte [ebp - 0x101]
test al, al
jne 0x43c302
cmp byte [ebp - 0xc0], al
jne 0x43c302
cmp byte [ebp - 0xb6], al
je 0x43c020
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x74]
test ecx, ecx
js 0x43c020
call fcn.0040a8e0
test al, al
je 0x43c020
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
jmp 0x43c32e
mov al, byte [ebp - 0xbe]
test al, al
jne 0x43c1e7
cmp byte [ebp - 0x10d], al
jne 0x43c1e7
cmp byte [ebp - 0xe9], al
je 0x43c335
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0xd8]
test ecx, ecx
je 0x43c06b
push dword [eax + 0xe0]
call ecx
mov esi, eax
add esp, 4
test esi, esi
jne 0x43c070
jmp 0x43c335
mov esi, 0x4ee7f6
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43c075
mov eax, dword [0x5887f0]
sub ecx, edx
test eax, eax
je 0x43c08d
inc dword [eax + 0x374]
lea eax, [ecx*2 + 2]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
call eax
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0xe0], eax
cmp byte [esi], al
je 0x43c11b
xor edi, edi
push 0
mov edx, esi
lea ecx, [ebp - 0xc8]
call fcn.00403c80
add esp, 4
add esi, eax
cmp dword [ebp - 0xc8], 0
je 0x43c103
mov edx, dword [ebx + 0x14]
lea ecx, [ebp - 0xc8]
push 5
sub esp, 8
call fcn.0043a440
add esp, 0xc
test al, al
je 0x43c0fe
mov ecx, dword [ebp - 0x120]
mov ax, word [ebp - 0xc8]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x43c0b5
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0xe0], edi
mov edi, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe0]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x43c1c4
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 4]
cmp ecx, edx
je 0x43c14f
cmp ecx, eax
jle 0x43c13f
mov dword [edi + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x43c148
mov dword [edi + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x43c14f
mov dword [edi + 0x3c], ecx
cmp dword [edi + 0x3c], eax
jle 0x43c157
mov dword [edi + 0x3c], eax
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00439270
push dword [ebp - 0xe0]
mov edx, dword [edi + 0x3c]
mov ecx, edi
push dword [ebp - 0x120]
call fcn.00438dd0
add esp, 8
test al, al
je 0x43c1a3
push dword [ebp - 0xe0]
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x5c]
push 0
call fcn.0043a150
mov eax, dword [ebp - 0xe0]
add esp, 8
add dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
jmp 0x43c1b7
movzx eax, word [edi + 0xe5a]
test ax, ax
je 0x43c1b7
dec eax
mov word [edi + 0xe5a], ax
mov ecx, dword [ebp - 0x120]
mov byte [edi + 0xe6c], 1
test ecx, ecx
je 0x43c1d7
mov eax, dword [0x5887f0]
test eax, eax
je 0x43c1d7
dec dword [eax + 0x374]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push ecx
call eax
add esp, 4
jmp 0x43c335
mov esi, dword [ebp - 0xbc]
cmp dword [esi + 0xdc], 0
je 0x43c2c3
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x43c20e
mov esi, ecx
cmovge ecx, eax
cmovl esi, eax
jmp 0x43c213
mov ecx, dword [edi + 4]
xor esi, esi
mov eax, dword [edi + 0x14]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0x134], esi
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.00403eb0
mov ecx, dword [0x5887f0]
inc eax
mov dword [ebp - 0xc4], eax
test ecx, ecx
je 0x43c244
inc dword [ecx + 0x374]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
call eax
mov esi, dword [edi + 0x14]
add esp, 4
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0xf8], eax
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [ebp - 0x134]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.00403de0
mov eax, dword [0x5887f0]
add esp, 8
mov ecx, dword [eax + 0xdc]
test ecx, ecx
je 0x43c29e
push esi
push dword [eax + 0xe0]
call ecx
mov eax, dword [0x5887f0]
add esp, 8
test esi, esi
je 0x43c2ac
test eax, eax
je 0x43c2ac
dec dword [eax + 0x374]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push esi
call eax
mov esi, dword [ebp - 0xbc]
add esp, 4
mov al, byte [ebp - 0xbe]
test al, al
je 0x43c33b
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x43c2e3
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 0x43c335
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.00439270
mov byte [edi + 0x52], 0
jmp 0x43c335
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.00439300
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
add esp, 4
mov dword [edi + 0xe68], 0xbe99999a
mov byte [edi + 0xe6c], 1
mov esi, dword [ebp - 0xbc]
mov cl, byte [ebp - 0xb5]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x43c356
cmp byte [ebp - 0xbf], 0
je 0x43c356
mov al, 1
jmp 0x43c358
xor al, al
or byte [ebp - 0x144], al
mov eax, dword [ebp - 0xd0]
cmp dword [esi + 0x1c84], eax
jne 0x43cb1c
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0x108], 0
test cl, cl
je 0x43c5e9
cmp byte [ebp - 0xe8], 0
jne 0x43c5d1
mov esi, dword [edi + 0x2c]
mov ecx, esi
mov eax, dword [ebp - 0xdc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43c3c4
test dl, dl
je 0x43c3c0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43c3c4
add eax, 2
add ecx, 2
test dl, dl
jne 0x43c3a4
xor eax, eax
jmp 0x43c3c9
sbb eax, eax
or eax, 1
test eax, eax
je 0x43c5d1
mov eax, dword [edi + 0x24]
xor edx, edx
mov ecx, esi
mov dword [ebp - 0x12c], 0
dec eax
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x128], edx
mov dword [ebp - 4], edx
test eax, eax
jle 0x43c525
lea edi, [eax + ecx]
xor eax, eax
mov dword [ebp - 0xc8], eax
test edi, edi
je 0x43c419
cmp esi, edi
jae 0x43c443
cmp byte [esi], 0
je 0x43c443
push edi
mov edx, esi
lea ecx, [ebp - 0xc4]
call fcn.00403c80
add esi, eax
add esp, 4
cmp dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0xc8]
je 0x43c443
inc eax
jmp 0x43c40b
mov edi, dword [ebp - 0xf0]
lea edx, [eax + 1]
mov dword [ebp - 0xcc], edx
test edx, edx
jle 0x43c494
mov eax, 8
mov esi, edx
cmp edx, eax
cmovl esi, eax
test esi, esi
jle 0x43c494
mov eax, dword [0x5887f0]
test eax, eax
je 0x43c475
inc dword [eax + 0x374]
lea eax, [esi + esi]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edx, dword [ebp - 0xcc]
add esp, 4
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x12c], esi
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x108]
mov esi, dword [ebp - 0xe0]
add ecx, esi
mov dword [ebp - 0xc4], ecx
lea ecx, [eax - 2]
mov dword [ebp - 0x130], edx
lea ecx, [ecx + edx*2]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xf8], ecx
cmp eax, ecx
jae 0x43c520
mov edi, dword [ebp - 0xc4]
test edi, edi
je 0x43c4d8
cmp esi, edi
jae 0x43c514
cmp byte [esi], 0
je 0x43c514
push edi
mov edx, esi
lea ecx, [ebp - 0xc4]
call fcn.00403c80
mov ecx, dword [ebp - 0xc4]
add esi, eax
mov eax, dword [ebp - 0xc8]
add esp, 4
test ecx, ecx
je 0x43c514
mov word [eax], cx
add eax, 2
mov dword [ebp - 0xc8], eax
cmp eax, dword [ebp - 0xf8]
jb 0x43c4d0
mov edi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xcc]
xor ecx, ecx
mov word [eax], cx
mov esi, dword [edi + 4]
lea eax, [edx - 1]
xor ecx, ecx
cmp dword [ebp - 0x108], ecx
cmovle eax, ecx
lea ecx, [edi + 0x5c]
push eax
push esi
xor edx, edx
mov dword [ebp - 0xc4], eax
call fcn.0043a150
mov edx, eax
add esp, 8
test edx, edx
je 0x43c570
xor ecx, ecx
test esi, esi
jle 0x43c570
nop word [eax + eax]
mov eax, dword [edi + 0x14]
mov ax, word [eax + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jl 0x43c560
push dword [edi + 4]
xor edx, edx
mov ecx, edi
call fcn.00438d70
mov esi, dword [ebp - 0xc4]
add esp, 4
test esi, esi
jle 0x43c5a7
push esi
push dword [ebp - 0x128]
xor edx, edx
mov ecx, edi
call fcn.00438dd0
add esp, 8
test al, al
je 0x43c5a7
mov dword [edi + 0x3c], esi
mov byte [edi + 0x52], 0
mov ecx, dword [ebp - 0x128]
test ecx, ecx
je 0x43c5ca
mov eax, dword [0x5887f0]
test eax, eax
je 0x43c5c0
dec dword [eax + 0x374]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0xd5], 0
mov eax, dword [ebx + 0x14]
je 0x43ca0a
test al, 0x20
je 0x43ca0a
cmp byte [ebp - 0xe8], 0
jne 0x43c64b
mov eax, dword [edi + 0xc]
lea ecx, [edi + 0x18]
mov byte [edi + 0x30], 1
lea esi, [eax*4 + 1]
mov eax, dword [ecx + 4]
cmp esi, eax
jle 0x43c637
test eax, eax
je 0x43c61d
cdq
sub eax, edx
lea edx, [edi + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x43c625
mov ecx, 8
lea edx, [edi + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.004214c0
lea ecx, [edi + 0x18]
mov dword [ecx], esi
mov edx, esi
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.00403de0
add esp, 8
mov edx, dword [ebx + 0x14]
test edx, 0x801c0
je 0x43c9b9
xor esi, esi
test dl, 0x40
je 0x43c685
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x43c685
call fcn.0040a8e0
mov edx, dword [ebx + 0x14]
test al, al
je 0x43c685
mov esi, 0x40
xor eax, eax
jmp 0x43c6f8
test dl, dl
jns 0x43c6cd
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x43c6ab
call fcn.0040a8e0
mov edx, dword [ebx + 0x14]
test al, al
je 0x43c6ab
mov esi, 0x80
lea eax, [esi - 0x7d]
jmp 0x43c6f8
mov eax, dword [0x5887f0]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x43c6cd
call fcn.0040a8e0
mov edx, dword [ebx + 0x14]
test al, al
je 0x43c6cd
mov esi, 0x80
lea eax, [esi - 0x7c]
jmp 0x43c6f8
test edx, 0x80000
je 0x43c6e5
cmp byte [edi + 0xe6e], 0
je 0x43c6e5
mov esi, 0x80000
jmp 0x43c6f3
test edx, 0x100
mov eax, 0x100
cmovne esi, eax
mov eax, 0x16
test esi, esi
je 0x43c9b9
mov dword [ebp - 0x74], eax
xor ecx, ecx
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x70], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x6c], eax
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x84], esi
mov esi, dword [edi + 0x14]
mov dword [ebp - 0x68], eax
mov eax, dword [edi + 0x3c]
mov word [ebp - 0x63], cx
mov byte [ebp - 0x61], cl
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], ecx
lea edx, [esi + eax*2]
mov byte [ebp - 0x64], cl
mov ecx, esi
mov dword [ebp - 0x78], 0
call fcn.00403eb0
mov ecx, dword [ebp - 0xf0]
mov edi, eax
mov dword [ebp - 0x60], edi
mov ecx, dword [ecx + 0x40]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.00403eb0
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x44]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.00403eb0
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x84]
push eax
xor eax, eax
call eax
mov al, byte [ebp - 0x64]
add esp, 4
mov edx, dword [ebp - 0x60]
mov byte [ebp - 0xbe], al
cmp edx, edi
jne 0x43c7a3
test al, al
je 0x43c7fe
mov esi, dword [ebp - 0x70]
xor eax, eax
lea edi, [edx + esi]
mov dword [ebp - 0xc8], eax
test edi, edi
je 0x43c7b9
cmp esi, edi
jae 0x43c7e3
cmp byte [esi], 0
je 0x43c7e3
push edi
mov edx, esi
lea ecx, [ebp - 0xc4]
call fcn.00403c80
add esi, eax
add esp, 4
cmp dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0xc8]
je 0x43c7e3
inc eax
jmp 0x43c7ab
mov edi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x60]
mov dword [edi + 0x3c], eax
mov al, byte [ebp - 0xbe]
mov byte [edi + 0xe6c], 1
jmp 0x43c804
mov edi, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x5c]
cmp ecx, dword [ebp - 0xf8]
jne 0x43c813
test al, al
je 0x43c868
cmp ecx, edx
jne 0x43c81c
mov eax, dword [edi + 0x3c]
jmp 0x43c865
mov esi, dword [ebp - 0x70]
xor eax, eax
lea edi, [ecx + esi]
mov dword [ebp - 0xc8], eax
test edi, edi
je 0x43c832
cmp esi, edi
jae 0x43c85c
cmp byte [esi], 0
je 0x43c85c
push edi
mov edx, esi
lea ecx, [ebp - 0xc4]
call fcn.00403c80
add esi, eax
add esp, 4
cmp dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0xc8]
je 0x43c85c
inc eax
jmp 0x43c824
mov ecx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0xf0]
mov dword [edi + 0x40], eax
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x11c]
jne 0x43c880
cmp byte [ebp - 0xbe], 0
je 0x43c9b9
cmp eax, ecx
jne 0x43c889
mov eax, dword [edi + 0x40]
jmp 0x43c8cf
mov esi, dword [ebp - 0x70]
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 0xc8], eax
test edi, edi
je 0x43c89f
cmp esi, edi
jae 0x43c8c9
cmp byte [esi], 0
je 0x43c8c9
push edi
mov edx, esi
lea ecx, [ebp - 0xc4]
call fcn.00403c80
add esi, eax
add esp, 4
cmp dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0xc8]
je 0x43c8c9
inc eax
jmp 0x43c891
mov edi, dword [ebp - 0xf0]
cmp byte [ebp - 0xbe], 0
mov dword [edi + 0x44], eax
je 0x43c9b9
mov esi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x124]
cmp esi, ecx
jle 0x43c92e
cmp byte [ebp - 0xf4], 0
je 0x43c92e
mov eax, dword [edi + 0x10]
sub esi, ecx
add esi, dword [edi + 0xc]
cmp esi, eax
jle 0x43c92b
test eax, eax
je 0x43c914
cdq
sub eax, edx
lea edx, [edi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x43c91c
mov ecx, 8
lea edx, [edi + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00421530
mov dword [edi + 0xc], esi
mov eax, dword [ebp - 0x70]
mov ecx, dword [edi + 0x14]
mov esi, ecx
mov dword [ebp - 0xc4], eax
mov eax, dword [edi + 0xc]
dec eax
mov dword [ebp - 0x11c], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0xf8], eax
cmp ecx, eax
jae 0x43c99d
mov edi, dword [ebp - 0xc4]
nop dword [eax]
cmp byte [edi], 0
je 0x43c991
push 0
mov edx, edi
lea ecx, [ebp - 0xc4]
call fcn.00403c80
add edi, eax
add esp, 4
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x43c991
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0xf8]
jb 0x43c960
mov edi, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x11c]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x6c]
sar esi, 1
mov dword [edi + 4], esi
mov dword [edi + 8], eax
mov dword [edi + 0xe68], 0xbe99999a
cmp byte [ebp - 0xe8], 0
jne 0x43ca07
mov esi, dword [edi + 0x20]
mov eax, esi
mov ecx, dword [ebp - 0xdc]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43c9f0
test dl, dl
je 0x43c9ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x43c9f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x43c9d0
xor eax, eax
jmp 0x43c9f5
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebx + 0x14]
je 0x43ca0a
mov ecx, dword [edi + 8]
mov dword [ebp - 0xe0], esi
jmp 0x43ca10
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0xe0]
test edx, edx
je 0x43caf2
cmp byte [ebp - 0xf4], 0
je 0x43caba
mov dword [ebp - 0xb0], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xa0], eax
lea eax, [ecx + 1]
cmp dword [ebx + 0xc], eax
movlpd qword [ebp - 0xa8], xmm0
cmovge eax, dword [ebx + 0xc]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0xb4]
push eax
xor eax, eax
movlpd qword [ebp - 0x94], xmm0
movlpd qword [ebp - 0x8c], xmm0
mov dword [ebp - 0xb4], 0x40000
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0xac], 0
call eax
mov esi, dword [ebp - 0x98]
add esp, 4
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
lea ecx, [esi - 1]
cmp dword [ebp - 0x9c], ecx
cmovl ecx, dword [ebp - 0x9c]
jmp 0x43cabd
mov esi, dword [ebx + 0xc]
lea eax, [ecx + 1]
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x43caeb
jbe 0x43cae0
lea eax, [esi - 1]
push eax
push edx
push dword [ebp - 0xdc]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov eax, dword [ebp - 0xdc]
mov byte [esi + eax - 1], 0
mov byte [ebp - 0xeb], 1
mov esi, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd0]
mov dword [edi + 0xe70], 0
mov dword [edi + 0xe74], 0
mov dword [edi + 0xe78], 0
cmp byte [ebp - 0xe1], 0
je 0x43cb32
cmp dword [esi + 0x1c84], eax
jne 0x43cb32
call fcn.00405e80
mov edx, dword [ebp - 0xd4]
test dl, dl
jne 0x43cbff
mov edx, dword [ebp - 0xd0]
lea ecx, [ebp - 0x54]
push 1
call fcn.00405100
movss xmm1, dword [0x4fe9fc]
add esp, 4
mov ecx, 7
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x54]
call fcn.004041e0
movss xmm2, dword [esi + 0x15d8]
mov dl, 1
mov ecx, eax
call fcn.00404ef0
movss xmm4, dword [ebp - 0x54]
add esp, 0x10
movss xmm3, dword [ebp - 0x50]
movaps xmm0, xmm4
addss xmm0, dword [esi + 0x15d0]
mov edx, dword [ebp - 0xd4]
movaps xmm1, xmm3
addss xmm1, dword [ebp - 0xfc]
movaps xmm2, xmm4
movss dword [ebp - 0x38], xmm3
addss xmm2, dword [ebp - 0x140]
movss dword [ebp - 0x12c], xmm0
movaps xmm0, xmm3
addss xmm0, dword [esi + 0x15d4]
movss xmm3, dword [ebp - 0x140]
movss dword [ebp - 0x3c], xmm4
movss dword [ebp - 0xf8], xmm2
movss dword [ebp - 0x34], xmm2
movss dword [ebp - 0x118], xmm1
movss dword [ebp - 0x30], xmm1
movss dword [ebp - 0x128], xmm0
jmp 0x43cc68
movss xmm0, dword [ebp - 0x54]
movss xmm1, dword [ebp - 0x50]
movaps xmm2, xmm0
movss xmm3, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x10c]
addss xmm2, xmm3
movss dword [ebp - 0x38], xmm1
addss xmm1, dword [ebp - 0xfc]
movss dword [ebp - 0x3c], xmm0
mov eax, dword [ecx + 0x108]
mov ecx, dword [ecx + 0x10c]
movaps xmm0, xmm2
movss dword [ebp - 0xf8], xmm0
movss dword [ebp - 0x34], xmm0
movaps xmm0, xmm1
movss dword [ebp - 0x118], xmm0
movss dword [ebp - 0x30], xmm0
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], ecx
cmp byte [ebp - 0xea], 0
lea eax, [ebp - 0x12c]
movss xmm5, dword [eax]
xorps xmm6, xmm6
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x120], xmm5
movss dword [ebp - 0x2c], xmm5
xorps xmm5, xmm5
movss dword [ebp - 0x28], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0xf4], eax
movss dword [ebp - 0x124], xmm1
movss dword [ebp - 0xc8], xmm2
movss dword [ebp - 0x134], xmm0
movss dword [ebp - 0xcc], xmm5
je 0x43cccc
mov ecx, dword [edi + 0x20]
mov dword [ebp - 0xdc], ecx
jmp 0x43ccd2
mov ecx, dword [ebp - 0xdc]
cmp byte [ebp - 0xbf], 0
jne 0x43d081
cmp byte [ebp - 0x144], 0
jne 0x43d081
test dl, dl
je 0x43cd50
mov eax, dword [ebp - 0xdc]
xor ecx, ecx
mov dl, byte [eax]
lea edi, [eax + 1]
test dl, dl
je 0x43cd13
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [edi]
cmovne eax, ecx
inc edi
mov ecx, eax
test dl, dl
jne 0x43cd01
mov al, byte [edi - 1]
dec edi
mov dword [ebp - 0xd0], edi
cmp al, 0xa
je 0x43cd26
cmp al, 0xd
je 0x43cd26
inc ecx
mov edx, dword [ebp - 0xd0]
movaps xmm0, xmm3
movd xmm5, ecx
cvtdq2ps xmm5, xmm5
movss dword [ebp - 0x134], xmm0
mulss xmm5, dword [esi + 0x19d8]
movss dword [ebp - 0xcc], xmm5
jmp 0x43cd94
mov eax, dword [ebp - 0xd0]
cmp dword [esi + 0x1c84], eax
jne 0x43cd65
mov edx, dword [edi + 8]
add edx, ecx
jmp 0x43cd7f
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43cd68
sub ecx, edx
mov edx, dword [ebp - 0xdc]
add edx, ecx
mov ecx, dword [ebp - 0xdc]
mov eax, edx
mov dword [ebp - 0xd0], edx
sub eax, ecx
cmp eax, 0x200000
jge 0x43cee2
movss xmm1, dword [0x4fe9fc]
xor ecx, ecx
call fcn.004041e0
mov ecx, dword [ebp - 0x10c]
cmp byte [ebp - 0xd4], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xf8], eax
mov esi, dword [ecx + 0x2c8]
mov ecx, dword [ebp - 0xbc]
mov edi, dword [ecx + 0x19d4]
movss xmm2, dword [ecx + 0x19d8]
mov ecx, edx
lea edx, [ebp - 0x3c]
cmovne edx, dword [ebp - 0xc4]
test eax, 0xff000000
je 0x43cedc
cmp dword [ebp - 0xd0], 0
jne 0x43ce27
mov ecx, dword [ebp - 0xdc]
lea eax, [ecx + 1]
mov dword [ebp - 0xc4], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43ce10
sub ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xdc]
add ecx, eax
jmp 0x43ce2d
mov eax, dword [ebp - 0xdc]
cmp eax, ecx
je 0x43cedc
test edi, edi
jne 0x43ce3f
mov eax, dword [esi + 0x2c]
mov edi, dword [eax + 8]
ucomiss xmm2, dword [0x4fe95c]
lahf
test ah, 0x44
jp 0x43ce54
mov eax, dword [esi + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [esi + 0x60]
movups xmmword [ebp - 0x24], xmm0
test edx, edx
je 0x43cea7
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x24]
comiss xmm0, xmm1
jae 0x43ce73
movss dword [ebp - 0x24], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x20]
comiss xmm0, xmm1
jae 0x43ce87
movss dword [ebp - 0x20], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0x1c]
ja 0x43ce97
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0x18]
ja 0x43cea7
movss dword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0xf4]
test edx, edx
push dword [eax + 4]
push dword [eax]
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x24]
push ecx
push dword [ebp - 0xdc]
mov ecx, edi
push eax
push dword [ebp - 0xf8]
push esi
call fcn.00430270
mov esi, dword [ebp - 0xbc]
cmp byte [ebp - 0x154], 0
je 0x43cef0
call fcn.00410cd0
cmp byte [ebp - 0xd4], 0
je 0x43cfa1
mov ecx, dword [0x5887f0]
movss xmm1, dword [ebp - 0xcc]
addss xmm1, dword [esi + 0x15d4]
movss xmm3, dword [ebp - 0x134]
mov eax, dword [ecx + 0x1c48]
movss dword [ebp - 0x100], xmm3
movss dword [ebp - 0xfc], xmm1
mov byte [eax + 0xc5], 1
mov eax, dword [ecx + 0x1c48]
cmp byte [eax + 0xc8], 0
jne 0x43cf97
movss xmm0, dword [eax + 0x10c]
lea ecx, [ebp - 0x100]
movss xmm2, dword [eax + 0x108]
addss xmm1, xmm0
addss xmm3, xmm2
movss dword [ebp - 0x3c], xmm2
movss dword [ebp - 0x38], xmm0
movss dword [ebp - 0x30], xmm1
movss xmm1, dword [0x4feb10]
movss dword [ebp - 0x34], xmm3
call fcn.004110b0
push 0
push 0
xor edx, edx
lea ecx, [ebp - 0x3c]
call fcn.004111e0
add esp, 8
call fcn.0040aba0
call fcn.004118f0
cmp byte [esi + 0x3028], 0
je 0x43cfe3
cmp byte [ebp - 0x154], 0
jne 0x43cfe3
mov eax, dword [0x5887f0]
lea ecx, [ebp - 0x2c]
push dword [ebp - 0xd0]
mov edx, dword [ebp - 0xdc]
mov dword [eax + 0x3040], 0x4fb2e4
mov dword [eax + 0x3044], 0x4fb2e0
call fcn.004164d0
add esp, 4
movss xmm0, dword [ebp - 0x158]
comiss xmm0, dword [0x4fe95c]
jbe 0x43d03c
movss xmm0, dword [ebp - 0x4c]
xor edx, edx
addss xmm0, dword [esi + 0x15e8]
mov ecx, dword [ebp - 0x150]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x50]
addss xmm0, dword [esi + 0x15d4]
movss dword [ebp - 0xfc], xmm0
push dword [ebp - 0xfc]
push dword [ebp - 0x100]
push 1
call fcn.004044f0
add esp, 0xc
mov dl, byte [ebp - 0xeb]
mov ecx, dword [ebx + 0x14]
test dl, dl
je 0x43d06c
test ecx, 0x8000000
jne 0x43d06c
mov eax, dword [0x5887f0]
mov word [eax + 0x1c94], 0x101
mov eax, dword [eax + 0x1c48]
or dword [eax + 0x158], 4
test cl, 0x20
movzx eax, dl
movzx ecx, byte [ebp - 0xd5]
cmovne eax, ecx
jmp 0x43a98d
mov eax, dword [edi + 8]
mov esi, 0xfffffc18
add eax, ecx
movss dword [ebp - 0x11c], xmm6
mov ecx, dword [edi + 0x14]
xor edx, edx
xorps xmm7, xmm7
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0x148], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x108], esi
cmp byte [ebp - 0xbf], dl
je 0x43d0e7
mov eax, dword [edi + 0x3c]
or esi, 0xffffffff
mov dword [ebp - 0x138], esi
lea eax, [ecx + eax*2]
mov dword [ebp - 0x148], eax
lea edx, [esi + 2]
cmp byte [ebp - 0x144], 0
je 0x43d11a
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [ebp - 0xe0]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [ebp - 0x108], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xd4]
movzx eax, al
add edx, eax
xor eax, eax
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0xe0]
movzx eax, word [eax]
test ax, ax
je 0x43d1a6
mov edi, dword [ebp - 0x138]
mov esi, eax
cmp si, 0xa
jne 0x43d186
mov eax, dword [ebp - 0x114]
inc eax
mov dword [ebp - 0x114], eax
cmp edi, 0xffffffff
jne 0x43d16a
cmp ecx, dword [ebp - 0x148]
jb 0x43d16a
dec edx
mov edi, eax
test edx, edx
jle 0x43d194
cmp dword [ebp - 0x108], 0xffffffff
jne 0x43d186
cmp ecx, dword [ebp - 0xf4]
jb 0x43d186
dec edx
mov dword [ebp - 0x108], eax
test edx, edx
jle 0x43d194
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x43d143
mov dword [ebp - 0x138], edi
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0x138]
mov eax, dword [ebp - 0x114]
mov edx, dword [ebp - 0x148]
inc eax
cmp esi, 0xffffffff
mov dword [ebp - 0x114], eax
mov ecx, eax
cmovne ecx, esi
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0x138], ecx
mov ecx, dword [ebp - 0x108]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [ebp - 0x108], ecx
mov ecx, edx
cmp edx, esi
jbe 0x43d1f3
cmp word [ecx - 2], 0xa
je 0x43d1f3
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x43d1e5
mov eax, dword [0x5887f0]
movaps xmm1, xmm6
movaps xmm3, xmm6
mov esi, dword [eax + 0x19d4]
movss xmm2, dword [eax + 0x19d8]
divss xmm2, dword [esi + 0x10]
cmp ecx, edx
jae 0x43d262
mov edi, dword [ebp - 0x148]
nop dword [eax + eax]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x43d236
maxss xmm1, xmm3
movaps xmm3, xmm6
jmp 0x43d258
cmp edx, 0xd
je 0x43d258
mov edx, eax
cmp edx, dword [esi]
jge 0x43d24b
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x43d250
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm3, xmm0
cmp ecx, edi
jb 0x43d220
mov edi, dword [ebp - 0xf0]
cmp dword [ebp - 0x108], 0
maxss xmm3, xmm1
movd xmm4, dword [ebp - 0x138]
mov ecx, dword [ebp - 0xbc]
cvtdq2ps xmm4, xmm4
movss xmm0, dword [ecx + 0x19d8]
mulss xmm4, xmm0
movss dword [ebp - 0xc4], xmm3
movss dword [ebp - 0x128], xmm4
jl 0x43d35b
mov edx, dword [ebp - 0xf4]
mov ecx, edx
mov esi, dword [ebp - 0xe0]
cmp edx, esi
jbe 0x43d2c0
cmp word [ecx - 2], 0xa
je 0x43d2c0
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x43d2b2
mov eax, dword [0x5887f0]
movaps xmm1, xmm6
movaps xmm7, xmm6
mov esi, dword [eax + 0x19d4]
movss xmm2, dword [eax + 0x19d8]
divss xmm2, dword [esi + 0x10]
cmp ecx, edx
jae 0x43d32a
mov edi, dword [ebp - 0xf4]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x43d2fe
maxss xmm1, xmm7
movaps xmm7, xmm6
jmp 0x43d320
cmp edx, 0xd
je 0x43d320
mov edx, eax
cmp edx, dword [esi]
jge 0x43d313
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x43d318
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm7, xmm0
cmp ecx, edi
jb 0x43d2e8
mov edi, dword [ebp - 0xf0]
movd xmm3, dword [ebp - 0x108]
maxss xmm7, xmm1
mov ecx, dword [ebp - 0xbc]
cvtdq2ps xmm3, xmm3
movss xmm0, dword [ecx + 0x19d8]
mulss xmm3, xmm0
movss dword [ebp - 0x11c], xmm3
movss xmm3, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xd4]
movss xmm1, dword [ebp - 0x140]
test dl, dl
je 0x43d38f
movd xmm5, dword [ebp - 0x114]
cvtdq2ps xmm5, xmm5
mulss xmm5, xmm0
movaps xmm0, xmm1
movss dword [ebp - 0x134], xmm0
movss dword [ebp - 0xcc], xmm5
cmp byte [ebp - 0xbf], 0
je 0x43d4bc
cmp byte [edi + 0xe6c], 0
je 0x43d4bc
test dword [ebx + 0x14], 0x1000
jne 0x43d40a
movss xmm2, dword [edi + 0x38]
movaps xmm0, xmm1
comiss xmm2, xmm3
subss xmm1, dword [ecx + 0x15d0]
mulss xmm0, dword [0x4fe9a4]
movss dword [ebp - 0x140], xmm1
movaps xmm1, xmm3
jbe 0x43d3e7
subss xmm1, xmm0
movaps xmm0, xmm6
maxss xmm0, xmm1
jmp 0x43d3f8
subss xmm1, dword [ebp - 0x140]
comiss xmm1, xmm2
jb 0x43d411
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x43d411
mov dword [edi + 0x38], 0
test dl, dl
je 0x43d4a8
movss xmm2, dword [ebp - 0x13c]
movaps xmm0, xmm4
subss xmm0, dword [ecx + 0x19d8]
movss xmm3, dword [ebp - 0xfc]
comiss xmm2, xmm0
jbe 0x43d442
movaps xmm2, xmm6
maxss xmm2, xmm0
jmp 0x43d45e
movaps xmm0, xmm4
subss xmm0, xmm3
comiss xmm0, xmm2
jb 0x43d45e
movss xmm2, dword [ecx + 0x15d4]
addss xmm2, xmm2
addss xmm2, xmm0
comiss xmm6, xmm2
movss xmm1, dword [ecx + 0x15d4]
jbe 0x43d470
movaps xmm1, xmm6
jmp 0x43d484
addss xmm1, xmm1
addss xmm1, xmm5
subss xmm1, xmm3
maxss xmm1, xmm6
minss xmm1, xmm2
mov eax, dword [ebp - 0x10c]
movss xmm0, dword [eax + 0x94]
subss xmm0, xmm1
addss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x28], xmm0
movss dword [eax + 0x94], xmm1
mov byte [edi + 0xe6c], 0
movss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x120], xmm0
cmp byte [ebp - 0x144], 0
movss xmm4, dword [edi + 0x38]
movss dword [ebp - 0x114], xmm4
je 0x43d7c0
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov esi, dword [ebp - 0xe0]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0xbf], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0xe0]
lea eax, [eax + edx*2]
mov dword [ebp - 0xf4], eax
je 0x43d511
movss xmm1, dword [0x4fe9fc]
jmp 0x43d519
movss xmm1, dword [0x4fe9c0]
mov ecx, 0x31
call fcn.004041e0
cmp byte [ebp - 0xd4], 0
xorps xmm0, xmm0
mov dword [ebp - 0x13c], eax
je 0x43d53d
xorps xmm5, xmm5
xorps xmm6, xmm6
jmp 0x43d54d
movss xmm5, dword [0x4feb10]
movss xmm6, dword [0x4fea38]
movss xmm4, dword [ebp - 0x28]
addss xmm4, dword [ebp - 0x11c]
addss xmm7, dword [ebp - 0x120]
mov ecx, dword [ebp - 0xf4]
movss dword [ebp - 0x138], xmm6
movss dword [ebp - 0x148], xmm5
subss xmm4, xmm0
subss xmm7, dword [ebp - 0x114]
movss dword [ebp - 0x11c], xmm4
cmp esi, ecx
jae 0x43d7b5
movss xmm3, dword [ebp - 0x118]
mov edi, dword [ebp - 0xbc]
movaps xmm0, xmm3
addss xmm0, dword [edi + 0x19d8]
comiss xmm4, xmm0
ja 0x43d7af
movss xmm0, dword [ebp - 0x50]
comiss xmm0, xmm4
jbe 0x43d5e9
cmp esi, ecx
jae 0x43d777
nop dword [eax + eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x43d777
cmp esi, ecx
jb 0x43d5d0
jmp 0x43d777
mov eax, dword [0x5887f0]
xorps xmm0, xmm0
xorps xmm3, xmm3
xorps xmm1, xmm1
mov edx, dword [eax + 0x19d4]
movss xmm2, dword [eax + 0x19d8]
divss xmm2, dword [edx + 0x10]
cmp esi, ecx
jae 0x43d65c
nop
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x43d649
cmp ecx, 0xd
je 0x43d63d
cmp ecx, dword [edx]
jge 0x43d630
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x43d635
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
mov ecx, dword [ebp - 0xf4]
cmp esi, ecx
jb 0x43d610
jmp 0x43d659
mov ecx, dword [ebp - 0xf4]
xorps xmm3, xmm3
maxss xmm3, xmm1
xorps xmm1, xmm1
xorps xmm0, xmm0
maxss xmm1, xmm3
comiss xmm0, xmm1
jb 0x43d695
mov eax, dword [edi + 0x19d4]
cmp dword [eax], 0x20
jle 0x43d67d
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x43d682
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x4fe9b8]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm3, dword [ebp - 0x118]
addss xmm1, xmm7
addss xmm7, dword [0x4fe95c]
movaps xmm2, xmm5
movaps xmm0, xmm6
subss xmm2, dword [edi + 0x19d8]
movss xmm5, dword [ebp - 0xf8]
addss xmm0, xmm4
minss xmm1, xmm5
maxss xmm7, dword [ebp - 0x54]
addss xmm2, xmm4
minss xmm0, xmm3
movss dword [ebp - 0x1c], xmm1
movss dword [ebp - 0x24], xmm7
maxss xmm2, dword [ebp - 0x50]
comiss xmm0, dword [ebp - 0x50]
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0x18], xmm0
jbe 0x43d777
comiss xmm3, xmm2
jbe 0x43d777
comiss xmm1, dword [ebp - 0x54]
jbe 0x43d777
comiss xmm5, xmm7
jbe 0x43d777
push 0
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x1c]
push dword [ebp - 0x13c]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax + 0x2c8]
call fcn.0042c1d0
movss xmm0, dword [ebp - 0xc8]
movss xmm4, dword [ebp - 0x2c]
movss xmm3, dword [ebp - 0x118]
mov ecx, dword [ebp - 0xf4]
movss dword [ebp - 0xc8], xmm0
movss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x120], xmm4
movss xmm4, dword [ebp - 0x11c]
movss dword [ebp - 0x124], xmm0
movss xmm7, dword [ebp - 0x120]
movss xmm5, dword [ebp - 0x148]
movss xmm6, dword [ebp - 0x138]
addss xmm4, dword [edi + 0x19d8]
subss xmm7, dword [ebp - 0x114]
movss dword [ebp - 0x11c], xmm4
cmp esi, ecx
jb 0x43d5a2
mov edi, dword [ebp - 0xf0]
movss xmm4, dword [ebp - 0x114]
xorps xmm6, xmm6
cmp byte [ebp - 0xd4], 0
mov edx, dword [ebp - 0xd0]
jne 0x43d7e2
mov eax, edx
sub eax, dword [ebp - 0xdc]
cmp eax, 0x200000
jge 0x43da20
mov eax, dword [0x5887f0]
movss xmm7, dword [0x4fe9fc]
movups xmm2, xmmword [eax + 0x165c]
comiss xmm6, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [eax + 0x1598]
movups xmmword [ebp - 0x24], xmm2
jbe 0x43d813
movaps xmm0, xmm6
jmp 0x43d81a
movaps xmm0, xmm7
minss xmm0, xmm2
movss xmm2, dword [0x4fead4]
movss xmm5, dword [0x4fe9b8]
movss xmm3, dword [ebp - 0x20]
comiss xmm6, xmm3
mulss xmm0, xmm2
addss xmm0, xmm5
cvttss2si ecx, xmm0
jbe 0x43d845
movaps xmm0, xmm6
jmp 0x43d84c
movaps xmm0, xmm7
minss xmm0, xmm3
movss xmm3, dword [ebp - 0x1c]
mulss xmm0, xmm2
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm3
jbe 0x43d86c
movaps xmm0, xmm6
jmp 0x43d873
movaps xmm0, xmm7
minss xmm0, xmm3
mulss xmm0, xmm2
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm6, xmm1
jbe 0x43d88e
movaps xmm0, xmm6
jmp 0x43d895
movaps xmm0, xmm7
minss xmm0, xmm1
mov eax, dword [ebp - 0x10c]
mulss xmm0, xmm2
mov dword [ebp - 0x11c], 0
addss xmm0, xmm5
cvttss2si esi, xmm0
movss xmm0, dword [ebp - 0x120]
shl esi, 0x18
subss xmm0, xmm4
or esi, ecx
mov ecx, dword [eax + 0x2c8]
cmp byte [ebp - 0xd4], 0
mov eax, edx
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0xf4], ecx
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x28]
movss xmm2, dword [edx + 0x19d8]
subss xmm0, xmm6
mov edx, dword [edx + 0x19d4]
mov dword [ebp - 0x118], edx
lea edx, [ebp - 0x3c]
cmovne edx, dword [ebp - 0x11c]
mov dword [ebp - 0xf8], eax
movss dword [ebp - 0xfc], xmm0
test esi, 0xff000000
je 0x43da20
cmp dword [ebp - 0xd0], 0
jne 0x43d961
mov ecx, dword [ebp - 0xdc]
lea eax, [ecx + 1]
mov dword [ebp - 0xf8], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43d940
sub ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xdc]
add eax, ecx
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xdc], eax
je 0x43da20
cmp dword [ebp - 0x118], 0
jne 0x43d982
mov eax, dword [ecx + 0x2c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x118], eax
ucomiss xmm2, xmm6
lahf
test ah, 0x44
jp 0x43d993
mov eax, dword [ecx + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [ecx + 0x60]
movups xmmword [ebp - 0x24], xmm0
test edx, edx
je 0x43d9e6
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x24]
comiss xmm0, xmm1
jae 0x43d9b2
movss dword [ebp - 0x24], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x20]
comiss xmm0, xmm1
jae 0x43d9c6
movss dword [ebp - 0x20], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0x1c]
ja 0x43d9d6
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0x18]
ja 0x43d9e6
movss dword [ebp - 0x18], xmm0
push dword [ebp - 0xfc]
test edx, edx
push dword [ebp - 0x100]
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x24]
push dword [ebp - 0xf8]
push dword [ebp - 0xdc]
push eax
push esi
push ecx
mov ecx, dword [ebp - 0x118]
call fcn.00430270
cmp byte [ebp - 0xbf], 0
je 0x43cedc
mov esi, dword [ebp - 0xbc]
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [edi + 0xe68]
movss dword [edi + 0xe68], xmm0
cmp byte [esi + 0xb9], 0
je 0x43da98
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x43da98
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x100], xmm0
fld qword [ebp - 0x100]
fld qword [0x4fea28]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x4fe9e0]
fstp qword [ebp - 0x100]
movsd xmm1, qword [ebp - 0x100]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x43da98
xor cl, cl
jmp 0x43da9a
mov cl, 1
movss xmm0, dword [ebp - 0xc4]
movss xmm6, dword [0x4fe9fc]
addss xmm0, dword [ebp - 0x2c]
subss xmm0, dword [ebp - 0x114]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x28]
addss xmm0, dword [ebp - 0x128]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x4fe95c]
movss dword [ebp - 0xc4], xmm1
movaps xmm4, xmm1
movss dword [ebp - 0x3c], xmm1
addss xmm4, xmm6
cvttss2si eax, xmm0
movss dword [ebp - 0x34], xmm4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x128], xmm0
movaps xmm2, xmm0
movaps xmm3, xmm0
subss xmm2, dword [esi + 0x19d8]
subss xmm3, dword [0x4fea1c]
addss xmm2, dword [0x4fe9b8]
movss dword [ebp - 0x30], xmm3
movss dword [ebp - 0x38], xmm2
test cl, cl
je 0x43dbba
comiss xmm3, dword [ebp - 0x50]
jbe 0x43dbba
movss xmm5, dword [ebp - 0x124]
comiss xmm5, xmm2
jbe 0x43dbba
comiss xmm4, dword [ebp - 0x54]
jbe 0x43dbba
movss xmm2, dword [ebp - 0xc8]
comiss xmm2, xmm1
jbe 0x43dbba
sub esp, 8
movss dword [ebp - 0x100], xmm1
movaps xmm1, xmm6
movss dword [ebp - 0xfc], xmm3
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.004041e0
add esp, 4
push eax
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax + 0x2c8]
call fcn.0042bfd0
movss xmm1, dword [ebp - 0xc4]
movss xmm0, dword [ebp - 0x128]
movss xmm6, dword [0x4fe9fc]
cmp byte [ebp - 0xe8], 0
jne 0x43cee2
subss xmm0, dword [esi + 0x19d8]
mov eax, dword [ebp - 0x14c]
subss xmm1, xmm6
movss dword [esi + 0x2fa4], xmm0
movss dword [esi + 0x2fa0], xmm1
mov eax, dword [eax + 0x30]
mov dword [esi + 0x2fb0], eax
jmp 0x43cee2