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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x15c
mov eax, dword [0x100b6374]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [0x10183428]
mov dword [ebp - 0x140], ecx
mov ecx, esi
mov dword [ebp - 0xb4], eax
push edi
mov edi, dword [ebp + 0x10]
mov eax, dword [ecx + 0x19b0]
mov dword [ebp - 0xa4], ecx
mov byte [eax + 0x7c], 1
mov ebx, dword [ecx + 0x19b0]
mov dword [ebp - 0x134], ebx
cmp byte [ebx + 0x7f], 0
jne 0x100480fe
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xe
mov edx, ecx
and eax, 0xffffff01
shr edx, 0x14
mov dword [ebp - 0xcc], eax
and edx, 0xffffff01
mov eax, ecx
mov dword [ebp - 0xb8], edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0x138], eax
mov eax, ecx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0xe4], eax
mov eax, ecx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x108], eax
test dl, dl
je 0x10047ddb
call fcn.1002d270
mov esi, dword [0x10183428]
mov ecx, dword [ebx + 0xbc]
xor edx, edx
mov eax, dword [ebx + 0xc4]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x140]
call fcn.100227f0
add esp, 4
mov dword [ebp - 0xbc], eax
cmp dword [esi + 0x19e4], eax
jne 0x10047e0f
mov dword [esi + 0x19e8], eax
cmp dword [esi + 0x1a18], eax
jne 0x10047e1e
mov byte [esi + 0x1a1c], 1
mov eax, dword [ebp - 0x140]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x10047e46
nop dword [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x10047e46
cmp dl, 0x23
jne 0x10047e40
cmp byte [ecx + 1], dl
je 0x10047e46
inc ecx
cmp ecx, 0xffffffff
jb 0x10047e30
movss xmm2, dword [esi + 0x18c4]
cmp eax, ecx
jne 0x10047e5f
xorps xmm6, xmm6
movss dword [ebp - 0x144], xmm6
jmp 0x10047eb2
movss xmm3, dword [0x100ad7ec]
push ecx
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x18c0]
lea eax, [ebp - 0x104]
mov dword [esp], 0xbf800000
push eax
call fcn.1003f340
movss xmm0, dword [ebp - 0x104]
xorps xmm6, xmm6
addss xmm0, dword [0x100ad66c]
movss xmm2, dword [ebp - 0x100]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x144], xmm0
cmp byte [ebp - 0xb8], 0
mov edx, dword [ebp - 0xa4]
je 0x10047ed1
movss xmm2, dword [edx + 0x18c4]
mulss xmm2, dword [0x100ad770]
test byte [esi + 0x1a84], 1
mov ecx, dword [esi + 0x19b0]
je 0x10047eea
movss xmm0, dword [esi + 0x1a88]
jmp 0x10047ef2
movss xmm0, dword [ecx + 0x170]
comiss xmm6, xmm0
jbe 0x10047f2a
mov eax, ecx
cmp dword [eax + 0x1c0], 0
movss xmm1, dword [eax + 0x21c]
je 0x10047f12
movss xmm1, dword [eax + 0x1fc]
subss xmm1, dword [ecx + 0xc8]
addss xmm1, xmm0
movss xmm0, dword [0x100ad678]
maxss xmm0, xmm1
movss xmm5, dword [edx + 0x154c]
xorps xmm1, xmm1
movss xmm7, dword [edi]
movaps xmm3, xmm5
comiss xmm6, xmm7
cvttss2si eax, xmm0
addss xmm3, xmm5
movss dword [ebp - 0xfc], xmm7
xorps xmm0, xmm0
movd xmm4, eax
addss xmm3, xmm2
movss xmm2, dword [edi + 4]
cvtdq2ps xmm4, xmm4
movss dword [ebp - 0x114], xmm2
ja 0x10047f71
comiss xmm6, xmm2
jbe 0x10047f92
cmp dword [ecx + 0x1c0], 0
movss xmm0, dword [ecx + 0x21c]
movss xmm1, dword [ecx + 0x220]
je 0x10047f92
movss xmm0, dword [ecx + 0x1fc]
movss xmm2, dword [0x100ad754]
ucomiss xmm7, xmm6
lahf
test ah, 0x44
jp 0x10047fb0
movaps xmm7, xmm4
movss dword [ebp - 0xfc], xmm7
jmp 0x10047fd9
comiss xmm6, xmm7
jbe 0x10047fd9
subss xmm0, dword [ecx + 0xc8]
addss xmm7, xmm0
comiss xmm2, xmm7
movss dword [ebp - 0xfc], xmm7
jb 0x10047fd9
movaps xmm7, xmm2
movss dword [ebp - 0xfc], xmm2
movss xmm0, dword [ebp - 0x114]
ucomiss xmm0, xmm6
lahf
test ah, 0x44
jp 0x10047fef
movaps xmm0, xmm3
jmp 0x10048010
comiss xmm6, xmm0
jbe 0x10048018
subss xmm1, dword [ecx + 0xcc]
addss xmm0, xmm1
comiss xmm2, xmm0
movss dword [ebp - 0x114], xmm0
jb 0x10048018
movaps xmm0, xmm2
movss dword [ebp - 0x114], xmm0
movss xmm1, dword [ebp - 0x144]
comiss xmm1, xmm6
mov esi, dword [ebp - 0xa4]
jbe 0x10048038
movaps xmm2, xmm1
addss xmm2, dword [esi + 0x1560]
jmp 0x1004803b
xorps xmm2, xmm2
cmp byte [ebp - 0xb8], 0
movaps xmm1, xmm7
movss xmm4, dword [ebx + 0xcc]
movss xmm3, dword [ebx + 0xc8]
addss xmm0, xmm4
addss xmm1, xmm3
movss dword [ebp - 0x3c], xmm3
movss dword [ebp - 0x38], xmm4
movss dword [ebp - 0x14], xmm3
movss dword [ebp - 0x10], xmm4
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm7
addss xmm0, xmm2
movss dword [ebp - 0x34], xmm1
movaps xmm1, xmm4
mov dword [ebp - 0xf0], ebx
addss xmm1, dword [ebp - 0x114]
addss xmm0, xmm3
movss dword [ebp - 8], xmm1
movss dword [ebp - 0xc], xmm0
je 0x10048180
mov edi, dword [ebp - 0xbc]
lea eax, [ebp - 0x3c]
push eax
mov edx, edi
lea ecx, [ebp - 0x14]
call fcn.10024cd0
add esp, 4
test al, al
jne 0x10048111
movss xmm0, dword [ebp - 0xc]
lea ecx, [ebp - 0x104]
subss xmm0, dword [ebp - 0x14]
movss xmm1, dword [esi + 0x154c]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 8]
subss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x100], xmm0
call fcn.10024ba0
call fcn.1002d3a0
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1006def6
mov esp, ebp
pop ebp
ret
movss xmm0, dword [ebp - 0x34]
lea edx, [ebp - 0x104]
subss xmm0, dword [ebp - 0x3c]
push ecx
mov ecx, edi
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x30]
subss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x100], xmm0
call fcn.10027bf0
add esp, 4
test al, al
jne 0x10048151
call fcn.10027a40
jmp 0x100480f9
mov ebx, dword [esi + 0x19b0]
movss xmm0, dword [ebp - 0xfc]
mov dword [ebp - 0xf0], ebx
subss xmm0, dword [ebx + 0x70]
mov eax, dword [ebx + 0x134]
or dword [ebx + 0x13c], eax
movss dword [ebp - 0xfc], xmm0
jmp 0x100481c5
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [ebp - 0x104]
movss dword [ebp - 0x100], xmm1
movaps xmm1, xmm5
movss dword [ebp - 0x104], xmm0
call fcn.10024ba0
mov edi, dword [ebp - 0xbc]
lea eax, [ebp - 0x3c]
push eax
mov edx, edi
lea ecx, [ebp - 0x14]
call fcn.10024cd0
add esp, 4
test al, al
je 0x100480fe
mov edx, edi
lea ecx, [ebp - 0x3c]
call fcn.10024e90
mov byte [ebp - 0xaa], al
test al, al
je 0x100481e3
mov dword [esi + 0x1d30], 1
mov eax, dword [ebp - 0xbc]
lea edi, [esi + 0x1e00]
mov esi, dword [ebp - 0x134]
xor ecx, ecx
cmp dword [edi], eax
mov ebx, edi
mov edx, eax
cmovne ebx, ecx
mov ecx, esi
mov dword [ebp - 0xec], ebx
call fcn.10025100
mov edx, dword [ebp - 0xa4]
mov byte [ebp - 0xce], al
test al, al
je 0x10048293
cmp dword [edx + 0x1bdc], esi
jne 0x10048293
mov ecx, dword [edx + 0x1be4]
cmp ecx, dword [esi + 0x164]
jne 0x10048293
mov byte [ebp - 0xa7], 1
mov byte [ebp - 0xae], 0
cmp byte [ebp - 0xaa], 0
je 0x1004825a
cmp byte [edx + 0x3d8], 0
mov byte [ebp - 0x9d], 1
jne 0x10048261
mov byte [ebp - 0x9d], 0
mov esi, dword [edx + 0x19e4]
mov eax, dword [ebp - 0xbc]
cmp esi, eax
je 0x100482ae
cmp dword [edx + 0x1ae4], eax
je 0x1004828a
cmp dword [edx + 0x1ad8], eax
jne 0x100482ae
cmp dword [edx + 0x1af8], 3
jne 0x100482ae
mov byte [ebp - 0xa6], 1
jmp 0x100482b5
mov byte [ebp - 0xa7], 0
test al, al
je 0x1004823a
mov byte [ebp - 0xae], 1
mov byte [ebp - 0xa7], 0
jmp 0x10048241
mov byte [ebp - 0xa6], 0
mov eax, dword [ebp - 0xb8]
test al, al
je 0x10048309
test ebx, ebx
je 0x10048309
test esi, esi
jne 0x10048309
mov eax, dword [ebp - 0xf0]
xor edx, edx
mov ecx, dword [eax + 0xbc]
mov eax, dword [eax + 0xc4]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.100227f0
mov ecx, dword [ebp - 0xa4]
add esp, 4
cmp dword [ecx + 0x1a18], eax
jne 0x10048303
mov byte [ebp - 0xa5], 1
jmp 0x1004831f
mov eax, dword [ebp - 0xb8]
mov byte [ebp - 0xa5], 0
test al, al
je 0x1004834c
mov byte [ebp - 0xa5], 0
test ebx, ebx
je 0x1004834c
mov eax, dword [ebp - 0xf0]
xor edx, edx
mov ecx, dword [eax + 0xbc]
mov eax, dword [eax + 0xc4]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.100227f0
add esp, 4
cmp esi, eax
jne 0x1004834c
mov al, 1
jmp 0x1004834e
xor al, al
mov edx, dword [ebp - 0xbc]
mov cl, byte [ebp - 0xa6]
mov byte [ebp - 0xac], al
mov byte [ebp - 0xc1], 0
cmp esi, edx
je 0x10048385
test byte [ebp + 0x14], 0x10
jne 0x10048375
test cl, cl
je 0x10048385
cmp byte [ebp - 0xb8], 0
mov byte [ebp - 0xd8], 1
je 0x1004838c
mov byte [ebp - 0xd8], 0
cmp byte [ebp - 0xce], 0
jne 0x100484de
cmp byte [ebp - 0x9d], 0
jne 0x100484de
cmp byte [ebp - 0xa5], 0
jne 0x100484de
test cl, cl
jne 0x100484de
mov byte [ebp - 0xa5], cl
test al, al
jne 0x100484e5
mov byte [ebp - 0xad], al
mov edi, edx
mov esi, dword [ebp - 0xa4]
cmp dword [esi + 0x19e4], edi
je 0x10048490
cmp byte [ebp - 0xa5], 0
je 0x10048484
mov edx, dword [ebp - 0x134]
mov ecx, edi
call fcn.10024a00
call fcn.10024ae0
mov ecx, edx
call fcn.1002c820
mov eax, dword [esi + 0x19f8]
mov edx, dword [ebp + 0x14]
or eax, 3
cmp byte [ebp - 0xb8], 0
mov dword [esi + 0x19f8], eax
jne 0x10048428
test dl, dl
jns 0x10048431
or eax, 0xc
mov dword [esi + 0x19f8], eax
mov eax, dword [esi + 0x1a00]
or dword [esi + 0x19fc], 2
or eax, 0x180
cmp byte [ebp - 0xb8], 0
mov ecx, dword [esi + 0x1a04]
mov dword [esi + 0x1a00], eax
mov dword [esi + 0x1a04], ecx
je 0x1004846d
or eax, 0x60
mov dword [esi + 0x1a04], ecx
mov dword [esi + 0x1a00], eax
test edx, 0x440
je 0x10048484
or eax, 1
mov dword [esi + 0x1a04], ecx
mov dword [esi + 0x1a00], eax
cmp dword [esi + 0x19e4], edi
jne 0x1004872e
test ebx, ebx
jne 0x1004849d
xor edx, edx
xor ecx, ecx
call fcn.10024a00
cmp dword [esi + 0x19e4], edi
jne 0x1004872e
cmp byte [esi + 0x3d8], 0
je 0x1004873b
cmp byte [ebp - 0xad], 0
jne 0x1004873b
cmp byte [ebp - 0xa5], 0
jne 0x1004873b
mov byte [ebp - 0xc1], 1
mov cl, 1
jmp 0x10048741
mov byte [ebp - 0xa5], 1
mov byte [ebp - 0xad], 1
mov dword [ebp - 0xec], ebx
cmp esi, edx
je 0x100483cf
mov ecx, dword [ebp - 0xb4]
mov ebx, edi
mov dword [ebp - 0xec], ebx
mov dword [ebx + 0xe60], 0xbe99999a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10048515
mov edi, dword [ebx + 0x28]
lea eax, [ebx + 0x24]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, edi
jle 0x10048554
test edi, edi
je 0x1004853c
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10048541
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0x24]
push eax
call fcn.10033020
lea eax, [ebx + 0x24]
push esi
push dword [ebp - 0xb4]
mov dword [eax], esi
push dword [ebx + 0x2c]
call fcn.10070570
mov edi, dword [ebp + 0xc]
lea eax, [ebx + 0xc]
mov esi, dword [eax + 4]
inc edi
add esp, 0xc
cmp edi, esi
jle 0x1004859f
test esi, esi
je 0x10048587
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x1004858c
mov ecx, 8
cmp ecx, edi
mov eax, edi
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.10033090
lea eax, [ebx + 0xc]
mov dword [eax], edi
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
jns 0x100485c1
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0x18]
call fcn.10033020
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0xb4]
dec eax
mov dword [ebx + 0x18], 0
mov edi, edx
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov byte [ebx + 0x30], 0
mov dword [ebp - 0xc8], ecx
lea eax, [ecx + eax*2]
cmp ecx, eax
jae 0x1004863f
nop word [eax + eax]
cmp byte [edi], 0
je 0x10048639
push 0
mov edx, edi
lea ecx, [ebp - 0xd4]
call fcn.10022b20
add edi, eax
add esp, 4
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x10048633
cmp eax, 0xffff
ja 0x10048620
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0xc8]
dec eax
lea eax, [ecx + eax*2]
cmp esi, eax
jb 0x100485f0
jmp 0x10048639
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xb4]
xor eax, eax
sub edi, edx
mov word [esi], ax
sub esi, ecx
sar esi, 1
mov dword [ebx + 8], edi
mov edi, dword [ebp - 0xbc]
mov dword [ebx + 4], esi
cmp dword [ebx], edi
jne 0x1004867e
cmp dword [ebx + 0x3c], esi
mov ecx, esi
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], esi
mov dword [ebx + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [ebx + 0x40]
cmp dword [ebx + 0x44], esi
mov dword [ebx + 0x40], ecx
cmovl esi, dword [ebx + 0x44]
mov dword [ebx + 0x44], esi
jmp 0x100486df
mov ecx, dword [ebp - 0xb8]
mov dword [ebx + 0x38], eax
mov dword [ebx + 0xe58], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x50], eax
mov al, cl
xor al, 1
mov dword [ebx], edi
mov dword [ebx + 0xe52], 0x630000
mov dword [ebx + 0xe5c], 0x3e7
mov dword [ebx + 0x48], 0x10000
mov byte [ebx + 0x4c], al
test cl, cl
jne 0x100486e5
mov ecx, dword [ebp - 0xd8]
mov eax, 1
cmp byte [ebp - 0xa7], 0
movzx ecx, cl
cmovne ecx, eax
mov dword [ebp - 0xd8], ecx
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp + 0x14]
test edx, 0x2000
je 0x100486f4
mov byte [ebx + 0x48], 1
test cl, cl
jne 0x100483d1
cmp byte [ebp - 0xae], cl
jne 0x10048722
cmp byte [ebp - 0x9d], cl
je 0x100483d1
mov eax, dword [ebp - 0xa4]
cmp byte [eax + 0x100], cl
je 0x100483d1
mov byte [ebp - 0xd8], 1
jmp 0x100483d1
test ebx, ebx
je 0x1004873f
cmp byte [ebp - 0xac], 0
je 0x1004873f
mov cl, 1
jmp 0x10048741
xor cl, cl
mov byte [ebp - 0xa5], cl
test ebx, ebx
je 0x1004875e
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x1004875e
test cl, cl
je 0x1004875e
mov edx, 1
jmp 0x10048760
xor dl, dl
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x12c], edx
mov byte [ebp - 0xcd], dl
mov byte [ebp - 0xce], 0
mov byte [ebp - 0xae], 0
test al, al
je 0x1004889f
test ebx, ebx
je 0x1004889f
test cl, cl
jne 0x1004879c
test dl, dl
je 0x100488a7
mov esi, dword [ebp + 0xc]
lea eax, [ebx + 0xc]
mov edi, dword [eax + 4]
inc esi
cmp esi, edi
jle 0x100487d3
test edi, edi
je 0x100487bb
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x100487c0
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.10033090
lea eax, [ebx + 0xc]
mov edx, dword [ebp - 0xb4]
mov edi, edx
mov dword [eax], esi
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xc8], ecx
lea eax, [ecx + eax*2]
cmp ecx, eax
jae 0x10048840
cmp byte [edi], 0
je 0x1004883a
push 0
mov edx, edi
lea ecx, [ebp - 0xd4]
call fcn.10022b20
add edi, eax
add esp, 4
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x10048834
cmp eax, 0xffff
ja 0x10048822
mov word [esi], ax
add esi, 2
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp + 0xc]
lea eax, [ecx + edx*2]
cmp esi, eax
jb 0x100487f2
jmp 0x1004883a
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xb4]
xor eax, eax
sub edi, edx
mov word [esi], ax
sub esi, ecx
movzx eax, byte [ebp - 0xcd]
sar esi, 1
cmp dword [ebx + 0x3c], esi
mov ecx, esi
mov dword [ebx + 4], esi
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], esi
mov dword [ebx + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [ebx + 0x40]
cmp dword [ebx + 0x44], esi
mov dword [ebx + 8], edi
cmovl esi, dword [ebx + 0x44]
xor edx, edx
mov edi, dword [ebp - 0xbc]
cmp ecx, esi
mov dword [ebx + 0x40], ecx
mov cl, byte [ebp - 0xa5]
cmovne edx, eax
mov eax, dword [ebp - 0xcc]
mov dword [ebx + 0x44], esi
mov esi, dword [ebp - 0xa4]
mov dword [ebp - 0x12c], edx
test cl, cl
jne 0x100488af
test dl, dl
jne 0x100488af
cmp dword [esi + 0x19e4], edi
jne 0x100488c3
test al, al
jne 0x100488c3
test ebx, ebx
je 0x100488c3
mov byte [ebp - 0xcd], 1
cmp byte [ebx + 0x30], al
jne 0x100488ca
mov byte [ebp - 0xcd], 0
cmp byte [ebp - 0x138], 0
je 0x10048971
mov esi, dword [esi + 0x18c0]
cmp dword [esi + 0x14], 0x2a
jg 0x100488e8
mov edi, dword [esi + 0x2c]
jmp 0x10048907
mov eax, dword [esi + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x100488fe
mov edi, dword [esi + 0x2c]
jmp 0x10048907
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x28]
lea edi, [eax + ecx*8]
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xa4]
add edx, 0x2c74
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x18c0]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [esi + 0x18c0]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [edx + 0x30], ecx
mov ecx, edx
mov dword [edx + 0x34], eax
mov eax, dword [esi + 0x18c0]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x18c0]
mov eax, dword [eax + 0x50]
mov dword [edx + 0x50], eax
mov eax, dword [esi + 0x18c0]
mov eax, dword [eax + 0x38]
mov dword [edx + 0x38], eax
mov dword [edx + 0x2c], edi
mov eax, dword [edi + 4]
mov dword [edx + 0xc], eax
call fcn.1002cac0
mov edi, dword [ebp - 0xbc]
mov dword [ebp - 0x110], 0
cmp dword [esi + 0x19e4], edi
jne 0x10048db6
mov eax, dword [ebx + 8]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x34], eax
mov eax, dword [ebp + 0x14]
mov dword [ebx + 0xe68], eax
mov dword [ebx + 0xe6c], 0
mov dword [ebx + 0xe70], 0
mov dl, byte [esi + 0xf0]
test dl, dl
mov dword [esi + 0x2f7c], 1
sete al
cmp byte [ebp - 0xb8], 0
mov byte [esi + 0x19f1], al
movss xmm7, dword [esi + 0xe8]
subss xmm7, dword [ebp - 0x3c]
subss xmm7, dword [esi + 0x1548]
addss xmm7, dword [ebx + 0x38]
je 0x10048a17
mov eax, dword [ebp - 0xf0]
movss xmm2, dword [esi + 0xec]
subss xmm2, dword [eax + 0xcc]
subss xmm2, dword [esi + 0x154c]
jmp 0x10048a27
movss xmm2, dword [esi + 0x18c4]
mulss xmm2, dword [0x100ad63c]
cmp byte [ebp - 0xd8], 0
mov al, byte [esi + 0xb1]
mov byte [ebp - 0xc2], al
jne 0x10048bf9
mov cl, byte [ebp - 0xaa]
test cl, cl
je 0x10048a5e
test al, al
jne 0x10048b0c
cmp byte [esi + 0x3dd], al
jne 0x10048bf9
mov edi, dword [ebp - 0xa4]
lea esi, [ebx + 0xe65]
mov al, byte [esi]
cmp byte [edi + 0x3d8], 0
je 0x10048b70
test al, al
jne 0x10048b70
test cl, cl
je 0x10048abf
cmp byte [ebx + 0x4c], al
je 0x10048a9e
push 0
mov edx, ebx
lea ecx, [ebp - 0x2c]
call fcn.100464a0
movss xmm2, dword [ebp - 0x20]
add esp, 4
movaps xmm1, xmm7
mov ecx, ebx
call fcn.100467b0
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], eax
mov byte [ebx + 0x4b], 0
mov dword [ebx + 0xe60], 0xbe99999a
mov ecx, esi
mov esi, edi
cmp byte [ecx], 0
je 0x10048ad4
cmp byte [esi + 0xf0], 0
jne 0x10048ad4
mov byte [ecx], 0
cmp byte [esi + 0x100], 0
je 0x10048ae6
cmp byte [esi + 0x102], 0
je 0x10048b00
cmp byte [ebp - 0xc2], 0
je 0x10048c1b
cmp byte [esi + 0x103], 0
je 0x10048c1b
mov byte [ebp - 0x9d], 1
jmp 0x10048c22
cmp byte [esi + 0x3dd], 0
je 0x10048a5e
push 0x20000c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10046ba0
add esp, 4
mov byte [ebx + 0xe64], 1
lea edx, [ebx + 0x3c]
mov dword [ebx + 0xe60], 0xbe99999a
mov ecx, ebx
push 0x60000d
call fcn.10046ba0
mov esi, dword [ebp - 0xa4]
lea ecx, [ebx + 0xe65]
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x10048ac3
mov ecx, esi
test dl, dl
je 0x10048ac1
test al, al
jne 0x10048ac1
movss xmm0, dword [edi + 0x378]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10048bab
movss xmm0, dword [edi + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10048ac1
cmp byte [ebx + 0x4c], 0
je 0x10048bc5
push 0
mov edx, ebx
lea ecx, [ebp - 0x2c]
call fcn.100464a0
movss xmm2, dword [ebp - 0x20]
add esp, 4
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x10048bd3
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x40], eax
movaps xmm1, xmm7
mov ecx, ebx
call fcn.100467b0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
jmp 0x10048abf
mov eax, dword [ebx + 4]
lea ecx, [ebx + 0xe65]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
mov byte [ecx], 1
jmp 0x10048ac3
mov byte [ebp - 0x9d], 0
mov edx, dword [ebp + 0x14]
test edx, 0x400
je 0x10048e30
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x10048e30
call fcn.10027720
mov ecx, dword [ebp - 0xcc]
test al, al
mov al, byte [ebp - 0x9d]
je 0x10048ce3
test al, al
jne 0x10048ce3
cmp byte [esi + 0x101], al
jne 0x10048ce3
test cl, cl
jne 0x10048ce3
mov ecx, dword [esi + 0x1508]
mov eax, dword [esi + 0x1500]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x10048c91
mov ax, word [ecx]
add ecx, 2
cmp ax, 9
je 0x10048cd7
cmp ecx, edx
jb 0x10048c81
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xc8]
sub esp, 8
mov dword [ebp - 0xc8], 9
call fcn.10047b70
add esp, 8
test al, al
je 0x10048cd7
push dword [ebp - 0xc8]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10046ba0
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
mov al, byte [ebp - 0x9d]
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp + 0x14]
cmp dword [esi + 0x1500], 0
lea edi, [esi + 0x1500]
jle 0x10048db0
test al, al
jne 0x10048d8b
test cl, cl
jne 0x10048d8b
cmp byte [ebp - 0xa6], cl
jne 0x10048d8b
mov ecx, dword [ebp - 0xa4]
xor esi, esi
nop dword [eax]
mov eax, dword [ecx + 0x1508]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0xc8], eax
cmp eax, 9
jne 0x10048d3e
cmp byte [ecx + 0x101], 0
jne 0x10048d7d
sub esp, 8
lea ecx, [ebp - 0xc8]
call fcn.10047b70
add esp, 8
test al, al
je 0x10048d77
push dword [ebp - 0xc8]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10046ba0
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp + 0x14]
inc esi
cmp esi, dword [edi]
jl 0x10048d20
mov esi, dword [ebp - 0xa4]
mov ecx, dword [edi + 4]
test ecx, ecx
jns 0x10048daa
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
mov ecx, edi
call fcn.10033090
mov dword [edi], 0
mov edi, dword [ebp - 0xbc]
xor cl, cl
mov byte [ebp - 0x9e], cl
cmp dword [esi + 0x19e4], edi
jne 0x10049ea8
cmp byte [esi + 0x19f0], cl
jne 0x10049943
cmp byte [ebp - 0xc1], cl
jne 0x10049943
mov ah, byte [esi + 0x101]
mov ecx, 0x400000
xor esi, esi
test ah, ah
cmovne esi, ecx
mov ecx, dword [ebp - 0xa4]
mov dh, byte [ecx + 0xb1]
mov al, byte [ecx + 0x100]
mov byte [ebp - 0xf1], dh
test dh, dh
je 0x10048e49
cmp byte [ecx + 0x103], 0
lea edi, [ecx + 0x103]
mov dword [ebp - 0xe0], edi
je 0x10048e41
test al, al
jne 0x10048e41
mov ecx, 1
jmp 0x10048e43
mov al, byte [ebp - 0x9d]
mov ecx, dword [ebp - 0xcc]
jmp 0x10048ce6
xor ecx, ecx
test ecx, ecx
je 0x10048e7f
jmp 0x10048e60
add ecx, 0x103
test al, al
je 0x10048e77
cmp byte [ecx], 0
jne 0x10048e77
mov edi, ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xa4]
cmp byte [ecx + 0x102], 0
jne 0x10048e7f
test ah, ah
jne 0x10048e7f
mov ch, 1
jmp 0x10048e81
mov edi, ecx
mov dword [ebp - 0xe0], edi
xor ch, ch
mov byte [ebp - 0xa7], ch
mov cl, al
test dh, dh
je 0x10048ee2
mov ebx, dword [ebp - 0xa4]
cmp byte [ebx + 0x103], 0
mov ebx, dword [ebp - 0xec]
je 0x10048ee2
test ah, ah
je 0x10048ee2
mov ebx, dword [ebp - 0xa4]
mov dl, byte [ebx + 0x100]
mov ebx, dword [ebp - 0xec]
mov cl, dl
mov byte [ebp - 0x9d], dl
test dl, dl
jne 0x10048ee2
mov ebx, dword [ebp - 0xa4]
cmp byte [ebx + 0x102], 0
mov ebx, dword [ebp - 0xec]
jne 0x10048ee2
mov byte [ebp - 0xaa], 1
jmp 0x10048ef9
mov byte [ebp - 0x9d], cl
mov dl, cl
mov byte [ebp - 0xaa], 0
test dh, dh
je 0x10048fcc
cmp byte [edi], 0
mov ebx, dword [ebp - 0xa4]
mov al, byte [ebx + 0x102]
mov ebx, dword [ebp - 0xec]
mov byte [ebp - 0xa9], al
je 0x10048fe1
test dl, dl
jne 0x10048fe1
test al, al
jne 0x10048fe1
mov byte [ebp - 0xa8], 1
mov cl, byte [ebp - 0xa8]
mov byte [ebp - 0xac], cl
mov byte [ebp - 0xa8], cl
mov byte [ebp - 0xa9], al
mov byte [ebp - 0xa6], 0
test ah, ah
je 0x10049025
mov byte [ebp - 0xa8], cl
mov byte [ebp - 0xa9], al
mov byte [ebp - 0xa6], 0
test dl, dl
jne 0x10049025
mov byte [ebp - 0xa6], dl
mov edx, dword [ebp - 0xa4]
mov byte [ebp - 0xa8], cl
mov byte [ebp - 0xa9], al
cmp byte [edx + 0x102], 0
jne 0x10049025
cmp byte [edi], 0
mov byte [ebp - 0xa8], cl
mov byte [ebp - 0xa9], al
mov byte [ebp - 0xa6], 0
jne 0x10049025
mov byte [ebp - 0xab], 1
mov byte [ebp - 0xa8], cl
mov byte [ebp - 0xa9], al
mov byte [ebp - 0xa6], 0
jmp 0x1004902c
mov al, dl
mov byte [ebp - 0xaa], 0
mov byte [ebp - 0xa9], al
mov byte [ebp - 0x9d], dl
mov byte [ebp - 0xa8], 0
test dl, dl
je 0x10048f31
test ah, ah
jne 0x10048f31
mov ebx, dword [ebp - 0xa4]
cmp byte [ebx + 0x102], ah
mov ebx, dword [ebp - 0xec]
jne 0x10048f31
cmp byte [edi], ah
jne 0x10048f31
mov byte [ebp - 0xa6], 1
mov byte [ebp - 0xac], ah
mov byte [ebp - 0xab], 0
test ch, ch
je 0x10049048
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x80]
test ecx, ecx
js 0x10049048
call fcn.10027720
test al, al
jne 0x10049066
cmp byte [ebp - 0xab], 0
je 0x10049092
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x10049092
call fcn.10027720
test al, al
je 0x10049092
cmp byte [ebp - 0xcc], 0
jne 0x10049092
cmp byte [ebp - 0x138], 0
jne 0x10049092
cmp byte [ebp - 0xb8], 0
je 0x10049089
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x10049092
mov byte [ebp - 0xad], 1
jmp 0x10049099
mov byte [ebp - 0xad], 0
cmp byte [ebp - 0xa7], 0
je 0x100490b7
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x100490b7
call fcn.10027720
test al, al
jne 0x100490d5
cmp byte [ebp - 0xa6], 0
je 0x100490f8
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x100490f8
call fcn.10027720
test al, al
je 0x100490f8
cmp byte [ebp - 0x138], 0
jne 0x100490f8
cmp byte [ebp - 0xb8], 0
je 0x100490ef
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x100490f8
mov byte [ebp - 0xa6], 1
jmp 0x100490ff
mov byte [ebp - 0xa6], 0
cmp byte [ebp - 0xa7], 0
je 0x1004911d
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x1004911d
call fcn.10027720
test al, al
jne 0x1004913b
cmp byte [ebp - 0xab], 0
je 0x1004914b
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x1004914b
call fcn.10027720
test al, al
je 0x1004914b
cmp byte [ebp - 0xcc], 0
mov byte [ebp - 0xc2], 1
je 0x10049152
mov byte [ebp - 0xc2], 0
mov dl, byte [ebp - 0xa7]
test dl, dl
je 0x10049195
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x10049195
call fcn.10027720
test al, al
je 0x1004918f
cmp byte [ebp - 0xcc], 0
jne 0x1004918f
cmp byte [ebp - 0xe4], 0
je 0x1004918f
mov byte [ebp - 0xab], 1
jmp 0x100491a0
mov dl, byte [ebp - 0xa7]
mov byte [ebp - 0xab], 0
test dl, dl
je 0x100491b8
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x100491b8
call fcn.10027720
test al, al
jne 0x100491d9
cmp byte [ebp - 0xaa], 0
je 0x100491f2
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x100491f2
call fcn.10027720
test al, al
je 0x100491f2
cmp byte [ebp - 0xcc], 0
jne 0x100491f2
cmp byte [ebp - 0xe4], 0
mov byte [ebp - 0xaa], 1
jne 0x100491f9
mov byte [ebp - 0xaa], 0
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x10049254
call fcn.10027720
test al, al
je 0x10049254
cmp byte [ebp - 0xac], 0
je 0x1004922e
mov eax, 0x200004
lea edx, [ebx + 0x3c]
or eax, esi
mov ecx, ebx
push eax
call fcn.10046ba0
jmp 0x100498f8
cmp byte [ebp - 0xa9], 0
lea edx, [ebx + 0x3c]
mov ecx, 0x20000c
mov eax, 0x200000
cmovne eax, ecx
mov ecx, ebx
or eax, esi
push eax
call fcn.10046ba0
jmp 0x100498f8
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x100492af
call fcn.10027720
test al, al
je 0x100492af
cmp byte [ebp - 0xac], 0
je 0x10049289
mov eax, 0x200005
lea edx, [ebx + 0x3c]
or eax, esi
mov ecx, ebx
push eax
call fcn.10046ba0
jmp 0x100498f8
cmp byte [ebp - 0xa9], 0
lea edx, [ebx + 0x3c]
mov ecx, 0x20000d
mov eax, 0x200001
cmovne eax, ecx
mov ecx, ebx
or eax, esi
push eax
call fcn.10046ba0
jmp 0x100498f8
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x10049327
call fcn.10027720
test al, al
je 0x10049327
cmp byte [ebp - 0xb8], 0
je 0x10049327
cmp byte [ebp - 0x9d], 0
je 0x10049307
mov edx, dword [ebp - 0xf0]
xorps xmm1, xmm1
mov esi, dword [ebp - 0xa4]
movss xmm0, dword [edx + 0x54]
subss xmm0, dword [esi + 0x18c4]
mov dword [edx + 0x6c], 0
maxss xmm0, xmm1
movss dword [edx + 0x64], xmm0
jmp 0x10049912
movzx eax, byte [ebp - 0xa8]
lea edx, [ebx + 0x3c]
mov ecx, ebx
lea eax, [eax*4 + 0x200002]
or eax, esi
push eax
call fcn.10046ba0
jmp 0x100498f8
mov edi, dword [0x10183428]
mov ecx, dword [edi + 0x44]
test ecx, ecx
js 0x100493a4
call fcn.10027720
test al, al
je 0x100493a4
cmp byte [ebp - 0xb8], 0
je 0x100493a4
cmp byte [ebp - 0x9d], 0
je 0x10049384
mov esi, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edi + 0x19b0]
movss xmm0, dword [esi + 0x18c4]
addss xmm0, dword [ecx + 0x54]
minss xmm0, dword [eax + 0x5c]
mov dword [ecx + 0x6c], 0
movss dword [ecx + 0x64], xmm0
jmp 0x10049912
movzx eax, byte [ebp - 0xa8]
lea edx, [ebx + 0x3c]
mov ecx, ebx
lea eax, [eax*4 + 0x200003]
or eax, esi
push eax
call fcn.10046ba0
jmp 0x100498f8
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x100493e0
call fcn.10027720
test al, al
je 0x100493e0
mov eax, esi
lea edx, [ebx + 0x3c]
or eax, 0x200006
or esi, 0x200004
cmp byte [ebp - 0x9d], 0
mov ecx, ebx
cmovne esi, eax
push esi
call fcn.10046ba0
jmp 0x100498f8
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x1004941c
call fcn.10027720
test al, al
je 0x1004941c
mov eax, esi
lea edx, [ebx + 0x3c]
or eax, 0x200007
or esi, 0x200005
cmp byte [ebp - 0x9d], 0
mov ecx, ebx
cmovne esi, eax
push esi
call fcn.10046ba0
jmp 0x100498f8
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x10049450
call fcn.10027720
test al, al
je 0x10049450
cmp byte [ebp - 0xcc], 0
jne 0x10049450
or esi, 0x200008
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.10046ba0
jmp 0x100498f8
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x100494f7
call fcn.10027720
test al, al
je 0x100494f7
cmp byte [ebp - 0xcc], 0
jne 0x100494f7
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x100494e1
cmp byte [ebp - 0xa9], 0
je 0x10049492
push 0x60000c
jmp 0x100494c3
cmp byte [ebp - 0xf1], 0
je 0x100494e1
mov eax, dword [ebp - 0xe0]
cmp byte [eax], 0
je 0x100494e1
mov eax, dword [ebp - 0xa4]
cmp byte [eax + 0x102], 0
jne 0x100494e1
cmp byte [ebp - 0x9d], 0
jne 0x100494e1
push 0x600004
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10046ba0
mov dword [ebx + 0xe60], 0xbe99999a
add esp, 4
mov byte [ebx + 0xe64], 1
or esi, 0x200009
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.10046ba0
jmp 0x100498f8
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x68]
test ecx, ecx
js 0x1004950c
call fcn.10027720
test al, al
jne 0x10049529
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x100495ac
call fcn.10027720
test al, al
je 0x100495ac
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0xb8], 0
je 0x10049549
test al, al
je 0x1004955c
cmp byte [ebp - 0x9d], 0
jne 0x10049565
mov byte [ebp - 0xc1], 1
mov byte [ebp - 0xae], 1
jmp 0x1004990c
cmp byte [ebp - 0x9d], 0
jne 0x10049549
cmp byte [ebp - 0xcc], 0
jne 0x1004990c
sub esp, 8
mov dword [ebp - 0xc8], 0xa
mov edx, ecx
lea ecx, [ebp - 0xc8]
call fcn.10047b70
add esp, 8
test al, al
je 0x1004990c
push dword [ebp - 0xc8]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10046ba0
jmp 0x100498f8
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
js 0x100495d4
call fcn.10027720
test al, al
je 0x100495d4
mov esi, dword [ebp - 0xa4]
mov cl, 1
mov byte [ebp - 0xc1], cl
jmp 0x10049918
mov al, byte [ebp - 0xab]
test al, al
jne 0x100498d9
cmp byte [ebp - 0xaa], al
jne 0x100498d9
cmp byte [ebp - 0xa7], al
je 0x10049624
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x74]
test ecx, ecx
js 0x10049624
call fcn.10027720
test al, al
je 0x10049624
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
jmp 0x10049905
mov al, byte [ebp - 0xad]
test al, al
jne 0x100497cd
cmp byte [ebp - 0xa6], al
jne 0x100497cd
cmp byte [ebp - 0xc2], al
je 0x1004990c
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0xd0]
test ecx, ecx
je 0x1004966f
push dword [eax + 0xd8]
call ecx
mov esi, eax
add esp, 4
test esi, esi
jne 0x10049674
jmp 0x1004990c
mov esi, 0x100a758f
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10049680
mov eax, dword [0x10183428]
sub ecx, edx
test eax, eax
je 0x10049698
inc dword [eax + 0x374]
lea eax, [ecx*2 + 2]
push eax
call fcn.100772af
add esp, 4
mov dword [ebp - 0xc0], eax
xor edi, edi
cmp byte [esi], 0
je 0x10049712
mov ebx, eax
nop word [eax + eax]
push 0
mov edx, esi
lea ecx, [ebp - 0xe0]
call fcn.10022b20
add esp, 4
add esi, eax
cmp dword [ebp - 0xe0], 0
je 0x10049706
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xe0]
sub esp, 8
call fcn.10047b70
add esp, 8
test al, al
je 0x10049701
mov ax, word [ebp - 0xe0]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x100496c0
mov ebx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xc0]
xor ecx, ecx
mov word [eax + edi*2], cx
test edi, edi
jle 0x100497ab
mov edx, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ebx + 4]
cmp ecx, edx
je 0x10049746
cmp ecx, eax
jle 0x10049736
mov dword [ebx + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x1004973f
mov dword [ebx + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x10049746
mov dword [ebx + 0x3c], ecx
cmp dword [ebx + 0x3c], eax
jle 0x1004974e
mov dword [ebx + 0x3c], eax
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10046b10
mov edx, dword [ebx + 0x3c]
mov ecx, ebx
push edi
push dword [ebp - 0xc0]
call fcn.10046680
add esp, 8
test al, al
je 0x1004978a
mov edx, dword [ebx + 0x3c]
lea ecx, [ebx + 0x54]
push edi
push 0
call fcn.10047860
add esp, 8
mov byte [ebx + 0x4b], 0
add dword [ebx + 0x3c], edi
jmp 0x1004979e
movzx eax, word [ebx + 0xe52]
test ax, ax
je 0x1004979e
dec eax
mov word [ebx + 0xe52], ax
mov eax, dword [ebp - 0xc0]
mov byte [ebx + 0xe64], 1
test eax, eax
je 0x100497bf
mov ecx, dword [0x10183428]
test ecx, ecx
je 0x100497bf
dec dword [ecx + 0x374]
push eax
call fcn.100767d2
add esp, 4
jmp 0x1004990c
mov esi, dword [ebp - 0xa4]
cmp dword [esi + 0xd4], 0
je 0x10049899
mov edi, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
cmp eax, edi
je 0x100497f4
mov ecx, edi
cmovge edi, eax
cmovl ecx, eax
jmp 0x100497f9
mov edi, dword [ebx + 4]
xor ecx, ecx
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xc8], ecx
lea edx, [eax + edi*2]
lea ecx, [eax + ecx*2]
call fcn.10022de0
mov ecx, dword [0x10183428]
inc eax
mov dword [ebp - 0xd4], eax
test ecx, ecx
je 0x10049824
inc dword [ecx + 0x374]
push eax
call fcn.100772af
mov esi, dword [ebx + 0x14]
add esp, 4
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xf8], eax
lea ecx, [esi + edi*2]
push ecx
mov ecx, dword [ebp - 0xc8]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.10022cb0
mov eax, dword [0x10183428]
add esp, 8
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x10049876
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x10183428]
add esp, 8
test esi, esi
je 0x10049884
test eax, eax
je 0x10049884
dec dword [eax + 0x374]
push esi
call fcn.100767d2
mov al, byte [ebp - 0xad]
add esp, 4
mov esi, dword [ebp - 0xa4]
test al, al
je 0x10049912
mov eax, dword [ebx + 0x40]
lea esi, [ebx + 0x3c]
cmp eax, dword [ebx + 0x44]
jne 0x100498bb
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [esi], eax
mov byte [ebx + 0x4b], 0
mov byte [ebx + 0xe64], 1
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1004990c
mov edx, esi
mov ecx, ebx
call fcn.10046b10
mov byte [esi + 0xf], 0
jmp 0x1004990c
movzx eax, al
lea edx, [ebx + 0x3c]
xor eax, 1
mov ecx, ebx
add eax, 0x20000a
push eax
call fcn.10046ba0
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
add esp, 4
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
mov esi, dword [ebp - 0xa4]
mov cl, byte [ebp - 0x9e]
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x1004992d
cmp byte [ebp - 0xa5], 0
je 0x1004992d
mov al, 1
jmp 0x1004992f
xor al, al
mov edx, dword [ebp - 0x12c]
mov edi, dword [ebp - 0xbc]
or dl, al
mov dword [ebp - 0x12c], edx
cmp dword [esi + 0x19e4], edi
jne 0x10049ea8
xor eax, eax
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xd8], eax
test cl, cl
je 0x100499cc
cmp byte [ebp - 0xcc], al
jne 0x100499b1
mov esi, dword [ebx + 0x2c]
mov ecx, esi
mov eax, dword [ebp - 0xb4]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10049998
test dl, dl
je 0x10049994
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10049998
add eax, 2
add ecx, 2
test dl, dl
jne 0x10049978
xor eax, eax
jmp 0x1004999d
sbb eax, eax
or eax, 1
test eax, eax
je 0x100499b1
mov eax, dword [ebx + 0x24]
dec eax
mov dword [ebp - 0xe8], esi
mov dword [ebp - 0xd8], eax
cmp byte [ebp - 0xae], 0
mov edx, dword [ebp + 0x14]
je 0x10049da1
test dl, 0x20
je 0x10049da1
jmp 0x100499cf
mov edx, dword [ebp + 0x14]
cmp byte [ebp - 0xcc], 0
jne 0x10049a30
mov eax, dword [ebx + 0xc]
mov byte [ebx + 0x30], 1
mov edi, dword [ebx + 0x1c]
lea esi, [eax*4 + 1]
lea eax, [ebx + 0x18]
cmp esi, edi
jle 0x10049a19
test edi, edi
je 0x10049a01
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10049a06
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0x18]
push eax
call fcn.10033020
lea eax, [ebx + 0x18]
mov dword [eax], esi
mov edx, esi
mov ecx, dword [ebx + 0x20]
push 0
push dword [ebx + 0x14]
call fcn.10022cb0
mov edx, dword [ebp + 0x14]
add esp, 8
test edx, 0x1c0
je 0x10049d50
mov esi, 0x16
test dl, 0x40
je 0x10049a65
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x10049a65
call fcn.10027720
test al, al
je 0x10049a62
lea eax, [esi + 0x2a]
xor esi, esi
jmp 0x10049abe
mov edx, dword [ebp + 0x14]
test dl, dl
jns 0x10049aad
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x10049a8b
call fcn.10027720
test al, al
je 0x10049a88
mov eax, 0x80
lea esi, [eax - 0x7d]
jmp 0x10049abe
mov edx, dword [ebp + 0x14]
mov eax, dword [0x10183428]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x10049aad
call fcn.10027720
test al, al
je 0x10049aaa
mov eax, 0x80
lea esi, [eax - 0x7c]
jmp 0x10049abe
mov edx, dword [ebp + 0x14]
test edx, 0x100
je 0x10049d50
mov eax, 0x100
mov dword [ebp - 0x6c], eax
xor ecx, ecx
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x68], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x58], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x54], eax
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0x5c], esi
mov esi, dword [ebx + 0x14]
mov dword [ebp - 0x50], eax
mov eax, dword [ebx + 0x3c]
mov word [ebp - 0x4b], cx
mov byte [ebp - 0x49], cl
mov dword [ebp - 0x64], ecx
mov byte [ebp - 0x4c], cl
lea edx, [esi + eax*2]
mov ecx, esi
mov dword [ebp - 0x60], 0
call fcn.10022de0
mov ecx, dword [ebx + 0x40]
mov edi, eax
mov dword [ebp - 0x48], edi
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10022de0
mov ecx, dword [ebx + 0x44]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x44], eax
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10022de0
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x6c]
push eax
xor eax, eax
call eax
mov ecx, dword [ebp - 0x48]
add esp, 4
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xdc], eax
cmp ecx, edi
je 0x10049bb0
lea edi, [ecx + eax]
mov esi, eax
xor eax, eax
mov dword [ebp - 0xc0], eax
nop dword [eax + eax]
test edi, edi
je 0x10049b68
cmp esi, edi
jae 0x10049ba0
cmp byte [esi], 0
je 0x10049ba0
push edi
mov edx, esi
lea ecx, [ebp - 0xd4]
call fcn.10022b20
add esi, eax
add esp, 4
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x10049b9a
cmp eax, 0xffff
mov eax, dword [ebp - 0xc0]
ja 0x10049b60
inc eax
jmp 0x10049b55
mov eax, dword [ebp - 0xc0]
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0xdc]
mov byte [ebx + 0xe64], 1
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp - 0xf8]
je 0x10049c11
lea edi, [ecx + eax]
mov esi, eax
xor eax, eax
mov dword [ebp - 0xc0], eax
test edi, edi
je 0x10049bd0
cmp esi, edi
jae 0x10049c08
cmp byte [esi], 0
je 0x10049c08
push edi
mov edx, esi
lea ecx, [ebp - 0xd4]
call fcn.10022b20
add esi, eax
add esp, 4
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x10049c02
cmp eax, 0xffff
mov eax, dword [ebp - 0xc0]
ja 0x10049bc8
inc eax
jmp 0x10049bc2
mov eax, dword [ebp - 0xc0]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [ebp - 0xc8]
je 0x10049c73
lea edi, [ecx + eax]
mov esi, eax
xor eax, eax
mov dword [ebp - 0xc0], eax
nop dword [eax]
test edi, edi
je 0x10049c38
cmp esi, edi
jae 0x10049c70
cmp byte [esi], 0
je 0x10049c70
push edi
mov edx, esi
lea ecx, [ebp - 0xd4]
call fcn.10022b20
add esi, eax
add esp, 4
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x10049c6a
cmp eax, 0xffff
mov eax, dword [ebp - 0xc0]
ja 0x10049c30
inc eax
jmp 0x10049c23
mov eax, dword [ebp - 0xc0]
mov dword [ebx + 0x44], eax
cmp byte [ebp - 0x4c], 0
je 0x10049d4d
mov esi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x110]
cmp esi, ecx
jle 0x10049cd5
cmp byte [ebp - 0x108], 0
je 0x10049cd5
mov edi, dword [ebx + 0x10]
lea eax, [ebx + 0xc]
sub esi, ecx
add esi, dword [eax]
cmp esi, edi
jle 0x10049cd3
test edi, edi
je 0x10049cb2
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10049cb7
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.10033090
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xdc], eax
lea eax, [ebx + 0xc]
mov dword [eax], esi
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov edi, dword [ebx + 0xc]
dec edi
mov dword [ebp - 0xf8], ecx
lea edi, [ecx + edi*2]
cmp ecx, edi
jae 0x10049d31
mov ebx, dword [ebp - 0xdc]
cmp byte [ebx], 0
je 0x10049d25
push 0
mov edx, ebx
lea ecx, [ebp - 0xd4]
call fcn.10022b20
add ebx, eax
add esp, 4
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x10049d25
cmp eax, 0xffff
ja 0x10049d21
mov word [esi], ax
add esi, 2
cmp esi, edi
jb 0x10049cf1
mov ebx, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xf8]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x54]
sar esi, 1
mov dword [ebx + 4], esi
mov dword [ebx + 8], eax
mov dword [ebx + 0xe60], 0xbe99999a
mov edx, dword [ebp + 0x14]
cmp byte [ebp - 0xcc], 0
jne 0x10049d9b
mov esi, dword [ebx + 0x20]
mov eax, esi
mov ecx, dword [ebp - 0xb4]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10049d84
test dl, dl
je 0x10049d80
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10049d84
add eax, 2
add ecx, 2
test dl, dl
jne 0x10049d64
xor eax, eax
jmp 0x10049d89
sbb eax, eax
or eax, 1
mov edi, dword [ebp - 0xbc]
mov edx, dword [ebp + 0x14]
test eax, eax
je 0x10049da1
mov ecx, dword [ebx + 8]
jmp 0x10049dad
mov edi, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xd8]
test esi, esi
je 0x10049e84
cmp dword [ebp - 0x110], ecx
je 0x10049e47
cmp byte [ebp - 0x108], 0
je 0x10049e47
mov eax, dword [ebp - 0xb4]
xorps xmm0, xmm0
mov dword [ebp - 0x88], eax
lea eax, [ecx + 1]
cmp dword [ebp + 0xc], eax
movlpd qword [ebp - 0x90], xmm0
cmovge eax, dword [ebp + 0xc]
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x9c]
push eax
xor eax, eax
movlpd qword [ebp - 0x7c], xmm0
movlpd qword [ebp - 0x74], xmm0
mov dword [ebp - 0x9c], 0x40000
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x94], 0
call eax
mov edx, dword [ebp - 0x80]
add esp, 4
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xb4], eax
lea ecx, [edx - 1]
cmp dword [ebp - 0x84], ecx
cmovl ecx, dword [ebp - 0x84]
jmp 0x10049e4a
mov edx, dword [ebp + 0xc]
lea eax, [ecx + 1]
cmp eax, edx
cmovl edx, eax
mov dword [ebp + 0xc], edx
cmp edx, 1
jb 0x10049e7d
jbe 0x10049e72
lea eax, [edx - 1]
push eax
push esi
push dword [ebp - 0xb4]
call fcn.10077f70
mov edx, dword [ebp + 0xc]
add esp, 0xc
mov eax, dword [ebp - 0xb4]
mov byte [eax + edx - 1], 0
mov byte [ebp - 0xce], 1
mov esi, dword [ebp - 0xa4]
mov dword [ebx + 0xe68], 0
mov dword [ebx + 0xe6c], 0
mov dword [ebx + 0xe70], 0
cmp byte [ebp - 0xc1], 0
je 0x10049ec2
cmp dword [esi + 0x19e4], edi
jne 0x10049ec2
xor edx, edx
xor ecx, ecx
call fcn.10024a00
mov edx, dword [ebp - 0xb8]
test dl, dl
jne 0x10049f84
push 1
mov edx, edi
lea ecx, [ebp - 0x3c]
call fcn.10023db0
movss xmm1, dword [0x100ad678]
add esp, 4
mov ecx, 7
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
call fcn.10022fc0
movss xmm2, dword [esi + 0x1550]
mov dl, 1
mov ecx, eax
call fcn.10023610
movss xmm6, dword [ebp - 0x3c]
add esp, 0x10
movss xmm3, dword [ebp - 0x38]
movaps xmm0, xmm6
addss xmm0, dword [esi + 0x1548]
movss xmm4, dword [ebp - 0xfc]
movaps xmm1, xmm3
addss xmm1, dword [ebp - 0x114]
mov edx, dword [ebp - 0xb8]
movaps xmm2, xmm4
addss xmm2, xmm6
movss dword [ebp - 0x24], xmm6
movss dword [ebp - 0xc], xmm0
movaps xmm0, xmm3
addss xmm0, dword [esi + 0x154c]
movss dword [ebp - 0x20], xmm3
movss dword [ebp - 0x13c], xmm1
movss dword [ebp - 0xd4], xmm2
movss dword [ebp - 0x1c], xmm2
movss dword [ebp - 8], xmm0
movss dword [ebp - 0x110], xmm2
jmp 0x10049fed
movss xmm0, dword [ebp - 0x3c]
movss xmm1, dword [ebp - 0x38]
movss xmm4, dword [ebp - 0xfc]
movaps xmm2, xmm1
mov ecx, dword [ebp - 0xf0]
movaps xmm3, xmm4
addss xmm2, dword [ebp - 0x114]
addss xmm3, xmm0
movss dword [ebp - 0x24], xmm0
movss dword [ebp - 0x20], xmm1
mov eax, dword [ecx + 0xc8]
mov ecx, dword [ecx + 0xcc]
movss dword [ebp - 0x13c], xmm2
movaps xmm1, xmm2
movaps xmm0, xmm3
movss dword [ebp - 0x110], xmm3
movss dword [ebp - 0xd4], xmm0
movss dword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
cmp byte [ebp - 0xcd], 0
lea eax, [ebp - 0xc]
movss xmm0, dword [eax + 4]
movss xmm5, dword [eax]
movss dword [ebp - 0xe8], xmm0
movss dword [ebp - 0x100], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0xbc], eax
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0xe4], xmm1
movss dword [ebp - 0xe0], xmm5
movss dword [ebp - 0x104], xmm5
movss dword [ebp - 0x134], xmm0
movss dword [ebp - 0xc8], xmm0
je 0x1004a053
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xb4], eax
jmp 0x1004a059
mov eax, dword [ebp - 0xb4]
cmp byte [ebp - 0xa5], 0
mov ecx, dword [ebp - 0x12c]
jne 0x1004a285
test cl, cl
jne 0x1004a285
test dl, dl
je 0x1004a0cc
mov dl, byte [eax]
lea ebx, [eax + 1]
xor ecx, ecx
test dl, dl
je 0x1004a095
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [ebx]
cmovne eax, ecx
inc ebx
mov ecx, eax
test dl, dl
jne 0x1004a083
mov al, byte [ebx - 1]
dec ebx
mov dword [ebp - 0x10c], ebx
cmp al, 0xa
je 0x1004a0a8
cmp al, 0xd
je 0x1004a0a8
inc ecx
movd xmm7, ecx
movaps xmm0, xmm4
cvtdq2ps xmm7, xmm7
movss dword [ebp - 0x134], xmm0
mulss xmm7, dword [esi + 0x18c4]
movss dword [ebp - 0xc8], xmm7
jmp 0x1004a10d
cmp dword [esi + 0x19e4], edi
jne 0x1004a0e1
mov ebx, dword [ebx + 8]
mov edi, dword [ebp - 0xb4]
add ebx, eax
jmp 0x1004a0f8
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004a0e6
mov edi, dword [ebp - 0xb4]
sub ecx, edx
lea ebx, [edi + ecx]
mov eax, ebx
mov dword [ebp - 0x10c], ebx
sub eax, edi
cmp eax, 0x200000
jge 0x1004ae20
movss xmm1, dword [0x100ad678]
xor ecx, ecx
call fcn.10022fc0
mov dword [ebp - 0xe4], eax
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 0xf0]
mov esi, dword [eax + 0x274]
mov eax, dword [ebp - 0xa4]
movss xmm2, dword [eax + 0x18c4]
lea edi, [eax + 0x18c4]
mov ecx, dword [eax + 0x18c0]
xor eax, eax
cmp byte [ebp - 0xb8], al
mov dword [ebp - 0xe0], ecx
cmovne edx, eax
test dword [ebp - 0xe4], 0xff000000
mov eax, edi
je 0x1004ad65
cmp dword [ebp - 0x10c], 0
jne 0x1004a197
mov ecx, dword [ebp - 0xb4]
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004a180
sub ecx, ebx
mov ebx, dword [ebp - 0xb4]
add ebx, ecx
mov ecx, dword [ebp - 0xe0]
mov eax, edi
cmp dword [ebp - 0xb4], ebx
je 0x1004ad65
test ecx, ecx
jne 0x1004a1b5
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0xe0], eax
ucomiss xmm2, dword [0x100ad5c8]
lahf
test ah, 0x44
jp 0x1004a1ca
mov eax, dword [esi + 0x28]
movss xmm2, dword [eax + 0xc]
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x48]
shl ecx, 4
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0x128], xmm0
test edx, edx
je 0x1004a242
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x128]
comiss xmm0, xmm1
jae 0x1004a1fc
movss dword [ebp - 0x128], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x124]
comiss xmm0, xmm1
jae 0x1004a216
movss dword [ebp - 0x124], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0x120]
ja 0x1004a22c
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0x11c]
ja 0x1004a242
movss dword [ebp - 0x11c], xmm0
mov eax, dword [ebp - 0xbc]
test edx, edx
push dword [eax + 4]
push dword [eax]
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0xe0]
lea eax, [ebp - 0x128]
mov dword [esp], 0
push ebx
push dword [ebp - 0xb4]
push eax
push dword [ebp - 0xe4]
push esi
call fcn.1003f4f0
mov eax, edi
jmp 0x1004ad65
mov eax, dword [ebx + 8]
xor edx, edx
mov esi, dword [ebx + 0x14]
mov edi, 0xfffffc18
mov dword [ebp - 0x11c], eax
xorps xmm7, xmm7
add eax, dword [ebp - 0xb4]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0xc0], esi
movss dword [ebp - 0xf8], xmm0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], edi
cmp byte [ebp - 0xa5], dl
je 0x1004a2e9
mov eax, dword [ebx + 0x3c]
or edi, 0xffffffff
lea eax, [esi + eax*2]
mov dword [ebp - 0x108], eax
lea edx, [edi + 2]
test cl, cl
je 0x1004a30b
mov ecx, dword [ebx + 0x44]
cmp dword [ebx + 0x40], ecx
mov dword [ebp - 0xd8], 0xffffffff
cmovl ecx, dword [ebx + 0x40]
inc edx
lea eax, [esi + ecx*2]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xb8]
xor esi, esi
movzx eax, al
add edx, eax
mov eax, dword [ebp - 0xc0]
mov ecx, eax
movzx eax, word [eax]
test ax, ax
je 0x1004a387
mov esi, eax
xor ebx, ebx
nop dword [eax]
cmp si, 0xa
jne 0x1004a367
inc ebx
cmp edi, 0xffffffff
jne 0x1004a34b
cmp ecx, dword [ebp - 0x108]
jb 0x1004a34b
dec edx
mov edi, ebx
test edx, edx
jle 0x1004a375
cmp dword [ebp - 0xd8], 0xffffffff
jne 0x1004a367
cmp ecx, dword [ebp - 0xdc]
jb 0x1004a367
dec edx
mov dword [ebp - 0xd8], ebx
test edx, edx
jle 0x1004a375
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x1004a330
mov dword [ebp - 0x130], ebx
mov ebx, dword [ebp - 0xec]
mov esi, dword [ebp - 0x130]
inc esi
cmp edi, 0xffffffff
mov eax, esi
mov dword [ebp - 0x130], esi
cmovne eax, edi
mov edi, dword [ebp - 0x108]
mov dword [ebp - 0x148], eax
mov ecx, edi
mov eax, dword [ebp - 0xd8]
cmp eax, 0xffffffff
cmove eax, esi
mov esi, dword [ebp - 0xc0]
mov dword [ebp - 0xd8], eax
cmp edi, esi
jbe 0x1004a3ce
cmp word [ecx - 2], 0xa
je 0x1004a3ce
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x1004a3c0
mov eax, dword [0x10183428]
movaps xmm1, xmm0
movaps xmm4, xmm0
mov edx, dword [eax + 0x18c0]
movss xmm3, dword [eax + 0x18c4]
divss xmm3, dword [edx + 0x10]
cmp ecx, edi
jae 0x1004a435
movzx eax, word [ecx]
add ecx, 2
mov esi, eax
cmp eax, 0xa
jne 0x1004a406
maxss xmm1, xmm4
movaps xmm4, xmm0
jmp 0x1004a42b
cmp esi, 0xd
je 0x1004a42b
mov esi, eax
cmp esi, dword [edx]
jge 0x1004a41b
mov eax, dword [edx + 8]
movss xmm0, dword [eax + esi*4]
jmp 0x1004a420
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm3
addss xmm4, xmm0
xorps xmm0, xmm0
cmp ecx, edi
jb 0x1004a3f0
mov esi, dword [ebp - 0xc0]
movd xmm6, dword [ebp - 0x148]
maxss xmm4, xmm1
mov ecx, dword [ebp - 0xa4]
mov edi, dword [ebp - 0xd8]
cvtdq2ps xmm6, xmm6
movss xmm2, dword [ecx + 0x18c4]
mulss xmm6, xmm2
movss dword [ebp - 0x158], xmm4
movss dword [ebp - 0x15c], xmm6
test edi, edi
js 0x1004a50a
mov eax, dword [ebp - 0xdc]
mov ecx, eax
cmp eax, esi
jbe 0x1004a494
cmp word [ecx - 2], 0xa
je 0x1004a48e
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x1004a480
mov eax, dword [ebp - 0xdc]
movaps xmm1, xmm0
movaps xmm7, xmm0
cmp ecx, eax
jae 0x1004a4ed
mov ebx, dword [ebp - 0xdc]
movzx eax, word [ecx]
add ecx, 2
cmp eax, 0xa
jne 0x1004a4b8
maxss xmm1, xmm7
movaps xmm7, xmm0
jmp 0x1004a4dd
cmp eax, 0xd
je 0x1004a4dd
mov esi, eax
cmp esi, dword [edx]
jge 0x1004a4cd
mov eax, dword [edx + 8]
movss xmm0, dword [eax + esi*4]
jmp 0x1004a4d2
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm3
addss xmm7, xmm0
xorps xmm0, xmm0
cmp ecx, ebx
jb 0x1004a4a4
mov ebx, dword [ebp - 0xec]
mov esi, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xa4]
maxss xmm7, xmm1
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [ebp - 0xf8], xmm0
mov edx, dword [ebp - 0xb8]
movss xmm3, dword [ebp - 0xfc]
test dl, dl
je 0x1004a53e
movd xmm0, dword [ebp - 0x130]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [ebp - 0xc8], xmm0
movaps xmm0, xmm3
movss dword [ebp - 0x134], xmm0
cmp byte [ebp - 0xa5], 0
je 0x1004a60e
cmp byte [ebx + 0xe64], 0
je 0x1004a60e
test dword [ebp + 0x14], 0x1000
jne 0x1004a5a5
movss xmm2, dword [ebx + 0x38]
movaps xmm0, xmm3
comiss xmm2, xmm4
mulss xmm0, dword [0x100ad628]
movaps xmm1, xmm4
jbe 0x1004a586
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x1004a593
subss xmm1, xmm3
comiss xmm1, xmm2
jb 0x1004a5ac
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x38], xmm0
jmp 0x1004a5ac
mov dword [ebx + 0x38], 0
test dl, dl
je 0x1004a607
mov edx, dword [ebp - 0xf0]
movaps xmm2, xmm6
subss xmm2, dword [ecx + 0x18c4]
movss xmm1, dword [edx + 0x54]
comiss xmm1, xmm2
jbe 0x1004a5d4
xorps xmm0, xmm0
maxss xmm0, xmm2
jmp 0x1004a5e3
movaps xmm0, xmm6
subss xmm0, dword [ebp - 0x114]
maxss xmm0, xmm1
mov eax, dword [ebp - 0xbc]
subss xmm1, xmm0
movss dword [edx + 0x54], xmm0
addss xmm1, dword [eax + 4]
movss dword [ebp - 0xe8], xmm1
movss dword [ebp - 0x100], xmm1
mov byte [ebx + 0xe64], 0
cmp byte [ebp - 0x12c], 0
movss xmm4, dword [ebx + 0x38]
movss dword [ebp - 0xdc], xmm4
je 0x1004a90f
mov edx, dword [ebx + 0x44]
mov eax, edx
mov ecx, dword [ebx + 0x40]
cmp ecx, edx
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0xa5], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0xc0]
lea edi, [eax + edx*2]
je 0x1004a657
movss xmm1, dword [0x100ad678]
jmp 0x1004a65f
movss xmm1, dword [0x100ad644]
mov ecx, 0x2a
call fcn.10022fc0
cmp byte [ebp - 0xb8], 0
mov dword [ebp - 0x148], eax
je 0x1004a685
xorps xmm0, xmm0
movss dword [ebp - 0x108], xmm0
jmp 0x1004a69d
movss xmm0, dword [0x100ad80c]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [0x100ad6f4]
mov ecx, dword [ebp - 0xbc]
movss xmm6, dword [ebp - 0xe8]
movss dword [ebp - 0x130], xmm0
movaps xmm4, xmm6
addss xmm4, dword [ebp - 0xf8]
movss xmm5, dword [ecx]
addss xmm5, xmm7
xorps xmm7, xmm7
subss xmm4, xmm7
subss xmm5, dword [ebp - 0xdc]
movss dword [ebp - 0xf8], xmm4
cmp esi, edi
jae 0x1004a95f
movss xmm7, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0x148]
mov edx, dword [ebp - 0xa4]
nop dword [eax]
movss xmm6, dword [edx + 0x18c4]
movaps xmm0, xmm7
addss xmm0, xmm6
comiss xmm4, xmm0
ja 0x1004a8f9
movss xmm0, dword [ebp - 0x38]
comiss xmm0, xmm4
jbe 0x1004a749
cmp esi, edi
jae 0x1004a8d5
nop word [eax + eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x1004a8d5
cmp esi, edi
jb 0x1004a730
jmp 0x1004a8d5
mov eax, dword [0x10183428]
xorps xmm0, xmm0
xorps xmm3, xmm3
xorps xmm1, xmm1
mov edx, dword [eax + 0x18c0]
movss xmm2, dword [eax + 0x18c4]
divss xmm2, dword [edx + 0x10]
cmp esi, edi
jae 0x1004a7b6
nop
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x1004a7a3
cmp eax, 0xd
je 0x1004a79d
mov ecx, eax
cmp ecx, dword [edx]
jge 0x1004a790
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x1004a795
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, edi
jb 0x1004a770
jmp 0x1004a7ad
xorps xmm3, xmm3
maxss xmm3, xmm1
xorps xmm1, xmm1
mov ecx, dword [ebp - 0xbc]
xorps xmm0, xmm0
maxss xmm1, xmm3
comiss xmm0, xmm1
jb 0x1004a7f8
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x18c0]
cmp dword [eax], 0x20
jle 0x1004a7dd
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x1004a7e2
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x100ad63c]
cvttss2si eax, xmm0
xorps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [ebp - 0x108]
addss xmm1, xmm5
movaps xmm3, xmm5
subss xmm2, xmm6
movss xmm5, dword [ebp - 0xd4]
addss xmm3, xmm0
movss xmm0, dword [ebp - 0x130]
addss xmm0, xmm4
minss xmm1, xmm5
addss xmm2, xmm4
maxss xmm3, dword [ebp - 0x3c]
minss xmm0, xmm7
movss dword [ebp - 0x14c], xmm1
maxss xmm2, dword [ebp - 0x38]
movss dword [ebp - 0x154], xmm3
comiss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x150], xmm2
movss dword [ebp - 0x148], xmm0
jbe 0x1004a8cf
comiss xmm7, xmm2
jbe 0x1004a8cf
comiss xmm1, dword [ebp - 0x3c]
jbe 0x1004a8cf
comiss xmm5, xmm3
jbe 0x1004a8cf
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x14c]
push ebx
push eax
lea eax, [ebp - 0x154]
push eax
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x274]
call fcn.1003c0b0
movss xmm0, dword [ebp - 0x110]
movss xmm4, dword [ebp - 0xf8]
movss xmm7, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xbc]
movss dword [ebp - 0x110], xmm0
movss xmm0, dword [ebp - 0x13c]
movss dword [ebp - 0x13c], xmm0
mov edx, dword [ebp - 0xa4]
movss xmm5, dword [ecx]
addss xmm4, dword [edx + 0x18c4]
subss xmm5, dword [ebp - 0xdc]
movss dword [ebp - 0xf8], xmm4
cmp esi, edi
jb 0x1004a700
movss xmm4, dword [ebp - 0xdc]
movss xmm5, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xec]
movss xmm6, dword [ebp - 0xe8]
xorps xmm7, xmm7
cmp byte [ebp - 0xb8], 0
jne 0x1004a933
cmp dword [ebp - 0x11c], 0x200000
jge 0x1004abb3
mov eax, dword [0x10183428]
movups xmm2, xmmword [eax + 0x15c0]
comiss xmm7, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [eax + 0x1510]
movups xmmword [ebp - 0x128], xmm2
jbe 0x1004a971
xorps xmm0, xmm0
jmp 0x1004a97d
movss xmm4, dword [ebp - 0xdc]
movss xmm5, dword [ebp - 0xe0]
jmp 0x1004a91a
movss xmm0, dword [0x100ad678]
minss xmm0, xmm2
movss xmm2, dword [0x100ad7a4]
movss xmm3, dword [ebp - 0x124]
comiss xmm7, xmm3
mulss xmm0, xmm2
addss xmm0, dword [0x100ad63c]
cvttss2si ecx, xmm0
jbe 0x1004a9a7
xorps xmm0, xmm0
jmp 0x1004a9b3
movss xmm0, dword [0x100ad678]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0x120]
mulss xmm0, xmm2
addss xmm0, dword [0x100ad63c]
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm3
jbe 0x1004a9da
xorps xmm0, xmm0
jmp 0x1004a9e6
movss xmm0, dword [0x100ad678]
minss xmm0, xmm3
movss xmm3, dword [0x100ad63c]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm1
jbe 0x1004aa09
xorps xmm0, xmm0
jmp 0x1004aa15
movss xmm0, dword [0x100ad678]
minss xmm0, xmm1
mov eax, dword [ebp - 0xf0]
lea edx, [ebp - 0x24]
mulss xmm0, xmm2
mov dword [ebp - 0x11c], 0
mov esi, dword [eax + 0x274]
mov eax, dword [ebp - 0xa4]
addss xmm0, xmm3
movss xmm2, dword [eax + 0x18c4]
cvttss2si edi, xmm0
movaps xmm0, xmm5
subss xmm0, xmm4
shl edi, 0x18
or edi, ecx
mov ecx, dword [eax + 0x18c0]
cmp byte [ebp - 0xb8], 0
mov eax, dword [ebp - 0x10c]
cmovne edx, dword [ebp - 0x11c]
movss dword [ebp - 0x14c], xmm0
movaps xmm0, xmm6
mov dword [ebp - 0xe4], ecx
subss xmm0, xmm7
mov dword [ebp - 0xd4], eax
movss dword [ebp - 0x148], xmm0
test edi, 0xff000000
je 0x1004abb3
test eax, eax
jne 0x1004aad1
mov ecx, dword [ebp - 0xb4]
lea eax, [ecx + 1]
mov dword [ebp - 0x11c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004aab0
sub ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0xb4]
add eax, ecx
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xb4], eax
je 0x1004abb3
test ecx, ecx
jne 0x1004aaed
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0xe4], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x1004aafe
mov eax, dword [esi + 0x28]
movss xmm2, dword [eax + 0xc]
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x48]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [ebp - 0x128], xmm0
test edx, edx
je 0x1004ab76
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x128]
comiss xmm0, xmm1
jae 0x1004ab30
movss dword [ebp - 0x128], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x124]
comiss xmm0, xmm1
jae 0x1004ab4a
movss dword [ebp - 0x124], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0x120]
ja 0x1004ab60
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0x11c]
ja 0x1004ab76
movss dword [ebp - 0x11c], xmm0
push dword [ebp - 0x148]
test edx, edx
push dword [ebp - 0x14c]
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0xe4]
lea eax, [ebp - 0x128]
mov dword [esp], 0
push dword [ebp - 0xd4]
push dword [ebp - 0xb4]
push eax
push edi
push esi
call fcn.1003f4f0
cmp byte [ebp - 0xa5], 0
mov edi, dword [ebp - 0xa4]
lea eax, [edi + 0x18c4]
je 0x1004ad65
movss xmm0, dword [edi + 0x18]
addss xmm0, dword [ebx + 0xe60]
movss dword [ebx + 0xe60], xmm0
cmp byte [edi + 0xb2], 0
je 0x1004ac31
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x1004ac31
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x120], xmm0
fld qword [ebp - 0x120]
fld qword [0x100ad6e8]
call fcn.100947a0
movss xmm0, dword [0x100ad660]
fstp qword [ebp - 0x120]
movsd xmm1, qword [ebp - 0x120]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x1004ac31
xor al, al
jmp 0x1004ac33
mov al, 1
movss xmm4, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xbc]
movss xmm6, dword [0x100ad678]
addss xmm4, dword [ebp - 0x15c]
movss xmm3, dword [ecx]
addss xmm3, dword [ebp - 0x158]
subss xmm4, dword [0x100ad5c8]
subss xmm3, dword [ebp - 0xdc]
movss dword [ebp - 0xe8], xmm4
movaps xmm0, xmm4
movaps xmm1, xmm4
subss xmm0, dword [edi + 0x18c4]
movss dword [ebp - 0xe0], xmm3
movaps xmm2, xmm3
movss dword [ebp - 0x24], xmm3
addss xmm2, xmm6
subss xmm1, dword [0x100ad6b0]
addss xmm0, dword [0x100ad63c]
movss dword [ebp - 0x1c], xmm2
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x20], xmm0
test al, al
je 0x1004ad34
comiss xmm1, dword [ebp - 0x38]
jbe 0x1004ad34
movss xmm5, dword [ebp - 0x13c]
comiss xmm5, xmm0
jbe 0x1004ad34
comiss xmm2, dword [ebp - 0x3c]
jbe 0x1004ad34
movss xmm0, dword [ebp - 0x110]
comiss xmm0, xmm3
jbe 0x1004ad34
sub esp, 8
movss dword [ebp - 8], xmm1
movaps xmm1, xmm6
movss dword [ebp - 0xc], xmm3
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.10022fc0
add esp, 4
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x274]
call fcn.1003bea0
movss xmm3, dword [ebp - 0xe0]
movss xmm4, dword [ebp - 0xe8]
movss xmm6, dword [0x100ad678]
cmp byte [ebp - 0xcc], 0
lea eax, [edi + 0x18c4]
jne 0x1004ad65
subss xmm4, dword [edi + 0x18c4]
subss xmm3, xmm6
lea eax, [edi + 0x18c4]
movss dword [edi + 0x2d20], xmm4
movss dword [edi + 0x2d1c], xmm3
cmp byte [ebp - 0xb8], 0
je 0x1004ae0e
movss xmm0, dword [ebp - 0x134]
xorps xmm1, xmm1
mov ecx, dword [0x10183428]
addss xmm0, xmm1
movss xmm1, dword [ebp - 0xc8]
addss xmm1, dword [eax]
mov eax, dword [ecx + 0x19b0]
movss dword [ebp - 0xc], xmm0
movss dword [ebp - 8], xmm1
mov byte [eax + 0x7c], 1
mov eax, dword [ecx + 0x19b0]
cmp byte [eax + 0x7f], 0
jne 0x1004ae04
movss xmm3, dword [eax + 0xc8]
lea ecx, [ebp - 0xc]
movaps xmm4, xmm3
movss dword [ebp - 0x24], xmm3
addss xmm4, xmm0
movss xmm0, dword [eax + 0xcc]
movaps xmm2, xmm0
movss dword [ebp - 0x20], xmm0
addss xmm2, xmm1
movss xmm1, dword [0x100ad80c]
movss dword [ebp - 0x1c], xmm4
movss dword [ebp - 0x18], xmm2
call fcn.10024ba0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.10024cd0
add esp, 4
call fcn.10027a40
call fcn.1002d3a0
mov edi, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x138]
test al, al
je 0x1004ae35
call fcn.1002cc00
mov eax, dword [ebp - 0x138]
cmp byte [esi + 0x2d58], 0
je 0x1004ae53
test al, al
jne 0x1004ae53
push ebx
mov edx, edi
lea ecx, [ebp - 0x104]
call fcn.10031cd0
add esp, 4
movss xmm0, dword [ebp - 0x144]
comiss xmm0, dword [0x100ad5c8]
jbe 0x1004aeac
movss xmm0, dword [ebp - 0x34]
xor edx, edx
addss xmm0, dword [esi + 0x1560]
mov ecx, dword [ebp - 0x140]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x38]
addss xmm0, dword [esi + 0x154c]
movss dword [ebp - 0x100], xmm0
push dword [ebp - 0x100]
push dword [ebp - 0x104]
push 1
call fcn.10023250
add esp, 0xc
mov dl, byte [ebp - 0xce]
mov ecx, dword [ebp + 0x14]
test dl, dl
je 0x1004aedc
test ecx, 0x200000
jne 0x1004aedc
mov eax, dword [0x10183428]
mov word [eax + 0x19f3], 0x101
mov eax, dword [eax + 0x19b0]
or dword [eax + 0x10c], 4
test cl, 0x20
movzx eax, dl
movzx ecx, byte [ebp - 0xae]
cmovne eax, ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1006def6
mov esp, ebp
pop ebp
ret