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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x168
mov eax, dword [0x43c00c]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [0x4474f0]
mov dword [ebp - 0x150], ecx
mov ecx, esi
push edi
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xb8], ecx
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov edi, dword [ecx + 0x199c]
mov dword [ebp - 0xd0], edi
cmp byte [edi + 0x7b], 0
jne 0x426f48
mov ecx, dword [ebx + 0x10]
mov eax, ecx
shr eax, 0xe
mov edx, ecx
not al
shr edx, 0x14
and eax, 0xffffff01
and edx, 0xffffff01
mov dword [ebp - 0xf4], eax
mov eax, ecx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0x14c], eax
mov eax, ecx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0x110], eax
mov eax, ecx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x114], eax
test dl, dl
je 0x426c69
call fcn.0040cce0
mov esi, dword [0x4474f0]
mov ecx, dword [edi + 0x1bc]
xor edx, edx
mov eax, dword [edi + 0x1c4]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x150]
call fcn.00402aa0
add esp, 4
mov dword [ebp - 0xc0], eax
cmp dword [esi + 0x19bc], eax
jne 0x426c9d
mov dword [esi + 0x19c4], eax
cmp dword [esi + 0x19c0], eax
jne 0x426cac
mov byte [esi + 0x19cf], 1
mov eax, dword [ebp - 0x150]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x426cd6
nop dword [eax]
mov dl, byte [ecx]
test dl, dl
je 0x426cd6
cmp dl, 0x23
jne 0x426cd0
cmp byte [ecx + 1], dl
je 0x426cd6
inc ecx
cmp ecx, 0xffffffff
jb 0x426cc0
movss xmm0, dword [esi + 0x18bc]
movss xmm1, dword [0x439718]
mov edi, dword [esi + 0x18b8]
movss dword [ebp - 0x130], xmm0
movss dword [ebp - 0x15c], xmm1
cmp eax, ecx
jne 0x426d0d
xorps xmm4, xmm4
movss dword [ebp - 0x154], xmm4
jmp 0x426d74
movss xmm3, dword [0x43970c]
movaps xmm2, xmm0
push ecx
push ecx
push eax
push ecx
lea eax, [ebp - 0x12c]
mov dword [esp], 0xbf800000
push eax
mov ecx, edi
call fcn.0041fc00
movss xmm1, dword [ebp - 0x12c]
xorps xmm4, xmm4
comiss xmm1, xmm4
jbe 0x426d51
movss xmm0, dword [ebp - 0x130]
divss xmm0, dword [edi]
subss xmm1, xmm0
addss xmm1, dword [0x439648]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x154], xmm0
movss xmm0, dword [ebp - 0x128]
cmp byte [ebp - 0xdc], 0
je 0x426d8d
movss xmm0, dword [esi + 0x18bc]
mulss xmm0, dword [0x4396b4]
mov edi, dword [ebp - 0xb8]
mov esi, dword [esi + 0x199c]
movss xmm1, dword [edi + 0x1550]
movss xmm2, dword [esi + 0x168]
movaps xmm3, xmm1
comiss xmm4, xmm2
addss xmm3, xmm1
addss xmm3, xmm0
jbe 0x426e27
movss xmm4, dword [esi + 0xc4]
movss xmm1, dword [esi + 0x210]
mov edi, dword [esi + 0x1b8]
subss xmm4, dword [esi + 0xc]
subss xmm1, dword [esi + 0xc]
test edi, edi
je 0x426e0d
mov edx, dword [edi + 0xc]
movss xmm1, dword [edi + 0x18]
subss xmm1, dword [edi + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
mov eax, dword [edi + 0x34]
lea ecx, [edx*8]
sub ecx, edx
mulss xmm1, dword [eax + ecx*4]
addss xmm1, dword [edi + 0x14]
subss xmm1, dword [esi + 0x3c]
mov edi, dword [ebp - 0xb8]
subss xmm1, xmm4
addss xmm1, xmm2
movss xmm2, dword [0x43964c]
maxss xmm2, xmm1
mov eax, dword [ebx + 0xc]
lea ecx, [ebp - 0x138]
push dword [eax + 4]
push dword [eax]
cvttss2si eax, xmm2
movaps xmm2, xmm3
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.00404e30
mov esi, dword [ebp - 0xd0]
xorps xmm5, xmm5
movss xmm1, dword [ebp - 0x138]
add esp, 8
movss xmm2, dword [ebp - 0x154]
comiss xmm2, xmm5
movss xmm3, dword [esi + 0xc4]
movss xmm4, dword [esi + 0xc8]
movaps xmm0, xmm3
addss xmm0, xmm1
movss dword [ebp - 0xf0], xmm1
movss xmm1, dword [ebp - 0x134]
addss xmm1, xmm4
movss dword [ebp - 0x50], xmm3
movss dword [ebp - 0x4c], xmm4
movss dword [ebp - 0x48], xmm0
movss dword [ebp - 0x44], xmm1
jbe 0x426eb2
addss xmm2, dword [edi + 0x1564]
jmp 0x426eb5
xorps xmm2, xmm2
cmp byte [ebp - 0xdc], 0
addss xmm0, xmm2
addss xmm1, xmm5
movss dword [ebp - 0x28], xmm3
movss dword [ebp - 0x24], xmm4
mov dword [ebp - 0x104], esi
movss dword [ebp - 0x20], xmm0
movss dword [ebp - 0x1c], xmm1
je 0x426fa2
mov edx, dword [ebp - 0xc0]
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x28]
call fcn.00404930
movss xmm0, dword [ebp - 0x48]
lea edx, [ebp - 0x12c]
subss xmm0, dword [ebp - 0x50]
movss xmm1, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xc0]
movss dword [ebp - 0x130], xmm1
movss dword [ebp - 0x12c], xmm0
movss xmm0, dword [ebp - 0x44]
subss xmm0, xmm1
movss dword [ebp - 0x128], xmm0
call fcn.00407a40
add esp, 4
test al, al
jne 0x426f5d
call fcn.00407880
call fcn.0040ce20
xor al, al
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00432b74
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [0x4474f0]
movss xmm0, dword [ebp - 0x138]
mov edi, dword [ebp - 0xb8]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov ecx, dword [ecx + 0x199c]
mov dword [ebp - 0x104], ecx
subss xmm0, dword [ecx + 0x6c]
mov eax, dword [ecx + 0x134]
or dword [ecx + 0x13c], eax
movss dword [ebp - 0xf0], xmm0
jmp 0x426ff7
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [ebp - 0x12c]
movss dword [ebp - 0x128], xmm1
movss xmm1, dword [edi + 0x1550]
movss dword [ebp - 0x12c], xmm0
call fcn.00404810
mov edx, dword [ebp - 0xc0]
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x28]
call fcn.00404930
add esp, 4
test al, al
je 0x426f48
movss xmm0, dword [ebp - 0x4c]
movss dword [ebp - 0x130], xmm0
mov edx, dword [ebp - 0xc0]
lea ecx, [ebp - 0x50]
call fcn.00404b70
mov byte [ebp - 0xd4], al
test al, al
je 0x427019
mov dword [edi + 0x1c58], 1
cmp byte [ebp - 0x14c], 0
je 0x4270c4
mov esi, dword [edi + 0x18b8]
cmp dword [esi + 0x28], 0x2a
jg 0x427037
mov edi, dword [esi + 0x34]
jmp 0x427056
mov eax, dword [esi + 0x30]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x42704d
mov edi, dword [esi + 0x34]
jmp 0x427056
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x18]
lea edi, [eax + ecx*8]
mov eax, dword [esi]
mov edx, dword [ebp - 0xb8]
add edx, 0x2b84
mov dword [edx], eax
mov eax, dword [esi + 4]
mov esi, dword [ebp - 0xb8]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x18b8]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [edx + 8], ecx
mov ecx, edx
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x18b8]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [esi + 0x18b8]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x18b8]
mov eax, dword [eax + 0x44]
mov dword [edx + 0x44], eax
mov dword [edx + 0x34], edi
mov eax, dword [edi + 4]
mov dword [edx + 0x38], eax
call fcn.0040c730
mov esi, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xb8]
mov ecx, esi
add edi, 0x1d14
test dword [ebx + 0x10], 0x440
mov dword [ebp - 0x100], edi
sete al
movzx eax, al
push eax
call fcn.00404ce0
add esp, 4
mov byte [ebp - 0xe1], al
test al, al
je 0x42718f
mov ecx, dword [esi + 0x324]
cmp ecx, dword [esi + 0x32c]
jne 0x42718f
mov byte [ebp - 0xbb], 1
mov byte [ebp - 0xd5], 0
cmp byte [ebp - 0xd4], 0
mov eax, dword [ebp - 0xb8]
je 0x42713b
cmp byte [eax + 0x3f8], 0
mov byte [ebp - 0xb9], 1
jne 0x427142
mov byte [ebp - 0xb9], 0
cmp byte [ebp - 0xdc], 0
je 0x4271b1
cmp dword [eax + 0x19bc], 0
jne 0x4271b1
cmp dword [edi], edx
jne 0x4271b1
mov eax, dword [ebp - 0x104]
xor edx, edx
mov ecx, dword [eax + 0x1bc]
mov eax, dword [eax + 0x1c4]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.00402aa0
mov edx, dword [ebp - 0xb8]
add esp, 4
cmp dword [edx + 0x19c0], eax
jne 0x4271b7
mov cl, 1
jmp 0x4271b9
mov byte [ebp - 0xbb], 0
test al, al
je 0x427115
mov byte [ebp - 0xd5], 1
mov byte [ebp - 0xbb], 0
jmp 0x42711c
mov edx, dword [ebp - 0xb8]
xor cl, cl
mov eax, dword [edx + 0x19bc]
mov edx, dword [ebp - 0xc0]
cmp eax, edx
je 0x427211
mov esi, dword [ebp - 0xb8]
cmp dword [esi + 0x1abc], edx
mov esi, dword [ebp - 0xd0]
je 0x427200
mov esi, dword [ebp - 0xb8]
cmp dword [esi + 0x1ab0], edx
mov esi, dword [ebp - 0xd0]
jne 0x427211
mov edx, dword [ebp - 0xb8]
cmp dword [edx + 0x1acc], 3
jne 0x427211
mov dl, 1
mov byte [ebp - 0xd1], 0
mov byte [ebp - 0xd3], dl
jmp 0x427228
xor dl, dl
mov byte [ebp - 0xd1], 0
mov byte [ebp - 0xd3], dl
cmp eax, dword [ebp - 0xc0]
je 0x427242
test byte [ebx + 0x10], 0x10
jne 0x427232
test dl, dl
je 0x427242
cmp byte [ebp - 0xdc], 0
mov byte [ebp - 0xe8], 1
je 0x427249
mov byte [ebp - 0xe8], 0
cmp byte [ebp - 0xe1], 0
mov dword [ebp - 0x124], 0x20
jne 0x42728b
cmp byte [ebp - 0xb9], 0
jne 0x42728b
test cl, cl
jne 0x42728b
test dl, dl
jne 0x42728b
mov ecx, dword [ebp - 0xb8]
cmp byte [ecx + 0x3f8], dl
je 0x4274d0
mov byte [ebp - 0xd1], 1
jmp 0x4274d0
cmp eax, dword [ebp - 0xc0]
je 0x42749b
mov esi, dword [ebp - 0xe0]
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0xec], eax
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x4272b0
mov eax, dword [edi + 8]
sub esi, ecx
cmp eax, 0x21
jge 0x4272ee
test eax, eax
je 0x4272d4
cdq
sub eax, edx
lea edx, [edi + 4]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x4272dc
mov ecx, 8
lea edx, [edi + 4]
mov eax, 0x21
cmp ecx, eax
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.004132e0
lea edx, [esi + 1]
mov dword [edi + 4], 0x21
mov esi, dword [edi + 0x14]
lea eax, [edi + 0x10]
mov dword [ebp - 0xc8], edx
cmp edx, esi
jle 0x42733d
test esi, esi
je 0x42731f
mov eax, esi
cdq
sub eax, edx
mov edx, dword [ebp - 0xc8]
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x427324
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0x10]
push eax
call fcn.00413170
mov edx, dword [ebp - 0xc8]
lea eax, [edi + 0x10]
mov esi, dword [ebp - 0xe0]
push edx
mov dword [eax], edx
push esi
push dword [edi + 0x18]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebp - 0x124]
lea eax, [ebp - 0xc8]
add esp, 0xc
mov dword [ebp - 0xc8], 0
push eax
push ecx
mov ecx, dword [edi + 0xc]
push esi
call fcn.00402f80
mov ecx, dword [ebp - 0xc8]
add esp, 0xc
sub ecx, esi
mov dword [edi + 0xe5c], 0xbe99999a
mov esi, dword [ebp - 0xc0]
mov edx, eax
mov dword [edi + 0x2c], edx
mov dword [edi + 0x28], ecx
cmp dword [edi], esi
jne 0x4273cc
cmp dword [ebp - 0xec], edx
jne 0x4273cc
cmp dword [edi + 0x38], edx
mov ecx, edx
cmovl ecx, dword [edi + 0x38]
cmp dword [edi + 0x3c], edx
mov dword [edi + 0x38], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], edx
mov dword [edi + 0x3c], ecx
cmovl edx, dword [edi + 0x40]
mov ecx, dword [ebp - 0xdc]
mov dword [edi + 0x40], edx
jmp 0x427444
mov ecx, dword [ebp - 0xdc]
mov al, cl
mov dword [edi], esi
xor al, 1
mov dword [edi + 0x34], 0
mov dword [edi + 0xe4e], 0x630000
mov dword [edi + 0xe54], 0
mov dword [edi + 0xe58], 0x3e7
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x44], 0x10000
mov dword [edi + 0x4c], 0
mov byte [edi + 0x48], al
test cl, cl
jne 0x427444
mov eax, dword [ebp - 0xe8]
mov edx, 1
cmp byte [ebp - 0xbb], cl
movzx eax, al
cmovne eax, edx
mov dword [ebp - 0xe8], eax
test dword [ebx + 0x10], 0x2000
je 0x427451
mov byte [edi + 0x44], 1
test cl, cl
jne 0x427495
cmp byte [ebp - 0xd5], cl
jne 0x427473
cmp byte [ebp - 0xb9], cl
je 0x427495
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0xfc], cl
je 0x427495
mov edx, dword [ebp - 0xd0]
mov ecx, esi
mov byte [ebp - 0xe8], 1
call fcn.00404690
call fcn.00404750
mov ecx, edx
call fcn.0040c520
jmp 0x4274bd
mov esi, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xc0]
mov edx, esi
call fcn.00404690
call fcn.00404750
mov ecx, esi
call fcn.0040c520
cmp byte [ebp - 0xdc], 0
jne 0x4274d0
test byte [ebx + 0x10], 0x80
jne 0x4274d0
mov ecx, dword [ebp - 0xb8]
or dword [ecx + 0x19d4], 0xc
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xc0]
mov byte [ebp - 0xe1], 0
mov byte [ebp - 0xd5], 0
mov dword [ebp - 0x120], 0
cmp dword [eax + 0x19bc], ecx
jne 0x4278ef
cmp byte [ebp - 0xf4], 0
mov ecx, eax
jne 0x4275bd
cmp byte [ecx + 0x19cc], 0
jne 0x4275bd
mov esi, dword [edi + 8]
lea eax, [edi + 4]
cmp esi, 0x21
jge 0x427553
test esi, esi
je 0x427538
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x42753d
mov ecx, 8
mov eax, 0x21
cmp ecx, eax
cmovg eax, ecx
lea ecx, [edi + 4]
push eax
call fcn.004132e0
lea eax, [edi + 4]
mov dword [eax], 0x21
mov edx, 0x21
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xc8], 0
push eax
push ecx
push dword [ebp - 0xe0]
mov ecx, dword [edi + 0xc]
call fcn.00402f80
mov ecx, dword [ebp - 0xc8]
mov esi, eax
sub ecx, dword [ebp - 0xe0]
add esp, 0xc
cmp dword [edi + 0x38], esi
mov edx, esi
mov dword [edi + 0x28], ecx
mov ecx, esi
cmovl edx, dword [edi + 0x38]
cmp dword [edi + 0x3c], esi
mov dword [edi + 0x2c], esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
cmovl esi, dword [edi + 0x40]
mov ecx, dword [ebp - 0xb8]
mov dword [edi + 0x38], edx
mov dword [edi + 0x40], esi
mov eax, dword [edi + 0x28]
mov dword [edi + 0x30], 0x20
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov dword [ebp - 0x120], eax
mov eax, dword [ebx + 0x10]
mov dword [edi + 0xe64], eax
cmp byte [ecx + 0xec], 0
mov dword [ecx + 0x2e60], 1
sete al
cmp byte [ebp - 0xdc], 0
mov byte [ecx + 0x19cd], al
movss xmm7, dword [ecx + 0xe4]
subss xmm7, dword [ebp - 0x50]
subss xmm7, dword [ecx + 0x154c]
addss xmm7, dword [edi + 0x34]
je 0x427647
mov eax, dword [ebp - 0x104]
movss xmm2, dword [ecx + 0xe8]
subss xmm2, dword [eax + 0xc8]
subss xmm2, dword [ecx + 0x1550]
jmp 0x427657
movss xmm2, dword [ecx + 0x18bc]
mulss xmm2, dword [0x439628]
cmp byte [ebp - 0xe8], 0
mov al, byte [ecx + 0xbd]
mov byte [ebp - 0xd6], al
jne 0x4277d5
mov cl, byte [ebp - 0xd4]
mov edx, dword [ebp - 0xb8]
test cl, cl
je 0x427690
test al, al
jne 0x4276f2
cmp byte [edx + 0x3fd], al
jne 0x4277d5
cmp byte [edx + 0x3f8], 0
lea esi, [edi + 0xe61]
mov al, byte [esi]
je 0x42774c
test al, al
jne 0x42774c
test cl, cl
je 0x4276eb
cmp byte [edi + 0x48], al
je 0x4276ca
push 0
mov edx, edi
lea ecx, [ebp - 0x30]
call fcn.00425310
movss xmm2, dword [ebp - 0x24]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.00425620
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov byte [edi + 0x47], 0
mov dword [edi + 0xe5c], 0xbe99999a
mov ecx, esi
jmp 0x4277f2
cmp byte [edx + 0x3fd], 0
je 0x427690
push 0x1000c
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.00425a00
add esp, 4
mov byte [edi + 0xe60], 1
lea edx, [edi + 0x38]
mov dword [edi + 0xe5c], 0xbe99999a
mov ecx, edi
push 0x3000d
call fcn.00425a00
add esp, 4
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
lea ecx, [edi + 0xe61]
jmp 0x4277f2
cmp byte [edx + 0xec], 0
mov ecx, esi
je 0x4277f2
test al, al
jne 0x4277f2
movss xmm0, dword [edx + 0x398]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x427788
movss xmm0, dword [edx + 0x39c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4277f2
cmp byte [edi + 0x48], 0
je 0x4277a2
push 0
mov edx, edi
lea ecx, [ebp - 0x30]
call fcn.00425310
movss xmm2, dword [ebp - 0x24]
add esp, 4
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
jne 0x4277b0
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
movaps xmm1, xmm7
mov ecx, edi
call fcn.00425620
mov dword [edi + 0x40], eax
mov ecx, esi
mov dword [edi + 0x38], eax
mov dword [edi + 0xe5c], 0xbe99999a
mov byte [edi + 0xe60], 1
jmp 0x4277f2
mov eax, dword [edi + 0x2c]
lea ecx, [edi + 0xe61]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
mov byte [ecx], 1
cmp byte [ecx], 0
je 0x427809
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0xec], 0
jne 0x427809
mov byte [ecx], 0
mov ecx, dword [ebp - 0xb8]
cmp word [ecx + 0x300], 0
lea esi, [ecx + 0x300]
je 0x4278ef
cmp byte [ecx + 0xfc], 0
je 0x427839
cmp byte [ecx + 0xfe], 0
je 0x4278d5
cmp byte [ebp - 0xd6], 0
je 0x42784f
cmp byte [ecx + 0xff], 0
jne 0x4278d5
cmp byte [ebp - 0xf4], 0
je 0x4278d5
cmp byte [ebp - 0xd3], 0
jne 0x4278d5
mov dword [ebp - 0x108], 0
nop dword [eax + eax]
movzx eax, word [esi]
test ax, ax
je 0x4278cf
mov edx, dword [ebx + 0x10]
lea ecx, [ebp - 0xc8]
sub esp, 8
mov dword [ebp - 0xc8], eax
call fcn.004269d0
add esp, 8
test al, al
je 0x4278ba
push dword [ebp - 0xc8]
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.00425a00
add esp, 4
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
mov eax, dword [ebp - 0x108]
add esi, 2
inc eax
mov dword [ebp - 0x108], eax
cmp eax, 0x11
jl 0x427870
mov ecx, dword [ebp - 0xb8]
xorps xmm0, xmm0
movups xmmword [ecx + 0x300], xmm0
movups xmmword [ecx + 0x310], xmm0
mov word [ecx + 0x320], 0
mov edx, dword [ebp - 0xb8]
xor cl, cl
mov eax, dword [ebp - 0xc0]
mov byte [ebp - 0xb1], cl
cmp dword [edx + 0x19bc], eax
jne 0x428dd3
cmp byte [edx + 0x19cc], cl
jne 0x428dd3
cmp byte [ebp - 0xd1], cl
jne 0x428dd3
mov ecx, edx
xor esi, esi
mov edx, 0x20000
mov al, byte [ecx + 0xfd]
mov ah, byte [ecx + 0xbd]
test al, al
mov byte [ebp - 0xbb], al
mov al, byte [ecx + 0xfc]
cmovne esi, edx
mov byte [ebp - 0x109], ah
test ah, ah
je 0x42797f
cmp byte [ecx + 0xff], 0
lea edx, [ecx + 0xff]
mov dword [ebp - 0xd0], edx
je 0x427977
test al, al
jne 0x427977
mov ecx, 1
jmp 0x427979
xor ecx, ecx
test ecx, ecx
je 0x4279c0
jmp 0x427996
add ecx, 0xff
test al, al
je 0x4279b8
cmp byte [ecx], 0
jne 0x4279b8
mov edx, ecx
mov dword [ebp - 0xd0], ecx
mov ecx, dword [ebp - 0xb8]
cmp byte [ecx + 0xfe], 0
mov ch, byte [ebp - 0xbb]
jne 0x4279c6
test ch, ch
jne 0x4279c6
mov byte [ebp - 0xca], 1
jmp 0x4279cd
mov edx, ecx
mov dword [ebp - 0xd0], edx
mov ch, byte [ebp - 0xbb]
mov byte [ebp - 0xca], 0
mov cl, al
test ah, ah
je 0x427a21
mov edx, dword [ebp - 0xb8]
cmp byte [edx + 0xff], 0
mov edx, dword [ebp - 0xd0]
je 0x427a21
test ch, ch
je 0x427a21
mov eax, dword [ebp - 0xb8]
mov ah, byte [eax + 0xfc]
mov byte [ebp - 0xba], ah
mov cl, ah
test ah, ah
jne 0x427a21
mov edx, dword [ebp - 0xb8]
cmp byte [edx + 0xfe], ah
mov edx, dword [ebp - 0xd0]
jne 0x427a21
mov byte [ebp - 0xd2], 1
jmp 0x427a3d
cmp byte [ebp - 0x109], 0
mov ah, cl
mov byte [ebp - 0xba], cl
mov byte [ebp - 0xd2], 0
je 0x427b0e
mov edx, dword [ebp - 0xb8]
mov al, byte [edx + 0xfe]
mov edx, dword [ebp - 0xd0]
mov byte [ebp - 0xbc], al
cmp byte [edx], 0
je 0x427b23
test ah, ah
jne 0x427b23
test al, al
jne 0x427b23
mov dl, 1
cmp byte [ebp - 0xbb], 0
mov cl, dl
mov byte [ebp - 0xd3], cl
mov byte [ebp - 0xc9], cl
mov byte [ebp - 0xbc], al
mov byte [ebp - 0xb9], 0
je 0x427b68
mov byte [ebp - 0xc9], cl
mov byte [ebp - 0xbc], al
mov byte [ebp - 0xb9], 0
test ah, ah
jne 0x427b68
mov edx, dword [ebp - 0xb8]
mov byte [ebp - 0xc9], cl
mov byte [ebp - 0xbc], al
mov byte [ebp - 0xb9], ah
cmp byte [edx + 0xfe], ah
jne 0x427b68
mov edx, dword [ebp - 0xd0]
mov byte [ebp - 0xc9], cl
mov byte [ebp - 0xbc], al
mov byte [ebp - 0xb9], ah
cmp byte [edx], ah
jne 0x427b68
mov byte [ebp - 0xcb], 1
mov byte [ebp - 0xc9], cl
mov byte [ebp - 0xbc], al
mov byte [ebp - 0xb9], ah
jmp 0x427b6f
mov al, ah
mov byte [ebp - 0xba], ah
mov byte [ebp - 0xbc], al
mov byte [ebp - 0xd2], 0
xor dl, dl
mov byte [ebp - 0xc9], dl
test ah, ah
je 0x427a70
test ch, ch
jne 0x427a70
mov ecx, dword [ebp - 0xb8]
cmp byte [ecx + 0xfe], dl
jne 0x427a70
mov ecx, dword [ebp - 0xd0]
cmp byte [ecx], dl
jne 0x427a70
mov byte [ebp - 0xb9], 1
mov byte [ebp - 0xd3], dl
mov byte [ebp - 0xcb], 0
cmp byte [ebp - 0xca], 0
xorps xmm4, xmm4
mov edx, dword [0x4474f0]
je 0x427c06
mov eax, dword [edx + 0x7c]
test eax, eax
js 0x427c06
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x427c90
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x427c06
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x427bc7
mov eax, 1
jmp 0x427bfe
comiss xmm2, xmm1
jae 0x427bfc
comiss xmm4, xmm3
jae 0x427bfc
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x427bfe
xor eax, eax
test eax, eax
jg 0x427c90
cmp byte [ebp - 0xcb], 0
je 0x427cbc
mov eax, dword [edx + 0x5c]
test eax, eax
js 0x427cbc
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x427c90
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x427cbc
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x427c55
mov eax, 1
jmp 0x427c8c
comiss xmm2, xmm1
jae 0x427c8a
comiss xmm4, xmm3
jae 0x427c8a
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x427c8c
xor eax, eax
test eax, eax
jle 0x427cbc
cmp byte [ebp - 0xf4], 0
je 0x427cbc
cmp byte [ebp - 0x14c], 0
jne 0x427cbc
cmp byte [ebp - 0xdc], 0
je 0x427cb3
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x427cbc
mov byte [ebp - 0xd4], 1
jmp 0x427cc3
mov byte [ebp - 0xd4], 0
cmp byte [ebp - 0xca], 0
je 0x427d51
mov eax, dword [edx + 0x74]
test eax, eax
js 0x427d51
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x427ddb
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x427d51
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x427d12
mov eax, 1
jmp 0x427d49
comiss xmm2, xmm1
jae 0x427d47
comiss xmm4, xmm3
jae 0x427d47
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x427d49
xor eax, eax
test eax, eax
jg 0x427ddb
cmp byte [ebp - 0xb9], 0
je 0x427dfe
mov eax, dword [edx + 0x58]
test eax, eax
js 0x427dfe
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x427ddb
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x427dfe
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x427da0
mov eax, 1
jmp 0x427dd7
comiss xmm2, xmm1
jae 0x427dd5
comiss xmm4, xmm3
jae 0x427dd5
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x427dd7
xor eax, eax
test eax, eax
jle 0x427dfe
cmp byte [ebp - 0x14c], 0
jne 0x427dfe
cmp byte [ebp - 0xdc], 0
je 0x427df5
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x427dfe
mov byte [ebp - 0xb9], 1
jmp 0x427e05
mov byte [ebp - 0xb9], 0
cmp byte [ebp - 0xca], 0
je 0x427e93
mov eax, dword [edx + 0x78]
test eax, eax
js 0x427e93
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x427f1d
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x427e93
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x427e54
mov eax, 1
jmp 0x427e8b
comiss xmm2, xmm1
jae 0x427e89
comiss xmm4, xmm3
jae 0x427e89
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x427e8b
xor eax, eax
test eax, eax
jg 0x427f1d
cmp byte [ebp - 0xcb], 0
je 0x427f2d
mov eax, dword [edx + 0x58]
test eax, eax
js 0x427f2d
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x427f1d
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x427f2d
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x427ee2
mov eax, 1
jmp 0x427f19
comiss xmm2, xmm1
jae 0x427f17
comiss xmm4, xmm3
jae 0x427f17
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x427f19
xor eax, eax
test eax, eax
jle 0x427f2d
cmp byte [ebp - 0xf4], 0
mov byte [ebp - 0xd6], 1
jne 0x427f34
mov byte [ebp - 0xd6], 0
mov cl, byte [ebp - 0xca]
test cl, cl
je 0x427fe3
mov eax, dword [edx + 0x84]
test eax, eax
js 0x427fe3
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x427fc8
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x427fe3
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x427f87
mov eax, 1
jmp 0x427fc4
comiss xmm2, xmm1
jae 0x427fc2
comiss xmm4, xmm3
jae 0x427fc2
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov cl, byte [ebp - 0xca]
jmp 0x427fc4
xor eax, eax
test eax, eax
jle 0x427fe3
cmp byte [ebp - 0xf4], 0
je 0x427fe3
cmp byte [ebp - 0x110], 0
je 0x427fe3
mov byte [ebp - 0xcb], 1
jmp 0x427ff2
mov byte [ebp - 0xcb], 0
test cl, cl
je 0x428076
mov eax, dword [edx + 0x80]
test eax, eax
js 0x428076
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x428103
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x428076
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x428037
mov eax, 1
jmp 0x42806e
comiss xmm2, xmm1
jae 0x42806c
comiss xmm4, xmm3
jae 0x42806c
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x42806e
xor eax, eax
test eax, eax
jg 0x428103
cmp byte [ebp - 0xd2], 0
je 0x42811c
mov eax, dword [edx + 0x84]
test eax, eax
js 0x42811c
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x428103
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x42811c
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x4280c8
mov eax, 1
jmp 0x4280ff
comiss xmm2, xmm1
jae 0x4280fd
comiss xmm4, xmm3
jae 0x4280fd
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x4280ff
xor eax, eax
test eax, eax
jle 0x42811c
cmp byte [ebp - 0xf4], 0
je 0x42811c
cmp byte [ebp - 0x110], 0
mov byte [ebp - 0xd2], 1
jne 0x428123
mov byte [ebp - 0xd2], 0
mov eax, dword [edx + 0x38]
test eax, eax
js 0x4281ea
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x4281a4
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x4281ea
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x428169
mov eax, 1
jmp 0x4281a0
comiss xmm2, xmm1
jae 0x42819e
comiss xmm4, xmm3
jae 0x42819e
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x4281a0
xor eax, eax
test eax, eax
jle 0x4281ea
cmp byte [ebp - 0xd3], 0
je 0x4281c4
mov eax, 0x10004
lea edx, [edi + 0x38]
or eax, esi
mov ecx, edi
push eax
call fcn.00425a00
jmp 0x428db3
cmp byte [ebp - 0xbc], 0
lea edx, [edi + 0x38]
mov ecx, 0x1000c
mov eax, 0x10000
cmovne eax, ecx
mov ecx, edi
or eax, esi
push eax
call fcn.00425a00
jmp 0x428db3
mov eax, dword [edx + 0x3c]
test eax, eax
js 0x4282b1
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x42826b
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x4282b1
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x428230
mov eax, 1
jmp 0x428267
comiss xmm2, xmm1
jae 0x428265
comiss xmm4, xmm3
jae 0x428265
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x428267
xor eax, eax
test eax, eax
jle 0x4282b1
cmp byte [ebp - 0xd3], 0
je 0x42828b
mov eax, 0x10005
lea edx, [edi + 0x38]
or eax, esi
mov ecx, edi
push eax
call fcn.00425a00
jmp 0x428db3
cmp byte [ebp - 0xbc], 0
lea edx, [edi + 0x38]
mov ecx, 0x1000d
mov eax, 0x10001
cmovne eax, ecx
mov ecx, edi
or eax, esi
push eax
call fcn.00425a00
jmp 0x428db3
mov eax, dword [edx + 0x40]
test eax, eax
js 0x4283a2
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x428332
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x4283a2
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x4282f7
mov eax, 1
jmp 0x42832e
comiss xmm2, xmm1
jae 0x42832c
comiss xmm4, xmm3
jae 0x42832c
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x42832e
xor eax, eax
test eax, eax
jle 0x4283a2
cmp byte [ebp - 0xdc], 0
je 0x4283a2
cmp byte [ebp - 0xba], 0
je 0x428382
mov esi, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xb8]
movss xmm1, dword [esi + 0x58]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18bc]
addss xmm1, dword [esi + 0xe0]
maxss xmm0, xmm4
subss xmm1, xmm0
movss dword [esi + 0x58], xmm0
movss dword [esi + 0xe0], xmm1
jmp 0x428dc7
movzx eax, byte [ebp - 0xc9]
lea edx, [edi + 0x38]
mov ecx, edi
lea eax, [eax*4 + 0x10002]
or eax, esi
push eax
call fcn.00425a00
jmp 0x428db3
mov eax, dword [edx + 0x44]
test eax, eax
js 0x4284bb
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x428427
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x4284bb
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x4283e8
mov eax, 1
jmp 0x42841f
comiss xmm2, xmm1
jae 0x42841d
comiss xmm4, xmm3
jae 0x42841d
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x42841f
xor eax, eax
test eax, eax
jle 0x4284bb
cmp byte [ebp - 0xdc], 0
je 0x4284bb
cmp byte [ebp - 0xba], 0
je 0x42849b
mov eax, dword [edx + 0x199c]
mov edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xb8]
movss xmm0, dword [eax + 0x20]
subss xmm0, dword [eax + 0x70]
movss xmm1, dword [eax + 0x30]
movss xmm3, dword [edx + 0x58]
movaps xmm2, xmm3
addss xmm2, dword [ecx + 0x18bc]
addss xmm3, dword [edx + 0xe0]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
minss xmm2, xmm0
subss xmm3, xmm2
movss dword [edx + 0x58], xmm2
movss dword [edx + 0xe0], xmm3
jmp 0x428dc7
movzx eax, byte [ebp - 0xc9]
lea edx, [edi + 0x38]
mov ecx, edi
lea eax, [eax*4 + 0x10003]
or eax, esi
push eax
call fcn.00425a00
jmp 0x428db3
mov eax, dword [edx + 0x50]
test eax, eax
js 0x42855f
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x428538
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x42855f
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x4284fd
mov eax, 1
jmp 0x428534
comiss xmm2, xmm1
jae 0x428532
comiss xmm4, xmm3
jae 0x428532
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x428534
xor eax, eax
test eax, eax
jle 0x42855f
mov eax, esi
lea edx, [edi + 0x38]
or eax, 0x10006
or esi, 0x10004
cmp byte [ebp - 0xba], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.00425a00
jmp 0x428db3
mov eax, dword [edx + 0x54]
test eax, eax
js 0x428603
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x4285dc
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x428603
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x4285a1
mov eax, 1
jmp 0x4285d8
comiss xmm2, xmm1
jae 0x4285d6
comiss xmm4, xmm3
jae 0x4285d6
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x4285d8
xor eax, eax
test eax, eax
jle 0x428603
mov eax, esi
lea edx, [edi + 0x38]
or eax, 0x10007
or esi, 0x10005
cmp byte [ebp - 0xba], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.00425a00
jmp 0x428db3
mov eax, dword [edx + 0x5c]
test eax, eax
js 0x42869f
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x428680
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x42869f
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x428645
mov eax, 1
jmp 0x42867c
comiss xmm2, xmm1
jae 0x42867a
comiss xmm4, xmm3
jae 0x42867a
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x42867c
xor eax, eax
test eax, eax
jle 0x42869f
cmp byte [ebp - 0xf4], 0
je 0x42869f
or esi, 0x10008
lea edx, [edi + 0x38]
push esi
mov ecx, edi
call fcn.00425a00
jmp 0x428db3
mov eax, dword [edx + 0x60]
test eax, eax
js 0x4287aa
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x428724
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x4287aa
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x4286e5
mov eax, 1
jmp 0x42871c
comiss xmm2, xmm1
jae 0x42871a
comiss xmm4, xmm3
jae 0x42871a
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x42871c
xor eax, eax
test eax, eax
jle 0x4287aa
cmp byte [ebp - 0xf4], 0
je 0x4287aa
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
jne 0x428794
cmp byte [ebp - 0xbc], 0
je 0x428745
push 0x3000c
jmp 0x428776
cmp byte [ebp - 0x109], 0
je 0x428794
mov eax, dword [ebp - 0xd0]
cmp byte [eax], 0
je 0x428794
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0xfe], 0
jne 0x428794
cmp byte [ebp - 0xba], 0
jne 0x428794
push 0x30004
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.00425a00
mov dword [edi + 0xe5c], 0xbe99999a
add esp, 4
mov byte [edi + 0xe60], 1
or esi, 0x10009
lea edx, [edi + 0x38]
push esi
mov ecx, edi
call fcn.00425a00
jmp 0x428db3
mov eax, dword [edx + 0x68]
test eax, eax
js 0x4288b2
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x42882f
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x4288b2
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x4287f0
mov eax, 1
jmp 0x428827
comiss xmm2, xmm1
jae 0x428825
comiss xmm4, xmm3
jae 0x428825
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x428827
xor eax, eax
test eax, eax
jle 0x4288b2
mov ecx, dword [ebx + 0x10]
mov eax, ecx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0xdc], 0
je 0x42884f
test al, al
je 0x428862
cmp byte [ebp - 0xba], 0
jne 0x42886b
mov byte [ebp - 0xd1], 1
mov byte [ebp - 0xd5], 1
jmp 0x428dc7
cmp byte [ebp - 0xba], 0
jne 0x42884f
cmp byte [ebp - 0xf4], 0
je 0x428dc7
mov dword [ebp - 0xc8], 0xa
sub esp, 8
mov edx, ecx
lea ecx, [ebp - 0xc8]
call fcn.004269d0
add esp, 8
test al, al
je 0x428dc7
push dword [ebp - 0xc8]
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.00425a00
jmp 0x428db3
mov ecx, dword [ebx + 0x10]
test ecx, 0x400
je 0x42897e
mov eax, dword [edx + 0x34]
test eax, eax
js 0x42897e
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x428945
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x42897e
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x428907
mov eax, 1
jmp 0x428941
comiss xmm2, xmm1
jae 0x42893f
comiss xmm4, xmm3
jae 0x42893f
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ecx, dword [ebx + 0x10]
jmp 0x428941
xor eax, eax
test eax, eax
jle 0x42897e
cmp byte [ebp - 0xba], 0
jne 0x42897e
cmp byte [ebp - 0xbb], 0
jne 0x42897e
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0xfe], 0
jne 0x42897e
cmp byte [ebp - 0xf4], 0
je 0x42897e
mov dword [ebp - 0xc8], 9
jmp 0x428882
mov eax, dword [edx + 0x6c]
test eax, eax
js 0x428a04
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x4289f7
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x428a04
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x4289bc
mov eax, 1
jmp 0x4289f3
comiss xmm2, xmm1
jae 0x4289f1
comiss xmm4, xmm3
jae 0x4289f1
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x4289f3
xor eax, eax
test eax, eax
jle 0x428a04
mov cl, 1
mov byte [ebp - 0xd1], cl
jmp 0x428dcd
mov al, byte [ebp - 0xcb]
test al, al
jne 0x428d94
cmp byte [ebp - 0xd2], al
jne 0x428d94
cmp byte [ebp - 0xca], al
je 0x428ac0
mov eax, dword [edx + 0x70]
test eax, eax
js 0x428ac0
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x428aa7
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x428ac0
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x428a6c
mov eax, 1
jmp 0x428aa3
comiss xmm2, xmm1
jae 0x428aa1
comiss xmm4, xmm3
jae 0x428aa1
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x428aa3
xor eax, eax
test eax, eax
jle 0x428ac0
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
jmp 0x428dc0
cmp byte [ebp - 0xd4], 0
jne 0x428c97
cmp byte [ebp - 0xb9], 0
jne 0x428c97
cmp byte [ebp - 0xd6], 0
je 0x428dc7
mov eax, dword [edx + 0xcc]
test eax, eax
je 0x428b0e
push dword [edx + 0xd4]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x428dc7
mov edx, dword [0x4474f0]
jmp 0x428b13
mov esi, 0x4353f6
mov ecx, esi
lea eax, [ecx + 1]
mov dword [ebp - 0xec], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428b20
sub ecx, dword [ebp - 0xec]
test edx, edx
je 0x428b37
inc dword [edx + 0x394]
lea eax, [ecx*2 + 2]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xf8], eax
cmp byte [esi], al
je 0x428bcc
nop dword [eax]
push 0
mov edx, esi
lea ecx, [ebp - 0xfc]
call fcn.00402df0
add esi, eax
add esp, 4
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x428bc0
cmp eax, 0x10000
jae 0x428bbb
mov edx, dword [ebx + 0x10]
lea ecx, [ebp - 0xfc]
sub esp, 8
call fcn.004269d0
add esp, 8
test al, al
je 0x428bbb
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xc4]
mov ax, word [ebp - 0xfc]
mov word [edx + ecx*2], ax
inc ecx
mov dword [ebp - 0xf8], ecx
cmp byte [esi], 0
jne 0x428b60
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xc4]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x428c75
mov edx, dword [edi + 0x40]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x2c]
cmp ecx, edx
je 0x428c00
cmp ecx, eax
jle 0x428bf0
mov dword [edi + 0x3c], eax
mov ecx, eax
cmp edx, eax
jle 0x428bf9
mov dword [edi + 0x40], eax
mov edx, eax
cmp ecx, edx
jne 0x428c00
mov dword [edi + 0x38], ecx
cmp dword [edi + 0x38], eax
jle 0x428c08
mov dword [edi + 0x38], eax
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.00425970
push dword [ebp - 0xf8]
mov edx, dword [edi + 0x38]
mov ecx, edi
push dword [ebp - 0xc4]
call fcn.004254f0
add esp, 8
test al, al
je 0x428c54
push dword [ebp - 0xf8]
mov edx, dword [edi + 0x38]
lea ecx, [edi + 0x50]
push 0
call fcn.004266c0
mov eax, dword [ebp - 0xf8]
add esp, 8
add dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
jmp 0x428c68
movzx eax, word [edi + 0xe4e]
test ax, ax
je 0x428c68
dec eax
mov word [edi + 0xe4e], ax
mov ecx, dword [ebp - 0xc4]
mov byte [edi + 0xe60], 1
test ecx, ecx
je 0x428c88
mov eax, dword [0x4474f0]
test eax, eax
je 0x428c88
dec dword [eax + 0x394]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x428dc7
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0xd0], 0
je 0x428d4f
mov esi, dword [edi + 0x40]
mov eax, dword [edi + 0x3c]
cmp eax, esi
je 0x428cbe
mov ecx, esi
cmovge esi, eax
cmovl ecx, eax
jmp 0x428cc3
mov esi, dword [edi + 0x2c]
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x108], ecx
sub eax, ecx
lea edx, [eax*4 + 1]
mov eax, dword [edi + 0x20]
mov dword [ebp - 0xc8], edx
cmp edx, eax
jle 0x428d12
test eax, eax
je 0x428cf7
cdq
sub eax, edx
mov edx, dword [ebp - 0xc8]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x20]
jmp 0x428cfc
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0x1c]
push eax
call fcn.00413170
mov edx, dword [ebp - 0xc8]
mov dword [edi + 0x1c], edx
mov ecx, dword [edi + 0xc]
lea eax, [ecx + esi*2]
push eax
mov eax, dword [ebp - 0x108]
lea eax, [ecx + eax*2]
mov ecx, dword [edi + 0x24]
push eax
call fcn.00402ff0
mov edx, dword [0x4474f0]
add esp, 8
mov eax, dword [edx + 0xd0]
test eax, eax
je 0x428d4f
push dword [edi + 0x24]
push dword [edx + 0xd4]
call eax
add esp, 8
cmp byte [ebp - 0xd4], 0
je 0x428dc7
mov eax, dword [edi + 0x3c]
lea esi, [edi + 0x38]
cmp eax, dword [edi + 0x40]
jne 0x428d76
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [esi], eax
mov byte [edi + 0x47], 0
mov byte [edi + 0xe60], 1
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x428dc7
mov edx, esi
mov ecx, edi
call fcn.00425970
mov byte [esi + 0xf], 0
jmp 0x428dc7
movzx eax, al
lea edx, [edi + 0x38]
xor eax, 1
mov ecx, edi
add eax, 0x1000a
push eax
call fcn.00425a00
mov eax, dword [edi + 0x38]
mov dword [edi + 0x40], eax
mov dword [edi + 0x3c], eax
add esp, 4
mov dword [edi + 0xe5c], 0xbe99999a
mov byte [edi + 0xe60], 1
mov cl, byte [ebp - 0xb1]
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x19bc]
cmp eax, dword [ebp - 0xc0]
jne 0x429460
xor eax, eax
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0x118], eax
test cl, cl
je 0x428e60
cmp byte [ebp - 0xf4], al
je 0x428e49
mov esi, dword [edi + 0x18]
mov ecx, esi
mov eax, dword [ebp - 0xe0]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x428e30
test dl, dl
je 0x428e2c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x428e30
add eax, 2
add ecx, 2
test dl, dl
jne 0x428e10
xor eax, eax
jmp 0x428e35
sbb eax, eax
or eax, 1
test eax, eax
je 0x428e49
mov eax, dword [edi + 0x10]
dec eax
mov dword [ebp - 0xe8], esi
mov dword [ebp - 0x118], eax
cmp byte [ebp - 0xd5], 0
je 0x429333
test byte [ebx + 0x10], 0x20
je 0x429333
cmp byte [ebp - 0xf4], 0
je 0x428ebe
mov eax, dword [edi + 4]
lea ecx, [edi + 0x1c]
lea esi, [eax*4 + 1]
mov eax, dword [ecx + 4]
cmp esi, eax
jle 0x428eaa
test eax, eax
je 0x428e90
cdq
sub eax, edx
lea edx, [edi + 0x1c]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x428e98
mov ecx, 8
lea edx, [edi + 0x1c]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00413170
lea ecx, [edi + 0x1c]
mov dword [ecx], esi
mov edx, esi
mov ecx, dword [edi + 0x24]
push 0
push dword [edi + 0xc]
call fcn.00402ff0
add esp, 8
mov ecx, dword [ebx + 0x10]
test ecx, 0x1c0
je 0x4292ef
mov edx, dword [0x4474f0]
xor esi, esi
xorps xmm4, xmm4
test cl, 0x40
je 0x428f6b
mov eax, dword [edx + 0x34]
test eax, eax
js 0x428f6b
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x428f5f
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x428f6b
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x428f21
lea eax, [esi + 1]
jmp 0x428f5b
comiss xmm2, xmm1
jae 0x428f59
comiss xmm4, xmm3
jae 0x428f59
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ecx, dword [ebx + 0x10]
jmp 0x428f5b
xor eax, eax
test eax, eax
jle 0x428f6b
mov esi, 0x40
xor eax, eax
jmp 0x4290a0
test cl, cl
jns 0x42908d
mov eax, dword [edx + 0x40]
test eax, eax
js 0x429000
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x428ff3
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x429000
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x428fb5
mov eax, 1
jmp 0x428fef
comiss xmm2, xmm1
jae 0x428fed
comiss xmm4, xmm3
jae 0x428fed
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ecx, dword [ebx + 0x10]
jmp 0x428fef
xor eax, eax
test eax, eax
jle 0x429000
mov esi, 0x80
lea eax, [esi - 0x7d]
jmp 0x4290a0
mov eax, dword [edx + 0x44]
test eax, eax
js 0x42908d
movss xmm1, dword [edx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x42907d
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x42908d
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x429042
mov eax, 1
jmp 0x429079
comiss xmm2, xmm1
jae 0x429077
comiss xmm4, xmm3
jae 0x429077
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x429079
xor eax, eax
test eax, eax
jle 0x42908a
mov ecx, dword [ebx + 0x10]
mov esi, 0x80
lea eax, [esi - 0x7c]
jmp 0x4290a0
mov ecx, dword [ebx + 0x10]
test ecx, 0x100
mov eax, 0x100
cmovne esi, eax
mov eax, 0x15
test esi, esi
je 0x4292ef
mov dword [ebp - 0x70], eax
xor edx, edx
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x6c], eax
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x68], eax
mov eax, dword [edi + 0x30]
mov dword [ebp - 0x80], esi
mov esi, dword [edi + 0xc]
mov dword [ebp - 0x64], eax
mov eax, dword [edi + 0x38]
mov word [ebp - 0x5f], dx
mov byte [ebp - 0x5d], dl
mov dword [ebp - 0x7c], ecx
mov ecx, esi
mov dword [ebp - 0x78], edx
mov byte [ebp - 0x60], dl
lea edx, [esi + eax*2]
mov dword [ebp - 0x74], 0
call fcn.00403120
mov edi, eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x5c], edi
mov ecx, dword [eax + 0x1d50]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.00403120
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0x1d54]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.00403120
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x80]
push eax
xor eax, eax
call eax
mov ecx, dword [ebp - 0x5c]
add esp, 4
cmp ecx, edi
je 0x4291a2
mov eax, dword [ebp - 0x6c]
mov esi, eax
lea edi, [ecx + eax]
xor eax, eax
mov dword [ebp - 0xc4], eax
nop
test edi, edi
je 0x429158
cmp esi, edi
jae 0x429190
cmp byte [esi], 0
je 0x429190
push edi
mov edx, esi
lea ecx, [ebp - 0xec]
call fcn.00402df0
add esi, eax
add esp, 4
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x42918a
cmp eax, 0x10000
mov eax, dword [ebp - 0xc4]
jae 0x429150
inc eax
jmp 0x429148
mov eax, dword [ebp - 0xc4]
mov edi, dword [ebp - 0x100]
mov dword [edi + 0x38], eax
mov byte [edi + 0xe60], 1
jmp 0x4291a8
mov edi, dword [ebp - 0x100]
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0xc8]
je 0x42920a
add eax, dword [ebp - 0x6c]
xor ecx, ecx
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
test eax, eax
je 0x4291cf
cmp esi, eax
jae 0x429207
cmp byte [esi], 0
je 0x429207
push eax
mov edx, esi
lea ecx, [ebp - 0xec]
call fcn.00402df0
mov ecx, dword [ebp - 0xc4]
add esi, eax
mov eax, dword [ebp - 0xec]
add esp, 4
test eax, eax
je 0x429207
cmp eax, 0x10000
mov eax, dword [ebp - 0xc8]
jae 0x4291c7
inc ecx
jmp 0x4291c1
mov dword [edi + 0x3c], ecx
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x108]
je 0x429273
add eax, dword [ebp - 0x6c]
xor ecx, ecx
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
nop dword [eax]
test eax, eax
je 0x429238
cmp esi, eax
jae 0x429270
cmp byte [esi], 0
je 0x429270
push eax
mov edx, esi
lea ecx, [ebp - 0xec]
call fcn.00402df0
mov ecx, dword [ebp - 0xc4]
add esi, eax
mov eax, dword [ebp - 0xec]
add esp, 4
test eax, eax
je 0x429270
cmp eax, 0x10000
mov eax, dword [ebp - 0xc8]
jae 0x429230
inc ecx
jmp 0x429223
mov dword [edi + 0x40], ecx
cmp byte [ebp - 0x60], 0
je 0x4292ef
mov esi, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x120]
cmp esi, ecx
jle 0x4292c8
cmp byte [ebp - 0x114], 0
je 0x4292c8
mov eax, dword [edi + 8]
sub esi, ecx
add esi, dword [edi + 4]
cmp esi, eax
jle 0x4292c5
test eax, eax
je 0x4292ae
cdq
sub eax, edx
lea edx, [edi + 4]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x4292b6
mov ecx, 8
lea edx, [edi + 4]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.004132e0
mov dword [edi + 4], esi
mov edx, dword [edi + 4]
push 0
push ecx
push dword [ebp - 0x6c]
mov ecx, dword [edi + 0xc]
call fcn.00402f80
mov dword [edi + 0x2c], eax
add esp, 0xc
mov eax, dword [ebp - 0x68]
mov dword [edi + 0x28], eax
mov dword [edi + 0xe5c], 0xbe99999a
cmp byte [ebp - 0xf4], 0
je 0x429333
mov esi, dword [edi + 0x24]
mov eax, esi
mov ecx, dword [ebp - 0xe0]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x429323
test dl, dl
je 0x42931f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x429323
add eax, 2
add ecx, 2
test dl, dl
jne 0x429303
xor eax, eax
jmp 0x429328
sbb eax, eax
or eax, 1
test eax, eax
je 0x429333
mov ecx, dword [edi + 0x28]
mov eax, esi
jmp 0x42933f
mov ecx, dword [ebp - 0x118]
mov eax, dword [ebp - 0xe8]
lea esi, [edi + 0x24]
test eax, eax
je 0x429434
cmp dword [ebp - 0x120], ecx
je 0x4293f2
cmp byte [ebp - 0x114], 0
je 0x4293f2
mov eax, dword [ebx + 0x10]
xorps xmm0, xmm0
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x9c], eax
lea eax, [ecx + 1]
cmp eax, 0x20
movlpd qword [ebp - 0xa4], xmm0
movlpd qword [ebp - 0x90], xmm0
cmovle eax, dword [ebp - 0x124]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0xb0]
push eax
xor eax, eax
movlpd qword [ebp - 0x88], xmm0
mov dword [ebp - 0xb0], 0x40000
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0xa8], 0
call eax
mov edx, dword [ebp - 0x94]
add esp, 4
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xe0], eax
lea ecx, [edx - 1]
cmp dword [ebp - 0x98], ecx
cmovl ecx, dword [ebp - 0x98]
jmp 0x4293f7
mov edx, 0x20
lea eax, [ecx + 1]
cmp eax, edx
cmovl edx, eax
mov dword [ebp - 0xec], edx
cmp edx, 1
jb 0x42942d
push edx
push dword [esi]
push dword [ebp - 0xe0]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, dword [ebp - 0xec]
add esp, 0xc
mov ecx, dword [ebp - 0xe0]
mov byte [eax + ecx - 1], 0
mov byte [ebp - 0xe1], 1
mov eax, dword [ebp - 0xb8]
mov dword [edi + 0xe64], 0
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov eax, dword [eax + 0x19bc]
jmp 0x429463
lea esi, [edi + 0x24]
cmp byte [ebp - 0xd1], 0
je 0x4294c5
cmp eax, dword [ebp - 0xc0]
jne 0x4294c5
mov edx, dword [0x4474f0]
mov ecx, dword [edx + 0x19bc]
test ecx, ecx
setne al
mov byte [edx + 0x19cc], al
test ecx, ecx
je 0x4294a0
mov dword [edx + 0x19c8], 0
mov byte [edx + 0x19ce], 0
mov dword [edx + 0x19bc], 0
mov dword [edx + 0x19d4], 0
mov byte [edx + 0x19cd], 0
mov dword [edx + 0x19e0], 0
mov eax, dword [ebp - 0xb8]
mov edx, dword [eax + 0x19bc]
mov eax, dword [ebp - 0xc0]
cmp edx, eax
jne 0x4294ec
cmp byte [ebp - 0xf4], 0
je 0x4294ec
mov ecx, dword [esi]
mov dword [ebp - 0xe0], ecx
cmp byte [ebp - 0xdc], 0
jne 0x4295c0
push 1
mov edx, eax
lea ecx, [ebp - 0x50]
call fcn.00403ce0
movss xmm1, dword [0x43964c]
add esp, 4
mov ecx, 7
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
call fcn.004031a0
mov ecx, dword [ebp - 0xb8]
mov dl, 1
movss xmm2, dword [ecx + 0x1554]
mov ecx, eax
call fcn.00403730
mov ecx, dword [ebp - 0xb8]
add esp, 0x10
movss xmm5, dword [ebp - 0x50]
movss xmm7, dword [ebp - 0x4c]
movaps xmm0, xmm5
movss xmm4, dword [ebp - 0xf0]
movaps xmm2, xmm5
addss xmm0, dword [ecx + 0x154c]
movss xmm1, dword [ebp - 0x134]
addss xmm2, xmm4
mov edx, dword [ecx + 0x19bc]
addss xmm1, xmm7
movss dword [ebp - 0x40], xmm5
movss dword [ebp - 0x3c], xmm7
movss dword [ebp - 0x148], xmm0
movaps xmm0, xmm7
addss xmm0, dword [ecx + 0x1550]
movss dword [ebp - 0xec], xmm2
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0xfc], xmm2
movss dword [ebp - 0x120], xmm1
movss dword [ebp - 0x144], xmm0
jmp 0x429636
movss xmm0, dword [ebp - 0x50]
movss xmm1, dword [ebp - 0x4c]
movaps xmm3, xmm0
movss xmm4, dword [ebp - 0xf0]
movss xmm2, dword [ebp - 0x134]
addss xmm3, xmm4
mov ecx, dword [ebp - 0x104]
addss xmm2, xmm1
movss dword [ebp - 0x40], xmm0
movss dword [ebp - 0x3c], xmm1
mov eax, dword [ecx + 0xc4]
movaps xmm0, xmm3
mov ecx, dword [ecx + 0xc8]
movaps xmm1, xmm2
mov dword [ebp - 0x144], ecx
mov ecx, dword [ebp - 0xb8]
movss dword [ebp - 0xfc], xmm3
movss dword [ebp - 0xec], xmm0
movss dword [ebp - 0x38], xmm0
movss dword [ebp - 0x120], xmm2
mov dword [ebp - 0x148], eax
mov esi, dword [ebp - 0xc0]
lea eax, [ebp - 0x148]
xorps xmm6, xmm6
movss xmm0, dword [eax]
movss dword [ebp - 0x12c], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0xf8], xmm0
movss dword [ebp - 0x128], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0xd0], eax
movss dword [ebp - 0x34], xmm1
movss dword [ebp - 0x110], xmm1
movss dword [ebp - 0x108], xmm0
movss dword [ebp - 0xc8], xmm6
cmp dword [edi], esi
jne 0x4296d2
cmp byte [ebp - 0xdc], 0
je 0x4296d2
mov eax, dword [ebp - 0x104]
xor edx, edx
mov ecx, dword [eax + 0x1bc]
mov eax, dword [eax + 0x1c4]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.00402aa0
mov ecx, dword [ebp - 0xb8]
add esp, 4
mov edx, dword [ecx + 0x19bc]
cmp edx, eax
jne 0x4296d2
mov al, 1
jmp 0x4296d4
xor al, al
cmp edx, esi
je 0x429909
test al, al
jne 0x429909
cmp byte [ebp - 0xdc], al
je 0x42974b
mov eax, dword [ebp - 0xe0]
xor ecx, ecx
mov dl, byte [eax]
lea esi, [eax + 1]
test dl, dl
je 0x429712
nop dword [eax]
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [esi]
cmovne eax, ecx
inc esi
mov ecx, eax
test dl, dl
jne 0x429700
mov al, byte [esi - 1]
dec esi
cmp al, 0xa
je 0x42971f
cmp al, 0xd
je 0x42971f
inc ecx
mov edi, dword [ebp - 0xb8]
movaps xmm0, xmm4
movd xmm7, ecx
add edi, 0x18bc
cvtdq2ps xmm7, xmm7
movss dword [ebp - 0x108], xmm0
mulss xmm7, dword [edi]
movss dword [ebp - 0xc8], xmm7
jmp 0x42977a
mov edi, dword [ebp - 0xe0]
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x429756
sub ecx, edx
lea esi, [ecx + edi]
cmp ecx, 0x200000
jge 0x42a55b
mov edi, dword [ebp - 0xb8]
add edi, 0x18bc
mov eax, dword [ebp - 0x104]
xor ecx, ecx
movss xmm1, dword [0x43964c]
mov eax, dword [eax + 0x270]
mov dword [ebp - 0xf0], eax
call fcn.004031a0
cmp byte [ebp - 0xdc], 0
lea edx, [ebp - 0x40]
movss xmm2, dword [edi]
mov ecx, eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x130], 0
cmovne edx, dword [ebp - 0x130]
mov dword [ebp - 0xec], ecx
mov eax, dword [eax + 0x18b8]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xc0], edi
test ecx, 0xff000000
je 0x42a49d
test esi, esi
jne 0x42980a
mov ecx, dword [ebp - 0xe0]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4297f3
mov eax, dword [ebp - 0xfc]
sub ecx, esi
mov esi, dword [ebp - 0xe0]
add esi, ecx
mov ecx, edi
cmp dword [ebp - 0xe0], esi
je 0x42a4a3
mov ecx, dword [ebp - 0xf0]
test eax, eax
jne 0x42982e
mov eax, dword [ecx + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0xfc], eax
ucomiss xmm2, dword [0x4395dc]
lahf
test ah, 0x44
jp 0x429843
mov eax, dword [ecx + 0x28]
movss xmm2, dword [eax + 0xc]
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ecx + 0x3c]
shl ecx, 4
mov eax, dword [eax + 0x44]
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0x140], xmm0
test edx, edx
je 0x4298c3
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x140]
comiss xmm0, xmm1
jae 0x42987b
movss dword [ebp - 0x140], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x13c]
comiss xmm0, xmm1
jae 0x429895
movss dword [ebp - 0x13c], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0x138]
ja 0x4298ab
movss dword [ebp - 0x138], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0x134]
ja 0x4298c1
movss dword [ebp - 0x134], xmm0
test edx, edx
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0xfc]
lea eax, [ebp - 0x140]
mov dword [esp], 0
push esi
push dword [ebp - 0xe0]
push eax
mov eax, dword [ebp - 0xd0]
push dword [ebp - 0xec]
push dword [eax + 4]
push dword [eax]
push dword [ebp - 0xf0]
call fcn.0041fdb0
mov ecx, edi
jmp 0x42a4a3
movss xmm0, dword [ecx + 0x18]
or esi, 0xffffffff
mov ecx, dword [edi + 0xc]
xorps xmm7, xmm7
mov eax, dword [edi + 0x38]
addss xmm0, dword [edi + 0xe5c]
mov edx, dword [edi + 0x3c]
mov dword [ebp - 0xe8], ecx
lea eax, [ecx + eax*2]
movss dword [ebp - 0x124], xmm6
mov dword [ebp - 0xc0], eax
mov ecx, 1
mov eax, dword [edi + 0x40]
movss dword [edi + 0xe5c], xmm0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x100], esi
mov dword [ebp - 0x114], 0xfffffc19
cmp edx, eax
je 0x429987
mov ecx, dword [ebp - 0xe8]
cmovl eax, edx
mov dword [ebp - 0x114], esi
lea eax, [ecx + eax*2]
mov ecx, 2
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0xdc]
movzx eax, al
add ecx, eax
xor eax, eax
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xe8]
mov edx, eax
movzx eax, word [eax]
test ax, ax
je 0x429a0f
mov esi, eax
nop dword [eax]
cmp si, 0xa
jne 0x4299fb
mov eax, dword [ebp - 0xc4]
inc eax
cmp dword [ebp - 0x100], 0xffffffff
mov dword [ebp - 0xc4], eax
jne 0x4299df
cmp edx, dword [ebp - 0xc0]
jb 0x4299df
dec ecx
mov dword [ebp - 0x100], eax
test ecx, ecx
jle 0x429a09
cmp dword [ebp - 0x114], 0xffffffff
jne 0x4299fb
cmp edx, dword [ebp - 0x118]
jb 0x4299fb
dec ecx
mov dword [ebp - 0x114], eax
test ecx, ecx
jle 0x429a09
movzx eax, word [edx + 2]
add edx, 2
mov esi, eax
test ax, ax
jne 0x4299b0
mov esi, dword [ebp - 0x100]
mov eax, dword [ebp - 0xc4]
inc eax
cmp esi, 0xffffffff
mov ecx, eax
mov dword [ebp - 0xc4], eax
cmovne ecx, esi
mov dword [ebp - 0x11c], ecx
mov ecx, dword [ebp - 0x114]
cmp ecx, 0xffffffff
cmove ecx, eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x114], ecx
mov edx, eax
mov ecx, dword [ebp - 0xe8]
cmp eax, ecx
jbe 0x429a64
nop
cmp word [edx - 2], 0xa
je 0x429a5e
add edx, 0xfffffffe
cmp edx, ecx
ja 0x429a50
mov eax, dword [ebp - 0xc0]
mov ecx, dword [0x4474f0]
movaps xmm1, xmm6
movaps xmm4, xmm6
mov esi, dword [ecx + 0x18b8]
movss xmm2, dword [ecx + 0x18bc]
mov dword [ebp - 0x158], esi
divss xmm2, dword [esi]
cmp edx, eax
jae 0x429aed
nop dword [eax]
movzx eax, word [edx]
add edx, 2
mov dword [ebp - 0x100], eax
mov ecx, eax
cmp eax, 0xa
jne 0x429aac
maxss xmm1, xmm4
movaps xmm4, xmm6
jmp 0x429adf
cmp ecx, 0xd
je 0x429adf
movzx eax, ax
cmp eax, dword [esi + 0x1c]
jge 0x429ad2
mov eax, dword [esi + 0x24]
mov esi, dword [ebp - 0x100]
movzx ecx, si
mov esi, dword [ebp - 0x158]
movss xmm0, dword [eax + ecx*4]
jmp 0x429ad7
movss xmm0, dword [esi + 0x38]
mulss xmm0, xmm2
addss xmm4, xmm0
cmp edx, dword [ebp - 0xc0]
jb 0x429a90
mov ecx, dword [0x4474f0]
cmp dword [ebp - 0x114], 0
maxss xmm4, xmm1
mov eax, dword [ebp - 0xb8]
movd xmm5, dword [ebp - 0x11c]
lea edx, [eax + 0x18bc]
movss xmm3, dword [edx]
cvtdq2ps xmm5, xmm5
mov dword [ebp - 0xc0], edx
movss dword [ebp - 0x158], xmm4
mulss xmm5, xmm3
movss dword [ebp - 0x160], xmm5
jl 0x429be4
mov eax, dword [ebp - 0x118]
mov edx, eax
cmp eax, dword [ebp - 0xe8]
jbe 0x429b6a
mov esi, dword [ebp - 0xe8]
nop dword [eax]
cmp word [edx - 2], 0xa
je 0x429b5e
add edx, 0xfffffffe
cmp edx, esi
ja 0x429b50
mov esi, dword [ecx + 0x18b8]
mov eax, dword [ebp - 0x118]
movaps xmm1, xmm6
movaps xmm7, xmm6
cmp edx, eax
jae 0x429bc3
movzx eax, word [edx]
add edx, 2
cmp eax, 0xa
jne 0x429b88
maxss xmm1, xmm7
movaps xmm7, xmm6
jmp 0x429bb5
cmp eax, 0xd
je 0x429bb5
mov dword [ebp - 0x11c], eax
cmp eax, dword [esi + 0x1c]
jge 0x429ba8
mov eax, dword [esi + 0x24]
mov ecx, dword [ebp - 0x11c]
movss xmm0, dword [eax + ecx*4]
jmp 0x429bad
movss xmm0, dword [esi + 0x38]
mulss xmm0, xmm2
addss xmm7, xmm0
cmp edx, dword [ebp - 0x118]
jb 0x429b74
mov ecx, dword [0x4474f0]
movd xmm0, dword [ebp - 0x114]
maxss xmm7, xmm1
mov edx, dword [ebp - 0xc0]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss dword [ebp - 0x124], xmm0
cmp byte [ebp - 0xdc], 0
je 0x429c1b
mov eax, dword [ebp - 0xc4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss xmm3, dword [ebp - 0xf0]
movss dword [ebp - 0xc8], xmm0
movaps xmm0, xmm3
movss dword [ebp - 0x108], xmm0
jmp 0x429c23
movss xmm3, dword [ebp - 0xf0]
cmp byte [edi + 0xe60], 0
je 0x429ce8
test dword [ebx + 0x10], 0x1000
jne 0x429c7d
movss xmm2, dword [edi + 0x34]
movaps xmm0, xmm3
comiss xmm2, xmm4
mulss xmm0, dword [0x439614]
movaps xmm1, xmm4
jbe 0x429c5e
subss xmm1, xmm0
movaps xmm0, xmm6
maxss xmm0, xmm1
jmp 0x429c6b
subss xmm1, xmm3
comiss xmm1, xmm2
jb 0x429c84
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x34], xmm0
jmp 0x429c84
mov dword [edi + 0x34], 0
cmp byte [ebp - 0xdc], 0
je 0x429ce8
mov eax, dword [ebp - 0x104]
movaps xmm1, xmm5
subss xmm1, dword [edx]
movss xmm6, dword [eax + 0x58]
comiss xmm6, xmm1
jbe 0x429cad
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x429cbc
movaps xmm0, xmm5
subss xmm0, dword [ebp - 0x134]
maxss xmm0, xmm6
subss xmm6, xmm0
movss dword [eax + 0x58], xmm0
addss xmm6, dword [eax + 0xc8]
movss dword [ebp - 0xf8], xmm6
movss dword [eax + 0xc8], xmm6
movss dword [ebp - 0x128], xmm6
xorps xmm6, xmm6
movss xmm4, dword [edi + 0x34]
mov edx, dword [edi + 0x40]
mov esi, dword [edi + 0x3c]
mov byte [edi + 0xe60], 0
movss dword [ebp - 0xf0], xmm4
cmp esi, edx
je 0x429fc5
mov ecx, dword [ebp - 0xe8]
mov eax, edx
cmovl eax, esi
cmp dword [edi + 0x3c], edx
cmovge edx, dword [edi + 0x3c]
cmp byte [ebp - 0xdc], 0
lea esi, [ecx + eax*2]
lea eax, [ecx + edx*2]
mov dword [ebp - 0x100], eax
je 0x429d43
movss dword [ebp - 0x15c], xmm6
movss dword [ebp - 0xc4], xmm6
jmp 0x429d53
movss xmm0, dword [0x43967c]
movss dword [ebp - 0xc4], xmm0
movss xmm1, dword [0x43964c]
mov ecx, 0x2a
call fcn.004031a0
movss xmm6, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xd0]
movaps xmm4, xmm6
addss xmm4, dword [ebp - 0x124]
mov dword [ebp - 0x11c], eax
movss xmm3, dword [ecx]
mov ecx, dword [ebp - 0x100]
addss xmm3, xmm7
subss xmm4, dword [0x4395dc]
subss xmm3, dword [ebp - 0xf0]
movss dword [ebp - 0x124], xmm4
cmp esi, ecx
jae 0x42a026
movss xmm7, dword [ebp - 0x110]
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xc0]
nop word [eax + eax]
movss xmm6, dword [edx]
movaps xmm0, xmm7
addss xmm0, xmm6
comiss xmm4, xmm0
ja 0x429fb7
movss xmm0, dword [ebp - 0x4c]
comiss xmm0, xmm4
jbe 0x429e0f
cmp esi, ecx
jae 0x429f97
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x429f91
cmp esi, ecx
jb 0x429df6
jmp 0x429f91
mov eax, dword [0x4474f0]
xorps xmm0, xmm0
xorps xmm5, xmm5
xorps xmm1, xmm1
mov edx, dword [eax + 0x18b8]
movss xmm2, dword [eax + 0x18bc]
divss xmm2, dword [edx]
cmp esi, ecx
jae 0x429e7a
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x429e6d
cmp eax, 0xd
je 0x429e67
mov ecx, eax
cmp ecx, dword [edx + 0x1c]
jge 0x429e54
mov eax, dword [edx + 0x24]
movss xmm0, dword [eax + ecx*4]
jmp 0x429e59
movss xmm0, dword [edx + 0x38]
mov ecx, dword [ebp - 0x100]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, ecx
jb 0x429e33
jmp 0x429e77
xorps xmm5, xmm5
maxss xmm5, xmm1
xorps xmm1, xmm1
xorps xmm0, xmm0
maxss xmm1, xmm5
comiss xmm0, xmm1
jb 0x429eba
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x18b8]
cmp dword [eax + 0x1c], 0x20
jle 0x429ea2
mov eax, dword [eax + 0x24]
movss xmm0, dword [eax + 0x80]
jmp 0x429ea7
movss xmm0, dword [eax + 0x38]
mulss xmm0, dword [0x439628]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [ebp - 0x15c]
addss xmm1, xmm3
movss xmm0, dword [ebp - 0xc4]
subss xmm2, xmm6
addss xmm3, dword [0x4395dc]
movss xmm6, dword [ebp - 0x50]
addss xmm0, xmm4
movss xmm5, dword [ebp - 0xec]
minss xmm1, xmm5
addss xmm2, xmm4
maxss xmm3, xmm6
minss xmm0, xmm7
movss dword [ebp - 0x20], xmm1
maxss xmm2, dword [ebp - 0x4c]
movss dword [ebp - 0x28], xmm3
comiss xmm0, dword [ebp - 0x130]
movss dword [ebp - 0x24], xmm2
movss dword [ebp - 0x1c], xmm0
jbe 0x429f8b
comiss xmm7, xmm2
jbe 0x429f8b
comiss xmm1, xmm6
jbe 0x429f8b
comiss xmm5, xmm3
jbe 0x429f8b
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x20]
push dword [ebp - 0x11c]
push eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x104]
mov ecx, dword [eax + 0x270]
call fcn.0041d5e0
movss xmm0, dword [ebp - 0xfc]
movss xmm4, dword [ebp - 0x124]
movss xmm7, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x100]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x120], xmm0
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xd0]
movss xmm3, dword [eax]
addss xmm4, dword [edx]
subss xmm3, dword [ebp - 0xf0]
movss dword [ebp - 0x124], xmm4
cmp esi, ecx
jb 0x429dd0
movss xmm4, dword [ebp - 0xf0]
mov ecx, dword [0x4474f0]
movss xmm6, dword [ebp - 0xf8]
cmp byte [ebp - 0xdc], 0
mov edx, dword [edi + 0x28]
movss xmm3, dword [0x4396e4]
jne 0x429fed
cmp edx, 0x200000
jge 0x42a239
movups xmm2, xmmword [ecx + 0x15b8]
mov eax, dword [ebp - 0x104]
xorps xmm5, xmm5
comiss xmm5, xmm2
mov eax, dword [eax + 0x270]
mov dword [ebp - 0xc4], eax
movaps xmm1, xmm2
movaps xmmword [ebp - 0x30], xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [ecx + 0x1518]
jbe 0x42a036
xorps xmm0, xmm0
jmp 0x42a042
movss xmm4, dword [ebp - 0xf0]
mov ecx, dword [0x4474f0]
jmp 0x429fcd
movss xmm0, dword [0x43964c]
minss xmm0, xmm2
movss xmm7, dword [0x439628]
movss xmm2, dword [ebp - 0x2c]
comiss xmm5, xmm2
mulss xmm0, xmm3
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x42a065
xorps xmm0, xmm0
jmp 0x42a071
movss xmm0, dword [0x43964c]
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x28]
mulss xmm0, xmm3
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm5, xmm2
jbe 0x42a091
xorps xmm0, xmm0
jmp 0x42a09d
movss xmm0, dword [0x43964c]
minss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm5, xmm1
jbe 0x42a0b8
xorps xmm0, xmm0
jmp 0x42a0c4
movss xmm0, dword [0x43964c]
minss xmm0, xmm1
mov eax, dword [ebp - 0xd0]
mulss xmm0, xmm3
mov dword [ebp - 0x11c], 0
addss xmm0, xmm7
cvttss2si edi, xmm0
movss xmm0, dword [eax]
mov eax, dword [ebp - 0xc0]
subss xmm0, xmm4
shl edi, 0x18
or edi, ecx
mov ecx, dword [ebp - 0xe0]
cmp byte [ebp - 0xdc], 0
movss xmm2, dword [eax]
mov eax, dword [ebp - 0xb8]
movss dword [ebp - 0x138], xmm0
lea esi, [edx + ecx]
movaps xmm0, xmm6
lea edx, [ebp - 0x40]
cmovne edx, dword [ebp - 0x11c]
subss xmm0, xmm5
mov eax, dword [eax + 0x18b8]
mov dword [ebp - 0x110], eax
movss dword [ebp - 0x134], xmm0
test edi, 0xff000000
je 0x42a23c
test esi, esi
jne 0x42a16d
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42a150
mov eax, dword [ebp - 0x110]
sub ecx, esi
mov esi, dword [ebp - 0xe0]
add esi, ecx
mov ecx, dword [ebp - 0xe0]
cmp ecx, esi
je 0x42a23c
mov ecx, dword [ebp - 0xc4]
test eax, eax
jne 0x42a18b
mov eax, dword [ecx + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x110], eax
ucomiss xmm2, xmm5
lahf
test ah, 0x44
jp 0x42a19c
mov eax, dword [ecx + 0x28]
movss xmm2, dword [eax + 0xc]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ecx + 0x3c]
shl ecx, 4
mov eax, dword [eax + 0x44]
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0x30], xmm0
test edx, edx
je 0x42a201
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x30]
comiss xmm0, xmm1
jae 0x42a1cb
movss dword [ebp - 0x30], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x2c]
comiss xmm0, xmm1
jae 0x42a1df
movss dword [ebp - 0x2c], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0x28]
ja 0x42a1ef
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0x24]
ja 0x42a1ff
movss dword [ebp - 0x24], xmm0
test edx, edx
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0x110]
lea eax, [ebp - 0x30]
mov dword [esp], 0
push esi
push dword [ebp - 0xe0]
push eax
push edi
push dword [ebp - 0x134]
push dword [ebp - 0x138]
push dword [ebp - 0xc4]
call fcn.0041fdb0
xorps xmm5, xmm5
mov esi, dword [ebp - 0xb8]
cmp byte [esi + 0xbe], 0
je 0x42a297
movss xmm0, dword [esi + 0x2b70]
comiss xmm5, xmm0
jae 0x42a297
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x138], xmm0
fld qword [ebp - 0x138]
fld qword [0x439670]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x439640]
fstp qword [ebp - 0x138]
movsd xmm1, qword [ebp - 0x138]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x42a297
xor al, al
jmp 0x42a299
mov al, 1
movss xmm2, dword [ebp - 0xf8]
xorps xmm6, xmm6
mov ecx, dword [ebp - 0xd0]
movss xmm7, dword [0x439628]
movss xmm4, dword [0x43964c]
addss xmm2, dword [ebp - 0x160]
movss xmm5, dword [ecx]
mov ecx, dword [ebp - 0xc0]
addss xmm5, dword [ebp - 0x158]
subss xmm2, xmm6
subss xmm5, dword [ebp - 0xf0]
movss dword [ebp - 0xf8], xmm2
movaps xmm0, xmm2
movaps xmm3, xmm2
subss xmm0, dword [ecx]
movss dword [ebp - 0x11c], xmm5
movaps xmm1, xmm5
movss dword [ebp - 0x28], xmm5
addss xmm1, xmm4
subss xmm3, dword [0x439654]
addss xmm0, xmm7
movss dword [ebp - 0x20], xmm1
movss dword [ebp - 0x1c], xmm3
movss dword [ebp - 0x24], xmm0
test al, al
je 0x42a47a
comiss xmm3, dword [ebp - 0x4c]
jbe 0x42a47a
movss xmm4, dword [ebp - 0x120]
comiss xmm4, xmm0
jbe 0x42a472
comiss xmm1, dword [ebp - 0x50]
jbe 0x42a472
movss xmm0, dword [ebp - 0xfc]
comiss xmm0, xmm5
jbe 0x42a472
mov eax, dword [0x4474f0]
movups xmm2, xmmword [eax + 0x15b8]
comiss xmm6, xmm2
movaps xmm1, xmm2
movaps xmmword [ebp - 0x40], xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [eax + 0x1518]
jbe 0x42a388
xorps xmm0, xmm0
jmp 0x42a394
movss xmm0, dword [0x43964c]
minss xmm0, xmm2
movss xmm4, dword [0x4396e4]
movss xmm2, dword [ebp - 0x3c]
comiss xmm6, xmm2
mulss xmm0, xmm4
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x42a3b7
xorps xmm0, xmm0
jmp 0x42a3c3
movss xmm0, dword [0x43964c]
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x38]
mulss xmm0, xmm4
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm2
jbe 0x42a3e3
xorps xmm0, xmm0
jmp 0x42a3ef
movss xmm0, dword [0x43964c]
minss xmm0, xmm2
mulss xmm0, xmm4
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm6, xmm1
jbe 0x42a40a
xorps xmm0, xmm0
jmp 0x42a416
movss xmm0, dword [0x43964c]
minss xmm0, xmm1
mulss xmm0, xmm4
push ecx
mov dword [esp], 0x3f800000
movss dword [ebp - 0x148], xmm5
addss xmm0, xmm7
movss dword [ebp - 0x144], xmm3
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
push eax
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x104]
mov ecx, dword [eax + 0x270]
call fcn.0041d390
movss xmm2, dword [ebp - 0xf8]
movss xmm5, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0xc0]
movss xmm4, dword [0x43964c]
cmp byte [ebp - 0xf4], 0
je 0x42a4a3
subss xmm2, dword [ecx]
subss xmm5, xmm4
movss dword [esi + 0x2c1c], xmm2
movss dword [esi + 0x2c18], xmm5
jmp 0x42a4a3
mov ecx, dword [ebp - 0xc0]
cmp byte [ebp - 0xdc], 0
je 0x42a555
movss xmm5, dword [ebp - 0xc8]
xorps xmm3, xmm3
addss xmm5, dword [ecx]
mov ecx, dword [0x4474f0]
movss xmm4, dword [ebp - 0x108]
addss xmm4, xmm3
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x42a54b
movss xmm1, dword [eax + 0xc8]
lea ecx, [ebp - 0x148]
movss xmm2, dword [eax + 0xc4]
movaps xmm0, xmm1
addss xmm4, xmm2
movss dword [ebp - 0x24], xmm1
addss xmm0, xmm5
movss dword [ebp - 0x28], xmm2
movss dword [ebp - 0x20], xmm4
subss xmm4, xmm2
movss dword [ebp - 0x1c], xmm0
subss xmm0, xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x148], xmm4
movss dword [ebp - 0x144], xmm0
call fcn.00404810
push 0
xor edx, edx
lea ecx, [ebp - 0x28]
call fcn.00404930
add esp, 4
call fcn.00407880
call fcn.0040ce20
mov edi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x14c]
test cl, cl
je 0x42a570
call fcn.0040c850
mov ecx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0x2c54], 0
je 0x42a59b
test cl, cl
jne 0x42a59b
push 0
mov edx, edi
lea ecx, [ebp - 0x12c]
call fcn.00411e70
mov eax, dword [ebp - 0xb8]
add esp, 4
movss xmm0, dword [ebp - 0x154]
comiss xmm0, dword [0x4395dc]
jbe 0x42a5f4
movss xmm0, dword [ebp - 0x48]
xor edx, edx
addss xmm0, dword [eax + 0x1564]
mov ecx, dword [ebp - 0x150]
movss dword [ebp - 0x12c], xmm0
movss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [eax + 0x1550]
movss dword [ebp - 0x128], xmm0
push dword [ebp - 0x128]
push dword [ebp - 0x12c]
push 1
call fcn.00403360
add esp, 0xc
mov cl, byte [ebp - 0xe1]
test cl, cl
je 0x42a617
mov eax, dword [0x4474f0]
mov byte [eax + 0x19ce], 1
mov eax, dword [eax + 0x199c]
or dword [eax + 0x10c], 4
test byte [ebx + 0x10], 0x20
movzx eax, cl
movzx ecx, byte [ebp - 0xd5]
cmovne eax, ecx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00432b74
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret