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

Disassembly:
sub esp, 0x1ac
mov eax, dword [0x10083028]
xor eax, esp
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x1b4]
push ebx
push ebp
mov ebp, dword [0x10083558]
push esi
mov esi, dword [esp + 0x1c4]
push edi
mov edi, dword [esp + 0x1c0]
push edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x70], eax
call fcn.1001e740
mov ecx, eax
add esp, 4
test ecx, ecx
mov dword [esp + 0x34], ecx
mov ebx, ecx
sete al
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x3c], eax
test ecx, ecx
jne 0x10017d2d
push esi
push edi
call fcn.1001c670
mov ebx, eax
add esp, 8
mov dword [esp + 0x4c], ebx
mov ecx, dword [ebp + 0x3f90]
cmp ecx, dword [ebx + 8]
jne 0x10017d39
int3
mov edx, dword [ebx + 0x244]
lea edi, [ebp + 0x3f6c]
mov eax, esi
mov dword [esp + 0x48], edx
mov ecx, esi
and eax, 0x30200
or ecx, 6
cmp eax, 0x30200
cmovne ecx, esi
cmp dword [edi], 0
mov esi, dword [ebp + 0x3f10]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x30], esi
jne 0x10017d7d
cmp byte [ebp + 0x3f1d], 0
je 0x10017d7d
mov al, 1
jmp 0x10017d7f
xor al, al
mov byte [ebx + 0xb7], al
lea eax, [esi - 1]
cmp dword [ebx + 0x244], eax
setl al
mov byte [esp + 0x44], al
test ecx, 0x4000000
je 0x10017dd7
mov eax, dword [ebp + 0x4a2c]
mov edx, dword [ebp + 0x4a28]
lea esi, [eax + eax*4]
mov eax, dword [ebx + 0xc8]
cmp ebx, dword [edx + esi*8 + 4]
setne cl
cmp eax, dword [edx + esi*8]
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x48]
setne al
or cl, al
mov al, byte [esp + 0x44]
or al, cl
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x44], al
mov byte [ebx + 0xb5], al
test al, al
je 0x10017e04
mov al, byte [ebx + 0xd8]
or al, 8
mov byte [ebx + 0xd8], al
mov al, byte [ebx + 0xda]
or byte [ebx + 0xd9], 8
or al, 8
mov byte [ebx + 0xda], al
cmp edx, esi
je 0x10017f8a
mov esi, dword [0x10083558]
test ecx, 0x1000000
je 0x10017e2c
mov eax, ecx
and eax, 0x14000000
cmp eax, 0x4000000
je 0x10017e2c
mov cl, 1
jmp 0x10017e2e
xor cl, cl
mov edx, dword [esp + 0x34]
mov al, byte [ebx + 0xb8]
mov byte [esp + 0x10], cl
test edx, edx
je 0x10017e48
cmp cl, al
je 0x10017f23
test cl, cl
jne 0x10017e93
mov ecx, dword [esi + 0x3f54]
add esi, 0x3f54
mov edi, dword [esi + 4]
cmp ecx, edi
jne 0x10017e83
inc ecx
test edi, edi
je 0x10017e6f
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10017e74
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100310b0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov dword [eax + ecx*4], ebx
inc dword [esi]
mov eax, dword [esi]
dec eax
jmp 0x10017f16
test edx, edx
je 0x10017f23
cmp cl, al
je 0x10017f23
test cl, cl
je 0x10017f23
movzx eax, word [ebx + 0xc4]
mov edi, dword [esi + 0x3f54]
movsx ecx, ax
inc ecx
cmp ecx, edi
jge 0x10017ee2
nop dword [eax]
mov eax, dword [esi + 0x3f5c]
mov eax, dword [eax + ecx*4]
inc ecx
dec word [eax + 0xc4]
mov edi, dword [esi + 0x3f54]
cmp ecx, edi
jl 0x10017ec0
movzx eax, word [ebx + 0xc4]
mov edx, dword [esi + 0x3f5c]
movsx ecx, ax
lea eax, [edx + ecx*4]
sub eax, edx
sar eax, 2
sub edi, eax
lea ecx, [edx + eax*4]
lea eax, [edi*4 - 4]
push eax
lea eax, [ecx + 4]
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
dec dword [esi + 0x3f54]
add esp, 0xc
or eax, 0xffffffff
lea edi, [ebp + 0x3f6c]
mov word [ebx + 0xc4], ax
mov al, byte [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov byte [ebx + 0xb8], al
mov dword [ebx + 0xc], edx
test dword [ebp + 0x4968], 0x100
je 0x10017f48
mov eax, dword [ebp + 0x49a0]
jmp 0x10017f4a
xor eax, eax
mov esi, dword [esp + 0x30]
mov dword [ebx + 0x10], eax
xor eax, eax
mov dword [ebx + 0x244], esi
movsd xmm0, qword [ebp + 0x3f08]
cvtpd2ps xmm0, xmm0
movss dword [ebx + 0x248], xmm0
mov word [ebx + 0xc0], ax
mov ax, word [ebp + 0x3f84]
mov word [ebx + 0xc2], ax
inc dword [ebp + 0x3f84]
jmp 0x10017f91
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x1c], edx
mov eax, dword [edi]
test eax, eax
je 0x10017fa4
imul ecx, eax, 0x68
mov eax, dword [ebp + 0x3f74]
mov eax, dword [eax + ecx - 0x68]
mov dword [esp + 0x14], eax
cmp dword [esp + 0x48], esi
je 0x10017fc2
mov ecx, edx
and ecx, 0x5000000
neg ecx
sbb ecx, ecx
and ecx, eax
mov dword [esp + 0x2c], ecx
jmp 0x10017fcc
mov eax, dword [ebx + 0x304]
mov dword [esp + 0x2c], eax
mov edx, dword [ebx + 0xec]
lea esi, [ebx + 0xec]
test edx, edx
jne 0x1001801a
mov ecx, dword [esi + 4]
cmp edx, ecx
jne 0x1001800f
lea edi, [edx + 1]
test ecx, ecx
je 0x10017ff5
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x10017ffa
mov eax, 8
cmp eax, edi
mov ecx, esi
cmovg edi, eax
push edi
call fcn.100310b0
mov edx, dword [esi]
lea edi, [ebp + 0x3f6c]
mov ecx, dword [esi + 8]
mov eax, dword [ebx + 8]
mov dword [ecx + edx*4], eax
inc dword [esi]
lea ecx, [esp + 0x10c]
mov dword [ebp + 0x3f94], ebx
call fcn.10016470
mov eax, dword [ebp + 0x3f94]
xorps xmm0, xmm0
movups xmmword [esp + 0x15c], xmm0
mov esi, dword [edi + 4]
movups xmm0, xmmword [ebp + 0x4918]
movzx eax, word [eax + 0xec]
mov word [esp + 0x15c], ax
movzx eax, word [ebp + 0x49d8]
mov word [esp + 0x15e], ax
movzx eax, word [ebp + 0x49e4]
mov word [esp + 0x160], ax
movzx eax, word [ebp + 0x49f0]
movups xmmword [esp + 0x10c], xmm0
mov word [esp + 0x162], ax
movups xmm0, xmmword [ebp + 0x4928]
movzx eax, word [ebp + 0x49fc]
mov word [esp + 0x164], ax
movzx eax, word [ebp + 0x4a14]
movups xmmword [esp + 0x11c], xmm0
mov word [esp + 0x166], ax
movups xmm0, xmmword [ebp + 0x4938]
movzx eax, word [ebp + 0x4a08]
mov word [esp + 0x168], ax
movzx eax, word [ebp + 0x4a2c]
movups xmmword [esp + 0x12c], xmm0
mov word [esp + 0x16a], ax
movups xmm0, xmmword [ebp + 0x4948]
movzx eax, word [ebp + 0x5d34]
mov word [esp + 0x16c], 0
movups xmmword [esp + 0x13c], xmm0
mov word [esp + 0x16c], ax
movups xmm0, xmmword [ebp + 0x4958]
mov eax, dword [edi]
mov dword [esp + 0x108], ebx
movups xmmword [esp + 0x14c], xmm0
cmp eax, esi
jne 0x1001814f
lea ecx, [eax + 1]
test esi, esi
je 0x1001813b
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, esi
jmp 0x10018140
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edi
call fcn.10031440
mov eax, dword [edi]
mov edi, dword [edi + 8]
lea esi, [esp + 0x108]
imul eax, eax, 0x68
mov ecx, 0x1a
add edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x1c]
mov eax, ecx
inc dword [ebp + 0x3f6c]
and eax, 0x10000000
mov dword [esp + 0x84], eax
je 0x10018185
inc dword [ebp + 0x5ca4]
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x30]
je 0x10018244
mov edx, dword [esp + 0x2c]
mov dword [ebx + 0x304], edx
mov dword [ebx + 0x318], ebx
mov dword [ebx + 0x314], ebx
mov dword [ebx + 0x310], ebx
mov dword [ebx + 0x30c], ebx
test edx, edx
je 0x10018203
mov eax, ecx
and eax, 0x3000000
cmp eax, 0x1000000
jne 0x100181d3
mov eax, dword [edx + 0x30c]
mov dword [ebx + 0x30c], eax
test ecx, 0x4000000
je 0x100181e7
mov eax, dword [edx + 0x310]
mov dword [ebx + 0x310], eax
test ecx, 0x8000000
jne 0x10018203
test ecx, 0x5000000
je 0x10018203
mov eax, dword [edx + 0x314]
mov dword [ebx + 0x314], eax
test dword [ebx + 0xc], 0x800000
je 0x10018227
mov edx, ebx
nop
mov eax, dword [edx + 0x304]
mov edx, eax
mov dword [ebx + 0x318], edx
test dword [eax + 0xc], 0x800000
jne 0x10018210
mov edi, dword [esp + 0x14]
mov eax, ecx
and eax, 0x1000000
mov dword [ebx + 0x308], edi
neg eax
sbb eax, eax
and eax, edi
mov dword [ebx + 0x31c], eax
mov eax, ecx
and eax, 0x800000
mov dword [esp + 0x80], eax
je 0x1001825c
mov eax, dword [ebp + 0x48e0]
jmp 0x1001825f
mov eax, dword [ebx + 8]
mov edx, dword [0x10083558]
mov dword [esp + 0x18], eax
lea esi, [edx + 0x49fc]
mov dword [esp + 0x40], edx
mov eax, dword [edx + 0x3f94]
mov edx, dword [esi]
mov eax, dword [eax + 8]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 4]
cmp edx, eax
jne 0x100182b2
lea ecx, [edx + 1]
test eax, eax
je 0x1001829a
cdq
sub eax, edx
sar eax, 1
add eax, dword [esi + 4]
jmp 0x1001829f
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100311b0
mov edx, dword [esi]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi + 8]
mov edi, dword [esp + 0x18]
mov dword [eax + edx*8], edi
mov edi, dword [esp + 0x38]
mov dword [eax + edx*8 + 4], edi
mov edx, dword [esp + 0x40]
inc dword [esi]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov dword [edx + 0x48e0], eax
mov eax, dword [ebp + 0x48e0]
mov dword [ebx + 0x35c], eax
mov eax, ecx
and eax, 0x4000000
mov dword [esp + 0x20], eax
je 0x10018326
mov eax, dword [ebp + 0x4a2c]
lea edx, [ebp + 0x4a2c]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x4a28]
mov dword [eax + ecx*8 + 4], ebx
lea esi, [eax + ecx*8]
mov eax, dword [edi + 0x150]
push esi
mov ecx, edx
mov dword [esi + 0xc], eax
call fcn.10030c20
mov eax, dword [esi]
mov dword [ebx + 0xc8], eax
xor ch, ch
mov byte [esp + 0x11], 0
test byte [ebp + 0x4968], 1
mov byte [esp + 0x10], ch
mov byte [esp + 0x12], ch
je 0x100183e2
mov ecx, dword [ebp + 0x496c]
movsx eax, byte [ebx + 0xd8]
and eax, ecx
setne byte [esp + 0x11]
test ecx, eax
je 0x100183d1
movss xmm1, dword [ebp + 0x4984]
movss xmm0, dword [ebp + 0x4980]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
comiss xmm0, dword [0x1007a634]
jbe 0x100183d1
mov eax, dword [ebp + 0x4978]
mov ecx, dword [ebp + 0x497c]
mov dword [ebx + 0xdc], eax
mov dword [ebx + 0xe0], ecx
mov eax, dword [ebp + 0x4980]
mov ecx, dword [ebp + 0x4984]
mov dword [ebx + 0xe4], eax
mov dword [ebx + 0xe8], ecx
movzx ecx, byte [ebx + 0xd8]
mov eax, dword [ebx + 0xd8]
and ecx, 0xf1
and eax, 0xffffff00
or ecx, eax
mov dword [ebx + 0xd8], ecx
jmp 0x100183e2
push ecx
lea eax, [ebp + 0x4978]
push eax
push ebx
call fcn.1002cf00
add esp, 0xc
test byte [ebp + 0x4968], 2
xorps xmm1, xmm1
je 0x1001847d
mov cl, byte [ebx + 0xd9]
mov edx, dword [ebp + 0x4970]
movsx eax, cl
and eax, edx
je 0x1001841a
movss xmm0, dword [ebp + 0x4988]
comiss xmm0, xmm1
jbe 0x1001841a
mov ch, 1
mov byte [esp + 0x10], ch
jmp 0x10018424
xor ch, ch
mov byte [esp + 0x10], ch
test eax, eax
je 0x10018436
movss xmm0, dword [ebp + 0x498c]
comiss xmm0, xmm1
mov byte [esp + 0x12], 1
ja 0x1001843b
mov byte [esp + 0x12], 0
mov eax, dword [ebx + 0x10]
test al, 4
je 0x10018453
test cl, 4
jne 0x10018453
mov eax, dword [ebx + 0x28]
mov dword [ebp + 0x4988], eax
mov eax, dword [ebx + 0x10]
test al, 8
je 0x10018469
test byte [ebx + 0xd9], 4
jne 0x10018469
mov eax, dword [ebx + 0x2c]
mov dword [ebp + 0x498c], eax
push edx
lea eax, [ebp + 0x4988]
push eax
push ebx
call fcn.1002d060
add esp, 0xc
xorps xmm1, xmm1
test byte [ebp + 0x4968], 0x80
je 0x100184c4
movss xmm0, dword [ebp + 0x4998]
comiss xmm0, xmm1
jb 0x100184a5
movss dword [ebx + 0x8c], xmm0
mov dword [ebx + 0x94], 0
movss xmm0, dword [ebp + 0x499c]
comiss xmm0, xmm1
jb 0x100184c4
movss dword [ebx + 0x90], xmm0
mov dword [ebx + 0x98], 0
test byte [ebp + 0x4968], 4
mov edi, dword [esp + 0x48]
je 0x100184e5
mov eax, dword [ebp + 0x4990]
mov ecx, dword [ebp + 0x4994]
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], ecx
jmp 0x100184f9
cmp edi, dword [esp + 0x30]
je 0x100184f9
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
mov ecx, dword [ebp + 0x4968]
test cl, 8
je 0x10018556
mov edx, dword [ebp + 0x4974]
mov al, byte [ebp + 0x49a4]
mov byte [esp + 0x13], al
test edx, edx
je 0x10018523
movsx eax, byte [ebx + 0xda]
test edx, eax
je 0x10018556
movzx ecx, byte [ebx + 0xda]
mov eax, dword [ebx + 0xd8]
and ecx, 0xf1
shl ecx, 0x10
and eax, 0xff00ffff
or ecx, eax
mov al, byte [esp + 0x13]
mov dword [ebx + 0xd8], ecx
mov byte [ebx + 0xb1], al
mov ecx, dword [ebp + 0x4968]
test cl, 0x20
je 0x10018566
push 0
push ebx
call fcn.1001eb80
add esp, 8
cmp byte [ebx + 0xb5], 0
je 0x10018592
mov al, byte [ebx + 0xd8]
and al, 0xf7
mov byte [ebx + 0xd8], al
mov al, byte [ebx + 0xda]
and byte [ebx + 0xd9], 0xf7
and al, 0xf7
mov byte [ebx + 0xda], al
mov ecx, dword [0x10083558]
mov byte [ebx + 0xb4], 0
test dword [ecx + 0x4968], 0x200
je 0x10018613
mov edx, dword [ecx + 0x49cc]
test dl, 1
je 0x10018613
cmp byte [ebx + 0xb5], 0
jne 0x10018613
cmp byte [ebx + 0xb6], 0
jne 0x10018613
test dl, 2
je 0x100185e5
mov esi, dword [ecx + 0x3f98]
test esi, esi
je 0x100185e5
mov eax, dword [ebx + 0x30c]
cmp eax, dword [esi + 0x30c]
je 0x10018613
test dl, 4
je 0x10018602
mov ecx, dword [ecx + 0x4a50]
test ecx, ecx
je 0x10018602
mov eax, dword [ebx + 0x30c]
cmp eax, dword [ecx + 0x30c]
je 0x10018613
mov dword [ebx + 0x270], 0
mov byte [ebx + 0xb4], 1
mov esi, dword [esp + 0x30]
mov dword [ebp + 0x3f94], 0
cmp edi, esi
je 0x10019f94
cmp byte [ebx + 0xb4], 0
jne 0x10019f9d
mov eax, dword [esp + 0x1c]
and eax, 0x3000000
cmp dword [esp + 0x6c], 0
mov dword [esp + 0x28], eax
mov al, byte [ebx + 0xd5]
mov byte [ebx + 0xae], 1
mov byte [esp + 0x13], al
setne al
mov byte [ebx + 0xb9], al
mov dword [ebx + 0x21c], 0xff7fffff
mov dword [ebx + 0x220], 0xff7fffff
mov dword [ebx + 0x224], 0x7f7fffff
mov dword [ebx + 0x228], 0x7f7fffff
mov edi, dword [esp + 0x4c]
mov esi, dword [edi + 0xf0]
cmp esi, 1
jge 0x100186c5
test esi, esi
je 0x100186aa
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x100186af
mov ecx, 8
mov eax, 1
cmp ecx, eax
cmovg eax, ecx
lea ecx, [edi + 0xec]
push eax
call fcn.100310b0
mov dword [edi + 0xec], 1
mov ecx, dword [edi + 0x270]
call fcn.1004df80
mov dword [edi + 0x19c], 0xffffffff
cmp byte [edi + 0x368], 0
je 0x100187a6
mov byte [edi + 0x368], 0
mov ecx, dword [edi + 0x270]
push dword [edi + 0x360]
add ecx, 0xc
call fcn.10031040
mov esi, dword [edi + 0x270]
mov eax, dword [edi + 0x364]
mov dword [esp + 0x38], eax
cmp eax, dword [esi + 0x1c]
jle 0x10018792
push dword [0x10083560]
lea ebx, [eax + eax*4]
shl ebx, 2
push ebx
call dword [section..data]
mov ecx, eax
add esp, 8
mov eax, dword [0x10083558]
mov dword [esp + 0x18], ecx
test eax, eax
je 0x10018761
push ebx
push ecx
push dword [eax + 0x3f10]
lea ecx, [eax + 0x5ef4]
push ecx
call fcn.1001c970
mov ecx, dword [esp + 0x28]
add esp, 0x10
mov edx, dword [esi + 0x20]
test edx, edx
je 0x10018784
mov eax, dword [esi + 0x18]
lea eax, [eax + eax*4]
shl eax, 2
push eax
push edx
push ecx
call sub.VCRUNTIME140.dll_memcpy
push dword [esi + 0x20]
call fcn.10023120
add esp, 0x10
mov eax, dword [esp + 0x18]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x38]
mov dword [esi + 0x1c], eax
mov dword [edi + 0x364], 0
mov dword [edi + 0x360], 0
cmp dword [ebp + 0x4c20], 0
mov ebx, dword [esp + 0x34]
je 0x10018879
test dword [edi + 0xc], 0x20000
jne 0x10018879
test ebx, ebx
je 0x10018879
mov ebx, dword [edi + 4]
mov ecx, ebx
mov esi, dword [esp + 0x50]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100187f7
test dl, dl
je 0x100187f3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100187f7
add eax, 2
add ecx, 2
test dl, dl
jne 0x100187d7
xor eax, eax
jmp 0x100187fc
sbb eax, eax
or eax, 1
test eax, eax
je 0x10018875
mov edx, dword [edi + 0x70]
mov ecx, esi
mov dword [esp + 0x18], edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10018810
sub ecx, esi
lea esi, [ecx + 1]
cmp edx, esi
jae 0x1001885d
push ebx
call fcn.10023120
push dword [0x10083560]
push esi
call dword [section..data]
mov ecx, dword [0x10083558]
add esp, 0xc
mov ebx, eax
test ecx, ecx
je 0x10018859
push esi
push ebx
push dword [ecx + 0x3f10]
add ecx, 0x5ef4
push ecx
call fcn.1001c970
add esp, 0x10
mov dword [esp + 0x18], esi
push esi
push dword [esp + 0x54]
push ebx
call sub.VCRUNTIME140.dll_memcpy
mov dword [edi + 4], eax
add esp, 0xc
mov eax, dword [esp + 0x18]
mov dword [edi + 0x70], eax
mov ebx, dword [esp + 0x34]
lea esi, [edi + 0x38]
lea eax, [edi + 0x30]
push esi
push eax
push edi
call fcn.1001b340
mov al, byte [edi + 0xd4]
add esp, 0xc
test al, al
jle 0x1001889c
dec al
mov byte [edi + 0xd4], al
mov al, byte [edi + 0xd5]
test al, al
jle 0x100188ae
dec al
mov byte [edi + 0xd5], al
mov al, byte [edi + 0xd6]
test al, al
jle 0x100188c0
dec al
mov byte [edi + 0xd6], al
mov dl, byte [esp + 0x10]
test ebx, ebx
jne 0x100188d9
test dl, dl
je 0x100188d2
cmp byte [esp + 0x12], bl
jne 0x100188d9
mov byte [edi + 0xd5], 1
cmp byte [esp + 0x44], 0
mov ebx, dword [esp + 0x1c]
je 0x1001893a
test ebx, 0x6000000
je 0x1001893a
mov byte [edi + 0xd5], 1
test bl, 0x40
je 0x1001893a
test dl, dl
jne 0x1001890a
mov dword [edi + 0x28], 0
mov dword [edi + 0x20], 0
mov dh, byte [esp + 0x12]
test dh, dh
jne 0x10018920
mov dword [edi + 0x2c], 0
mov dword [edi + 0x24], 0
mov dword [esi], 0
mov dword [esi + 4], 0
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], ecx
jmp 0x1001893e
mov dh, byte [esp + 0x12]
mov eax, dword [0x10083558]
mov eax, dword [eax + 0x4a4c]
mov eax, dword [eax]
mov dword [edi + 0x14], eax
mov ecx, dword [0x10083558]
mov dword [esp + 0x38], eax
mov dword [ecx + 0x3f94], edi
mov eax, dword [edi + 0x19c]
cmp eax, 0xffffffff
je 0x10018974
shl eax, 9
add eax, dword [ecx + 0x4d18]
jmp 0x10018976
xor eax, eax
mov dword [ecx + 0x4cf8], eax
mov dword [ecx + 0x3d04], 0x3f800000
mov eax, dword [edi]
movss xmm0, dword [eax + 0x3d00]
mov eax, dword [edi + 0x304]
mulss xmm0, dword [edi + 0x268]
test eax, eax
je 0x100189aa
mulss xmm0, dword [eax + 0x268]
movss dword [ecx + 0x3d14], xmm0
movss dword [ecx + 0x3cfc], xmm0
mov eax, dword [0x10083558]
cmp dword [eax + 0x4cf8], 0
mov ecx, dword [eax + 0x3f94]
jne 0x100189db
cmp dword [ecx + 0x198], 0
jne 0x100189db
mov al, 1
jmp 0x100189dd
xor al, al
mov byte [ecx + 0x158], al
mov eax, ebx
and eax, 0x1000000
mov dword [esp + 0x14], eax
je 0x100189fb
mov eax, dword [ebp + 0x38d8]
mov dword [edi + 0x54], eax
jmp 0x10018a22
test ebx, 0x6000000
je 0x10018a15
test ebx, 0x8000000
jne 0x10018a15
movss xmm0, dword [ebp + 0x38e0]
jmp 0x10018a1d
movss xmm0, dword [ebp + 0x38bc]
movss dword [edi + 0x54], xmm0
mov eax, dword [ebp + 0x38b0]
xorps xmm1, xmm1
mov ecx, dword [ebp + 0x38b4]
mov dword [edi + 0x48], eax
mov eax, ebx
and eax, 0x5000000
mov dword [edi + 0x4c], ecx
mov dword [esp + 0x18], eax
cmp eax, 0x1000000
jne 0x10018a7e
test byte [edi + 0x10], 2
jne 0x10018a7e
movss xmm0, dword [edi + 0x54]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10018a7e
test ebx, 0x400
je 0x10018a6f
movss xmm0, dword [ebp + 0x38b4]
jmp 0x10018a72
xorps xmm0, xmm0
mov dword [edi + 0x48], 0
movss dword [edi + 0x4c], xmm0
movss xmm0, dword [edi + 0x48]
maxss xmm0, dword [ebp + 0x38f4]
maxss xmm0, dword [ebp + 0x49c4]
movss dword [edi + 0x15c], xmm0
mov eax, dword [ebp + 0x49c8]
mov dword [edi + 0x160], eax
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x24], al
test dl, dl
je 0x10018ac6
movss xmm0, dword [edi + 0x40]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10018ac6
mov byte [esp + 0x3c], 1
test dh, dh
je 0x10018add
movss xmm0, dword [edi + 0x44]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10018add
mov byte [esp + 0x24], 1
test bl, 0x21
jne 0x10018b86
lea eax, [esp + 0xf8]
mov ecx, edi
push eax
call fcn.1002d4b0
cmp dword [ebp + 0x3f98], edi
jne 0x10018b4c
cmp dword [ebp + 0x3fd0], 0
jne 0x10018b4c
cmp dword [ebp + 0x3fd4], 0
jne 0x10018b4c
push 1
lea eax, [esp + 0x104]
push eax
lea eax, [esp + 0x100]
push eax
call fcn.100221e0
add esp, 0xc
test al, al
je 0x10018b4c
cmp word [ebp + 0x2aea], 2
jne 0x10018b4c
mov eax, dword [0x10083558]
cmp dword [eax + 0x4700], 0xffffffff
jne 0x10018b4c
mov byte [edi + 0xb2], 1
cmp byte [edi + 0xb2], 0
je 0x10018b8d
mov cl, byte [edi + 0xb1]
test cl, cl
push edi
sete al
test cl, cl
mov byte [edi + 0xb1], al
mov ecx, 1
mov eax, dword [esp + 0x28]
movzx eax, al
cmovne eax, ecx
mov dword [esp + 0x28], eax
call fcn.10023060
add esp, 4
jmp 0x10018b8d
mov byte [edi + 0xb1], 0
mov byte [edi + 0xb2], 0
movss xmm0, dword [edi + 0xa4]
mov eax, dword [edi]
movss dword [esp + 0x88], xmm0
movss xmm0, dword [edi + 0xa8]
mov dword [edi + 0x58], 0
mov dword [edi + 0x60], 0
mov edx, dword [edi + 0xc]
movss dword [esp + 0x8c], xmm0
test dl, 1
je 0x10018bd3
xorps xmm2, xmm2
jmp 0x10018c05
movss xmm0, dword [eax + 0x3d00]
mov ecx, dword [edi + 0x304]
mulss xmm0, dword [edi + 0x268]
test ecx, ecx
je 0x10018bf5
mulss xmm0, dword [ecx + 0x268]
movss xmm2, dword [eax + 0x38e8]
addss xmm2, xmm2
addss xmm2, xmm0
xorps xmm0, xmm0
test edx, 0x400
je 0x10018c4a
movss xmm1, dword [eax + 0x3d00]
mov ecx, dword [edi + 0x304]
mulss xmm1, dword [edi + 0x268]
test ecx, ecx
je 0x10018c32
mulss xmm1, dword [ecx + 0x268]
movss xmm0, dword [eax + 0x38e8]
addss xmm1, dword [edi + 0x160]
addss xmm0, xmm0
addss xmm0, xmm1
addss xmm0, xmm2
push esi
lea eax, [esp + 0x58]
push edi
push eax
movss dword [edi + 0x5c], xmm0
mov dword [edi + 0x64], 0
mov dword [edi + 0xa4], 0
mov dword [edi + 0xa8], 0
call fcn.1001b0f0
add esp, 0xc
test bl, 0x40
je 0x10018cc2
cmp byte [edi + 0xb1], 0
jne 0x10018cc2
cmp byte [esp + 0x10], 0
jne 0x10018ca2
movss xmm0, dword [esp + 0x54]
movss dword [edi + 0x28], xmm0
mov byte [esp + 0x3c], 1
cmp byte [esp + 0x12], 0
jne 0x10018d4e
movss xmm0, dword [esp + 0x58]
movss dword [edi + 0x2c], xmm0
mov byte [esp + 0x24], 1
jmp 0x10018d4e
mov al, byte [edi + 0xcc]
test al, al
jg 0x10018cd5
cmp byte [edi + 0xcd], 0
jle 0x10018d4e
cmp byte [esp + 0x10], 0
jne 0x10018d06
test al, al
jle 0x10018d06
cmp byte [edi + 0xce], 0
je 0x10018cf6
movss xmm0, dword [edi + 0x28]
maxss xmm0, dword [esp + 0x54]
jmp 0x10018cfc
movss xmm0, dword [esp + 0x54]
movss dword [edi + 0x28], xmm0
mov byte [esp + 0x3c], 1
cmp byte [esp + 0x12], 0
jne 0x10018d3c
cmp byte [edi + 0xcd], 0
jle 0x10018d3c
cmp byte [edi + 0xce], 0
je 0x10018d2c
movss xmm0, dword [edi + 0x2c]
maxss xmm0, dword [esp + 0x58]
jmp 0x10018d32
movss xmm0, dword [esp + 0x58]
movss dword [edi + 0x2c], xmm0
mov byte [esp + 0x24], 1
cmp byte [edi + 0xb1], 0
jne 0x10018d4e
push edi
call fcn.10023060
add esp, 4
lea eax, [edi + 0x28]
push eax
lea eax, [esp + 0x174]
push edi
push eax
call fcn.1001b600
mov esi, eax
add esp, 0xc
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], edx
cmp byte [edi + 0xb1], 0
je 0x10018dbd
cmp dword [esp + 0x14], 0
jne 0x10018dbd
lea eax, [esp + 0x198]
mov ecx, edi
push eax
call fcn.1002d4b0
lea ecx, [esp + 0xa8]
movss xmm0, dword [eax + 8]
subss xmm0, dword [eax]
movss dword [esp + 0xa8], xmm0
movss xmm0, dword [eax + 0xc]
subss xmm0, dword [eax + 4]
movss dword [esp + 0xac], xmm0
jmp 0x10018dd7
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov dword [esp + 0xb4], ecx
lea ecx, [esp + 0xb0]
mov dword [esp + 0xb0], eax
cmp byte [esp + 0x44], 0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ecx
je 0x10018e25
mov eax, ebx
mov dword [edi + 0xd0], 0xffffffff
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x10018e25
cmp byte [esp + 0x11], 0
jne 0x10018e25
mov eax, dword [ebp + 0x4a2c]
mov ecx, dword [ebp + 0x4a34]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*8 - 0x10]
mov ecx, dword [ecx + edx*8 - 0xc]
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
mov esi, dword [esp + 0x14]
test esi, esi
je 0x10018e89
mov esi, dword [esp + 0x2c]
mov ax, word [esi + 0x188]
lea ecx, [esi + 0x188]
mov word [edi + 0xc0], ax
lea eax, [esp + 0x4c]
push eax
call fcn.10030bd0
mov edx, dword [esp + 0x20]
mov al, byte [esp + 0x11]
mov ecx, dword [esp + 0x28]
test edx, edx
jne 0x10018e83
test al, al
jne 0x10018e83
cmp ecx, 0x3000000
je 0x10018e83
mov eax, dword [esi + 0xf8]
mov ecx, dword [esi + 0xfc]
mov esi, dword [esp + 0x14]
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
jmp 0x10018e8d
mov esi, dword [esp + 0x14]
jmp 0x10018e95
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov al, byte [esp + 0x11]
movss xmm1, dword [edi + 0xdc]
ucomiss xmm1, dword [0x1007a6e0]
lahf
test ah, 0x44
jnp 0x10018f04
cmp byte [edi + 0xd5], 0
jne 0x10018f04
movss xmm0, dword [edi + 0xe4]
lea eax, [esp + 0x90]
mulss xmm0, dword [edi + 0x20]
push 0
push eax
push edi
subss xmm1, xmm0
movss xmm0, dword [edi + 0xe0]
movss dword [esp + 0x9c], xmm1
movss xmm1, dword [edi + 0x24]
mulss xmm1, dword [edi + 0xe8]
subss xmm0, xmm1
movss dword [esp + 0xa0], xmm0
call fcn.1002cf00
add esp, 0xc
jmp 0x10018f5e
cmp dword [esp + 0x84], 0
je 0x10018f17
lea eax, [esp + 0x178]
jmp 0x10018f49
test edx, edx
je 0x10018f2e
test al, al
jne 0x10018f2e
cmp byte [esp + 0x13], al
jle 0x10018f2e
lea eax, [esp + 0x180]
jmp 0x10018f49
test ebx, 0x2000000
je 0x10018f62
test al, al
jne 0x10018f62
cmp ecx, 0x3000000
je 0x10018f62
lea eax, [esp + 0x188]
push edi
push eax
call fcn.1001ddf0
add esp, 8
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edi + 0x18], ecx
mov dword [edi + 0x1c], eax
mov edx, dword [esp + 0x20]
cmp byte [esp + 0x11], 0
mov eax, dword [esp + 0x38]
movss xmm3, dword [ebp + 0x3978]
movss xmm2, dword [ebp + 0x3974]
maxss xmm3, dword [ebp + 0x3980]
movss xmm7, dword [eax + 0x18]
movss xmm6, dword [eax + 0x1c]
maxss xmm2, dword [ebp + 0x397c]
addss xmm7, dword [eax + 0x20]
addss xmm6, dword [eax + 0x24]
movss xmm0, dword [eax + 8]
movss xmm1, dword [eax + 0xc]
movaps xmm4, xmm0
addss xmm4, dword [eax + 0x10]
movaps xmm5, xmm1
movss dword [esp + 0xd8], xmm0
addss xmm5, dword [eax + 0x14]
subss xmm7, xmm2
movss dword [esp + 0xdc], xmm1
addss xmm2, dword [eax + 0x18]
subss xmm6, xmm3
movss dword [esp + 0xe0], xmm4
addss xmm3, dword [eax + 0x1c]
movss dword [esp + 0xe4], xmm5
movss dword [esp + 0xd0], xmm7
movss dword [esp + 0xc8], xmm2
movss dword [esp + 0xd4], xmm6
movss dword [esp + 0xcc], xmm3
jne 0x100190bd
test esi, esi
jne 0x100190bd
subss xmm4, xmm0
xorps xmm0, xmm0
comiss xmm4, xmm0
jbe 0x100190bd
subss xmm5, xmm1
comiss xmm5, xmm0
jbe 0x100190bd
mov eax, dword [0x10083558]
movss xmm1, dword [edi + 0x24]
cmp byte [eax + 0x4b], 0
je 0x10019088
test byte [edi + 0xc], 1
jne 0x10019088
mov ecx, dword [edi]
mov eax, dword [edi + 0x304]
movss xmm0, dword [ecx + 0x3d00]
mulss xmm0, dword [edi + 0x268]
test eax, eax
je 0x10019078
mulss xmm0, dword [eax + 0x268]
movss xmm1, dword [ecx + 0x38e8]
addss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [edi + 0x1c]
subss xmm3, xmm1
subss xmm2, dword [edi + 0x20]
comiss xmm3, xmm0
ja 0x100190a2
movaps xmm3, xmm6
minss xmm3, xmm0
movss xmm0, dword [edi + 0x18]
comiss xmm2, xmm0
ja 0x100190b3
movaps xmm2, xmm7
minss xmm2, xmm0
movss dword [edi + 0x18], xmm2
movss dword [edi + 0x1c], xmm3
cvttss2si eax, dword [edi + 0x18]
movd xmm0, eax
cvttss2si eax, dword [edi + 0x1c]
cvtdq2ps xmm0, xmm0
movd xmm1, eax
movss dword [edi + 0x18], xmm0
cvtdq2ps xmm1, xmm1
movss dword [edi + 0x1c], xmm1
test esi, esi
je 0x100190ed
movss xmm2, dword [ebp + 0x38d4]
jmp 0x1001910d
mov eax, ebx
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x10019105
movss xmm2, dword [ebp + 0x38dc]
jmp 0x1001910d
movss xmm2, dword [ebp + 0x38b8]
xor al, al
movss dword [edi + 0x50], xmm2
mov dword [esp + 0x20], eax
cmp byte [esp + 0x44], al
je 0x10019145
test ebx, 0x1000
jne 0x10019145
test edx, edx
je 0x10019131
mov byte [esp + 0x20], 1
jmp 0x10019145
cmp dword [esp + 0x28], 0
mov ecx, 1
movzx eax, al
cmove eax, ecx
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x18]
xorps xmm0, xmm0
xor eax, eax
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x40], 0xffffffff
movups xmmword [esp + 0x1a8], xmm0
cmp edx, 0x1000000
je 0x10019175
cmp byte [ebp + 0x4a], al
setne al
inc eax
cmp byte [edi + 0xb1], 0
movss xmm1, dword [ebp + 0x3cfc]
addss xmm2, dword [0x10078204]
movaps xmm0, xmm1
mov dword [esp + 0x38], eax
mulss xmm1, dword [0x1007a64c]
mulss xmm0, dword [0x1007a684]
addss xmm2, xmm1
maxss xmm0, xmm2
cvttss2si esi, xmm0
jne 0x10019203
lea ecx, [esp + 0xc8]
push ecx
lea ecx, [esp + 0x1ac]
push ecx
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x68]
push eax
push edi
call fcn.1002f270
add esp, 0x1c
test eax, eax
je 0x10019209
mov ecx, dword [esp + 0x3c]
test al, 1
movzx ecx, cl
mov edx, 1
cmovne ecx, edx
test al, 2
mov eax, dword [esp + 0x24]
movzx eax, al
cmovne eax, edx
mov dword [esp + 0x3c], ecx
mov cl, al
jmp 0x1001920d
mov ecx, dword [esp + 0x24]
jmp 0x10019211
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
mov al, byte [esp + 0x14]
mov byte [edi + 0xba], al
mov al, byte [esp + 0x40]
mov byte [edi + 0xbb], al
cmp byte [edi + 0xb1], 0
jne 0x100193d0
cmp dword [esp + 0x34], 0
movss xmm0, dword [edi + 0x64]
movss xmm2, dword [edi + 0x1e4]
movss xmm3, dword [edi + 0x1e8]
addss xmm0, dword [edi + 0x5c]
subss xmm2, dword [edi + 0x1dc]
subss xmm3, dword [edi + 0x1e0]
movss xmm4, dword [edi + 0x2c]
movss xmm5, dword [edi + 0x28]
subss xmm4, xmm0
addss xmm2, dword [esp + 0x88]
addss xmm3, dword [esp + 0x8c]
jne 0x100192a2
mov dword [esp + 0x98], 0
lea eax, [esp + 0x98]
mov dword [esp + 0x9c], 0
jmp 0x100192d7
movss xmm0, dword [edi + 0x48]
lea eax, [esp + 0xa0]
movss xmm1, dword [edi + 0x4c]
addss xmm0, xmm0
addss xmm1, xmm1
addss xmm0, dword [edi + 0x30]
addss xmm1, dword [edi + 0x34]
movss dword [esp + 0xa0], xmm0
movss dword [esp + 0xa4], xmm1
movss xmm6, dword [eax]
movss xmm1, dword [eax + 4]
mov eax, dword [esp + 0x3c]
test al, al
jne 0x100192eb
movaps xmm5, xmm2
test cl, cl
jne 0x100192f2
movaps xmm4, xmm3
test ebx, 0x4000
jne 0x10019308
comiss xmm1, xmm4
jbe 0x10019304
test bl, 8
je 0x10019308
xor al, al
jmp 0x1001930a
mov al, 1
mov byte [edi + 0xad], al
test ebx, 0x8000
jne 0x1001934c
test al, al
je 0x10019326
movss xmm0, dword [ebp + 0x391c]
jmp 0x10019329
xorps xmm0, xmm0
subss xmm5, xmm0
comiss xmm6, xmm5
jbe 0x10019340
mov eax, ebx
and eax, 0x808
cmp eax, 0x800
je 0x1001934c
mov byte [edi + 0xac], 0
xorps xmm1, xmm1
jmp 0x10019388
mov byte [edi + 0xac], 1
cmp byte [edi + 0xad], 0
jne 0x10019380
comiss xmm1, xmm4
jbe 0x1001936a
test bl, 8
jne 0x1001936a
mov al, 1
jmp 0x1001936c
xor al, al
mov byte [edi + 0xad], al
cmp byte [edi + 0xac], 0
jne 0x10019380
xorps xmm1, xmm1
jmp 0x10019388
movss xmm1, dword [ebp + 0x391c]
cmp byte [edi + 0xad], 0
xorps xmm0, xmm0
je 0x1001939c
movss xmm0, dword [ebp + 0x391c]
movss dword [edi + 0xa4], xmm0
movss dword [edi + 0xa8], xmm1
movss xmm0, dword [edi + 0x60]
addss xmm0, dword [edi + 0xa4]
movss dword [edi + 0x60], xmm0
movss xmm0, dword [edi + 0xa8]
addss xmm0, dword [edi + 0x64]
movss dword [edi + 0x64], xmm0
cmp edx, 0x1000000
jne 0x100193ed
cmp dword [esp + 0x28], 0x3000000
je 0x100193ed
mov eax, dword [esp + 0x2c]
add eax, 0x21c
jmp 0x100193f4
lea eax, [esp + 0xd8]
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x5c], xmm0
test byte [edi + 0xc], 1
movss xmm6, dword [edi + 0x18]
movss xmm7, dword [edi + 0x1c]
movaps xmm4, xmm6
addss xmm4, dword [edi + 0x20]
mov ecx, dword [edi]
movaps xmm5, xmm7
addss xmm5, dword [edi + 0x24]
je 0x10019423
xorps xmm2, xmm2
jmp 0x10019455
movss xmm0, dword [ecx + 0x3d00]
mov eax, dword [edi + 0x304]
mulss xmm0, dword [edi + 0x268]
test eax, eax
je 0x10019445
mulss xmm0, dword [eax + 0x268]
movss xmm2, dword [ecx + 0x38e8]
addss xmm2, xmm2
addss xmm2, xmm0
movaps xmm1, xmm6
mov ecx, dword [esp + 0x1c]
addss xmm1, dword [edi + 0x28]
movss dword [esp + 0x70], xmm6
addss xmm2, xmm7
movss xmm0, dword [edi + 0x1c]
mov eax, ecx
movss dword [esp + 0x74], xmm0
and eax, 0x401
xorps xmm3, xmm3
movss dword [esp + 0x78], xmm1
movss dword [esp + 0x7c], xmm2
movss dword [edi + 0x1cc], xmm6
movss dword [edi + 0x1d0], xmm7
movss dword [edi + 0x1d4], xmm4
movss dword [edi + 0x1d8], xmm5
mov ebx, dword [esp + 0x4c]
movss xmm1, dword [ebx + 0x1cc]
movss xmm0, dword [ebx + 0x1d0]
maxss xmm0, dword [esp + 0x60]
maxss xmm1, dword [esp + 0x5c]
movss dword [ebx + 0x1d0], xmm0
movss dword [ebx + 0x1cc], xmm1
movss xmm0, dword [ebx + 0x1d8]
movss xmm1, dword [ebx + 0x1d4]
minss xmm0, dword [esp + 0x68]
minss xmm1, dword [esp + 0x64]
movss dword [ebx + 0x1d8], xmm0
movss dword [ebx + 0x1d4], xmm1
movss xmm0, dword [ebx + 0x58]
addss xmm0, dword [ebx + 0x18]
movss dword [ebx + 0x1dc], xmm0
movss xmm0, dword [ebx + 0x1c]
addss xmm0, dword [ebx + 0x5c]
movss dword [ebx + 0x1e0], xmm0
movss xmm0, dword [ebx + 0x20]
addss xmm0, dword [ebx + 0x18]
subss xmm0, dword [ebx + 0x60]
movss dword [ebx + 0x1e4], xmm0
movss xmm0, dword [ebx + 0x1c]
addss xmm0, dword [ebx + 0x24]
subss xmm0, dword [ebx + 0x64]
movss dword [ebx + 0x1e8], xmm0
cmp eax, 1
jne 0x10019566
movss xmm4, dword [ebx + 0x54]
jmp 0x1001956e
movss xmm4, dword [ebp + 0x38f0]
movss xmm1, dword [ebx + 0x1dc]
movss xmm2, dword [0x10078200]
addss xmm1, xmm2
addss xmm1, dword [ebx + 0x54]
comiss xmm1, xmm3
cvttss2si edx, xmm1
jae 0x100195a1
movd xmm0, edx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100195a1
dec edx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x1ec], xmm0
movss xmm1, dword [ebx + 0x1e0]
addss xmm1, xmm2
addss xmm1, xmm4
comiss xmm1, xmm3
cvttss2si edx, xmm1
jae 0x100195da
movd xmm0, edx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100195da
dec edx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x1f0], xmm0
movss xmm1, dword [ebx + 0x1e4]
addss xmm1, xmm2
subss xmm1, dword [ebx + 0x54]
comiss xmm1, xmm3
cvttss2si edx, xmm1
jae 0x10019614
movd xmm0, edx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10019614
dec edx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x1f4], xmm0
movss xmm1, dword [ebx + 0x1e8]
addss xmm1, xmm2
subss xmm1, dword [ebx + 0x54]
comiss xmm1, xmm3
cvttss2si edx, xmm1
jae 0x1001964e
movd xmm0, edx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001964e
dec edx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x1f8], xmm0
movss xmm0, dword [ebx + 0x1f0]
movss xmm1, dword [esp + 0x60]
comiss xmm1, xmm0
ja 0x1001967a
movss xmm1, dword [esp + 0x68]
minss xmm1, xmm0
movss xmm2, dword [ebx + 0x1ec]
movss xmm0, dword [esp + 0x5c]
comiss xmm0, xmm2
ja 0x10019697
movss xmm0, dword [esp + 0x64]
minss xmm0, xmm2
movss dword [ebx + 0x1ec], xmm0
movss dword [ebx + 0x1f0], xmm1
movss xmm0, dword [ebx + 0x1f8]
movss xmm1, dword [esp + 0x60]
comiss xmm1, xmm0
ja 0x100196c4
movss xmm1, dword [esp + 0x68]
minss xmm1, xmm0
movss xmm2, dword [ebx + 0x1f4]
movss xmm0, dword [esp + 0x5c]
comiss xmm0, xmm2
ja 0x100196e1
movss xmm0, dword [esp + 0x64]
minss xmm0, xmm2
movss dword [ebx + 0x1f4], xmm0
movss dword [ebx + 0x1f8], xmm1
movss xmm0, dword [ebx + 0x20]
comiss xmm0, xmm3
jbe 0x1001970d
test ecx, 0x2000040
jne 0x1001970d
mulss xmm0, dword [0x1007a664]
jmp 0x1001971d
movss xmm0, dword [ebp + 0x3cfc]
mulss xmm0, dword [0x1007a6b8]
cvttss2si eax, xmm0
push ebx
movd xmm0, eax
lea eax, [esp + 0x194]
cvtdq2ps xmm0, xmm0
push eax
movss dword [ebx + 0x24c], xmm0
movss xmm1, dword [ebx + 0x48]
movss xmm0, dword [ebx + 0x1e4]
addss xmm1, xmm1
subss xmm0, dword [ebx + 0x1dc]
addss xmm1, dword [ebx + 0x30]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss dword [ebx + 0x84], xmm0
movss xmm1, dword [ebx + 0x4c]
movss xmm0, dword [ebx + 0x1e8]
addss xmm1, xmm1
subss xmm0, dword [ebx + 0x1e0]
addss xmm1, dword [ebx + 0x34]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss dword [ebx + 0x88], xmm0
call fcn.1001ae60
add esp, 8
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebx + 0x7c], ecx
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x8c], 0x7f7fffff
mov dword [ebx + 0x90], 0x7f7fffff
mov ecx, dword [ebx + 0x270]
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x68], 0
mov eax, dword [ebp + 0x3cf8]
mov eax, dword [eax + 0x30]
push dword [eax + 4]
call fcn.1004c540
push 0
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.10028ae0
mov edi, dword [esp + 0x38]
add esp, 0xc
cmp dword [esp + 0x18], 0x1000000
mov byte [esp + 0x11], 0
jne 0x100198bf
cmp dword [esp + 0x28], 0x3000000
je 0x100198bf
mov ecx, dword [edi + 0x188]
cmp ecx, 2
jl 0x10019887
mov eax, dword [edi + 0x190]
mov eax, dword [eax + ecx*4 - 8]
test eax, eax
je 0x10019887
movss xmm5, dword [eax + 0x1c]
movss xmm6, dword [ebx + 0x18]
movaps xmm0, xmm5
addss xmm0, dword [eax + 0x24]
movss xmm7, dword [eax + 0x18]
movaps xmm4, xmm6
movss xmm2, dword [ebx + 0x1c]
movaps xmm3, xmm7
addss xmm4, dword [ebx + 0x20]
addss xmm2, dword [ebx + 0x24]
comiss xmm0, dword [ebx + 0x1c]
addss xmm3, dword [eax + 0x20]
jbe 0x10019887
comiss xmm2, xmm5
jbe 0x10019887
comiss xmm3, xmm6
jbe 0x10019887
comiss xmm4, xmm7
mov byte [esp + 0x10], 1
ja 0x1001988c
mov byte [esp + 0x10], 0
mov edx, dword [ebx + 0x270]
mov eax, dword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
cmp dword [eax + ecx*8 - 0xc], 0
jne 0x100198bf
mov eax, dword [edi + 0x270]
cmp dword [eax + 0x18], 0
je 0x100198bf
cmp byte [esp + 0x10], 0
jne 0x100198bf
mov byte [esp + 0x11], 1
mov dword [ebx + 0x270], eax
mov ecx, dword [ebp + 0x4c18]
test ecx, ecx
jne 0x100198cf
mov ecx, dword [ebp + 0x4a50]
cmp byte [esp + 0x20], 0
jne 0x100198ef
test ecx, ecx
je 0x100198e8
mov eax, dword [ebx + 0x314]
cmp eax, dword [ecx + 0x314]
je 0x100198ef
mov byte [esp + 0x40], 0
jmp 0x100198f4
mov byte [esp + 0x40], 1
movd xmm0, esi
lea eax, [esp + 0x1a8]
push ecx
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
push dword [esp + 0x40]
lea eax, [esp + 0x7c]
push 1
push dword [esp + 0x50]
push eax
push ebx
call fcn.1002a940
add esp, 0x1c
cmp byte [esp + 0x11], 0
je 0x10019934
lea eax, [ebx + 0x274]
mov dword [ebx + 0x270], eax
mov ecx, dword [esp + 0x1c]
xorps xmm4, xmm4
movss xmm3, dword [ebx + 0x40]
mov edx, ecx
shr edx, 3
not dl
and dl, 1
ucomiss xmm3, xmm4
lahf
test ah, 0x44
jp 0x1001998f
mov eax, ecx
and eax, 0x808
cmp eax, 0x800
jne 0x10019968
movss xmm3, dword [ebx + 0x30]
jmp 0x1001996b
xorps xmm3, xmm3
movss xmm0, dword [ebx + 0x48]
movss xmm1, dword [ebx + 0x20]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [ebx + 0x60]
addss xmm0, dword [ebx + 0x58]
subss xmm1, xmm0
maxss xmm3, xmm1
movss xmm2, dword [ebx + 0x44]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x100199cf
test dl, dl
je 0x100199a8
movss xmm2, dword [ebx + 0x34]
jmp 0x100199ab
xorps xmm2, xmm2
movss xmm0, dword [ebx + 0x4c]
movss xmm1, dword [ebx + 0x24]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [ebx + 0x64]
addss xmm0, dword [ebx + 0x5c]
subss xmm1, xmm0
maxss xmm2, xmm1
movss xmm1, dword [ebx + 0x48]
maxss xmm1, dword [ebx + 0x54]
movss xmm0, dword [ebx + 0x1dc]
subss xmm0, dword [ebx + 0x7c]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x1fc], xmm0
movss xmm1, dword [ebx + 0x4c]
movss xmm0, dword [ebx + 0x1e0]
subss xmm0, dword [ebx + 0x80]
maxss xmm1, dword [ebx + 0x54]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x200], xmm0
addss xmm3, dword [ebx + 0x1fc]
movss dword [ebx + 0x204], xmm3
addss xmm2, dword [ebx + 0x200]
movss dword [ebx + 0x208], xmm2
movups xmm0, xmmword [ebx + 0x1fc]
movups xmmword [ebx + 0x20c], xmm0
movss xmm0, dword [ebx + 0x18]
subss xmm0, dword [ebx + 0x7c]
addss xmm0, dword [ebx + 0x48]
addss xmm0, dword [ebx + 0x58]
movss dword [ebx + 0x22c], xmm0
movss xmm0, dword [ebx + 0x1c]
subss xmm0, dword [ebx + 0x80]
addss xmm0, dword [ebx + 0x4c]
addss xmm0, dword [ebx + 0x5c]
movss dword [ebx + 0x230], xmm0
movss xmm1, dword [ebx + 0x40]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10019ac5
movss xmm0, dword [ebx + 0x48]
movss xmm1, dword [ebx + 0x20]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [ebx + 0x60]
addss xmm0, dword [ebx + 0x58]
subss xmm1, xmm0
addss xmm1, dword [ebx + 0x22c]
movss dword [ebx + 0x234], xmm1
movss xmm1, dword [ebx + 0x44]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10019b03
movss xmm0, dword [ebx + 0x4c]
movss xmm1, dword [ebx + 0x24]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [ebx + 0x64]
addss xmm0, dword [ebx + 0x5c]
subss xmm1, xmm0
addss xmm1, dword [ebx + 0x230]
push dword [esp + 0x44]
movss dword [ebx + 0x238], xmm1
movss xmm0, dword [ebx + 0x48]
addss xmm0, dword [ebx + 0x58]
subss xmm0, dword [ebx + 0x7c]
movss dword [ebx + 0x13c], xmm0
mov dword [ebx + 0x144], 0
mov dword [ebx + 0x140], 0
movss xmm3, dword [ebx + 0x48]
movss xmm0, dword [ebx + 0x18]
movss xmm2, dword [ebx + 0x4c]
cvtps2pd xmm0, xmm0
cvtps2pd xmm3, xmm3
cvtps2pd xmm2, xmm2
addsd xmm3, xmm0
movss xmm0, dword [ebx + 0x7c]
cvtps2pd xmm0, xmm0
subsd xmm3, xmm0
movss xmm0, dword [ebx + 0x58]
cvtps2pd xmm0, xmm0
addsd xmm3, xmm0
movss xmm0, dword [ebx + 0x1c]
cvtps2pd xmm0, xmm0
addsd xmm3, qword [0x100781f8]
addsd xmm2, xmm0
movss xmm0, dword [ebx + 0x80]
cvtps2pd xmm0, xmm0
cvtpd2ps xmm1, xmm3
subsd xmm2, xmm0
movss xmm0, dword [ebx + 0x5c]
movss dword [ebx + 0x108], xmm1
cvtps2pd xmm0, xmm0
addsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
movss dword [ebx + 0x10c], xmm0
movss xmm0, dword [ebx + 0x108]
cvtps2pd xmm0, xmm0
subsd xmm3, xmm0
movss xmm0, dword [ebx + 0x10c]
cvtps2pd xmm0, xmm0
cvtpd2ps xmm1, xmm3
subsd xmm2, xmm0
movss dword [ebx + 0x148], xmm1
cvtpd2ps xmm0, xmm2
movss dword [ebx + 0x14c], xmm0
mov eax, dword [ebx + 0x108]
mov ecx, dword [ebx + 0x10c]
mov dword [ebx + 0xf8], eax
mov dword [ebx + 0xfc], ecx
mov eax, dword [ebx + 0x108]
mov ecx, dword [ebx + 0x10c]
mov dword [ebx + 0x100], eax
mov dword [ebx + 0x104], ecx
mov eax, dword [ebx + 0x108]
mov ecx, dword [ebx + 0x10c]
mov dword [ebx + 0x110], eax
mov dword [ebx + 0x114], ecx
mov eax, dword [ebx + 0x108]
mov ecx, dword [ebx + 0x10c]
mov dword [ebx + 0x118], eax
mov dword [ebx + 0x11c], ecx
mov dword [ebx + 0x128], 0
mov dword [ebx + 0x12c], 0
mov eax, dword [ebx + 0x128]
mov ecx, dword [ebx + 0x12c]
mov dword [ebx + 0x120], eax
mov dword [ebx + 0x124], ecx
mov dword [ebx + 0x134], 0
mov dword [ebx + 0x130], 0
mov word [ebx + 0x138], 0
mov dword [ebx + 0x150], 0
mov ax, word [ebx + 0x156]
mov word [ebx + 0x154], ax
mov dword [ebx + 0x156], 0x10000
movss xmm0, dword [ebx + 0x88]
comiss xmm0, xmm4
push ecx
seta al
mov byte [ebx + 0x15a], al
mov byte [ebx + 0x15b], 0
movss xmm0, dword [ebp + 0x38f4]
lea ecx, [ebx + 0x164]
movss dword [esp], xmm0
call fcn.10042410
mov dword [ebx + 0x180], 0
mov dword [ebx + 0x184], 0
mov ecx, dword [ebx + 0x18c]
test ecx, ecx
jns 0x10019d2c
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 + 0x188]
call fcn.100310b0
mov dword [ebx + 0x188], 0
lea eax, [ebx + 0x250]
mov dword [ebx + 0x194], eax
mov dword [ebx + 0x198], 0
mov dword [ebx + 0x1a0], 1
test edi, edi
je 0x10019d62
mov eax, dword [edi + 0x1a0]
jmp 0x10019d67
mov eax, 1
mov dword [ebx + 0x1a4], eax
mov eax, dword [ebx + 0x24c]
mov dword [ebx + 0x1ac], eax
mov dword [ebx + 0x1b0], 0xbf800000
mov ecx, dword [ebx + 0x1b8]
test ecx, ecx
jns 0x10019da9
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 + 0x1b4]
call fcn.100310b0
mov dword [ebx + 0x1b4], 0
mov ecx, dword [ebx + 0x1c4]
test ecx, ecx
jns 0x10019dd9
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 + 0x1c0]
call fcn.100310b0
test dword [esp + 0x1c], 0x8000000
mov dword [ebx + 0x1c0], 0
je 0x10019e06
mov eax, dword [0x10083558]
add eax, 0x3cd4
push eax
call fcn.1001c2a0
add esp, 4
mov dword [ebx + 0x1a8], eax
mov al, byte [ebx + 0xcc]
test al, al
jle 0x10019e18
dec al
mov byte [ebx + 0xcc], al
mov al, byte [ebx + 0xcd]
test al, al
jle 0x10019e2a
dec al
mov byte [ebx + 0xcd], al
cmp byte [esp + 0x20], 0
je 0x10019e4f
push 2
push ebx
call fcn.1001eb80
add esp, 8
cmp ebx, dword [ebp + 0x4a50]
jne 0x10019e4f
push 0
push ebx
call fcn.100234a0
add esp, 8
test byte [esp + 0x1c], 1
jne 0x10019ebb
movss xmm0, dword [ebx + 0x54]
lea eax, [esp + 0xb8]
addss xmm0, dword [esp + 0x70]
push dword [esp + 0x6c]
push dword [esp + 0x54]
movss dword [esp + 0xc0], xmm0
movss xmm0, dword [esp + 0x7c]
movss dword [esp + 0xc4], xmm0
movss xmm0, dword [esp + 0x80]
subss xmm0, dword [ebx + 0x54]
push eax
push ebx
movss dword [esp + 0xd0], xmm0
movss xmm0, dword [esp + 0x8c]
movss dword [esp + 0xd4], xmm0
call fcn.1002b3e0
add esp, 0x10
xor eax, eax
mov dword [ebx + 0x23c], eax
lea eax, [esp + 0x70]
push eax
push ebx
call fcn.1002c690
mov eax, dword [ebp + 0x48e8]
add esp, 8
test eax, eax
je 0x10019eea
cmp dword [ebx + 8], eax
je 0x10019ee5
cmp dword [ebx + 0x74], eax
jne 0x10019eea
call fcn.1001cc60
mov esi, dword [esp + 0x30]
cmp byte [ebx + 0xb4], 0
jne 0x10019f0f
push 1
lea eax, [ebx + 0x1f4]
push eax
lea eax, [ebx + 0x1ec]
push eax
call fcn.10028ae0
add esp, 0xc
mov byte [ebx + 0xb0], 0
inc word [ebx + 0xbc]
mov dword [ebp + 0x4968], 0
cmp dword [esp + 0x48], esi
je 0x1001a1f1
cmp byte [ebx + 0xb4], 0
jne 0x1001a1ea
mov eax, dword [esp + 0x1c]
and eax, 0x11000000
cmp eax, 0x1000000
jne 0x1001a152
cmp dword [esp + 0x80], 0
je 0x1001a0c9
cmp byte [ebp + 0x4aac], 0
je 0x1001a0c9
mov eax, dword [ebp + 0x4a50]
test eax, eax
je 0x1001a0c9
mov eax, dword [eax + 0x318]
cmp eax, dword [ebx + 0x318]
jne 0x1001a0c9
mov al, 1
jmp 0x1001a0cb
cmp byte [ebx + 0xb4], 0
je 0x10019fa4
mov byte [ebx + 0xae], 1
mov ecx, dword [0x10083558]
mov dword [ecx + 0x3f94], ebx
mov eax, dword [ebx + 0x19c]
cmp eax, 0xffffffff
je 0x10019fc6
shl eax, 9
add eax, dword [ecx + 0x4d18]
jmp 0x10019fc8
xor eax, eax
mov dword [ecx + 0x4cf8], eax
mov dword [ecx + 0x3d04], 0x3f800000
mov eax, dword [ebx]
movss xmm0, dword [eax + 0x3d00]
mov eax, dword [ebx + 0x304]
mulss xmm0, dword [ebx + 0x268]
test eax, eax
je 0x10019ffc
mulss xmm0, dword [eax + 0x268]
movss dword [ecx + 0x3d14], xmm0
movss dword [ecx + 0x3cfc], xmm0
mov eax, dword [0x10083558]
cmp dword [eax + 0x4cf8], 0
mov ecx, dword [eax + 0x3f94]
jne 0x1001a02d
cmp dword [ecx + 0x198], 0
jne 0x1001a02d
mov al, 1
jmp 0x1001a02f
xor al, al
mov byte [ecx + 0x158], al
test byte [ebx + 0xc], 1
mov ecx, dword [ebx]
je 0x1001a042
xorps xmm2, xmm2
jmp 0x1001a074
movss xmm0, dword [ecx + 0x3d00]
mov eax, dword [ebx + 0x304]
mulss xmm0, dword [ebx + 0x268]
test eax, eax
je 0x1001a064
mulss xmm0, dword [eax + 0x268]
movss xmm2, dword [ecx + 0x38e8]
addss xmm2, xmm2
addss xmm2, xmm0
movss xmm0, dword [ebx + 0x18]
lea eax, [esp + 0xe8]
addss xmm2, dword [ebx + 0x1c]
movaps xmm1, xmm0
movss dword [esp + 0xe8], xmm0
addss xmm1, dword [ebx + 0x28]
movss xmm0, dword [ebx + 0x1c]
push eax
push ebx
movss dword [esp + 0xf4], xmm0
movss dword [esp + 0xf8], xmm1
movss dword [esp + 0xfc], xmm2
call fcn.1002c690
mov edi, dword [esp + 0x34]
add esp, 8
jmp 0x10019eee
xor al, al
cmp byte [ebp + 0x5e3c], 0
jne 0x1001a11c
test al, al
jne 0x1001a11c
movss xmm0, dword [ebx + 0x1cc]
comiss xmm0, dword [ebx + 0x1d4]
jae 0x1001a0fa
movss xmm0, dword [ebx + 0x1d0]
comiss xmm0, dword [ebx + 0x1d8]
jb 0x1001a11c
cmp byte [ebx + 0xcc], 0
jg 0x1001a115
cmp byte [ebx + 0xcd], 0
jg 0x1001a115
mov byte [ebx + 0xd4], 1
jmp 0x1001a11c
mov byte [ebx + 0xd5], 1
test edi, edi
je 0x1001a152
cmp byte [edi + 0xb1], 0
jne 0x1001a132
cmp byte [edi + 0xd4], 0
jle 0x1001a142
mov byte [ebx + 0xd4], 1
cmp byte [edi + 0xb1], 0
jne 0x1001a14b
cmp byte [edi + 0xd5], 0
jle 0x1001a152
mov byte [ebx + 0xd5], 1
xorps xmm0, xmm0
comiss xmm0, dword [ebp + 0x38a8]
jb 0x1001a165
mov byte [ebx + 0xd4], 1
cmp byte [ebx + 0xd4], 0
jg 0x1001a185
cmp byte [ebx + 0xd5], 0
jg 0x1001a185
xor cl, cl
cmp byte [ebx + 0xd6], cl
jg 0x1001a187
xor al, al
jmp 0x1001a189
mov cl, 1
mov al, 1
mov byte [ebx + 0xb6], al
mov al, byte [ebx + 0xd7]
test al, al
jle 0x1001a1a8
dec al
mov byte [ebx + 0xd7], al
or dword [ebx + 0xc], 0x30200
xor al, al
cmp byte [ebx + 0xb1], al
jne 0x1001a1be
cmp byte [ebx + 0xae], al
je 0x1001a1be
test cl, cl
je 0x1001a1e2
cmp byte [ebx + 0xcc], 0
jg 0x1001a1e2
cmp byte [ebx + 0xcd], 0
jg 0x1001a1e2
cmp byte [ebx + 0xd5], 0
mov ecx, 1
movzx eax, al
cmovle eax, ecx
mov byte [ebx + 0xb3], al
jmp 0x1001a1f1
mov byte [ebx + 0xb3], 1
cmp byte [ebx + 0xb7], 0
jne 0x1001a244
cmp byte [ebp + 0x65], 0
je 0x1001a207
cmp dword [esp + 0x34], 0
je 0x1001a21c
cmp byte [ebp + 0x66], 0
je 0x1001a244
movsx eax, byte [ebp + 0x5e9c]
cmp eax, dword [ebp + 0x3f6c]
jne 0x1001a244
mov al, byte [ebx + 0xcc]
test al, al
jle 0x1001a22e
inc al
mov byte [ebx + 0xcc], al
mov al, byte [ebx + 0xcd]
test al, al
jle 0x1001a240
inc al
mov byte [ebx + 0xcd], al
xor al, al
jmp 0x1001a24e
cmp byte [ebx + 0xb3], 0
sete al
mov ecx, dword [esp + 0x1b8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10056f1d
add esp, 0x1ac
ret