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

Disassembly:
push 8
mov eax, 0x10055001
call fcn.10051f4b
push ebx
sub esp, 0x198
push esi
mov esi, dword [0x10098b90]
push edi
push 0x20
pop eax
mov dword [ebp - 0xd4], ecx
xor ecx, ecx
mov dword [ebp - 0xc4], eax
inc ecx
mov eax, dword [esi + 0x3eb8]
mov dword [ebp - 0x44], esi
mov byte [eax + 0x90], cl
mov edi, dword [esi + 0x3eb8]
mov dword [ebp - 0x4c], edi
cmp byte [edi + 0x93], 0
jne 0x1002f898
mov edx, dword [ebx + 0x14]
xor eax, eax
inc eax
mov ecx, edx
shr ecx, 0x1a
and cl, al
mov eax, edx
shr eax, 0xe
and eax, 0xffffff01
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x3c], eax
mov eax, edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0xbc], eax
mov eax, edx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0x50], eax
mov eax, edx
xor edx, edx
shr eax, 0x12
inc edx
and al, dl
mov dword [ebp - 0x7c], eax
test cl, cl
je 0x1002f6bf
call fcn.10018316
push ecx
push dword [ebp - 0xd4]
mov ecx, edi
call fcn.1000f8ce
movss xmm0, dword [0x10091970]
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x20], eax
xor eax, eax
push ecx
inc eax
mov dword [esp], 0xbf800000
push eax
push 0
lea ecx, [ebp - 0xfc]
movss dword [ebp - 0x100], xmm0
call fcn.1001269e
add esp, 0xc
cmp byte [ebp - 0x28], 0
je 0x1002f71a
movss xmm0, dword [esi + 0x3c44]
mulss xmm0, dword [0x100918fc]
jmp 0x1002f722
movss xmm0, dword [ebp - 0xf8]
movss xmm2, dword [esi + 0x37d8]
addss xmm2, xmm2
addss xmm2, xmm0
call fcn.1001817e
mov eax, dword [ebx + 0x10]
lea ecx, [ebp - 0x90]
movaps xmm1, xmm0
push dword [eax + 4]
push dword [eax]
call fcn.100181e4
movss xmm1, dword [ebp - 0xfc]
xorps xmm0, xmm0
comiss xmm1, xmm0
pop ecx
pop ecx
jbe 0x1002f769
addss xmm1, dword [esi + 0x37ec]
jmp 0x1002f76c
xorps xmm1, xmm1
movss xmm0, dword [ebp - 0x8c]
lea ecx, [ebp - 0x1a8]
addss xmm0, dword [edi + 0xd8]
movss xmm2, dword [ebp - 0x90]
mov eax, dword [edi + 0xd8]
addss xmm1, xmm2
mov edx, dword [edi + 0xd4]
movaps xmm3, xmm2
addss xmm3, dword [edi + 0xd4]
movss dword [ebp - 0xa8], xmm0
mov dword [ebp - 0xb0], eax
movss xmm0, dword [ebp - 0xb0]
addss xmm0, dword [ebp - 0x8c]
mov dword [ebp - 0xb4], edx
addss xmm1, dword [ebp - 0xb4]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0xb8], xmm3
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x74], eax
movss dword [ebp - 0xac], xmm3
movss dword [ebp - 0x38], xmm1
movss dword [ebp - 0x6c], xmm0
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0xe0], eax
movss dword [ebp - 0xdc], xmm1
movss dword [ebp - 0xd8], xmm0
mov dword [ebp - 0x58], edi
call fcn.1000c813
cmp byte [ebp - 0x28], 0
lea ecx, [ebp - 0x84]
movss xmm1, dword [ebp - 0x6c]
movss xmm0, dword [ebp - 0x38]
subss xmm1, dword [ebp - 0xe0]
subss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0x80], xmm1
movss xmm1, dword [esi + 0x37d8]
movss dword [ebp - 0x84], xmm0
je 0x1002fa13
mov eax, dword [edi + 0xd4]
mov dword [ebp - 0x70], eax
mov eax, dword [edi + 0xd8]
mov dword [ebp - 0xb8], eax
call fcn.10017d6d
mov edx, dword [ebp - 0x20]
lea eax, [ebp - 0xb4]
push 0x400
push eax
lea ecx, [ebp - 0xe4]
call fcn.10017ec1
pop ecx
pop ecx
test al, al
jne 0x1002f8ad
call fcn.1001843d
xor al, al
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [esi + 0x4720]
lea edi, [ebp - 0x1a8]
push 0xf
pop ecx
mov dword [ebp - 0x34], eax
add esi, 0x4718
mov eax, dword [ebp - 0x4c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x44]
mov dword [eax + 0xd4], ecx
mov ecx, dword [ebp - 0xb8]
mov dword [eax + 0xd8], ecx
push 3
lea edx, [esi + 0x38d0]
pop ecx
call fcn.1000ea7a
movss xmm1, dword [esi + 0x37dc]
push 7
pop ecx
call fcn.1000eafd
movss xmm1, dword [esi + 0x37e0]
push 8
pop ecx
call fcn.1000eafd
and dword [ebp - 0x84], 0
lea edx, [ebp - 0x84]
and dword [ebp - 0x80], 0
push 2
pop eax
mov ecx, eax
call fcn.1000eb59
movss xmm1, dword [ebp - 0xac]
lea eax, [ebp - 0x84]
movss xmm0, dword [ebp - 0xa8]
subss xmm0, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x20]
movss dword [ebp - 0xb8], xmm1
subss xmm1, dword [ebp - 0xb4]
push ecx
push ecx
mov ecx, dword [ebp - 0xd4]
push eax
movss dword [ebp - 0x84], xmm1
movss dword [ebp - 0x80], xmm0
call fcn.10012992
add esp, 0xc
mov byte [ebp - 0x47], al
push 3
pop ecx
call fcn.1000ebc7
call fcn.1000eac0
cmp byte [ebp - 0x47], 0
jne 0x1002f99a
call fcn.10012b17
jmp 0x1002f893
mov edx, dword [esi + 0x3eb8]
mov edi, dword [ebp - 0xb4]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x68], edi
movsx ecx, word [edx + 0x132]
mov eax, dword [edx + 0x12c]
bts ecx, eax
movss xmm0, dword [edx + 0xd4]
mov eax, dword [ebp - 0xb0]
mov word [edx + 0x132], cx
addss xmm0, dword [esi + 0x37d4]
mov dword [ebp - 0x74], eax
movss dword [edx + 0xd4], xmm0
movss xmm0, dword [esi + 0x37d8]
addss xmm0, dword [edx + 0xd8]
movss dword [edx + 0xd8], xmm0
movss xmm0, dword [ebp - 0x90]
subss xmm0, dword [edx + 0x84]
movss dword [ebp - 0x78], xmm0
jmp 0x1002fa70
call fcn.10017d6d
test dword [ebx + 0x14], 0x10000000
jne 0x1002fa67
mov edx, dword [ebp - 0x20]
lea eax, [ebp - 0xb4]
push 0x400
push eax
lea ecx, [ebp - 0xe4]
call fcn.10017ec1
pop ecx
pop ecx
test al, al
je 0x1002f898
mov eax, dword [ebp - 0xb0]
movss xmm1, dword [ebp - 0xac]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0xb4]
movss dword [ebp - 0xb8], xmm1
mov dword [ebp - 0x68], eax
mov eax, dword [esi + 0x4720]
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0xb4]
call fcn.1000fcb7
mov cl, al
mov byte [ebp - 0x45], cl
test cl, cl
je 0x1002fa90
xor eax, eax
inc eax
mov dword [esi + 0x49a8], eax
mov edx, dword [ebp - 0x20]
test edx, edx
je 0x1002faaa
mov edi, dword [0x10098b90]
add edi, 0x4aec
mov dword [ebp - 0x54], edi
cmp dword [edi], edx
je 0x1002faaf
xor edi, edi
mov dword [ebp - 0x54], edi
mov eax, dword [ebp - 0x34]
shr eax, 8
and al, 1
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x3ef0]
cmp eax, edx
je 0x1002fae7
cmp dword [esi + 0x483c], edx
je 0x1002fadf
cmp dword [esi + 0x4830], edx
jne 0x1002fae7
push 2
pop edx
cmp dword [esi + 0x4858], edx
jne 0x1002fae7
xor edx, edx
inc edx
mov byte [ebp - 0x12], dl
jmp 0x1002faee
xor edx, edx
mov byte [ebp - 0x12], 0
inc edx
test cl, cl
je 0x1002fafe
cmp byte [esi + 0x36f8], 0
mov byte [ebp - 0x14], dl
jne 0x1002fb02
mov byte [ebp - 0x14], 0
cmp byte [ebp - 0x28], 0
je 0x1002fb2e
test edi, edi
je 0x1002fb2e
test eax, eax
jne 0x1002fb2e
push ecx
mov ecx, dword [ebp - 0x58]
push str.SCROLLY
call fcn.1000f8ce
cmp dword [esi + 0x3f18], eax
jne 0x1002fb2e
xor eax, eax
inc eax
mov byte [ebp - 0x15], al
jmp 0x1002fb41
mov eax, dword [ebp - 0x28]
xor edx, edx
mov byte [ebp - 0x15], dl
test al, al
je 0x1002fb6f
mov byte [ebp - 0x15], dl
test edi, edi
je 0x1002fb6f
push ecx
mov ecx, dword [ebp - 0x58]
push str.SCROLLY
call fcn.1000f8ce
cmp dword [esi + 0x3ef0], eax
jne 0x1002fb6a
xor eax, eax
mov byte [ebp - 0x21], al
mov byte [ebp - 0x1c], al
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x28]
mov byte [ebp - 0x11], cl
jmp 0x1002fb7e
mov eax, dword [ebp - 0x28]
xor edx, edx
mov byte [ebp - 0x21], dl
mov cl, dl
mov byte [ebp - 0x1c], dl
mov byte [ebp - 0x11], cl
test al, al
je 0x1002fb8a
mov edx, dword [ebp - 0x58]
movss xmm0, dword [edx + 0x60]
xor edx, edx
jmp 0x1002fb97
movss xmm0, dword [0x10091960]
mov cl, dl
mov byte [ebp - 0x11], cl
movss dword [ebp - 0x9c], xmm0
test edi, edi
je 0x1002fbb2
xor al, 1
cmp byte [edi + 0x53], al
je 0x1002fbb2
xor eax, eax
inc eax
mov byte [ebp - 0x2e], al
jmp 0x1002fbb7
mov al, dl
mov byte [ebp - 0x2e], dl
cmp byte [ebp - 0x14], 0
jne 0x1002fbdb
cmp byte [ebp - 0x15], 0
jne 0x1002fbdb
cmp byte [ebp - 0x12], 0
jne 0x1002fbdb
cmp byte [ebp - 0x34], 0
jne 0x1002fbdb
mov byte [ebp - 0x13], dl
test cl, cl
jne 0x1002fbe3
mov byte [ebp - 0x16], dl
jmp 0x1002fbf4
xor ecx, ecx
inc ecx
mov byte [ebp - 0x13], cl
jmp 0x1002fbe6
xor ecx, ecx
inc ecx
mov byte [ebp - 0x16], cl
mov ecx, dword [ebp - 0x20]
cmp dword [esi + 0x3ef0], ecx
jne 0x1002fbfc
test al, al
je 0x1002fd92
mov edx, dword [ebx + 8]
lea edi, [esi + 0x4aec]
mov dword [ebp - 0x54], edi
mov dword [edi + 0xe68], 0xbe99999a
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x1002fc15
sub edx, ecx
lea ecx, [edi + 0x24]
mov dword [ebp - 0x70], edx
lea esi, [edx + 1]
push esi
call fcn.1001db8e
push esi
push dword [ebx + 8]
push dword [edi + 0x2c]
call fcn.10036100
mov esi, dword [ebp - 0x20]
add esp, 0xc
cmp dword [edi], esi
jne 0x1002fc70
cmp byte [ebp - 0x2e], 0
jne 0x1002fc70
xor eax, eax
inc eax
mov byte [ebp - 0x15], al
mov eax, dword [ebp - 0x70]
cmp dword [edi + 8], eax
jne 0x1002fc70
cmp byte [edi + 0x30], 0
je 0x1002fc74
push eax
push dword [ebx + 8]
push dword [edi + 0x20]
call fcn.100412e0
add esp, 0xc
test eax, eax
je 0x1002fc74
mov byte [ebp - 0x15], 0
and dword [ebp - 0x38], 0
lea ecx, [edi + 0xc]
push 0x21
mov dword [edi], esi
call fcn.1001dc2b
lea ecx, [edi + 0x18]
push 0
call fcn.1001db8e
mov esi, dword [ebx + 8]
lea eax, [ebp - 0x38]
mov ecx, dword [edi + 0x14]
push eax
push 0
push esi
push 0x20
pop eax
mov edx, eax
mov byte [edi + 0x30], 0
call fcn.1000e587
mov ecx, dword [ebp - 0x38]
add esp, 0xc
sub ecx, esi
mov edx, eax
mov dword [edi + 8], ecx
mov cl, byte [ebp - 0x15]
mov dword [edi + 4], edx
test cl, cl
je 0x1002fcdf
cmp dword [edi + 0x3c], edx
cmovl eax, dword [edi + 0x3c]
cmp dword [edi + 0x40], edx
mov dword [edi + 0x3c], eax
mov eax, edx
cmovl eax, dword [edi + 0x40]
cmp dword [edi + 0x44], edx
mov dword [edi + 0x40], eax
cmovl edx, dword [edi + 0x44]
jmp 0x1002fd2b
and dword [edi + 0x38], 0
xor eax, eax
mov word [edi + 0xe5a], ax
xor edx, edx
and dword [edi + 0x58], edx
push 0x63
pop eax
mov word [edi + 0xe5c], ax
xor eax, eax
inc eax
mov dword [edi + 0xe60], edx
mov byte [edi + 0x51], al
mov al, byte [ebp - 0x28]
xor al, 1
mov dword [edi + 0xe64], 0x3e7
mov dword [edi + 0x40], edx
mov dword [edi + 0x3c], edx
mov byte [edi + 0x52], dl
mov byte [edi + 0x50], dl
mov byte [edi + 0x53], al
mov byte [edi + 0x48], dl
mov dword [edi + 0x4c], edx
cmp byte [ebp - 0x28], 0
mov dword [edi + 0x44], edx
jne 0x1002fd80
mov edx, dword [ebp - 0x1c]
test byte [ebx + 0x14], 0x10
push 1
pop eax
movzx edx, dl
cmovne edx, eax
cmp byte [ebp - 0x12], 0
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x1c], edx
je 0x1002fd63
test cl, cl
je 0x1002fd5d
test byte [eax + 0x4840], 4
jne 0x1002fd63
xor ecx, ecx
inc ecx
mov byte [ebp - 0x1c], cl
cmp byte [ebp - 0x34], 0
jne 0x1002fd78
cmp byte [ebp - 0x14], 0
je 0x1002fd80
cmp byte [eax + 0xdd0], 0
je 0x1002fd80
xor eax, eax
inc eax
mov byte [ebp - 0x1c], al
jmp 0x1002fd83
xor eax, eax
inc eax
test dword [ebx + 0x14], 0x2000
mov esi, dword [ebp - 0x44]
je 0x1002fd92
mov byte [edi + 0x48], al
mov edx, dword [ebp - 0x20]
cmp dword [esi + 0x3ef0], edx
je 0x1002fdd0
cmp byte [ebp - 0x13], 0
je 0x1002fdc4
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x20]
call fcn.1000fa5d
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x20]
call fcn.100193db
mov ecx, dword [ebp - 0x4c]
call fcn.10016ac1
mov edx, dword [ebp - 0x20]
cmp dword [esi + 0x3ef0], edx
jne 0x1002feef
cmp byte [ebp - 0x14], 0
je 0x1002fdeb
mov ecx, 0x281
call fcn.1000d76d
mov dword [eax + 4], edx
mov dword [eax], edx
mov word [eax + 8], 0
mov eax, dword [esi + 0x46ec]
or eax, 3
cmp byte [ebp - 0x28], 0
mov dword [esi + 0x46ec], eax
jne 0x1002fe07
mov ecx, dword [ebx + 0x14]
test cl, cl
jns 0x1002fe10
or eax, 0xc
mov dword [esi + 0x46ec], eax
mov ecx, 0x20e
call fcn.1000d76d
mov ecx, 0x26c
mov dword [eax + 4], edx
mov dword [eax], edx
mov word [eax + 8], 0
call fcn.1000d76d
mov ecx, 0x207
mov dword [eax + 4], edx
mov dword [eax], edx
mov word [eax + 8], 0
call fcn.1000d76d
mov ecx, 0x208
mov dword [eax + 4], edx
mov dword [eax], edx
mov word [eax + 8], 0
call fcn.1000d76d
cmp byte [ebp - 0x28], 0
mov dword [eax + 4], edx
mov dword [eax], edx
mov word [eax + 8], 0
je 0x1002fe94
mov ecx, 0x205
call fcn.1000d76d
mov ecx, 0x206
mov dword [eax + 4], edx
mov dword [eax], edx
mov word [eax + 8], 0
call fcn.1000d76d
mov dword [eax + 4], edx
mov dword [eax], edx
mov word [eax + 8], 0
test dword [ebx + 0x14], 0x440
je 0x1002feb2
mov ecx, 0x200
call fcn.1000d76d
mov dword [eax + 4], edx
mov dword [eax], edx
mov word [eax + 8], 0
cmp dword [esi + 0x3ef0], edx
jne 0x1002feef
test edi, edi
jne 0x1002feca
xor edx, edx
xor ecx, ecx
call fcn.1000fa5d
mov edx, dword [ebp - 0x20]
cmp dword [esi + 0x3ef0], edx
jne 0x1002feef
xor eax, eax
inc eax
cmp byte [esi + 0x36f8], 0
je 0x1002fefc
cmp byte [ebp - 0x16], 0
jne 0x1002fefc
cmp byte [ebp - 0x13], 0
jne 0x1002fefc
mov byte [ebp - 0x21], al
jmp 0x1002fefc
test edi, edi
je 0x1002ff00
cmp byte [ebp - 0x11], 0
je 0x1002ff00
xor eax, eax
inc eax
mov cl, al
jmp 0x1002ff02
xor cl, cl
mov byte [ebp - 0x11], cl
test edi, edi
je 0x1002ff22
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x1002ff17
cmp byte [ebp - 0x1c], 0
je 0x1002ff22
test cl, cl
je 0x1002ff22
xor eax, eax
lea ecx, [eax + 1]
jmp 0x1002ff24
xor cl, cl
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], ecx
mov byte [ebp - 0x46], cl
mov byte [ebp - 0x47], 0
mov byte [ebp - 0x2e], 0
test al, al
je 0x1002ffb4
test edi, edi
je 0x1002ffb4
cmp byte [ebp - 0x11], 0
jne 0x1002ff47
test cl, cl
je 0x1002ffbe
and dword [ebp - 0x38], 0
lea ecx, [edi + 0xc]
push 0x21
call fcn.1001dc2b
mov edx, dword [edi + 0xc]
lea eax, [ebp - 0x38]
mov ecx, dword [edi + 0x14]
push eax
push 0
push dword [ebx + 8]
call fcn.1000e587
mov ecx, dword [ebp - 0x38]
mov edx, eax
sub ecx, dword [ebx + 8]
add esp, 0xc
cmp dword [edi + 0x3c], edx
movzx eax, byte [ebp - 0x46]
mov esi, dword [ebp - 0x44]
mov dword [edi + 8], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], edx
mov dword [edi + 0x3c], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], edx
mov dword [edi + 4], edx
cmovl edx, dword [edi + 0x44]
cmp ecx, edx
mov dword [edi + 0x40], ecx
push 0
pop ecx
cmovne ecx, eax
mov dword [edi + 0x44], edx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], ecx
cmp byte [ebp - 0x11], 0
jne 0x1002ffc6
test cl, cl
jne 0x1002ffc6
cmp dword [esi + 0x3ef0], edx
jne 0x1002ffdb
test al, al
jne 0x1002ffdb
test edi, edi
je 0x1002ffdb
cmp byte [edi + 0x30], al
je 0x1002ffdb
xor eax, eax
inc eax
mov byte [ebp - 0x46], al
jmp 0x1002ffdf
mov byte [ebp - 0x46], 0
cmp byte [ebp - 0xbc], 0
je 0x10030049
mov ecx, dword [esi + 0x3c40]
push 0x2a
call fcn.10028dcb
mov ecx, dword [ecx + 0x10]
mov edx, eax
mov eax, dword [ebp - 0x44]
add esi, 0x5960
mov dword [esi + 0x10], ecx
mov ecx, dword [eax + 0x3c40]
mov ecx, dword [ecx + 0x44]
mov dword [esi + 0x44], ecx
mov ecx, dword [eax + 0x3c40]
mov ecx, dword [ecx + 0x48]
mov dword [esi + 0x48], ecx
mov ecx, esi
mov eax, dword [eax + 0x3c40]
mov eax, dword [eax + 0x4c]
mov dword [esi + 0x4c], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x3c40]
mov eax, dword [eax + 0x30]
mov dword [esi + 0x30], eax
mov dword [esi + 0x2c], edx
mov eax, dword [edx + 4]
mov dword [esi + 0xc], eax
call fcn.10016c8f
mov esi, dword [ebp - 0x44]
and dword [ebp - 0x70], 0
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x80], 0xa
cmp dword [esi + 0x3ef0], ecx
jne 0x100303ea
mov eax, dword [edi + 8]
mov edx, dword [ebx + 0x14]
mov dword [ebp - 0x70], eax
mov byte [edi + 0xe6e], 0
push 0x20
mov dword [edi + 0xe70], edx
pop eax
mov dword [edi + 0x34], eax
cmp byte [esi + 0xdc0], 0
sete al
xor ecx, ecx
inc ecx
mov byte [esi + 0x3efd], al
cmp byte [ebp - 0x28], 0
mov dword [esi + 0x5c3c], ecx
movss xmm2, dword [esi + 0xdb8]
subss xmm2, dword [ebp - 0xb4]
subss xmm2, dword [esi + 0x37d4]
addss xmm2, dword [edi + 0x38]
je 0x100300d3
mov eax, dword [ebp - 0x58]
movss xmm3, dword [esi + 0xdbc]
subss xmm3, dword [eax + 0xd8]
jmp 0x100300e3
movss xmm3, dword [esi + 0x3c44]
mulss xmm3, dword [0x10091868]
cmp byte [ebp - 0x1c], 0
mov al, byte [esi + 0x61]
mov byte [ebp - 0x14], al
je 0x1003010e
mov eax, dword [edi + 4]
and dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov al, byte [ebp - 0x14]
mov byte [edi + 0x52], 0
mov byte [edi + 0xe6d], cl
jmp 0x1003021d
mov cl, byte [ebp - 0x45]
test cl, cl
je 0x10030265
push 2
pop edx
cmp word [esi + 0x3702], dx
mov edx, dword [ebx + 0x14]
jb 0x10030265
cmp byte [esi + 0xdd1], 0
jne 0x10030265
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002e3b3
movzx eax, word [esi + 0x3702]
xor edx, edx
push 2
pop ecx
sub eax, ecx
inc edx
mov ecx, dword [edi + 0x3c]
test dl, al
jne 0x100301b8
test ecx, ecx
je 0x10030171
mov eax, dword [edi + 0x14]
push 0xa
pop edx
push 1
cmp word [eax + ecx*2 - 2], dx
pop edx
je 0x10030171
xor cl, cl
jmp 0x10030173
mov cl, dl
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x1003017f
test cl, cl
jne 0x1003018c
mov eax, 0x20000c
mov ecx, edi
push eax
call fcn.1002f31f
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x1003019c
lea ecx, [edi + 0x3c]
call fcn.1002e67d
mov edx, dword [edi + 0x3c]
mov ecx, edi
call fcn.1002e0b6
lea edx, [edi + 0x3c]
mov dword [edi + 0x3c], eax
mov ecx, edi
mov dword [edi + 0x44], eax
call fcn.1002e561
jmp 0x1003020a
mov eax, dword [edi + 0x14]
push 0x200004
movzx esi, word [eax + ecx*2]
mov ecx, edi
call fcn.1002f31f
push 0x600005
mov ecx, edi
call fcn.1002f31f
push 0x600001
mov ecx, edi
call fcn.1002f31f
push 0xa
pop eax
cmp si, ax
je 0x10030200
cmp byte [ebp - 0x28], 0
je 0x10030200
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 0x44]
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], ecx
mov dword [edi + 0x3c], ecx
mov esi, dword [ebp - 0x44]
mov byte [edi + 0xe6c], 0
mov al, byte [ebp - 0x14]
mov edx, dword [ebx + 0x14]
mov dword [edi + 0xe68], 0xbe99999a
xor ecx, ecx
inc ecx
cmp byte [edi + 0xe6d], 0
je 0x10030236
cmp byte [esi + 0xdc0], 0
jne 0x10030236
mov byte [edi + 0xe6d], 0
cmp byte [esi + 0xdd0], 0
je 0x10030248
cmp byte [esi + 0xdd2], 0
je 0x1003025d
test al, al
je 0x10030308
cmp byte [esi + 0xdd3], 0
je 0x10030308
mov byte [ebp - 0x13], cl
jmp 0x1003030c
cmp byte [esi + 0x36f8], 0
je 0x1003029d
cmp byte [edi + 0xe6d], 0
jne 0x1003029d
test cl, cl
je 0x1003021a
cmp byte [esi + 0xdd1], 0
lea edx, [edi + 0x3c]
mov ecx, edi
je 0x10030293
call fcn.1002e3f7
jmp 0x1003020a
call fcn.1002e3b3
jmp 0x1003020a
cmp byte [esi + 0xdc0], 0
je 0x1003021a
cmp byte [edi + 0xe6d], 0
jne 0x1003021a
movss xmm0, dword [esi + 0xb4]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100302e0
movss xmm0, dword [esi + 0xb8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1003021a
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002e3f7
mov al, byte [ebp - 0x14]
xor ecx, ecx
mov edx, dword [ebx + 0x14]
inc ecx
mov dword [edi + 0xe68], 0xbe99999a
mov byte [edi + 0xe6c], cl
jmp 0x1003021d
mov byte [ebp - 0x13], 0
test edx, 0x400
je 0x10030489
push ecx
xor edx, edx
mov ecx, 0x200
call fcn.10017546
pop ecx
mov ecx, dword [ebp - 0x3c]
test al, al
mov al, byte [ebp - 0x13]
je 0x1003036f
test al, al
jne 0x1003036f
cmp byte [esi + 0xdd1], al
jne 0x1003036f
mov edx, dword [ebx + 0x14]
test cl, cl
jne 0x10030372
push 2
pop eax
push eax
push ecx
push ecx
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 9
call fcn.1002f347
add esp, 0xc
test al, al
je 0x10030369
push dword [ebp - 0x38]
mov ecx, edi
call fcn.1002f31f
mov ecx, dword [ebp - 0x3c]
mov al, byte [ebp - 0x13]
mov edx, dword [ebx + 0x14]
cmp dword [esi + 0x3770], 0
jle 0x100303ea
test al, al
jne 0x100303dd
test cl, cl
jne 0x100303dd
cmp byte [ebp - 0x12], cl
jne 0x100303dd
and dword [ebp - 0x6c], 0
xor ecx, ecx
mov dword [ebp - 0x40], ecx
mov eax, dword [esi + 0x3778]
movzx eax, word [ecx + eax]
mov dword [ebp - 0x38], eax
cmp eax, 9
je 0x100303c5
push 2
pop eax
push eax
push ecx
push ecx
lea ecx, [ebp - 0x38]
call fcn.1002f347
add esp, 0xc
test al, al
je 0x100303c2
push dword [ebp - 0x38]
mov ecx, edi
call fcn.1002f31f
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x6c]
add ecx, 2
mov edx, dword [ebx + 0x14]
inc eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x40], ecx
cmp eax, dword [esi + 0x3770]
jl 0x10030391
lea ecx, [esi + 0x3770]
push 0
call fcn.1001dc2b
mov eax, dword [ebp - 0x20]
xor cl, cl
mov byte [ebp - 0x12], cl
cmp dword [esi + 0x3ef0], eax
jne 0x10030ca2
cmp byte [esi + 0x3efc], cl
jne 0x10030ca2
cmp byte [ebp - 0x21], cl
jne 0x10030ca2
movss xmm0, dword [ebp - 0x8c]
xor edx, edx
subss xmm0, dword [esi + 0x37d8]
inc edx
mov ecx, edx
divss xmm0, dword [esi + 0x3c44]
cvttss2si eax, xmm0
cmp eax, edx
cmovge ecx, eax
xor eax, eax
mov dword [edi + 0x4c], ecx
cmp byte [esi + 0xdd1], al
mov dword [ebp - 0x38], ecx
mov ecx, 0x400000
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
mov al, byte [esi + 0x61]
mov byte [ebp - 0x5d], al
test al, al
je 0x10030494
cmp byte [esi + 0xdd3], 0
mov al, byte [esi + 0xdd2]
mov byte [ebp - 0x13], al
je 0x1003049d
cmp byte [esi + 0xdd0], 0
mov byte [ebp - 0x13], al
jne 0x1003049d
mov byte [ebp - 0x13], al
test al, al
jne 0x1003049d
mov byte [ebp - 0x14], dl
mov byte [ebp - 0x13], al
jmp 0x100304a1
mov al, byte [ebp - 0x13]
mov ecx, dword [ebp - 0x3c]
jmp 0x10030372
mov al, byte [esi + 0xdd0]
mov byte [ebp - 0x13], al
mov byte [ebp - 0x14], 0
mov edx, dword [ebp - 0x20]
mov ecx, 0x1239
push 0x101
call fcn.10017cb9
pop ecx
test al, al
jne 0x100304cf
mov edx, dword [ebp - 0x20]
mov ecx, 0x220a
push 0x101
call fcn.10017cb9
pop ecx
test al, al
je 0x100304f4
cmp byte [ebp - 0x3c], 0
jne 0x100304f4
cmp byte [ebp - 0xbc], 0
jne 0x100304f4
cmp byte [ebp - 0x28], 0
je 0x100304ec
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100304f4
xor eax, eax
inc eax
mov byte [ebp - 0x15], al
jmp 0x100304f8
mov byte [ebp - 0x15], 0
mov edx, dword [ebp - 0x20]
mov ecx, 0x1224
push 0x100
call fcn.10017cb9
pop ecx
test al, al
jne 0x10030526
mov edx, dword [ebp - 0x20]
mov ecx, 0x1209
push 0x100
call fcn.10017cb9
pop ecx
test al, al
je 0x10030545
cmp byte [ebp - 0xbc], 0
jne 0x10030545
cmp byte [ebp - 0x28], 0
je 0x1003053d
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x10030545
xor eax, eax
inc eax
mov byte [ebp - 0x61], al
jmp 0x10030549
mov byte [ebp - 0x61], 0
mov edx, dword [ebp - 0x20]
mov ecx, 0x1237
push 0x101
call fcn.10017cb9
pop ecx
test al, al
jne 0x10030577
mov edx, dword [ebp - 0x20]
mov ecx, 0x2209
push 0x101
call fcn.10017cb9
pop ecx
test al, al
je 0x10030585
cmp byte [ebp - 0x3c], 0
jne 0x10030585
xor eax, eax
inc eax
mov byte [ebp - 0x45], al
jmp 0x10030589
mov byte [ebp - 0x45], 0
mov edx, dword [ebp - 0x20]
mov ecx, 0x123b
push 0x101
call fcn.10017cb9
pop ecx
test al, al
je 0x100305b1
cmp byte [ebp - 0x3c], 0
jne 0x100305b1
cmp byte [ebp - 0x50], 0
je 0x100305b1
xor eax, eax
inc eax
jmp 0x100305b3
xor al, al
mov edx, dword [ebp - 0x20]
mov ecx, 0x123a
push 0x101
mov byte [ebp - 0x5f], al
call fcn.10017cb9
pop ecx
test al, al
jne 0x100305e9
cmp byte [ebp - 0x5d], al
je 0x100305fd
mov edx, dword [ebp - 0x20]
mov ecx, 0x323b
push 0x101
call fcn.10017cb9
pop ecx
test al, al
je 0x100305fd
cmp byte [ebp - 0x3c], 0
jne 0x100305fd
cmp byte [ebp - 0x50], 0
je 0x100305fd
xor eax, eax
inc eax
mov byte [ebp - 0x60], al
jmp 0x10030601
mov byte [ebp - 0x60], 0
mov edx, dword [ebp - 0x20]
mov ecx, 0x1222
push 0x100
call fcn.10017cb9
mov byte [ebp - 0x59], al
xor eax, eax
inc eax
test byte [esi + 8], 2
pop ecx
je 0x10030628
mov byte [ebp - 0x2d], al
test byte [esi + 0xc], al
jne 0x1003062c
mov byte [ebp - 0x2d], 0
push eax
xor edx, edx
mov ecx, 0x20d
call fcn.10017546
pop ecx
test al, al
jne 0x10030658
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x267
push eax
call fcn.10017546
pop ecx
test al, al
jne 0x10030658
mov byte [ebp - 0x5e], al
jmp 0x1003065e
xor eax, eax
inc eax
mov byte [ebp - 0x5e], al
cmp byte [ebp - 0x2d], 0
je 0x10030692
push 0
xor edx, edx
mov ecx, 0x26e
call fcn.10017546
pop ecx
test al, al
jne 0x1003068a
push 0
xor edx, edx
mov ecx, 0x26d
call fcn.10017546
pop ecx
test al, al
je 0x10030692
xor eax, eax
inc eax
mov byte [ebp - 0x16], al
jmp 0x10030696
mov byte [ebp - 0x16], 0
mov edx, dword [ebp - 0x20]
mov ecx, 0x20e
push 0x101
call fcn.10017cb9
pop ecx
test al, al
jne 0x100306ce
cmp byte [ebp - 0x2d], al
je 0x100306c5
push 0
xor edx, edx
mov ecx, 0x26c
call fcn.10017546
pop ecx
test al, al
jne 0x100306ce
xor eax, eax
mov byte [ebp - 0x2d], 0
inc eax
jmp 0x100306d4
xor eax, eax
inc eax
mov byte [ebp - 0x2d], al
push eax
xor edx, edx
mov ecx, 0x201
call fcn.10017546
pop ecx
test al, al
je 0x10030711
cmp byte [ebp - 0x13], 0
mov eax, 0x200000
lea ecx, [eax + 0xc]
cmovne eax, ecx
cmp byte [ebp - 0x14], 0
mov ecx, 0x200004
cmovne eax, ecx
or eax, dword [ebp - 0x1c]
push eax
mov ecx, edi
call fcn.1002f31f
jmp 0x10030c7e
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x202
push eax
call fcn.10017546
pop ecx
test al, al
je 0x10030741
cmp byte [ebp - 0x13], 0
mov eax, 0x200001
lea ecx, [eax + 0xc]
cmovne eax, ecx
lea edx, [ecx - 8]
cmp byte [ebp - 0x14], 0
cmovne eax, edx
jmp 0x10030701
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x203
push eax
call fcn.10017546
pop ecx
test al, al
je 0x100307a2
cmp byte [ebp - 0x28], 0
je 0x100307a2
cmp byte [esi + 0xdd0], 0
je 0x10030792
mov eax, dword [ebp - 0x58]
movss xmm0, dword [eax + 0x60]
subss xmm0, dword [esi + 0x3c44]
and dword [eax + 0x78], 0
and dword [eax + 0x80], 0
maxss xmm0, dword [0x10091824]
movss dword [eax + 0x70], xmm0
jmp 0x10030c7e
movzx eax, byte [ebp - 0x14]
lea eax, [eax*4 + 0x200002]
jmp 0x10030701
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x204
push eax
call fcn.10017546
pop ecx
test al, al
je 0x1003080b
cmp byte [ebp - 0x28], 0
je 0x1003080b
cmp byte [esi + 0xdd0], 0
je 0x100307fb
mov ecx, dword [ebp - 0x58]
movss xmm0, dword [esi + 0x3c44]
mov eax, dword [0x10098b90]
addss xmm0, dword [ecx + 0x60]
mov eax, dword [eax + 0x3eb8]
minss xmm0, dword [eax + 0x68]
and dword [ecx + 0x78], 0
and dword [ecx + 0x80], 0
movss dword [ecx + 0x70], xmm0
jmp 0x10030c7e
movzx eax, byte [ebp - 0x14]
lea eax, [eax*4 + 0x200003]
jmp 0x10030701
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x205
push eax
call fcn.10017546
pop ecx
test al, al
je 0x10030860
cmp byte [ebp - 0x28], 0
je 0x10030860
mov ecx, dword [ebp - 0x1c]
or ecx, 0x20000e
push ecx
mov ecx, edi
call fcn.1002f31f
movd xmm0, dword [ebp - 0x38]
movss xmm1, dword [ebp - 0x9c]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x3c44]
subss xmm1, xmm0
movss dword [ebp - 0x9c], xmm1
jmp 0x10030c7e
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x206
push eax
call fcn.10017546
pop ecx
test al, al
je 0x100308b1
cmp byte [ebp - 0x28], 0
je 0x100308b1
mov ecx, dword [ebp - 0x1c]
or ecx, 0x20000f
push ecx
mov ecx, edi
call fcn.1002f31f
movd xmm0, dword [ebp - 0x38]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x3c44]
addss xmm0, dword [ebp - 0x9c]
movss dword [ebp - 0x9c], xmm0
jmp 0x10030c7e
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x207
push eax
call fcn.10017546
pop ecx
test al, al
je 0x100308da
cmp byte [esi + 0xdd0], 0
mov ecx, 0x200006
lea eax, [ecx - 2]
jmp 0x100306fe
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x208
push eax
call fcn.10017546
pop ecx
test al, al
je 0x10030903
cmp byte [esi + 0xdd0], 0
mov eax, 0x200005
lea ecx, [eax + 2]
jmp 0x100306fe
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x20a
push eax
call fcn.10017546
pop ecx
test al, al
je 0x10030933
cmp byte [ebp - 0x3c], 0
jne 0x10030933
cmp byte [ebp - 0x15], 0
jne 0x10030933
mov ecx, dword [ebp - 0x1c]
or ecx, 0x200008
push ecx
jmp 0x10030705
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x20b
push eax
call fcn.10017546
pop ecx
test al, al
je 0x1003099b
cmp byte [ebp - 0x3c], 0
jne 0x1003099b
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x10030990
cmp byte [ebp - 0x13], 0
je 0x10030963
push 0x60000c
jmp 0x10030989
cmp byte [ebp - 0x5d], 0
je 0x10030990
cmp byte [esi + 0xdd3], 0
je 0x10030990
cmp byte [esi + 0xdd2], 0
jne 0x10030990
cmp byte [esi + 0xdd0], 0
jne 0x10030990
push 0x600004
mov ecx, edi
call fcn.1002f31f
mov ecx, dword [ebp - 0x1c]
or ecx, 0x200009
jmp 0x1003092d
cmp byte [ebp - 0x5e], 0
mov cl, byte [ebp - 0x16]
jne 0x10030c08
test cl, cl
jne 0x10030c08
cmp byte [ebp - 0x2d], cl
je 0x100309f5
test dword [ebx + 0x14], 0x100000
je 0x100309de
mov eax, dword [edi + 8]
test eax, eax
jg 0x100309d3
mov byte [ebp - 0x2c], cl
mov byte [ebp - 0x11], cl
xor ecx, ecx
inc ecx
test eax, eax
mov byte [ebp - 0x21], cl
setg cl
mov byte [ebp - 0x12], cl
jmp 0x10030c81
xor eax, eax
xor dl, dl
inc eax
xor ch, ch
mov cl, al
mov byte [ebp - 0x12], al
mov byte [ebp - 0x21], al
mov byte [ebp - 0x11], ch
jmp 0x10030c87
mov al, byte [ebp - 0x5f]
test al, al
jne 0x10030be8
cmp byte [ebp - 0x60], al
jne 0x10030be8
cmp byte [ebp - 0x59], al
je 0x10030a2d
mov eax, dword [edi + 4]
and dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
xor eax, eax
inc eax
mov byte [edi + 0x52], 0
mov byte [edi + 0xe6c], al
jmp 0x10030c7e
mov al, byte [ebp - 0x15]
test al, al
jne 0x10030b21
cmp byte [ebp - 0x61], al
jne 0x10030b21
cmp byte [ebp - 0x45], al
je 0x10030c7e
mov eax, dword [0x10098b90]
mov ecx, dword [eax + 0x80]
test ecx, ecx
je 0x10030a6f
push dword [eax + 0x88]
call ecx
mov dword [ebp - 0x40], eax
pop ecx
test eax, eax
je 0x10030c7e
jmp 0x10030a77
mov eax, 0x10091548
mov dword [ebp - 0x40], eax
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10030a7c
sub ecx, edx
lea ecx, [ecx*2 + 2]
call fcn.1000fe11
mov edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x4c], ecx
cmp byte [eax], cl
je 0x10030af1
mov esi, eax
mov edi, ecx
push 0
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.1000e42d
add esi, eax
cmp dword [ebp - 0x40], 0
pop ecx
je 0x10030ae2
mov edx, dword [ebx + 0x14]
push 4
push ecx
push ecx
lea ecx, [ebp - 0x40]
call fcn.1002f347
add esp, 0xc
test al, al
je 0x10030add
mov ecx, dword [ebp - 0x34]
mov ax, word [ebp - 0x40]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x10030aa6
mov esi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x4c], edi
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
xor eax, eax
mov word [edx + ecx*2], ax
test ecx, ecx
jle 0x10030b15
push ecx
push edx
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002f279
mov edx, dword [ebp - 0x34]
xor eax, eax
pop ecx
inc eax
pop ecx
mov byte [edi + 0xe6c], al
mov ecx, edx
call fcn.1000fe28
jmp 0x10030c7e
cmp dword [esi + 0x84], 0
je 0x10030b9d
mov eax, dword [edi + 0x40]
mov ecx, dword [edi + 0x44]
cmp eax, ecx
je 0x10030b3e
mov esi, ecx
cmovge ecx, eax
cmovl esi, eax
jmp 0x10030b43
mov ecx, dword [edi + 4]
xor esi, esi
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x38], esi
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.1000e749
mov edi, eax
lea ecx, [edi + 1]
call fcn.1000fe11
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x6c], eax
mov esi, dword [edx + 0x14]
lea edx, [edi + 1]
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [ebp - 0x38]
lea ecx, [esi + ecx*2]
push ecx
mov ecx, eax
call fcn.1000e6df
pop ecx
pop ecx
mov ecx, dword [ebp - 0x6c]
call fcn.1000fe43
mov ecx, dword [ebp - 0x6c]
call fcn.1000fe28
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x44]
mov al, byte [ebp - 0x15]
test al, al
je 0x10030c7e
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x10030bbe
mov eax, dword [edi + 4]
and dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
xor eax, eax
lea ecx, [edi + 0x3c]
inc eax
mov byte [edi + 0xe6c], al
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x10030c7e
mov edx, ecx
mov ecx, edi
call fcn.1002e5f5
mov byte [edi + 0x52], 0
jmp 0x10030c7e
xor ecx, ecx
movzx eax, al
inc ecx
xor eax, ecx
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.1002f31f
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
jmp 0x10030c7e
mov eax, dword [ebx + 0x14]
xor edx, edx
inc edx
shr eax, 0xb
and al, dl
mov edx, dword [ebp - 0x28]
test dl, dl
je 0x10030c2c
test cl, cl
jne 0x10030c2c
mov cl, byte [esi + 0xdd0]
test al, al
je 0x10030c4b
test cl, cl
jne 0x10030c4f
xor eax, eax
inc eax
cmp byte [esi + 0x64], 0
mov byte [ebp - 0x2e], al
je 0x10030c7b
test dl, dl
jne 0x10030c7b
mov eax, dword [edi + 4]
and dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
jmp 0x10030bdf
test cl, cl
jne 0x10030c2c
cmp byte [ebp - 0x3c], 0
jne 0x10030c7e
mov edx, dword [ebx + 0x14]
push 0xa
pop eax
push 2
mov dword [ebp - 0x50], eax
pop eax
push eax
push ecx
push ecx
lea ecx, [ebp - 0x50]
call fcn.1002f347
add esp, 0xc
test al, al
je 0x10030c7e
push dword [ebp - 0x50]
jmp 0x10030705
mov byte [ebp - 0x21], al
mov cl, byte [ebp - 0x12]
mov edx, dword [ebp - 0x2c]
mov ch, byte [ebp - 0x11]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x10030c98
test ch, ch
je 0x10030c98
xor eax, eax
inc eax
jmp 0x10030c9a
xor al, al
or dl, al
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edx
and dword [ebp - 0x34], 0
xor edx, edx
mov dword [ebp - 0x1c], edx
cmp dword [esi + 0x3ef0], eax
jne 0x10031170
test cl, cl
je 0x10030dc0
cmp byte [ebp - 0x3c], dl
jne 0x10030dfe
test dword [ebx + 0x14], 0x100000
je 0x10030cf1
push edx
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x1c], edx
push eax
lea edx, [edi + 0x3c]
mov dword [ebp - 0x34], 0x10091548
mov ecx, edi
call fcn.1002f2c6
pop ecx
pop ecx
jmp 0x10030dcd
mov ecx, dword [edi + 0x2c]
mov eax, dword [ebx + 8]
push 2
pop esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10030d18
test dl, dl
je 0x10030d14
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10030d18
add eax, esi
add ecx, esi
test dl, dl
jne 0x10030cfa
xor eax, eax
jmp 0x10030d1f
sbb eax, eax
xor ecx, ecx
inc ecx
or eax, ecx
test eax, eax
je 0x10030dcd
mov ecx, dword [edi + 0x24]
xor eax, eax
mov edx, dword [edi + 0x2c]
dec ecx
and dword [ebp - 0xdc], 0
xor esi, esi
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xd8], esi
and dword [ebp - 4], esi
test ecx, ecx
jle 0x10030d8e
lea esi, [ecx + edx]
mov ecx, dword [ebp - 0x34]
mov edx, esi
call fcn.1000e5ee
inc eax
lea ecx, [ebp - 0xe0]
push eax
call fcn.1001dc2b
mov edx, dword [ebp - 0xe0]
push 0
push esi
push dword [ebp - 0x34]
mov esi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.1000e587
mov eax, dword [ebp - 0xe0]
add esp, 0xc
mov edx, dword [ebp - 0x1c]
lea ecx, [eax - 1]
xor eax, eax
test edx, edx
lea edx, [edi + 0x3c]
cmovg eax, ecx
mov ecx, edi
push eax
push esi
call fcn.1002f2c6
pop ecx
pop ecx
xor eax, eax
inc eax
mov dword [ebp - 4], eax
test esi, esi
je 0x10030dba
mov ecx, esi
call fcn.1000fe28
or dword [ebp - 4], 0xffffffff
jmp 0x10030dcd
and dword [ebp - 0x34], edx
xor edx, edx
mov dword [ebp - 0x1c], edx
cmp byte [ebp - 0x3c], dl
jne 0x10030e16
xor eax, eax
lea ecx, [edi + 0x18]
inc eax
mov byte [edi + 0x30], al
mov eax, dword [edi + 0xc]
lea eax, [eax*4 + 1]
push eax
call fcn.1001db8e
mov edx, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.1000e6df
cmp byte [ebp - 0x12], 0
pop ecx
pop ecx
je 0x10030e16
cmp byte [ebp - 0x2e], 0
mov ecx, dword [ebx + 0x14]
je 0x100310be
test cl, 0x20
je 0x100310be
jmp 0x10030e19
mov ecx, dword [ebx + 0x14]
test ecx, 0x801c0
je 0x10031075
xor esi, esi
test cl, 0x40
je 0x10030e4e
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x200
push eax
call fcn.10017546
pop ecx
mov ecx, dword [ebx + 0x14]
test al, al
je 0x10030e4e
push 0x40
pop eax
mov esi, 0x200
jmp 0x10030eb9
test cl, cl
jns 0x10030e9a
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x203
push eax
call fcn.10017546
pop ecx
test al, al
je 0x10030e76
mov ecx, dword [ebx + 0x14]
mov eax, 0x80
mov esi, 0x203
jmp 0x10030eb9
xor eax, eax
xor edx, edx
inc eax
mov ecx, 0x204
push eax
call fcn.10017546
pop ecx
mov ecx, dword [ebx + 0x14]
test al, al
je 0x10030e9a
mov eax, 0x80
mov esi, 0x204
jmp 0x10030eb9
mov eax, 0x80000
test eax, ecx
je 0x10030eac
cmp byte [edi + 0xe6e], 0
jne 0x10030eb9
mov edx, 0x100
push 0
test edx, ecx
pop eax
cmovne eax, edx
test eax, eax
je 0x10031075
and dword [ebp - 0x128], 0
xor edx, edx
mov dword [ebp - 0x134], eax
mov eax, dword [ebx + 8]
mov word [ebp - 0x113], dx
mov byte [ebp - 0x111], dl
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x12c], edx
cmp byte [ebp - 0x3c], dl
jne 0x10030ef4
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x120], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x11c], eax
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x124], esi
mov esi, dword [edi + 0x14]
mov ecx, esi
mov dword [ebp - 0x118], eax
mov eax, dword [edi + 0x3c]
mov byte [ebp - 0x114], dl
lea edx, [esi + eax*2]
call fcn.1000e749
mov edx, dword [ebp - 0x54]
mov edi, eax
mov ecx, esi
mov dword [ebp - 0x110], edi
mov edx, dword [edx + 0x40]
lea edx, [esi + edx*2]
call fcn.1000e749
mov dword [ebp - 0x50], eax
mov ecx, esi
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x54]
mov edx, dword [eax + 0x44]
lea edx, [esi + edx*2]
call fcn.1000e749
mov esi, eax
lea eax, [ebp - 0x134]
push eax
xor eax, eax
mov dword [ebp - 0x108], esi
call eax
mov edx, dword [ebp - 0x110]
pop ecx
mov cl, byte [ebp - 0x114]
mov byte [ebp - 0x16], cl
cmp edx, edi
jne 0x10030f84
test cl, cl
je 0x10030fab
mov ecx, dword [ebp - 0x120]
add edx, ecx
call fcn.1000e5ee
mov edi, dword [ebp - 0x54]
mov edx, dword [ebp - 0x110]
mov cl, byte [ebp - 0x16]
mov dword [edi + 0x3c], eax
xor eax, eax
inc eax
mov byte [edi + 0xe6c], al
jmp 0x10030fae
mov edi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 0x50]
jne 0x10030fbd
test cl, cl
je 0x10030fe2
cmp eax, edx
jne 0x10030fc6
mov ecx, dword [edi + 0x3c]
jmp 0x10030fdc
mov ecx, dword [ebp - 0x120]
lea edx, [eax + ecx]
call fcn.1000e5ee
mov ecx, eax
mov eax, dword [ebp - 0x10c]
mov dword [edi + 0x40], ecx
mov cl, byte [ebp - 0x16]
mov edx, dword [ebp - 0x108]
cmp edx, esi
jne 0x10030ff4
test cl, cl
je 0x10031075
cmp edx, eax
jne 0x10030ffd
mov eax, dword [edi + 0x40]
jmp 0x1003100a
mov ecx, dword [ebp - 0x120]
add edx, ecx
call fcn.1000e5ee
cmp byte [ebp - 0x16], 0
mov dword [edi + 0x44], eax
je 0x10031075
push dword [ebp - 0x11c]
mov edx, dword [ebp - 0x120]
mov ecx, edi
call fcn.1002f4ed
mov eax, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x70]
pop ecx
cmp eax, edx
jle 0x10031047
cmp byte [ebp - 0x7c], 0
je 0x10031047
lea ecx, [edi + 0xc]
sub eax, edx
add eax, dword [ecx]
push eax
call fcn.1001dc2b
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 0x14]
push 0
push 0
push dword [ebp - 0x120]
call fcn.1000e587
mov dword [edi + 4], eax
add esp, 0xc
mov eax, dword [ebp - 0x11c]
mov dword [edi + 8], eax
mov dword [edi + 0xe68], 0xbe99999a
cmp byte [ebp - 0x3c], 0
jne 0x100310bb
mov ecx, dword [ebx + 8]
mov eax, dword [edi + 0x20]
push 2
pop esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100310a2
test dl, dl
je 0x1003109e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100310a2
add eax, esi
add ecx, esi
test dl, dl
jne 0x10031084
xor eax, eax
jmp 0x100310a9
sbb eax, eax
xor ecx, ecx
inc ecx
or eax, ecx
mov ecx, dword [ebx + 0x14]
test eax, eax
je 0x100310be
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x34], eax
mov eax, dword [edi + 8]
jmp 0x100310c1
mov ecx, dword [ebx + 0x14]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x34]
test esi, esi
je 0x1003116d
cmp byte [ebp - 0x7c], 0
je 0x1003114f
mov dword [ebp - 0x160], ecx
xorps xmm0, xmm0
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x14c], eax
inc eax
push 0x20
mov dword [ebp - 0x150], ecx
pop ecx
cmp eax, ecx
movlpd qword [ebp - 0x158], xmm0
movlpd qword [ebp - 0x144], xmm0
cmovle eax, ecx
movlpd qword [ebp - 0x13c], xmm0
and dword [ebp - 0x15c], 0
mov dword [ebp - 0x148], eax
lea eax, [ebp - 0x164]
push eax
xor eax, eax
mov dword [ebp - 0x164], 0x40000
call eax
mov eax, dword [ebp - 0x150]
pop ecx
mov ecx, dword [ebp - 0x148]
mov dword [ebx + 8], eax
lea eax, [ecx - 1]
cmp dword [ebp - 0x14c], eax
cmovl eax, dword [ebp - 0x14c]
jmp 0x10031155
mov ecx, dword [ebp - 0xc4]
inc eax
mov edx, esi
cmp eax, ecx
cmovl ecx, eax
push ecx
mov ecx, dword [ebx + 8]
call fcn.1000e0da
xor eax, eax
inc eax
pop ecx
mov byte [ebp - 0x47], al
mov esi, dword [ebp - 0x44]
cmp byte [ebp - 0x21], 0
mov ecx, dword [ebp - 0x20]
je 0x1003118d
cmp dword [esi + 0x3ef0], ecx
jne 0x1003118d
xor edx, edx
xor ecx, ecx
call fcn.1000fa5d
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
test al, al
jne 0x100311e2
xor eax, eax
mov edx, ecx
inc eax
lea ecx, [ebp - 0xb4]
push eax
call fcn.1000f063
movss xmm1, dword [0x100918a0]
pop ecx
push 7
pop ecx
call fcn.1000e9bd
push dword [ebp - 0xa8]
movss xmm2, dword [esi + 0x37dc]
xor ecx, ecx
push dword [ebp - 0xac]
push dword [ebp - 0x74]
lea edx, [ecx + 1]
mov ecx, eax
push dword [ebp - 0x68]
call fcn.1000ef53
mov eax, dword [ebp - 0x28]
add esp, 0x10
movss xmm1, dword [ebp - 0xb4]
movss xmm2, dword [ebp - 0x78]
movaps xmm0, xmm1
movss xmm3, dword [ebp - 0xb0]
addss xmm0, xmm2
movss dword [ebp - 0xf4], xmm1
movss dword [ebp - 0xf0], xmm3
movss dword [ebp - 0xec], xmm0
movaps xmm0, xmm3
addss xmm0, dword [ebp - 0x8c]
movss dword [ebp - 0xe8], xmm0
test al, al
je 0x1003125d
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx + 0xd4]
mov ecx, dword [ecx + 0xd8]
mov dword [ebp - 0xc8], eax
movss xmm1, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xc4], ecx
movss xmm0, dword [ebp - 0xc4]
jmp 0x10031270
addss xmm1, dword [esi + 0x37d4]
movaps xmm0, xmm3
addss xmm0, dword [esi + 0x37d8]
cmp byte [ebp - 0x46], 0
xorps xmm6, xmm6
xorps xmm5, xmm5
movss dword [ebp - 0xa4], xmm1
movss dword [ebp - 0xa0], xmm0
movss dword [ebp - 0x6c], xmm6
movss dword [ebp - 0x38], xmm5
je 0x1003129e
mov edx, dword [edi + 0x20]
mov dword [ebx + 8], edx
jmp 0x100312a1
mov edx, dword [ebx + 8]
cmp byte [ebp - 0x11], 0
jne 0x10031387
cmp byte [ebp - 0x2c], 0
jne 0x10031387
test al, al
je 0x100312ff
mov edi, dword [ebx + 8]
xor ecx, ecx
mov dl, byte [edx]
inc edi
jmp 0x100312d1
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [edi]
cmovne eax, ecx
inc edi
mov ecx, eax
test dl, dl
jne 0x100312c3
dec edi
mov dword [ebp - 0x1c], edi
mov al, byte [edi]
cmp al, 0xa
je 0x100312e4
cmp al, 0xd
je 0x100312e4
inc ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x6c], xmm2
mulss xmm0, dword [esi + 0x3c44]
movss dword [ebp - 0x38], xmm0
jmp 0x10031337
mov eax, dword [ebp - 0x20]
cmp dword [esi + 0x3ef0], eax
jne 0x10031311
mov edi, dword [edi + 8]
add edi, edx
jmp 0x10031325
mov ecx, edx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10031316
sub ecx, edx
mov edx, dword [ebx + 8]
lea edi, [edx + ecx]
mov eax, edi
mov dword [ebp - 0x1c], edi
sub eax, edx
cmp eax, 0x200000
jge 0x10031b7f
movss xmm1, dword [0x100918a0]
xor ecx, ecx
call fcn.1000e9bd
movss xmm2, dword [esi + 0x3c44]
lea ecx, [ebp - 0xf4]
xor edx, edx
cmp byte [ebp - 0x28], dl
cmovne ecx, edx
push ecx
push ecx
and dword [esp], edx
mov ecx, dword [ebx + 8]
push edi
push ecx
push eax
lea eax, [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0x58]
push dword [esi + 0x3c40]
mov ecx, dword [eax + 0x248]
call fcn.100268f8
jmp 0x10031b7f
mov eax, dword [edi + 8]
xor ecx, ecx
and dword [ebp - 0x68], 0
add eax, edx
and dword [ebp - 0x40], 0
xorps xmm7, xmm7
mov edx, dword [edi + 0x14]
mov dword [ebp - 0x1c], eax
mov eax, 0xfffffc18
mov dword [ebp - 0x4c], edx
movss dword [ebp - 0x7c], xmm6
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x34], eax
cmp byte [ebp - 0x11], cl
je 0x100313c9
mov eax, dword [edi + 0x3c]
or dword [ebp - 0x5c], 0xffffffff
lea eax, [edx + eax*2]
mov dword [ebp - 0x68], eax
xor eax, eax
lea ecx, [eax + 1]
cmp byte [ebp - 0x2c], 0
je 0x100313e4
mov eax, dword [edi + 0x44]
cmp dword [edi + 0x40], eax
cmovl eax, dword [edi + 0x40]
or dword [ebp - 0x34], 0xffffffff
inc ecx
lea eax, [edx + eax*2]
mov dword [ebp - 0x40], eax
mov esi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x28]
movzx eax, al
add ecx, eax
xor eax, eax
movzx esi, word [esi]
mov dword [ebp - 0xc4], esi
test si, si
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x74], eax
je 0x10031463
mov eax, dword [ebp - 0xc4]
mov edi, dword [ebp - 0x74]
movzx eax, ax
push 0xa
pop esi
cmp ax, si
mov esi, dword [ebp - 0x5c]
jne 0x10031442
inc edi
cmp esi, 0xffffffff
jne 0x1003142f
cmp edx, dword [ebp - 0x68]
jb 0x1003142f
dec ecx
mov dword [ebp - 0x5c], edi
test ecx, ecx
jle 0x10031457
cmp dword [ebp - 0x34], 0xffffffff
jne 0x10031442
cmp edx, dword [ebp - 0x40]
jb 0x10031442
dec ecx
mov dword [ebp - 0x34], edi
test ecx, ecx
jle 0x10031457
push 2
pop eax
add edx, eax
movzx eax, word [edx]
mov esi, eax
mov dword [ebp - 0xc4], esi
test ax, ax
jne 0x10031411
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x74], edi
mov edi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x34]
inc eax
cmp dword [ebp - 0x5c], 0xffffffff
mov edx, eax
mov dword [ebp - 0x74], eax
cmovne edx, dword [ebp - 0x5c]
cmp ecx, 0xffffffff
mov dword [ebp - 0x70], edx
cmove ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x34], ecx
mov edx, eax
mov ecx, dword [ebp - 0x4c]
cmp eax, ecx
jbe 0x100314a9
push 0xa
pop esi
lea edi, [edx - 2]
mov dword [ebp - 0xc4], edi
cmp word [edi], si
je 0x100314a3
mov edx, edi
cmp edx, ecx
ja 0x1003148f
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x44]
push 0
push ecx
push 0
push eax
lea ecx, [ebp - 0x16c]
call fcn.1002de93
movd xmm3, dword [ebp - 0x70]
add esp, 0x10
cmp dword [ebp - 0x34], 0
movss xmm0, dword [esi + 0x3c44]
movss xmm1, dword [eax]
cvtdq2ps xmm3, xmm3
movss dword [ebp - 0x50], xmm1
mulss xmm3, xmm0
movss dword [ebp - 0x5c], xmm3
jl 0x10031542
mov ecx, dword [ebp - 0x40]
mov edx, ecx
mov eax, dword [ebp - 0x4c]
cmp ecx, eax
jbe 0x10031507
push 0xa
pop edi
cmp word [edx - 2], di
je 0x10031501
add edx, 0xfffffffe
cmp edx, eax
ja 0x100314f4
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x40]
push 0
push ecx
push 0
push ecx
lea ecx, [ebp - 0xdc]
call fcn.1002de93
movd xmm7, dword [ebp - 0x34]
add esp, 0x10
movss xmm3, dword [ebp - 0x5c]
movss xmm1, dword [ebp - 0x50]
movss xmm0, dword [eax]
cvtdq2ps xmm7, xmm7
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [esi + 0x3c44]
mulss xmm7, xmm0
mov ecx, dword [ebp - 0x28]
movss xmm4, dword [ebp - 0x78]
test cl, cl
je 0x10031564
movd xmm5, dword [ebp - 0x74]
cvtdq2ps xmm5, xmm5
movss dword [ebp - 0x6c], xmm4
mulss xmm5, xmm0
movss dword [ebp - 0x38], xmm5
cmp byte [ebp - 0x11], 0
je 0x1003167f
cmp byte [edi + 0xe6c], 0
je 0x1003167f
test dword [ebx + 0x14], 0x1000
jne 0x100315cd
movss xmm2, dword [edi + 0x38]
movaps xmm0, xmm4
comiss xmm2, xmm1
mulss xmm0, dword [0x10091854]
subss xmm4, dword [esi + 0x37d4]
jbe 0x100315ae
subss xmm1, xmm0
movaps xmm0, xmm6
maxss xmm0, xmm1
jmp 0x100315bb
subss xmm1, xmm4
comiss xmm1, xmm2
jb 0x100315d1
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x100315d1
and dword [edi + 0x38], 0
test cl, cl
je 0x10031678
movss xmm4, dword [ebp - 0x9c]
movaps xmm0, xmm3
subss xmm0, dword [esi + 0x3c44]
comiss xmm4, xmm0
jbe 0x100315fa
movaps xmm4, xmm6
maxss xmm4, xmm0
jmp 0x1003162d
movss xmm2, dword [esi + 0x37d8]
movaps xmm0, xmm3
movss xmm1, dword [ebp - 0x8c]
addss xmm2, xmm2
subss xmm1, xmm2
subss xmm0, xmm1
comiss xmm0, xmm4
jb 0x1003162d
movaps xmm4, xmm3
subss xmm4, dword [ebp - 0x8c]
addss xmm4, xmm2
comiss xmm6, xmm4
movss xmm1, dword [esi + 0x37d8]
jbe 0x1003163f
movaps xmm1, xmm6
jmp 0x10031657
addss xmm1, xmm1
addss xmm1, xmm5
subss xmm1, dword [ebp - 0x8c]
maxss xmm1, xmm6
minss xmm1, xmm4
mov eax, dword [ebp - 0x58]
movss xmm0, dword [eax + 0x60]
subss xmm0, xmm1
addss xmm0, dword [ebp - 0xa0]
movss dword [ebp - 0xa0], xmm0
movss dword [eax + 0x60], xmm1
mov byte [edi + 0xe6c], 0
cmp byte [ebp - 0x2c], 0
movss xmm5, dword [edi + 0x38]
movss dword [ebp - 0x40], xmm5
je 0x100318e2
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov edi, dword [ebp - 0x4c]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0x11], 0
lea eax, [edi + eax*2]
mov dword [ebp - 0xc4], eax
mov eax, edi
lea eax, [eax + edx*2]
mov dword [ebp - 0x68], eax
je 0x100316c7
movss xmm1, dword [0x100918a0]
jmp 0x100316cf
movss xmm1, dword [0x1009186c]
push 0x2f
pop ecx
call fcn.1000e9bd
cmp byte [ebp - 0x28], 0
mov dword [ebp - 0x4c], eax
je 0x100316ef
movss dword [ebp - 0x100], xmm6
movss dword [ebp - 0x70], xmm6
jmp 0x100316fc
movss xmm0, dword [0x100918d8]
movss dword [ebp - 0x70], xmm0
movss xmm6, dword [ebp - 0xa4]
addss xmm6, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0x78], ecx
subss xmm6, xmm5
movss xmm5, dword [ebp - 0xa0]
addss xmm5, xmm7
subss xmm5, dword [0x10091824]
movss dword [ebp - 0x7c], xmm5
cmp ecx, edx
jae 0x100318d7
movss xmm4, dword [ebp - 0xe8]
movss xmm7, dword [ebp - 0xf0]
mov edi, dword [ebp - 0x4c]
movaps xmm0, xmm4
addss xmm0, dword [esi + 0x3c44]
comiss xmm5, xmm0
ja 0x100318d4
comiss xmm7, xmm5
ja 0x100317be
xor eax, eax
inc eax
push eax
push ecx
lea eax, [ebp - 0x78]
push eax
push edx
mov edx, ecx
lea ecx, [ebp - 0x90]
call fcn.1002de93
movss xmm1, dword [ebp - 0x90]
xorps xmm2, xmm2
add esp, 0x10
comiss xmm2, xmm1
jb 0x100317e7
mov eax, dword [esi + 0x3c40]
cmp dword [eax], 0x20
jle 0x100317c7
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x100317cc
mov ax, word [ecx]
add ecx, 2
mov dword [ebp - 0x78], ecx
cmp ax, word [ebp - 0x80]
je 0x100318b2
cmp ecx, edx
jb 0x100317ab
jmp 0x100318b2
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x10091868]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0x90], xmm1
movss xmm0, dword [ebp - 0x70]
addss xmm1, xmm6
movss xmm7, dword [ebp - 0xf0]
addss xmm0, xmm5
movss xmm4, dword [ebp - 0xe8]
movaps xmm3, xmm6
movss xmm6, dword [ebp - 0xec]
addss xmm3, xmm2
movss xmm2, dword [ebp - 0x100]
subss xmm2, dword [esi + 0x3c44]
minss xmm0, xmm4
minss xmm1, xmm6
maxss xmm3, dword [ebp - 0xf4]
addss xmm2, xmm5
comiss xmm0, xmm7
maxss xmm2, xmm7
movss dword [ebp - 0xd0], xmm3
movss dword [ebp - 0xc8], xmm1
movss dword [ebp - 0xc4], xmm0
movss dword [ebp - 0xcc], xmm2
jbe 0x100318ac
comiss xmm4, xmm2
jbe 0x100318ac
comiss xmm1, dword [ebp - 0xf4]
jbe 0x100318ac
comiss xmm6, xmm3
jbe 0x100318ac
push 0
push ecx
and dword [esp], 0
lea eax, [ebp - 0xc8]
push edi
push eax
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax + 0x248]
call fcn.100267be
movss xmm4, dword [ebp - 0xe8]
movss xmm7, dword [ebp - 0xf0]
movss xmm5, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x78]
movss xmm6, dword [ebp - 0xa4]
addss xmm5, dword [esi + 0x3c44]
subss xmm6, dword [ebp - 0x40]
movss dword [ebp - 0x7c], xmm5
cmp ecx, edx
jb 0x10031750
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x28]
xorps xmm6, xmm6
movss xmm5, dword [ebp - 0x40]
test cl, cl
jne 0x100318f5
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 8]
sub eax, ecx
cmp eax, 0x200000
jge 0x10031969
movss xmm1, dword [0x100918a0]
xor ecx, ecx
call fcn.1000e9bd
movss xmm0, dword [ebp - 0xa4]
lea ecx, [ebp - 0xf4]
movss xmm2, dword [esi + 0x3c44]
subss xmm0, xmm5
xor edx, edx
cmp byte [ebp - 0x28], dl
cmovne ecx, edx
push ecx
push ecx
and dword [esp], edx
push dword [ebp - 0x1c]
movss dword [ebp - 0x90], xmm0
push dword [ebx + 8]
movss xmm0, dword [ebp - 0xa0]
push eax
lea eax, [ebp - 0x90]
push eax
mov eax, dword [ebp - 0x58]
subss xmm0, xmm6
push dword [esi + 0x3c40]
mov ecx, dword [eax + 0x248]
movss dword [ebp - 0x8c], xmm0
call fcn.100268f8
cmp byte [ebp - 0x11], 0
je 0x10031b7f
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [edi + 0xe68]
movss dword [edi + 0xe68], xmm0
cmp byte [esi + 0x63], 0
je 0x100319d5
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x100319d5
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x90], xmm0
fld qword [ebp - 0x90]
fld qword [0x100918d0]
call fcn.10052100
movss xmm0, dword [0x1009188c]
fstp qword [ebp - 0x90]
movsd xmm1, qword [ebp - 0x90]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x100319d5
xor cl, cl
jmp 0x100319da
xor eax, eax
inc eax
mov cl, al
movss xmm7, dword [ebp - 0xa4]
movss xmm4, dword [0x100918a0]
movaps xmm0, xmm7
addss xmm0, dword [ebp - 0x50]
subss xmm0, dword [ebp - 0x40]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0xa0]
addss xmm0, dword [ebp - 0x5c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x10091824]
movss dword [ebp - 0x80], xmm1
movaps xmm3, xmm1
addss xmm3, xmm4
cvttss2si eax, xmm0
movss dword [ebp - 0x90], xmm3
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [ebp - 0xc4], xmm2
movaps xmm6, xmm2
movaps xmm0, xmm2
subss xmm6, dword [esi + 0x3c44]
subss xmm0, dword [0x100918b8]
addss xmm6, dword [0x10091868]
movss dword [ebp - 0x8c], xmm0
test cl, cl
je 0x10031b48
comiss xmm0, dword [ebp - 0xf0]
jbe 0x10031b48
movss xmm0, dword [ebp - 0xe8]
comiss xmm0, xmm6
jbe 0x10031b48
comiss xmm3, dword [ebp - 0xf4]
jbe 0x10031b48
movss xmm0, dword [ebp - 0xec]
comiss xmm0, xmm1
jbe 0x10031b48
movss xmm0, dword [esi + 0x18]
movaps xmm5, xmm1
mulss xmm0, dword [0x10091900]
subss xmm5, xmm7
push 0x3d
movaps xmm1, xmm4
pop ecx
subss xmm5, dword [0x10098be8]
mulss xmm5, xmm0
addss xmm5, dword [0x10098be8]
movss dword [0x10098be8], xmm5
call fcn.1000e9bd
mov ecx, dword [ebp - 0x90]
addss xmm7, xmm5
mov edx, dword [ebp - 0x8c]
push 0
push ecx
and dword [esp], 0
push eax
lea eax, [ebp - 0x90]
mov dword [ebp - 0x90], ecx
push eax
lea eax, [ebp - 0x104]
mov dword [ebp - 0x8c], edx
push eax
mov eax, dword [ebp - 0x58]
movss dword [ebp - 0x104], xmm7
movss dword [ebp - 0x100], xmm6
mov ecx, dword [eax + 0x248]
call fcn.100267be
movss xmm1, dword [ebp - 0x80]
movss xmm2, dword [ebp - 0xc4]
movss xmm4, dword [0x100918a0]
cmp byte [ebp - 0x3c], 0
jne 0x10031b7f
movss xmm0, dword [esi + 0x3c44]
subss xmm1, xmm4
subss xmm2, xmm0
movss dword [esi + 0x5a50], xmm0
xor eax, eax
inc eax
mov byte [esi + 0x5a44], al
movss dword [esi + 0x5a48], xmm1
movss dword [esi + 0x5a4c], xmm2
cmp byte [ebp - 0xbc], 0
je 0x10031b8d
call fcn.10016ce7
cmp byte [ebp - 0x28], 0
je 0x10031c29
movss xmm0, dword [ebp - 0x6c]
lea ecx, [ebp - 0x90]
movss dword [ebp - 0x90], xmm0
movss xmm0, dword [ebp - 0x38]
addss xmm0, dword [esi + 0x37d8]
movss dword [ebp - 0x8c], xmm0
call fcn.1002da43
mov esi, dword [esi + 0x46fc]
mov eax, esi
mov edi, dword [ebp - 0x44]
or eax, 0x401
mov dword [edi + 0x46fc], eax
call fcn.10012b17
mov eax, dword [edi + 0x4720]
mov ecx, dword [ebp - 0x1a0]
and eax, 0x80
or ecx, eax
mov dword [edi + 0x46fc], esi
mov dword [ebp - 0x80], ecx
call fcn.1001843d
mov esi, edi
cmp dword [esi + 0x4718], 0
jne 0x10031c29
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x4718], eax
mov eax, dword [ebp - 0x1a4]
mov dword [esi + 0x471c], eax
mov eax, dword [ebp - 0x80]
mov dword [esi + 0x4720], eax
cmp byte [esi + 0x5aac], 0
je 0x10031c66
cmp byte [ebp - 0xbc], 0
jne 0x10031c66
mov eax, dword [0x10098b90]
lea ecx, [ebp - 0xa4]
push dword [ebp - 0x1c]
mov edx, dword [ebx + 8]
mov dword [eax + 0x5ac4], 0x100917ac
mov dword [eax + 0x5ac8], 0x100917a8
call fcn.1001c2a4
pop ecx
movss xmm0, dword [ebp - 0xfc]
comiss xmm0, dword [0x10091824]
jbe 0x10031cc7
movss xmm0, dword [ebp - 0xb8]
xor eax, eax
addss xmm0, dword [esi + 0x37ec]
mov ecx, dword [ebp - 0xd4]
inc eax
xor edx, edx
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0xb0]
addss xmm0, dword [esi + 0x37d8]
movss dword [ebp - 0xf8], xmm0
push dword [ebp - 0xf8]
push dword [ebp - 0xfc]
push eax
call fcn.1000ec63
add esp, 0xc
mov dl, byte [ebp - 0x47]
mov ecx, dword [ebx + 0x14]
test dl, dl
je 0x10031cee
test ecx, 0x8000000
jne 0x10031cee
mov eax, dword [0x10098b90]
or dword [eax + 0x4720], 4
mov word [eax + 0x3f00], 0x101
test cl, 0x20
movzx eax, dl
movzx ecx, byte [ebp - 0x2e]
cmovne eax, ecx
jmp 0x1002f89a