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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x860
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], ecx
mov eax, dword [0x101d9748]
mov dword [esp + 0x3e0], eax
mov ecx, dword [esp + 0x3e0]
mov edx, dword [ecx + 0x1ba4]
mov byte [edx + 0x8c], 1
mov eax, dword [esp + 0x3e0]
mov ecx, dword [eax + 0x1ba4]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0x90]
movzx eax, byte [edx + 0x8f]
test eax, eax
je 0x10105217
xor al, al
jmp 0x1010a427
mov ecx, dword [0x101d9748]
mov dword [esp + 8], ecx
mov edx, dword [esp + 8]
add edx, 8
mov dword [esp + 0x10], edx
mov eax, dword [esp + 8]
add eax, 0x1518
mov dword [esp + 0x2c], eax
mov byte [esp + 0x189], 0
mov ecx, dword [ebp + 0x14]
and ecx, 0x100000
je 0x10105256
mov byte [esp + 0x87], 1
jmp 0x1010525e
mov byte [esp + 0x87], 0
mov dl, byte [esp + 0x87]
mov byte [esp + 7], dl
mov eax, dword [ebp + 0x14]
and eax, 0x4000
je 0x1010527d
mov byte [esp + 0x88], 1
jmp 0x10105285
mov byte [esp + 0x88], 0
mov cl, byte [esp + 0x88]
mov byte [esp + 0xf], cl
mov edx, dword [ebp + 0x14]
and edx, 0x8000
je 0x101052a5
mov byte [esp + 0x89], 1
jmp 0x101052ad
mov byte [esp + 0x89], 0
mov al, byte [esp + 0x89]
mov byte [esp + 0x23], al
mov ecx, dword [ebp + 0x14]
and ecx, 0x10000
jne 0x101052cd
mov byte [esp + 0x8a], 1
jmp 0x101052d5
mov byte [esp + 0x8a], 0
mov dl, byte [esp + 0x8a]
mov byte [esp + 0x70], dl
mov eax, dword [ebp + 0x14]
and eax, 0x40000
je 0x101052f4
mov byte [esp + 0x8b], 1
jmp 0x101052fc
mov byte [esp + 0x8b], 0
mov cl, byte [esp + 0x8b]
mov byte [esp + 0x39], cl
movzx eax, byte [esp + 7]
test eax, eax
je 0x10105315
call fcn.1009e020
push 0
mov ecx, dword [esp + 0x144]
push ecx
mov ecx, dword [esp + 0x98]
call fcn.1008bd60
mov dword [esp + 0x1c], eax
push 1
movss xmm0, dword [0x101ca668]
xor edx, edx
mov ecx, dword [esp + 0x144]
call fcn.10091300
movss dword [esp + 0x604], xmm1
movss dword [esp + 0x600], xmm0
mov edx, dword [esp + 0x600]
mov eax, dword [esp + 0x604]
mov dword [esp + 0x410], edx
mov dword [esp + 0x414], eax
movzx ecx, byte [esp + 7]
test ecx, ecx
je 0x1010539d
mov edx, dword [esp + 8]
movss xmm0, dword [edx + 0x1940]
mulss xmm0, dword [0x101ca474]
movss dword [esp + 0x3e4], xmm0
jmp 0x101053af
movss xmm0, dword [esp + 0x414]
movss dword [esp + 0x3e4], xmm0
mov eax, dword [esp + 0x2c]
movss xmm0, dword [eax + 0x3c]
mulss xmm0, dword [0x101ca3e0]
addss xmm0, dword [esp + 0x3e4]
movss dword [esp + 0x5cc], xmm0
call fcn.1009da60
movss dword [esp + 0x5d0], xmm0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov dword [esp + 0x608], edx
mov dword [esp + 0x60c], eax
mov ecx, dword [esp + 0x608]
mov edx, dword [esp + 0x60c]
mov dword [esp + 0x610], ecx
mov dword [esp + 0x614], edx
movss xmm1, dword [esp + 0x5cc]
movss xmm0, dword [esp + 0x5d0]
movss xmm2, dword [esp + 0x610]
movss xmm3, dword [esp + 0x614]
call fcn.1009db40
movss dword [esp + 0x61c], xmm1
movss dword [esp + 0x618], xmm0
mov eax, dword [esp + 0x618]
mov ecx, dword [esp + 0x61c]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], ecx
movss xmm0, dword [esp + 0x194]
movss dword [esp + 0x5d8], xmm0
movss xmm0, dword [esp + 0x410]
comiss xmm0, dword [0x101ca16c]
jbe 0x101054aa
mov edx, dword [esp + 0x2c]
movss xmm0, dword [edx + 0x50]
addss xmm0, dword [esp + 0x410]
movss dword [esp + 0x3e8], xmm0
jmp 0x101054b6
xorps xmm0, xmm0
movss dword [esp + 0x3e8], xmm0
movss xmm0, dword [esp + 0x190]
addss xmm0, dword [esp + 0x3e8]
movss dword [esp + 0x5d4], xmm0
movss xmm0, dword [esp + 0x5d4]
movss dword [esp + 0x638], xmm0
movss xmm0, dword [esp + 0x5d8]
movss dword [esp + 0x63c], xmm0
mov eax, dword [esp + 0x90]
add eax, 0xcc
mov dword [esp + 0x3ec], eax
mov ecx, dword [esp + 0x3ec]
movss xmm0, dword [ecx]
addss xmm0, dword [esp + 0x190]
movss dword [esp + 0x5dc], xmm0
mov edx, dword [esp + 0x3ec]
movss xmm0, dword [edx + 4]
addss xmm0, dword [esp + 0x194]
movss dword [esp + 0x5e0], xmm0
movss xmm0, dword [esp + 0x5dc]
movss dword [esp + 0x620], xmm0
movss xmm0, dword [esp + 0x5e0]
movss dword [esp + 0x624], xmm0
mov eax, dword [esp + 0x620]
mov ecx, dword [esp + 0x624]
mov dword [esp + 0x628], eax
mov dword [esp + 0x62c], ecx
mov edx, dword [esp + 0x628]
mov eax, dword [esp + 0x62c]
mov dword [esp + 0x630], edx
mov dword [esp + 0x634], eax
mov ecx, dword [esp + 0x90]
mov edx, dword [ecx + 0xcc]
mov eax, dword [ecx + 0xd0]
mov dword [esp + 0xf8], edx
mov dword [esp + 0xfc], eax
mov ecx, dword [esp + 0x630]
mov edx, dword [esp + 0x634]
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], edx
movss xmm0, dword [esp + 0xf8]
addss xmm0, dword [esp + 0x638]
movss dword [esp + 0x5e4], xmm0
movss xmm0, dword [esp + 0xfc]
addss xmm0, dword [esp + 0x63c]
movss dword [esp + 0x5e8], xmm0
movss xmm0, dword [esp + 0x5e4]
movss dword [esp + 0x640], xmm0
movss xmm0, dword [esp + 0x5e8]
movss dword [esp + 0x644], xmm0
mov eax, dword [esp + 0x640]
mov ecx, dword [esp + 0x644]
mov dword [esp + 0x648], eax
mov dword [esp + 0x64c], ecx
mov edx, dword [esp + 0x648]
mov eax, dword [esp + 0x64c]
mov dword [esp + 0x650], edx
mov dword [esp + 0x654], eax
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0xfc]
mov dword [esp + 0x77c], ecx
mov dword [esp + 0x780], edx
mov eax, dword [esp + 0x650]
mov ecx, dword [esp + 0x654]
mov dword [esp + 0x784], eax
mov dword [esp + 0x788], ecx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], ecx
movzx edx, byte [esp + 7]
test edx, edx
je 0x10105875
lea eax, [esp + 0xf8]
push eax
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x780]
call fcn.1009d000
movzx ecx, al
test ecx, ecx
jne 0x1010571a
mov edx, dword [esp + 0x2c]
movss xmm0, dword [edx + 0x3c]
lea ecx, [esp + 0x77c]
call fcn.1009cfd0
call fcn.1009e1f0
xor al, al
jmp 0x1010a427
mov eax, 0x10
shl eax, 3
mov ecx, dword [esp + 0x2c]
lea edx, [ecx + eax + 0xc4]
mov ecx, 4
call fcn.10089810
mov edx, dword [esp + 0x2c]
movss xmm0, dword [edx + 0x40]
mov ecx, 6
call fcn.10089980
mov eax, dword [esp + 0x2c]
movss xmm0, dword [eax + 0x44]
mov ecx, 7
call fcn.10089980
push 4
push 1
lea ecx, [esp + 0x840]
push ecx
lea ecx, [esp + 0x104]
call fcn.10083590
push eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x14c]
call fcn.100924c0
mov byte [esp + 0xb3], al
mov ecx, 2
call fcn.10089ad0
mov ecx, 1
call fcn.100898d0
movzx edx, byte [esp + 0xb3]
test edx, edx
jne 0x101057be
call fcn.10092830
call fcn.1009e1f0
xor al, al
jmp 0x1010a427
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x1ba4]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x24]
mov eax, 1
mov ecx, dword [edx + 0x140]
shl eax, cl
mov ecx, dword [esp + 0x24]
or eax, dword [ecx + 0x148]
mov edx, dword [esp + 0x24]
mov dword [edx + 0x148], eax
mov eax, dword [esp + 0x2c]
add eax, 0x38
mov dword [esp + 0x3f0], eax
mov ecx, dword [esp + 0x24]
add ecx, 0xcc
mov dword [esp + 0x14c], ecx
mov edx, dword [esp + 0x14c]
mov eax, dword [esp + 0x3f0]
movss xmm0, dword [edx]
addss xmm0, dword [eax]
mov ecx, dword [esp + 0x14c]
movss dword [ecx], xmm0
mov edx, dword [esp + 0x14c]
mov eax, dword [esp + 0x3f0]
movss xmm0, dword [edx + 4]
addss xmm0, dword [eax + 4]
mov ecx, dword [esp + 0x14c]
movss dword [ecx + 4], xmm0
mov edx, dword [esp + 0x24]
movss xmm0, dword [esp + 0xe8]
subss xmm0, dword [edx + 0x80]
movss dword [esp + 0xe8], xmm0
jmp 0x101058b0
mov eax, dword [esp + 0x2c]
movss xmm0, dword [eax + 0x3c]
lea ecx, [esp + 0x77c]
call fcn.1009cfd0
lea ecx, [esp + 0xf8]
push ecx
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x780]
call fcn.1009d000
movzx edx, al
test edx, edx
jne 0x101058b0
xor al, al
jmp 0x1010a427
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0xf8]
call fcn.1008c740
mov byte [esp + 0x22], al
movzx eax, byte [esp + 0x22]
test eax, eax
je 0x101058db
mov ecx, dword [esp + 8]
mov dword [ecx + 0x1e48], 1
mov edx, dword [0x101d9748]
mov dword [esp + 0x3f4], edx
mov eax, dword [esp + 0x3f4]
mov ecx, dword [eax + 0x1f60]
cmp ecx, dword [esp + 0x1c]
jne 0x10105911
mov edx, dword [esp + 0x3f4]
add edx, 0x1f60
mov dword [esp + 0x3f8], edx
jmp 0x1010591c
mov dword [esp + 0x3f8], 0
mov eax, dword [esp + 0x3f8]
mov dword [esp], eax
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x90]
call fcn.1008c980
mov byte [esp + 0x33], al
movzx ecx, byte [esp + 0x33]
test ecx, ecx
je 0x10105979
mov edx, dword [esp + 8]
mov eax, dword [edx + 0x1e28]
cmp eax, dword [esp + 0x90]
jne 0x10105979
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x90]
mov eax, dword [ecx + 0x1e30]
cmp eax, dword [edx + 0x1a8]
jne 0x10105979
mov byte [esp + 0x8c], 1
jmp 0x10105981
mov byte [esp + 0x8c], 0
mov cl, byte [esp + 0x8c]
mov byte [esp + 0x52], cl
movzx edx, byte [esp + 0x33]
test edx, edx
je 0x101059a8
movzx eax, byte [esp + 0x52]
test eax, eax
jne 0x101059a8
mov byte [esp + 0x8d], 1
jmp 0x101059b0
mov byte [esp + 0x8d], 0
mov cl, byte [esp + 0x8d]
mov byte [esp + 0xb7], cl
movzx edx, byte [esp + 0x22]
test edx, edx
je 0x101059e9
mov eax, 1
imul ecx, eax, 0
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + ecx + 0x3d0]
test eax, eax
je 0x101059e9
mov byte [esp + 0x8e], 1
jmp 0x101059f1
mov byte [esp + 0x8e], 0
mov cl, byte [esp + 0x8e]
mov byte [esp + 0x53], cl
mov edx, dword [esp + 8]
mov eax, dword [edx + 0x1bd8]
cmp eax, dword [esp + 0x1c]
je 0x10105a43
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 0x1d20]
cmp edx, dword [esp + 0x1c]
je 0x10105a39
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x1d14]
cmp ecx, dword [esp + 0x1c]
jne 0x10105a43
mov edx, dword [esp + 8]
cmp dword [edx + 0x1d38], 2
jne 0x10105a43
mov byte [esp + 0x8f], 1
jmp 0x10105a4b
mov byte [esp + 0x8f], 0
mov al, byte [esp + 0x8f]
mov byte [esp + 0x37], al
movzx ecx, byte [esp + 7]
test ecx, ecx
je 0x10105a93
cmp dword [esp], 0
je 0x10105a93
mov edx, dword [esp + 8]
cmp dword [edx + 0x1bd8], 0
jne 0x10105a93
mov edx, 1
mov ecx, dword [esp + 0x24]
call fcn.100f90a0
mov ecx, dword [esp + 8]
cmp dword [ecx + 0x1c14], eax
jne 0x10105a93
mov byte [esp + 0x4b], 1
jmp 0x10105a98
mov byte [esp + 0x4b], 0
mov dl, byte [esp + 0x4b]
mov byte [esp + 0xb4], dl
movzx eax, byte [esp + 7]
test eax, eax
je 0x10105ad3
cmp dword [esp], 0
je 0x10105ad3
mov edx, 1
mov ecx, dword [esp + 0x24]
call fcn.100f90a0
mov ecx, dword [esp + 8]
cmp dword [ecx + 0x1bd8], eax
jne 0x10105ad3
mov byte [esp + 0x4c], 1
jmp 0x10105ad8
mov byte [esp + 0x4c], 0
mov dl, byte [esp + 0x4c]
mov byte [esp + 0x55], dl
mov byte [esp + 0x1b], 0
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x1bd8]
cmp ecx, dword [esp + 0x1c]
je 0x10105b1c
mov edx, dword [ebp + 0x14]
and edx, 0x10
jne 0x10105b06
movzx eax, byte [esp + 0x37]
test eax, eax
je 0x10105b1c
movzx ecx, byte [esp + 7]
test ecx, ecx
jne 0x10105b1c
mov dword [esp + 0x3fc], 1
jmp 0x10105b27
mov dword [esp + 0x3fc], 0
mov dl, byte [esp + 0x3fc]
mov byte [esp + 0x35], dl
movzx eax, byte [esp + 7]
test eax, eax
je 0x10105b4f
mov ecx, dword [esp + 0x24]
movss xmm0, dword [ecx + 0x5c]
movss dword [esp + 0x400], xmm0
jmp 0x10105b60
movss xmm0, dword [0x101ca62c]
movss dword [esp + 0x400], xmm0
movss xmm0, dword [esp + 0x400]
movss dword [esp + 0x3c], xmm0
cmp dword [esp], 0
je 0x10105bad
movzx edx, byte [esp + 7]
test edx, edx
jne 0x10105b8b
mov dword [esp + 0x404], 1
jmp 0x10105b96
mov dword [esp + 0x404], 0
mov eax, dword [esp]
movzx ecx, byte [eax + 0x53]
cmp ecx, dword [esp + 0x404]
je 0x10105bad
mov byte [esp + 0x4d], 1
jmp 0x10105bb2
mov byte [esp + 0x4d], 0
mov dl, byte [esp + 0x4d]
mov byte [esp + 0x50], dl
movzx eax, byte [esp + 0x33]
test eax, eax
jne 0x10105be8
movzx ecx, byte [esp + 0x53]
test ecx, ecx
jne 0x10105be8
movzx edx, byte [esp + 0xb4]
test edx, edx
jne 0x10105be8
movzx eax, byte [esp + 0x37]
test eax, eax
jne 0x10105be8
mov byte [esp + 0x4e], 0
jmp 0x10105bed
mov byte [esp + 0x4e], 1
mov cl, byte [esp + 0x4e]
mov byte [esp + 0x34], cl
movzx edx, byte [esp + 0x34]
test edx, edx
jne 0x10105c0e
movzx eax, byte [esp + 0x55]
test eax, eax
jne 0x10105c0e
mov byte [esp + 0x4f], 0
jmp 0x10105c13
mov byte [esp + 0x4f], 1
mov cl, byte [esp + 0x4f]
mov byte [esp + 0x54], cl
movzx edx, byte [esp + 0x54]
test edx, edx
je 0x10105c34
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x1bd8]
cmp ecx, dword [esp + 0x1c]
jne 0x10105c41
movzx edx, byte [esp + 0x50]
test edx, edx
je 0x10105e65
mov eax, dword [esp + 8]
add eax, 0x1f60
mov dword [esp], eax
mov ecx, dword [esp]
movss xmm0, dword [0x101ca64c]
movss dword [ecx + 0xe68], xmm0
mov edx, dword [ebp + 8]
mov dword [esp + 0x10c], edx
mov eax, dword [esp + 0x10c]
add eax, 1
mov dword [esp + 0x5ec], eax
mov ecx, dword [esp + 0x10c]
mov dl, byte [ecx]
mov byte [esp + 0xb5], dl
add dword [esp + 0x10c], 1
cmp byte [esp + 0xb5], 0
jne 0x10105c7b
mov eax, dword [esp + 0x10c]
sub eax, dword [esp + 0x5ec]
mov dword [esp + 0x5f0], eax
mov ecx, dword [esp + 0x5f0]
mov dword [esp + 0x418], ecx
mov edx, dword [esp]
add edx, 0x24
mov dword [esp + 0x5f4], edx
mov eax, dword [esp + 0x418]
add eax, 1
push eax
mov ecx, dword [esp + 0x5f8]
call fcn.100ae240
mov ecx, dword [esp + 0x418]
add ecx, 1
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x2c]
push ecx
call fcn.1016db00
add esp, 0xc
mov dword [esp + 0x41c], 0
mov edx, dword [esp]
add edx, 0xc
mov dword [esp + 0x5f8], edx
mov eax, dword [ebp + 0xc]
add eax, 1
push eax
mov ecx, dword [esp + 0x5fc]
call fcn.100aeae0
mov ecx, dword [esp]
add ecx, 0x18
mov dword [esp + 0x76c], ecx
push 0
mov ecx, dword [esp + 0x770]
call fcn.100ae240
mov edx, dword [esp]
mov byte [edx + 0x30], 0
lea eax, [esp + 0x41c]
push eax
push 0
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x14]
call fcn.100878c0
mov ecx, dword [esp]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x41c]
sub edx, dword [ebp + 8]
mov eax, dword [esp]
mov dword [eax + 8], edx
mov ecx, dword [esp]
mov edx, dword [ecx]
cmp edx, dword [esp + 0x1c]
jne 0x10105d9e
movzx eax, byte [esp + 0x50]
test eax, eax
jne 0x10105d9e
mov byte [esp + 0x51], 1
jmp 0x10105da3
mov byte [esp + 0x51], 0
mov cl, byte [esp + 0x51]
mov byte [esp + 0xb6], cl
movzx edx, byte [esp + 0xb6]
test edx, edx
je 0x10105dc4
mov ecx, dword [esp]
call fcn.100f5ff0
jmp 0x10105e22
mov eax, dword [esp]
mov ecx, dword [esp + 0x1c]
mov dword [eax], ecx
mov edx, dword [esp]
xorps xmm0, xmm0
movss dword [edx + 0x38], xmm0
movzx eax, byte [esp + 7]
test eax, eax
jne 0x10105dee
mov dword [esp + 0x420], 1
jmp 0x10105df9
mov dword [esp + 0x420], 0
mov ecx, dword [esp]
add ecx, 0x3c
mov edx, dword [esp + 0x420]
call fcn.10104b60
movzx ecx, byte [esp + 7]
test ecx, ecx
jne 0x10105e22
movzx edx, byte [esp + 0x52]
test edx, edx
je 0x10105e22
mov byte [esp + 0x35], 1
mov eax, dword [ebp + 0x14]
and eax, 0x2000
je 0x10105e33
mov ecx, dword [esp]
mov byte [ecx + 0x48], 1
movzx edx, byte [esp + 7]
test edx, edx
jne 0x10105e65
movzx eax, byte [esp + 0xb7]
test eax, eax
jne 0x10105e60
movzx ecx, byte [esp + 0x53]
test ecx, ecx
je 0x10105e65
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0xf4]
test eax, eax
je 0x10105e65
mov byte [esp + 0x35], 1
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 0x1bd8]
cmp edx, dword [esp + 0x1c]
je 0x10105f8a
movzx eax, byte [esp + 0x34]
test eax, eax
je 0x10105f8a
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x1c]
call fcn.1008c2e0
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x1c]
call fcn.100a0e40
mov ecx, dword [esp + 0x90]
call fcn.1009b410
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 0x1bec]
or edx, 3
mov eax, dword [esp + 8]
mov dword [eax + 0x1bec], edx
movzx ecx, byte [esp + 7]
test ecx, ecx
jne 0x10105edd
mov edx, dword [ebp + 0x14]
and edx, 0x80
je 0x10105ef4
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x1bec]
or ecx, 0xc
mov edx, dword [esp + 8]
mov dword [edx + 0x1bec], ecx
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x1bf0]
or ecx, 2
mov edx, dword [esp + 8]
mov dword [edx + 0x1bf0], ecx
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x1bf8]
or ecx, 0x180
mov edx, dword [eax + 0x1bfc]
mov eax, dword [esp + 8]
mov dword [eax + 0x1bf8], ecx
mov dword [eax + 0x1bfc], edx
movzx ecx, byte [esp + 7]
test ecx, ecx
je 0x10105f5d
mov edx, dword [esp + 8]
mov eax, dword [edx + 0x1bf8]
or eax, 0x60
mov ecx, dword [edx + 0x1bfc]
mov edx, dword [esp + 8]
mov dword [edx + 0x1bf8], eax
mov dword [edx + 0x1bfc], ecx
mov eax, dword [ebp + 0x14]
and eax, 0x440
je 0x10105f8a
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 0x1bf8]
or edx, 1
mov eax, dword [ecx + 0x1bfc]
mov ecx, dword [esp + 8]
mov dword [ecx + 0x1bf8], edx
mov dword [ecx + 0x1bfc], eax
mov edx, dword [esp + 8]
mov eax, dword [edx + 0x1bd8]
cmp eax, dword [esp + 0x1c]
jne 0x10105fa5
cmp dword [esp], 0
jne 0x10105fa5
call fcn.1008c460
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 0x1bd8]
cmp edx, dword [esp + 0x1c]
jne 0x10105fe4
mov eax, 1
imul ecx, eax, 0
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + ecx + 0x3d0]
test eax, eax
je 0x10105fe4
movzx ecx, byte [esp + 0x54]
test ecx, ecx
jne 0x10105fe4
movzx edx, byte [esp + 0x34]
test edx, edx
jne 0x10105fe4
mov byte [esp + 0x1b], 1
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x1bd8]
cmp ecx, dword [esp + 0x1c]
je 0x1010600a
cmp dword [esp], 0
je 0x10106003
movzx edx, byte [esp + 0x55]
test edx, edx
jne 0x1010600a
mov byte [esp + 0x56], 0
jmp 0x1010600f
mov byte [esp + 0x56], 1
mov al, byte [esp + 0x56]
mov byte [esp + 0x18], al
cmp dword [esp], 0
je 0x10106069
mov ecx, dword [esp]
mov edx, dword [esp]
mov eax, dword [ecx + 0x40]
cmp eax, dword [edx + 0x44]
je 0x10106038
mov dword [esp + 0x424], 1
jmp 0x10106043
mov dword [esp + 0x424], 0
movzx ecx, byte [esp + 0x424]
test ecx, ecx
je 0x10106069
xor edx, edx
jne 0x1010605c
movzx eax, byte [esp + 0x18]
test eax, eax
je 0x10106069
mov dword [esp + 0x1ec], 1
jmp 0x10106074
mov dword [esp + 0x1ec], 0
mov cl, byte [esp + 0x1ec]
mov byte [esp + 0x17], cl
mov byte [esp + 0x3b], 0
mov byte [esp + 0x3a], 0
movzx edx, byte [esp + 0xf]
test edx, edx
je 0x10106159
cmp dword [esp], 0
je 0x10106159
movzx eax, byte [esp + 0x18]
test eax, eax
jne 0x101060b6
movzx ecx, byte [esp + 0x17]
test ecx, ecx
je 0x10106159
mov dword [esp + 0x1f0], 0
mov edx, dword [esp]
add edx, 0xc
mov dword [esp + 0x770], edx
mov eax, dword [ebp + 0xc]
add eax, 1
push eax
mov ecx, dword [esp + 0x774]
call fcn.100aeae0
lea ecx, [esp + 0x1f0]
push ecx
push 0
mov edx, dword [ebp + 8]
push edx
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0xc]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x14]
call fcn.100878c0
mov edx, dword [esp]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x1f0]
sub eax, dword [ebp + 8]
mov ecx, dword [esp]
mov dword [ecx + 8], eax
mov ecx, dword [esp]
call fcn.100f5ff0
mov edx, dword [esp]
mov eax, dword [esp]
mov ecx, dword [edx + 0x40]
cmp ecx, dword [eax + 0x44]
je 0x1010613b
mov dword [esp + 0x1f4], 1
jmp 0x10106146
mov dword [esp + 0x1f4], 0
movzx edx, byte [esp + 0x17]
movzx eax, byte [esp + 0x1f4]
and edx, eax
mov byte [esp + 0x17], dl
movzx ecx, byte [esp + 0x18]
test ecx, ecx
jne 0x1010617b
movzx edx, byte [esp + 0x17]
test edx, edx
jne 0x1010617b
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x1bd8]
cmp ecx, dword [esp + 0x1c]
jne 0x1010619c
movzx edx, byte [esp + 0xf]
test edx, edx
jne 0x1010619c
cmp dword [esp], 0
je 0x1010619c
mov eax, dword [esp]
movzx ecx, byte [eax + 0x30]
test ecx, ecx
je 0x1010619c
mov byte [esp + 0x57], 1
jmp 0x101061a1
mov byte [esp + 0x57], 0
mov dl, byte [esp + 0x57]
mov byte [esp + 0x86], dl
cmp dword [esp + 0x13c], 0
je 0x101061f9
movzx eax, byte [esp + 0x86]
test eax, eax
je 0x101061d1
mov ecx, dword [esp]
mov edx, dword [ecx + 0x20]
mov dword [esp + 0x1f8], edx
jmp 0x101061db
mov eax, dword [ebp + 8]
mov dword [esp + 0x1f8], eax
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [esp + 0x1f8]
movsx ecx, byte [eax + edx]
test ecx, ecx
jne 0x101061f9
mov byte [esp + 0x58], 1
jmp 0x101061fe
mov byte [esp + 0x58], 0
mov dl, byte [esp + 0x58]
mov byte [esp + 0x19], dl
movzx eax, byte [esp + 0x23]
test eax, eax
je 0x101062fb
movzx ecx, byte [esp + 0x19]
test ecx, ecx
jne 0x101062fb
mov edx, dword [esp + 8]
mov eax, dword [edx + 0x193c]
mov dword [esp + 0x774], eax
push 0x2a
mov ecx, dword [esp + 0x778]
call fcn.100e1950
mov dword [esp + 0x1fc], eax
mov ecx, dword [esp + 8]
add ecx, 0x2ddc
mov dword [esp + 0xa4], ecx
mov edx, dword [esp + 8]
mov eax, dword [edx + 0x193c]
mov ecx, dword [esp + 0xa4]
mov edx, dword [eax + 0x10]
mov dword [ecx + 0x10], edx
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x193c]
mov edx, dword [esp + 0xa4]
mov eax, dword [ecx + 0x40]
mov dword [edx + 0x40], eax
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 0x193c]
mov eax, dword [esp + 0xa4]
mov ecx, dword [edx + 0x44]
mov dword [eax + 0x44], ecx
mov edx, dword [esp + 8]
mov eax, dword [edx + 0x193c]
mov ecx, dword [esp + 0xa4]
mov edx, dword [eax + 0x48]
mov dword [ecx + 0x48], edx
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x193c]
mov edx, dword [esp + 0xa4]
mov eax, dword [ecx + 0x30]
mov dword [edx + 0x30], eax
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x1fc]
mov dword [ecx + 0x2c], edx
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x1fc]
mov edx, dword [ecx + 4]
mov dword [eax + 0xc], edx
mov ecx, dword [esp + 0xa4]
call fcn.1009b7d0
mov dword [esp + 0x18c], 0
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x1bd8]
cmp ecx, dword [esp + 0x1c]
jne 0x101068d2
mov edx, dword [esp]
mov eax, dword [edx + 8]
mov dword [esp + 0x18c], eax
mov ecx, dword [esp]
mov byte [ecx + 0xe6e], 0
mov edx, dword [esp]
mov eax, dword [ebp + 0xc]
mov dword [edx + 0x34], eax
mov ecx, dword [esp]
mov edx, dword [ebp + 0x14]
mov dword [ecx + 0xe70], edx
mov eax, dword [esp]
mov ecx, dword [ebp + 0x18]
mov dword [eax + 0xe74], ecx
mov edx, dword [esp]
mov eax, dword [ebp + 0x1c]
mov dword [edx + 0xe78], eax
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [esp + 0x10]
movzx ecx, byte [eax + edx + 0xe4]
test ecx, ecx
jne 0x10106383
mov dword [esp + 0x200], 1
jmp 0x1010638e
mov dword [esp + 0x200], 0
mov edx, dword [esp + 8]
mov al, byte [esp + 0x200]
mov byte [edx + 0x1be5], al
mov ecx, dword [esp + 8]
mov dword [ecx + 0x3124], 1
mov edx, dword [esp + 0x10]
movss xmm0, dword [edx + 0xdc]
subss xmm0, dword [esp + 0xf8]
mov eax, dword [esp + 0x2c]
subss xmm0, dword [eax + 0x38]
mov ecx, dword [esp]
addss xmm0, dword [ecx + 0x38]
movss dword [esp + 0x20c], xmm0
movzx edx, byte [esp + 7]
test edx, edx
je 0x10106408
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
movss xmm0, dword [eax + 0xe0]
subss xmm0, dword [ecx + 0xd0]
movss dword [esp + 0x204], xmm0
jmp 0x10106425
mov edx, dword [esp + 8]
movss xmm0, dword [edx + 0x1940]
mulss xmm0, dword [0x101ca28c]
movss dword [esp + 0x204], xmm0
movss xmm0, dword [esp + 0x204]
movss dword [esp + 0x208], xmm0
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0xa9]
mov byte [esp + 0x36], cl
movzx edx, byte [esp + 0x35]
test edx, edx
jne 0x10106478
movzx eax, byte [esp + 0x22]
test eax, eax
je 0x1010648f
movzx ecx, byte [esp + 0x36]
test ecx, ecx
jne 0x1010648f
mov edx, 1
imul eax, edx, 0
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + eax + 0x3d5]
test edx, edx
je 0x1010648f
mov ecx, dword [esp]
call fcn.100f6090
mov eax, dword [esp]
mov byte [eax + 0xe6d], 1
jmp 0x101065d6
movzx ecx, byte [esp + 0x22]
test ecx, ecx
je 0x101064da
movzx edx, byte [esp + 0x36]
test edx, edx
je 0x101064da
mov eax, 1
imul ecx, eax, 0
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + ecx + 0x3d5]
test eax, eax
je 0x101064da
push 0x20000c
mov ecx, dword [esp + 4]
call fcn.10104c20
push 0x60000d
mov ecx, dword [esp + 4]
call fcn.10104c20
jmp 0x101065d6
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [esp + 0x10]
movzx ecx, byte [eax + edx + 0x3d0]
test ecx, ecx
je 0x10106541
mov edx, dword [esp]
movzx eax, byte [edx + 0xe6d]
test eax, eax
jne 0x10106541
movzx ecx, byte [esp + 0x22]
test ecx, ecx
je 0x1010653c
mov edx, dword [esp]
add edx, 0x3c
movss xmm1, dword [esp + 0x208]
movss xmm0, dword [esp + 0x20c]
mov ecx, dword [esp]
call fcn.10103010
mov edx, dword [esp]
movss xmm0, dword [0x101ca64c]
movss dword [edx + 0xe68], xmm0
jmp 0x101065d6
mov eax, 1
imul ecx, eax, 0
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + ecx + 0xe4]
test eax, eax
je 0x101065d6
mov ecx, dword [esp]
movzx edx, byte [ecx + 0xe6d]
test edx, edx
jne 0x101065d6
mov eax, dword [esp + 0x10]
movss xmm0, dword [eax + 0x36c]
ucomiss xmm0, dword [0x101ca16c]
lahf
test ah, 0x44
jp 0x10106599
mov ecx, dword [esp + 0x10]
movss xmm0, dword [ecx + 0x370]
ucomiss xmm0, dword [0x101ca16c]
lahf
test ah, 0x44
jnp 0x101065d6
mov edx, dword [esp]
add edx, 0x3c
movss xmm1, dword [esp + 0x208]
movss xmm0, dword [esp + 0x20c]
mov ecx, dword [esp]
call fcn.10103080
mov edx, dword [esp]
movss xmm0, dword [0x101ca64c]
movss dword [edx + 0xe68], xmm0
mov eax, dword [esp]
mov byte [eax + 0xe6c], 1
mov ecx, dword [esp]
movzx edx, byte [ecx + 0xe6d]
test edx, edx
je 0x10106606
mov eax, 1
imul ecx, eax, 0
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + ecx + 0xe4]
test eax, eax
jne 0x10106606
mov ecx, dword [esp]
mov byte [ecx + 0xe6d], 0
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0xf4]
test eax, eax
je 0x10106624
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 0xf6]
test edx, edx
je 0x10106643
movzx eax, byte [esp + 0x36]
test eax, eax
je 0x1010663c
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 0xf7]
test edx, edx
jne 0x10106643
mov byte [esp + 0x59], 0
jmp 0x10106648
mov byte [esp + 0x59], 1
mov al, byte [esp + 0x59]
mov byte [esp + 0x5c], al
mov ecx, dword [ebp + 0x14]
and ecx, 0x400
je 0x101067ce
mov edx, dword [0x101d9748]
mov dword [esp + 0x78c], edx
xor eax, eax
shl eax, 2
mov ecx, dword [esp + 0x78c]
mov edx, dword [ecx + eax + 0x34]
mov dword [esp + 0x210], edx
cmp dword [esp + 0x210], 0
jl 0x101066a1
mov dl, 1
mov ecx, dword [esp + 0x210]
call fcn.10091a70
mov byte [esp + 0x5a], al
jmp 0x101066a6
mov byte [esp + 0x5a], 0
movzx eax, byte [esp + 0x5a]
test eax, eax
je 0x101067ce
movzx ecx, byte [esp + 0x5c]
test ecx, ecx
jne 0x101067ce
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0xf5]
test eax, eax
jne 0x101067ce
movzx ecx, byte [esp + 0xf]
test ecx, ecx
jne 0x101067ce
mov edx, dword [esp + 0x10]
add edx, 0x1500
mov dword [esp + 0x168], edx
mov eax, 9
mov word [esp + 0x18a], ax
mov ecx, dword [esp + 0x168]
mov edx, dword [ecx + 8]
mov dword [esp + 0x150], edx
mov eax, dword [esp + 0x168]
mov ecx, dword [eax]
mov edx, dword [esp + 0x168]
mov eax, dword [edx + 8]
lea ecx, [eax + ecx*2]
mov dword [esp + 0x5fc], ecx
mov edx, dword [esp + 0x150]
cmp edx, dword [esp + 0x5fc]
jae 0x10106786
mov eax, dword [esp + 0x150]
movzx ecx, word [eax]
mov dword [esp + 0x778], ecx
movzx edx, word [esp + 0x18a]
mov dword [esp + 0x440], edx
mov eax, dword [esp + 0x150]
add eax, 2
mov dword [esp + 0x150], eax
mov ecx, dword [esp + 0x778]
cmp ecx, dword [esp + 0x440]
jne 0x10106784
mov byte [esp + 0x5b], 1
jmp 0x1010678b
jmp 0x1010672c
mov byte [esp + 0x5b], 0
movzx edx, byte [esp + 0x5b]
test edx, edx
jne 0x101067ce
mov dword [esp + 0x214], 9
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x21c]
call fcn.10104f40
movzx edx, al
test edx, edx
je 0x101067ce
mov eax, dword [esp + 0x214]
push eax
mov ecx, dword [esp + 4]
call fcn.10104c20
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x1500], 0
jle 0x101068d2
movzx edx, byte [esp + 0x5c]
test edx, edx
jne 0x101068b3
movzx eax, byte [esp + 0xf]
test eax, eax
jne 0x101068b3
movzx ecx, byte [esp + 0x37]
test ecx, ecx
jne 0x101068b3
mov dword [esp + 0x154], 0
jmp 0x10106824
mov edx, dword [esp + 0x154]
add edx, 1
mov dword [esp + 0x154], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x154]
cmp ecx, dword [eax + 0x1500]
jge 0x101068b3
mov edx, dword [esp + 0x10]
add edx, 0x1500
mov dword [esp + 0x444], edx
mov eax, dword [esp + 0x444]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x154]
movzx eax, word [ecx + edx*2]
mov dword [esp + 0x16c], eax
cmp dword [esp + 0x16c], 9
jne 0x1010687f
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 0xf5]
test edx, edx
je 0x1010687f
jmp 0x10106813
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x174]
call fcn.10104f40
movzx edx, al
test edx, edx
je 0x101068ae
mov eax, dword [esp + 0x16c]
push eax
mov ecx, dword [esp + 4]
call fcn.10104c20
jmp 0x10106813
mov ecx, dword [esp + 0x10]
add ecx, 0x1500
mov dword [esp + 0x448], ecx
push 0
mov ecx, dword [esp + 0x44c]
call fcn.100aeae0
mov byte [esp + 0x2a], 0
mov edx, dword [esp + 8]
mov eax, dword [edx + 0x1bd8]
cmp eax, dword [esp + 0x1c]
jne 0x10107e39
mov ecx, dword [esp + 8]
movzx edx, byte [ecx + 0x1be4]
test edx, edx
jne 0x10107e39
movzx eax, byte [esp + 0x1b]
test eax, eax
jne 0x10107e39
mov ecx, dword [esp + 0x2c]
movss xmm0, dword [esp + 0xec]
subss xmm0, dword [ecx + 0x3c]
mov edx, dword [esp + 8]
divss xmm0, dword [edx + 0x1940]
cvttss2si eax, xmm0
mov dword [esp + 0x218], eax
cmp dword [esp + 0x218], 1
jl 0x1010694e
mov ecx, dword [esp + 0x218]
mov dword [esp + 0x21c], ecx
jmp 0x10106959
mov dword [esp + 0x21c], 1
mov edx, dword [esp + 0x21c]
mov dword [esp + 0x170], edx
mov eax, dword [esp]
mov ecx, dword [esp + 0x170]
mov dword [eax + 0x4c], ecx
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0xf5]
test eax, eax
je 0x10106990
mov dword [esp + 0x220], 0x400000
jmp 0x1010699b
mov dword [esp + 0x220], 0
mov ecx, dword [esp + 0x220]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x10]
mov al, byte [edx + 0xa9]
mov byte [esp + 0x29], al
movzx ecx, byte [esp + 0x29]
test ecx, ecx
je 0x101069d1
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x374], 0xa
jne 0x101069d1
mov byte [esp + 0x5d], 1
jmp 0x101069d6
mov byte [esp + 0x5d], 0
mov al, byte [esp + 0x5d]
mov byte [esp + 0xb2], al
movzx ecx, byte [esp + 0x29]
test ecx, ecx
je 0x101069fa
mov edx, dword [esp + 0x10]
mov al, byte [edx + 0xf6]
mov byte [esp + 0x5e], al
jmp 0x10106a08
mov ecx, dword [esp + 0x10]
mov dl, byte [ecx + 0xf4]
mov byte [esp + 0x5e], dl
mov al, byte [esp + 0x5e]
mov byte [esp + 0x38], al
movzx ecx, byte [esp + 0x29]
test ecx, ecx
je 0x10106a4d
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0xf7]
test eax, eax
je 0x10106a4d
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 0xf4]
test edx, edx
jne 0x10106a4d
mov eax, dword [esp + 0x10]
movzx ecx, byte [eax + 0xf6]
test ecx, ecx
jne 0x10106a4d
mov byte [esp + 0x5f], 1
jmp 0x10106a52
mov byte [esp + 0x5f], 0
mov dl, byte [esp + 0x5f]
mov byte [esp + 0x28], dl
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x374], 1
jne 0x10106a6e
mov byte [esp + 0x60], 1
jmp 0x10106a73
mov byte [esp + 0x60], 0
mov cl, byte [esp + 0x60]
mov byte [esp + 0xb8], cl
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x374], 2
jne 0x10106a92
mov byte [esp + 0x61], 1
jmp 0x10106a97
mov byte [esp + 0x61], 0
mov al, byte [esp + 0x61]
mov byte [esp + 0x69], al
mov ecx, dword [esp + 8]
movzx edx, byte [ecx + 0xb1]
test edx, edx
je 0x10106ae3
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x374], 8
jne 0x10106ac8
mov dword [esp + 0x224], 1
jmp 0x10106ad3
mov dword [esp + 0x224], 0
mov ecx, dword [esp + 0x224]
mov dword [esp + 0x22c], ecx
jmp 0x10106b16
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x374], 1
jne 0x10106afd
mov dword [esp + 0x228], 1
jmp 0x10106b08
mov dword [esp + 0x228], 0
mov eax, dword [esp + 0x228]
mov dword [esp + 0x22c], eax
mov cl, byte [esp + 0x22c]
mov byte [esp + 0x1a], cl
movzx edx, byte [esp + 0x1a]
test edx, edx
je 0x10106b7c
mov eax, dword [0x101d9748]
mov dword [esp + 0x44c], eax
mov ecx, 0x13
shl ecx, 2
mov edx, dword [esp + 0x44c]
mov eax, dword [edx + ecx + 0x34]
mov dword [esp + 0x230], eax
cmp dword [esp + 0x230], 0
jl 0x10106b6e
mov dl, 1
mov ecx, dword [esp + 0x230]
call fcn.10091a70
mov byte [esp + 0x62], al
jmp 0x10106b73
mov byte [esp + 0x62], 0
movzx ecx, byte [esp + 0x62]
test ecx, ecx
jne 0x10106bdb
movzx edx, byte [esp + 0x69]
test edx, edx
je 0x10106c2f
mov eax, dword [0x101d9748]
mov dword [esp + 0x450], eax
mov ecx, 0xa
shl ecx, 2
mov edx, dword [esp + 0x450]
mov eax, dword [edx + ecx + 0x34]
mov dword [esp + 0x234], eax
cmp dword [esp + 0x234], 0
jl 0x10106bcd
mov dl, 1
mov ecx, dword [esp + 0x234]
call fcn.10091a70
mov byte [esp + 0x63], al
jmp 0x10106bd2
mov byte [esp + 0x63], 0
movzx ecx, byte [esp + 0x63]
test ecx, ecx
je 0x10106c2f
movzx edx, byte [esp + 0xf]
test edx, edx
jne 0x10106c2f
movzx eax, byte [esp + 0x23]
test eax, eax
jne 0x10106c2f
movzx ecx, byte [esp + 7]
test ecx, ecx
je 0x10106c28
mov edx, dword [esp]
mov eax, dword [esp]
mov ecx, dword [edx + 0x40]
cmp ecx, dword [eax + 0x44]
je 0x10106c11
mov dword [esp + 0x238], 1
jmp 0x10106c1c
mov dword [esp + 0x238], 0
movzx edx, byte [esp + 0x238]
test edx, edx
je 0x10106c2f
mov byte [esp + 0x64], 1
jmp 0x10106c34
mov byte [esp + 0x64], 0
mov al, byte [esp + 0x64]
mov byte [esp + 0x82], al
movzx ecx, byte [esp + 0x1a]
test ecx, ecx
je 0x10106c9b
mov edx, dword [0x101d9748]
mov dword [esp + 0x454], edx
mov eax, 0x11
shl eax, 2
mov ecx, dword [esp + 0x454]
mov edx, dword [ecx + eax + 0x34]
mov dword [esp + 0x23c], edx
cmp dword [esp + 0x23c], 0
jl 0x10106c8d
mov dl, 1
mov ecx, dword [esp + 0x23c]
call fcn.10091a70
mov byte [esp + 0x65], al
jmp 0x10106c92
mov byte [esp + 0x65], 0
movzx eax, byte [esp + 0x65]
test eax, eax
jne 0x10106cfe
movzx ecx, byte [esp + 0xb8]
test ecx, ecx
je 0x10106d49
mov edx, dword [0x101d9748]
mov dword [esp + 0x458], edx
mov eax, 9
shl eax, 2
mov ecx, dword [esp + 0x458]
mov edx, dword [ecx + eax + 0x34]
mov dword [esp + 0x240], edx
cmp dword [esp + 0x240], 0
jl 0x10106cf0
mov dl, 1
mov ecx, dword [esp + 0x240]
call fcn.10091a70
mov byte [esp + 0x66], al
jmp 0x10106cf5
mov byte [esp + 0x66], 0
movzx eax, byte [esp + 0x66]
test eax, eax
je 0x10106d49
movzx ecx, byte [esp + 0x23]
test ecx, ecx
jne 0x10106d49
movzx edx, byte [esp + 7]
test edx, edx
je 0x10106d42
mov eax, dword [esp]
mov ecx, dword [esp]
mov edx, dword [eax + 0x40]
cmp edx, dword [ecx + 0x44]
je 0x10106d2b
mov dword [esp + 0x244], 1
jmp 0x10106d36
mov dword [esp + 0x244], 0
movzx eax, byte [esp + 0x244]
test eax, eax
je 0x10106d49
mov byte [esp + 0x67], 1
jmp 0x10106d4e
mov byte [esp + 0x67], 0
mov cl, byte [esp + 0x67]
mov byte [esp + 0xba], cl
movzx edx, byte [esp + 0x1a]
test edx, edx
je 0x10106db4
mov eax, dword [0x101d9748]
mov dword [esp + 0x45c], eax
mov ecx, 0x12
shl ecx, 2
mov edx, dword [esp + 0x45c]
mov eax, dword [edx + ecx + 0x34]
mov dword [esp + 0x248], eax
cmp dword [esp + 0x248], 0
jl 0x10106da6
mov dl, 1
mov ecx, dword [esp + 0x248]
call fcn.10091a70
mov byte [esp + 0x68], al
jmp 0x10106dab
mov byte [esp + 0x68], 0
movzx ecx, byte [esp + 0x68]
test ecx, ecx
jne 0x10106e0f
movzx edx, byte [esp + 0x69]
test edx, edx
je 0x10106e1f
mov eax, dword [0x101d9748]
mov dword [esp + 0x460], eax
mov ecx, 9
shl ecx, 2
mov edx, dword [esp + 0x460]
mov eax, dword [edx + ecx + 0x34]
mov dword [esp + 0x24c], eax
cmp dword [esp + 0x24c], 0
jl 0x10106e01
mov dl, 1
mov ecx, dword [esp + 0x24c]
call fcn.10091a70
mov byte [esp + 0x6a], al
jmp 0x10106e06
mov byte [esp + 0x6a], 0
movzx ecx, byte [esp + 0x6a]
test ecx, ecx
je 0x10106e1f
movzx edx, byte [esp + 0xf]
test edx, edx
jne 0x10106e1f
mov byte [esp + 0x6b], 1
jmp 0x10106e24
mov byte [esp + 0x6b], 0
mov al, byte [esp + 0x6b]
mov byte [esp + 0xbb], al
movzx ecx, byte [esp + 0x1a]
test ecx, ecx
je 0x10106ea4
mov edx, dword [0x101d9748]
mov dword [esp + 0x464], edx
mov eax, 0x15
shl eax, 2
mov ecx, dword [esp + 0x464]
mov edx, dword [ecx + eax + 0x34]
mov dword [esp + 0x250], edx
cmp dword [esp + 0x250], 0
jl 0x10106e7d
mov dl, 1
mov ecx, dword [esp + 0x250]
call fcn.10091a70
mov byte [esp + 0x6c], al
jmp 0x10106e82
mov byte [esp + 0x6c], 0
movzx eax, byte [esp + 0x6c]
test eax, eax
je 0x10106ea4
movzx ecx, byte [esp + 0xf]
test ecx, ecx
jne 0x10106ea4
movzx edx, byte [esp + 0x70]
test edx, edx
je 0x10106ea4
mov byte [esp + 0x6d], 1
jmp 0x10106ea9
mov byte [esp + 0x6d], 0
mov al, byte [esp + 0x6d]
mov byte [esp + 0x80], al
movzx ecx, byte [esp + 0x1a]
test ecx, ecx
je 0x10106f10
mov edx, dword [0x101d9748]
mov dword [esp + 0x468], edx
mov eax, 0x14
shl eax, 2
mov ecx, dword [esp + 0x468]
mov edx, dword [ecx + eax + 0x34]
mov dword [esp + 0x254], edx
cmp dword [esp + 0x254], 0
jl 0x10106f02
mov dl, 1
mov ecx, dword [esp + 0x254]
call fcn.10091a70
mov byte [esp + 0x6e], al
jmp 0x10106f07
mov byte [esp + 0x6e], 0
movzx eax, byte [esp + 0x6e]
test eax, eax
jne 0x10106f6f
movzx ecx, byte [esp + 0xb2]
test ecx, ecx
je 0x10106f88
mov edx, dword [0x101d9748]
mov dword [esp + 0x46c], edx
mov eax, 0x15
shl eax, 2
mov ecx, dword [esp + 0x46c]
mov edx, dword [ecx + eax + 0x34]
mov dword [esp + 0x258], edx
cmp dword [esp + 0x258], 0
jl 0x10106f61
mov dl, 1
mov ecx, dword [esp + 0x258]
call fcn.10091a70
mov byte [esp + 0x6f], al
jmp 0x10106f66
mov byte [esp + 0x6f], 0
movzx eax, byte [esp + 0x6f]
test eax, eax
je 0x10106f88
movzx ecx, byte [esp + 0xf]
test ecx, ecx
jne 0x10106f88
movzx edx, byte [esp + 0x70]
test edx, edx
je 0x10106f88
mov byte [esp + 0x71], 1
jmp 0x10106f8d
mov byte [esp + 0x71], 0
mov al, byte [esp + 0x71]
mov byte [esp + 0xb9], al
mov ecx, dword [0x101d9748]
mov dword [esp + 0x470], ecx
mov edx, 1
shl edx, 2
mov eax, dword [esp + 0x470]
mov ecx, dword [eax + edx + 0x34]
mov dword [esp + 0x25c], ecx
cmp dword [esp + 0x25c], 0
jl 0x10106fdd
mov dl, 1
mov ecx, dword [esp + 0x25c]
call fcn.10091a70
mov byte [esp + 0x72], al
jmp 0x10106fe2
mov byte [esp + 0x72], 0
movzx edx, byte [esp + 0x72]
test edx, edx
je 0x1010704a
movzx eax, byte [esp + 0x28]
test eax, eax
je 0x10107001
mov dword [esp + 0x264], 0x200004
jmp 0x10107030
movzx ecx, byte [esp + 0x38]
test ecx, ecx
je 0x10107017
mov dword [esp + 0x260], 0x20000c
jmp 0x10107022
mov dword [esp + 0x260], 0x200000
mov edx, dword [esp + 0x260]
mov dword [esp + 0x264], edx
mov eax, dword [esp + 0x264]
or eax, dword [esp + 0x40]
push eax
mov ecx, dword [esp + 4]
call fcn.10104c20
jmp 0x10107dd2
mov ecx, dword [0x101d9748]
mov dword [esp + 0x474], ecx
mov edx, 2
shl edx, 2
mov eax, dword [esp + 0x474]
mov ecx, dword [eax + edx + 0x34]
mov dword [esp + 0x268], ecx
cmp dword [esp + 0x268], 0
jl 0x1010708f
mov dl, 1
mov ecx, dword [esp + 0x268]
call fcn.10091a70
mov byte [esp + 0x73], al
jmp 0x10107094
mov byte [esp + 0x73], 0
movzx edx, byte [esp + 0x73]
test edx, edx
je 0x101070fc
movzx eax, byte [esp + 0x28]
test eax, eax
je 0x101070b3
mov dword [esp + 0x270], 0x200005
jmp 0x101070e2
movzx ecx, byte [esp + 0x38]
test ecx, ecx
je 0x101070c9
mov dword [esp + 0x26c], 0x20000d
jmp 0x101070d4
mov dword [esp + 0x26c], 0x200001
mov edx, dword [esp + 0x26c]
mov dword [esp + 0x270], edx
mov eax, dword [esp + 0x270]
or eax, dword [esp + 0x40]
push eax
mov ecx, dword [esp + 4]
call fcn.10104c20
jmp 0x10107dd2
mov ecx, dword [0x101d9748]
mov dword [esp + 0x478], ecx
mov edx, 3
shl edx, 2
mov eax, dword [esp + 0x478]
mov ecx, dword [eax + edx + 0x34]
mov dword [esp + 0x274], ecx
cmp dword [esp + 0x274], 0
jl 0x10107141
mov dl, 1
mov ecx, dword [esp + 0x274]
call fcn.10091a70
mov byte [esp + 0x74], al
jmp 0x10107146
mov byte [esp + 0x74], 0
movzx edx, byte [esp + 0x74]
test edx, edx
je 0x1010720e
movzx eax, byte [esp + 7]
test eax, eax
je 0x1010720e
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 0xf4]
test edx, edx
je 0x101071d3
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 8]
movss xmm0, dword [eax + 0x5c]
subss xmm0, dword [ecx + 0x1940]
movss dword [esp + 0x278], xmm0
movss xmm0, dword [esp + 0x278]
comiss xmm0, dword [0x101ca16c]
jb 0x101071b3
movss xmm0, dword [esp + 0x278]
movss dword [esp + 0x27c], xmm0
jmp 0x101071bf
xorps xmm0, xmm0
movss dword [esp + 0x27c], xmm0
movss xmm0, dword [esp + 0x27c]
mov ecx, dword [esp + 0x24]
call fcn.1009ed70
jmp 0x10107209
movzx edx, byte [esp + 0x28]
test edx, edx
je 0x101071e9
mov dword [esp + 0x280], 0x200006
jmp 0x101071f4
mov dword [esp + 0x280], 0x200002
mov eax, dword [esp + 0x280]
or eax, dword [esp + 0x40]
push eax
mov ecx, dword [esp + 4]
call fcn.10104c20
jmp 0x10107dd2
mov ecx, dword [0x101d9748]
mov dword [esp + 0x47c], ecx
mov edx, 4
shl edx, 2
mov eax, dword [esp + 0x47c]
mov ecx, dword [eax + edx + 0x34]
mov dword [esp + 0x284], ecx
cmp dword [esp + 0x284], 0
jl 0x10107253
mov dl, 1
mov ecx, dword [esp + 0x284]
call fcn.10091a70
mov byte [esp + 0x75], al
jmp 0x10107258
mov byte [esp + 0x75], 0
movzx edx, byte [esp + 0x75]
test edx, edx
je 0x10107335
movzx eax, byte [esp + 7]
test eax, eax
je 0x10107335
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 0xf4]
test edx, edx
je 0x101072fa
call fcn.1009ed10
movss dword [esp + 0x28c], xmm0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 8]
movss xmm0, dword [eax + 0x5c]
addss xmm0, dword [ecx + 0x1940]
movss dword [esp + 0x288], xmm0
movss xmm0, dword [esp + 0x28c]
comiss xmm0, dword [esp + 0x288]
jbe 0x101072d4
movss xmm0, dword [esp + 0x288]
movss dword [esp + 0x290], xmm0
jmp 0x101072e6
movss xmm0, dword [esp + 0x28c]
movss dword [esp + 0x290], xmm0
movss xmm0, dword [esp + 0x290]
mov ecx, dword [esp + 0x24]
call fcn.1009ed70
jmp 0x10107330
movzx edx, byte [esp + 0x28]
test edx, edx
je 0x10107310
mov dword [esp + 0x294], 0x200007
jmp 0x1010731b
mov dword [esp + 0x294], 0x200003
mov eax, dword [esp + 0x294]
or eax, dword [esp + 0x40]
push eax
mov ecx, dword [esp + 4]
call fcn.10104c20
jmp 0x10107dd2
mov ecx, dword [0x101d9748]
mov dword [esp + 0x480], ecx
mov edx, 5
shl edx, 2
mov eax, dword [esp + 0x480]
mov ecx, dword [eax + edx + 0x34]
mov dword [esp + 0x298], ecx
cmp dword [esp + 0x298], 0
jl 0x1010737a
mov dl, 1
mov ecx, dword [esp + 0x298]
call fcn.10091a70
mov byte [esp + 0x76], al
jmp 0x1010737f
mov byte [esp + 0x76], 0
movzx edx, byte [esp + 0x76]
test edx, edx
je 0x101073cf
movzx eax, byte [esp + 7]
test eax, eax
je 0x101073cf
mov ecx, dword [esp + 0x40]
or ecx, 0x20000e
push ecx
mov ecx, dword [esp + 4]
call fcn.10104c20
cvtsi2ss xmm0, dword [esp + 0x170]
mov edx, dword [esp + 8]
mulss xmm0, dword [edx + 0x1940]
movss xmm1, dword [esp + 0x3c]
subss xmm1, xmm0
movss dword [esp + 0x3c], xmm1
jmp 0x10107dd2
mov eax, dword [0x101d9748]
mov dword [esp + 0x484], eax
mov ecx, 6
shl ecx, 2
mov edx, dword [esp + 0x484]
mov eax, dword [edx + ecx + 0x34]
mov dword [esp + 0x29c], eax
cmp dword [esp + 0x29c], 0
jl 0x10107413
mov dl, 1
mov ecx, dword [esp + 0x29c]
call fcn.10091a70
mov byte [esp + 0x77], al
jmp 0x10107418
mov byte [esp + 0x77], 0
movzx ecx, byte [esp + 0x77]
test ecx, ecx
je 0x10107463
movzx edx, byte [esp + 7]
test edx, edx
je 0x10107463
mov eax, dword [esp + 0x40]
or eax, 0x20000f
push eax
mov ecx, dword [esp + 4]
call fcn.10104c20
cvtsi2ss xmm0, dword [esp + 0x170]
mov ecx, dword [esp + 8]
mulss xmm0, dword [ecx + 0x1940]
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x3c], xmm0
jmp 0x10107dd2
mov edx, dword [0x101d9748]
mov dword [esp + 0x488], edx
mov eax, 7
shl eax, 2
mov ecx, dword [esp + 0x488]
mov edx, dword [ecx + eax + 0x34]
mov dword [esp + 0x2a0], edx
cmp dword [esp + 0x2a0], 0
jl 0x101074a8
mov dl, 1
mov ecx, dword [esp + 0x2a0]
call fcn.10091a70
mov byte [esp + 0x78], al
jmp 0x101074ad
mov byte [esp + 0x78], 0
movzx eax, byte [esp + 0x78]
test eax, eax
je 0x101074fe
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 0xf4]
test edx, edx
je 0x101074d7
mov eax, dword [esp + 0x40]
or eax, 0x200006
mov dword [esp + 0x2a4], eax
jmp 0x101074e8
mov ecx, dword [esp + 0x40]
or ecx, 0x200004
mov dword [esp + 0x2a4], ecx
mov edx, dword [esp + 0x2a4]
push edx
mov ecx, dword [esp + 4]
call fcn.10104c20
jmp 0x10107dd2
mov eax, dword [0x101d9748]
mov dword [esp + 0x48c], eax
mov ecx, 8
shl ecx, 2
mov edx, dword [esp + 0x48c]
mov eax, dword [edx + ecx + 0x34]
mov dword [esp + 0x2a8], eax
cmp dword [esp + 0x2a8], 0
jl 0x10107542
mov dl, 1
mov ecx, dword [esp + 0x2a8]
call fcn.10091a70
mov byte [esp + 0x79], al
jmp 0x10107547
mov byte [esp + 0x79], 0
movzx ecx, byte [esp + 0x79]
test ecx, ecx
je 0x10107599
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0xf4]
test eax, eax
je 0x10107572
mov ecx, dword [esp + 0x40]
or ecx, 0x200007
mov dword [esp + 0x2ac], ecx
jmp 0x10107583
mov edx, dword [esp + 0x40]
or edx, 0x200005
mov dword [esp + 0x2ac], edx
mov eax, dword [esp + 0x2ac]
push eax
mov ecx, dword [esp + 4]
call fcn.10104c20
jmp 0x10107dd2
mov ecx, dword [0x101d9748]
mov dword [esp + 0x490], ecx
mov edx, 0xa
shl edx, 2
mov eax, dword [esp + 0x490]
mov ecx, dword [eax + edx + 0x34]
mov dword [esp + 0x2b0], ecx
cmp dword [esp + 0x2b0], 0
jl 0x101075de
mov dl, 1
mov ecx, dword [esp + 0x2b0]
call fcn.10091a70
mov byte [esp + 0x7a], al
jmp 0x101075e3
mov byte [esp + 0x7a], 0
movzx edx, byte [esp + 0x7a]
test edx, edx
je 0x1010760e
movzx eax, byte [esp + 0xf]
test eax, eax
jne 0x1010760e
mov ecx, dword [esp + 0x40]
or ecx, 0x200008
push ecx
mov ecx, dword [esp + 4]
call fcn.10104c20
jmp 0x10107dd2
mov edx, dword [0x101d9748]
mov dword [esp + 0x494], edx
mov eax, 0xb
shl eax, 2
mov ecx, dword [esp + 0x494]
mov edx, dword [ecx + eax + 0x34]
mov dword [esp + 0x2b4], edx
cmp dword [esp + 0x2b4], 0
jl 0x10107653
mov dl, 1
mov ecx, dword [esp + 0x2b4]
call fcn.10091a70
mov byte [esp + 0x7b], al
jmp 0x10107658
mov byte [esp + 0x7b], 0
movzx eax, byte [esp + 0x7b]
test eax, eax
je 0x1010771a
movzx ecx, byte [esp + 0xf]
test ecx, ecx
jne 0x1010771a
mov edx, dword [esp]
mov eax, dword [esp]
mov ecx, dword [edx + 0x40]
cmp ecx, dword [eax + 0x44]
je 0x1010768d
mov dword [esp + 0x2b8], 1
jmp 0x10107698
mov dword [esp + 0x2b8], 0
movzx edx, byte [esp + 0x2b8]
test edx, edx
jne 0x10107701
movzx eax, byte [esp + 0x38]
test eax, eax
je 0x101076bd
push 0x60000c
mov ecx, dword [esp + 4]
call fcn.10104c20
jmp 0x10107701
movzx ecx, byte [esp + 0x29]
test ecx, ecx
je 0x10107701
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0xf7]
test eax, eax
je 0x10107701
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 0xf6]
test edx, edx
jne 0x10107701
mov eax, dword [esp + 0x10]
movzx ecx, byte [eax + 0xf4]
test ecx, ecx
jne 0x10107701
push 0x600004
mov ecx, dword [esp + 4]
call fcn.10104c20
mov edx, dword [esp + 0x40]
or edx, 0x200009
push edx
mov ecx, dword [esp + 4]
call fcn.10104c20
jmp 0x10107dd2
mov eax, dword [0x101d9748]
mov dword [esp + 0x498], eax
mov ecx, 0xd
shl ecx, 2
mov edx, dword [esp + 0x498]
mov eax, dword [edx + ecx + 0x34]
mov dword [esp + 0x2bc], eax
cmp dword [esp + 0x2bc], 0
jl 0x1010775e
mov dl, 1
mov ecx, dword [esp + 0x2bc]
call fcn.10091a70
mov byte [esp + 0x7c], al
jmp 0x10107763
mov byte [esp + 0x7c], 0
movzx ecx, byte [esp + 0x7c]
test ecx, ecx
jne 0x101077c3
mov edx, dword [0x101d9748]
mov dword [esp + 0x49c], edx
mov eax, 0xf
shl eax, 2
mov ecx, dword [esp + 0x49c]
mov edx, dword [ecx + eax + 0x34]
mov dword [esp + 0x2c0], edx
cmp dword [esp + 0x2c0], 0
jl 0x101077b1
mov dl, 1
mov ecx, dword [esp + 0x2c0]
call fcn.10091a70
mov byte [esp + 0x7d], al
jmp 0x101077b6
mov byte [esp + 0x7d], 0
movzx eax, byte [esp + 0x7d]
test eax, eax
je 0x10107881
mov ecx, dword [ebp + 0x14]
and ecx, 0x800
je 0x101077db
mov dword [esp + 0x2c4], 1
jmp 0x101077e6
mov dword [esp + 0x2c4], 0
mov dl, byte [esp + 0x2c4]
mov byte [esp + 0x7e], dl
movzx eax, byte [esp + 7]
test eax, eax
je 0x1010782a
movzx ecx, byte [esp + 0x7e]
test ecx, ecx
je 0x10107812
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0xf4]
test eax, eax
je 0x1010782a
movzx ecx, byte [esp + 0x7e]
test ecx, ecx
jne 0x10107839
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 0xf4]
test eax, eax
je 0x10107839
mov byte [esp + 0x1b], 1
mov cl, byte [esp + 0x1b]
mov byte [esp + 0x3a], cl
jmp 0x1010787c
movzx edx, byte [esp + 0xf]
test edx, edx
jne 0x1010787c
mov dword [esp + 0x2c8], 0xa
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x2d0]
call fcn.10104f40
movzx edx, al
test edx, edx
je 0x1010787c
mov eax, dword [esp + 0x2c8]
push eax
mov ecx, dword [esp + 4]
call fcn.10104c20
jmp 0x10107dd2
mov ecx, dword [0x101d9748]
mov dword [esp + 0x4a0], ecx
mov edx, 0xe
shl edx, 2
mov eax, dword [esp + 0x4a0]
mov ecx, dword [eax + edx + 0x34]
mov dword [esp + 0x2cc], ecx
cmp dword [esp + 0x2cc], 0
jl 0x101078c6
mov dl, 1
mov ecx, dword [esp + 0x2cc]
call fcn.10091a70
mov byte [esp + 0x7f], al
jmp 0x101078cb
mov byte [esp + 0x7f], 0
movzx edx, byte [esp + 0x7f]
test edx, edx
je 0x101078e6
mov byte [esp + 0x2a], 1
mov al, byte [esp + 0x2a]
mov byte [esp + 0x1b], al
jmp 0x10107dd2
movzx ecx, byte [esp + 0x80]
test ecx, ecx
jne 0x101078fe
movzx edx, byte [esp + 0xb9]
test edx, edx
je 0x10107950
movzx eax, byte [esp + 0x80]
test eax, eax
je 0x10107917
mov dword [esp + 0x2d0], 0x20000a
jmp 0x10107922
mov dword [esp + 0x2d0], 0x20000b
mov ecx, dword [esp + 0x2d0]
push ecx
mov ecx, dword [esp + 4]
call fcn.10104c20
mov edx, dword [esp]
mov eax, dword [esp]
mov ecx, dword [eax + 0x3c]
mov dword [edx + 0x44], ecx
mov edx, dword [esp]
mov eax, dword [esp]
mov ecx, dword [eax + 0x44]
mov dword [edx + 0x40], ecx
jmp 0x10107dd2
movzx edx, byte [esp + 0x1a]
test edx, edx
je 0x101079cb
mov eax, dword [0x101d9748]
mov dword [esp + 0x4a4], eax
mov ecx, 0x10
shl ecx, 2
mov edx, dword [esp + 0x4a4]
mov eax, dword [edx + ecx + 0x34]
mov dword [esp + 0x2d4], eax
cmp dword [esp + 0x2d4], 0
jl 0x101079a0
mov dl, 1
mov ecx, dword [esp + 0x2d4]
call fcn.10091a70
mov byte [esp + 0x81], al
jmp 0x101079a8
mov byte [esp + 0x81], 0
movzx ecx, byte [esp + 0x81]
test ecx, ecx
je 0x101079cb
mov ecx, dword [esp]
call fcn.100f6090
mov edx, dword [esp]
mov byte [edx + 0xe6c], 1
jmp 0x10107dd2
movzx eax, byte [esp + 0x82]
test eax, eax
jne 0x101079e7
movzx ecx, byte [esp + 0xba]
test ecx, ecx
je 0x10107c33
mov edx, dword [esp + 0x10]
cmp dword [edx + 0xcc], 0
je 0x10107bd0
mov eax, dword [esp]
mov ecx, dword [esp]
mov edx, dword [eax + 0x40]
cmp edx, dword [ecx + 0x44]
je 0x10107a13
mov dword [esp + 0x2d8], 1
jmp 0x10107a1e
mov dword [esp + 0x2d8], 0
movzx eax, byte [esp + 0x2d8]
test eax, eax
je 0x10107a82
mov ecx, dword [esp]
mov edx, dword [ecx + 0x44]
mov dword [esp + 0x2e0], edx
mov eax, dword [esp]
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x2dc], ecx
mov edx, dword [esp + 0x2dc]
cmp edx, dword [esp + 0x2e0]
jge 0x10107a64
mov eax, dword [esp + 0x2dc]
mov dword [esp + 0x2e4], eax
jmp 0x10107a72
mov ecx, dword [esp + 0x2e0]
mov dword [esp + 0x2e4], ecx
mov edx, dword [esp + 0x2e4]
mov dword [esp + 0x2e8], edx
jmp 0x10107a8d
mov dword [esp + 0x2e8], 0
mov eax, dword [esp + 0x2e8]
mov dword [esp + 0x304], eax
mov ecx, dword [esp]
mov edx, dword [esp]
mov eax, dword [ecx + 0x40]
cmp eax, dword [edx + 0x44]
je 0x10107ab6
mov dword [esp + 0x2ec], 1
jmp 0x10107ac1
mov dword [esp + 0x2ec], 0
movzx ecx, byte [esp + 0x2ec]
test ecx, ecx
je 0x10107b25
mov edx, dword [esp]
mov eax, dword [edx + 0x44]
mov dword [esp + 0x2f4], eax
mov ecx, dword [esp]
mov edx, dword [ecx + 0x40]
mov dword [esp + 0x2f0], edx
mov eax, dword [esp + 0x2f0]
cmp eax, dword [esp + 0x2f4]
jl 0x10107b07
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 0x2f8], ecx
jmp 0x10107b15
mov edx, dword [esp + 0x2f4]
mov dword [esp + 0x2f8], edx
mov eax, dword [esp + 0x2f8]
mov dword [esp + 0x2fc], eax
jmp 0x10107b32
mov ecx, dword [esp]
mov edx, dword [ecx + 4]
mov dword [esp + 0x2fc], edx
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x300], eax
mov ecx, dword [esp]
mov edx, dword [ecx + 0x14]
mov eax, dword [esp + 0x300]
lea edx, [edx + eax*2]
mov ecx, dword [esp]
mov eax, dword [ecx + 0x14]
mov ecx, dword [esp + 0x304]
lea ecx, [eax + ecx*2]
call fcn.10087c30
add eax, 1
mov dword [esp + 0x308], eax
mov ecx, dword [esp + 0x308]
call fcn.1008cc20
mov dword [esp + 0x174], eax
mov edx, dword [esp]
mov eax, dword [edx + 0x14]
mov ecx, dword [esp + 0x300]
lea edx, [eax + ecx*2]
push edx
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x308]
lea eax, [ecx + edx*2]
push eax
mov edx, dword [esp + 0x310]
mov ecx, dword [esp + 0x17c]
call fcn.10087b80
mov ecx, dword [esp + 0x174]
call fcn.1008cd10
mov ecx, dword [esp + 0x174]
call fcn.1008cc70
movzx ecx, byte [esp + 0x82]
test ecx, ecx
je 0x10107c2e
mov edx, dword [esp]
mov eax, dword [esp]
mov ecx, dword [edx + 0x40]
cmp ecx, dword [eax + 0x44]
je 0x10107bf7
mov dword [esp + 0x30c], 1
jmp 0x10107c02
mov dword [esp + 0x30c], 0
movzx edx, byte [esp + 0x30c]
test edx, edx
jne 0x10107c16
mov ecx, dword [esp]
call fcn.100f6090
mov eax, dword [esp]
mov byte [eax + 0xe6c], 1
mov edx, dword [esp]
add edx, 0x3c
mov ecx, dword [esp]
call fcn.10103570
jmp 0x10107dd2
movzx ecx, byte [esp + 0xbb]
test ecx, ecx
je 0x10107dd2
call fcn.1008ccc0
mov dword [esp + 0x178], eax
cmp dword [esp + 0x178], 0
je 0x10107dd2
mov edx, dword [esp + 0x178]
mov dword [esp + 0x110], edx
mov eax, dword [esp + 0x110]
add eax, 1
mov dword [esp + 0x4a8], eax
mov ecx, dword [esp + 0x110]
mov dl, byte [ecx]
mov byte [esp + 0xbc], dl
add dword [esp + 0x110], 1
cmp byte [esp + 0xbc], 0
jne 0x10107c7c
mov eax, dword [esp + 0x110]
sub eax, dword [esp + 0x4a8]
mov dword [esp + 0x4ac], eax
mov ecx, dword [esp + 0x4ac]
mov dword [esp + 0x4b0], ecx
mov edx, dword [esp + 0x4b0]
lea ecx, [edx + edx + 2]
call fcn.1008cc20
mov dword [esp + 0x124], eax
mov dword [esp + 0xdc], 0
mov eax, dword [esp + 0x178]
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 0x120]
movsx edx, byte [ecx]
test edx, edx
je 0x10107d7e
push 0
mov edx, dword [esp + 0x124]
lea ecx, [esp + 0x180]
call fcn.10087560
add eax, dword [esp + 0x120]
mov dword [esp + 0x120], eax
cmp dword [esp + 0x17c], 0
jne 0x10107d2e
jmp 0x10107d7e
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x184]
call fcn.10104f40
movzx edx, al
test edx, edx
jne 0x10107d4e
jmp 0x10107cf1
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x124]
mov dx, word [esp + 0x17c]
mov word [ecx + eax*2], dx
mov eax, dword [esp + 0xdc]
add eax, 1
mov dword [esp + 0xdc], eax
jmp 0x10107cf1
xor ecx, ecx
mov edx, dword [esp + 0xdc]
mov eax, dword [esp + 0x124]
mov word [eax + edx*2], cx
cmp dword [esp + 0xdc], 0
jle 0x10107dc6
mov ecx, dword [esp + 0xdc]
push ecx
mov edx, dword [esp + 0x128]
push edx
mov edx, dword [esp + 8]
add edx, 0x3c
mov ecx, dword [esp + 8]
call fcn.10104b80
mov eax, dword [esp]
mov byte [eax + 0xe6c], 1
mov ecx, dword [esp + 0x124]
call fcn.1008cc70
mov ecx, dword [esp]
mov edx, dword [esp]
mov eax, dword [ecx + 0x40]
cmp eax, dword [edx + 0x44]
je 0x10107ded
mov dword [esp + 0x310], 1
jmp 0x10107df8
mov dword [esp + 0x310], 0
movzx ecx, byte [esp + 0x310]
test ecx, ecx
je 0x10107e1e
xor edx, edx
jne 0x10107e11
movzx eax, byte [esp + 0x18]
test eax, eax
je 0x10107e1e
mov dword [esp + 0x314], 1
jmp 0x10107e29
mov dword [esp + 0x314], 0
movzx ecx, byte [esp + 0x17]
or ecx, dword [esp + 0x314]
mov byte [esp + 0x17], cl
mov edx, dword [esp + 8]
mov eax, dword [edx + 0x1bd8]
cmp eax, dword [esp + 0x1c]
jne 0x101087f4
mov dword [esp + 0xa8], 0
mov dword [esp + 0x98], 0
movzx ecx, byte [esp + 0x2a]
test ecx, ecx
je 0x10108021
movzx edx, byte [esp + 0xf]
test edx, edx
jne 0x10108021
mov eax, dword [esp]
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x12c], ecx
mov edx, dword [ebp + 8]
mov dword [esp + 0x128], edx
mov eax, dword [esp + 0x128]
mov cl, byte [eax]
mov byte [esp + 0xbd], cl
mov edx, dword [esp + 0x12c]
cmp cl, byte [edx]
jne 0x10107efd
cmp byte [esp + 0xbd], 0
je 0x10107ef0
mov eax, dword [esp + 0x128]
mov cl, byte [eax + 1]
mov byte [esp + 0xbe], cl
mov edx, dword [esp + 0x12c]
cmp cl, byte [edx + 1]
jne 0x10107efd
add dword [esp + 0x128], 2
add dword [esp + 0x12c], 2
cmp byte [esp + 0xbe], 0
jne 0x10107e94
mov dword [esp + 0x318], 0
jmp 0x10107f09
sbb eax, eax
or eax, 1
mov dword [esp + 0x318], eax
mov ecx, dword [esp + 0x318]
mov dword [esp + 0x4b4], ecx
cmp dword [esp + 0x4b4], 0
je 0x10108021
mov edx, dword [esp]
mov eax, dword [edx + 0x2c]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp]
mov edx, dword [ecx + 0x24]
sub edx, 1
mov dword [esp + 0x98], edx
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a8], 0
cmp dword [esp + 0x98], 0
jle 0x10107fc3
mov edx, dword [esp + 0xa8]
add edx, dword [esp + 0x98]
mov ecx, dword [esp + 0xa8]
call fcn.10087960
add eax, 1
push eax
lea ecx, [esp + 0x1a4]
call fcn.100aeae0
push 0
mov eax, dword [esp + 0xac]
add eax, dword [esp + 0x9c]
push eax
mov ecx, dword [esp + 0xb0]
push ecx
mov edx, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1b4]
call fcn.100878c0
cmp dword [esp + 0x98], 0
jle 0x10107fe0
mov edx, dword [esp + 0x1a0]
sub edx, 1
mov dword [esp + 0x31c], edx
jmp 0x10107feb
mov dword [esp + 0x31c], 0
mov eax, dword [esp + 0x31c]
push eax
mov ecx, dword [esp + 0x1ac]
push ecx
mov edx, dword [esp + 8]
add edx, 0x3c
mov ecx, dword [esp + 8]
call fcn.10104bb0
cmp dword [esp + 0x1a8], 0
je 0x10108021
mov ecx, dword [esp + 0x1a8]
call fcn.1008cc70
movzx edx, byte [esp + 0x2a]
test edx, edx
je 0x10108048
movzx eax, byte [esp + 0x3a]
test eax, eax
je 0x1010803b
mov ecx, dword [ebp + 0x14]
and ecx, 0x20
jne 0x10108048
mov dword [esp + 0x320], 0
jmp 0x10108053
mov dword [esp + 0x320], 1
mov dl, byte [esp + 0x320]
mov byte [esp + 0xbf], dl
movzx eax, byte [esp + 0xbf]
test eax, eax
je 0x10108662
movzx ecx, byte [esp + 0xf]
test ecx, ecx
jne 0x101080c5
mov edx, dword [esp]
mov byte [edx + 0x30], 1
mov eax, dword [esp]
add eax, 0x18
mov dword [esp + 0x4b8], eax
mov ecx, dword [esp]
mov edx, dword [ecx + 0xc]
lea eax, [edx*4 + 1]
push eax
mov ecx, dword [esp + 0x4bc]
call fcn.100ae240
push 0
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x18]
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x20]
call fcn.10087b80
mov edx, dword [ebp + 0x14]
and edx, 0x801c0
je 0x10108597
mov dword [esp + 0xc0], 0
mov dword [esp + 0x130], 0x16
mov eax, dword [ebp + 0x14]
and eax, 0x40
je 0x10108166
mov ecx, dword [0x101d9748]
mov dword [esp + 0x4bc], ecx
xor edx, edx
shl edx, 2
mov eax, dword [esp + 0x4bc]
mov ecx, dword [eax + edx + 0x34]
mov dword [esp + 0x324], ecx
cmp dword [esp + 0x324], 0
jl 0x10108137
mov dl, 1
mov ecx, dword [esp + 0x324]
call fcn.10091a70
mov byte [esp + 0x83], al
jmp 0x1010813f
mov byte [esp + 0x83], 0
movzx edx, byte [esp + 0x83]
test edx, edx
je 0x10108166
mov dword [esp + 0xc0], 0x40
mov dword [esp + 0x130], 0
jmp 0x1010829f
mov eax, dword [ebp + 0x14]
and eax, 0x80
je 0x101081e7
mov ecx, dword [0x101d9748]
mov dword [esp + 0x4c0], ecx
mov edx, 3
shl edx, 2
mov eax, dword [esp + 0x4c0]
mov ecx, dword [eax + edx + 0x34]
mov dword [esp + 0x328], ecx
cmp dword [esp + 0x328], 0
jl 0x101081b8
mov dl, 1
mov ecx, dword [esp + 0x328]
call fcn.10091a70
mov byte [esp + 0x84], al
jmp 0x101081c0
mov byte [esp + 0x84], 0
movzx edx, byte [esp + 0x84]
test edx, edx
je 0x101081e7
mov dword [esp + 0xc0], 0x80
mov dword [esp + 0x130], 3
jmp 0x1010829f
mov eax, dword [ebp + 0x14]
and eax, 0x80
je 0x10108265
mov ecx, dword [0x101d9748]
mov dword [esp + 0x4c4], ecx
mov edx, 4
shl edx, 2
mov eax, dword [esp + 0x4c4]
mov ecx, dword [eax + edx + 0x34]
mov dword [esp + 0x32c], ecx
cmp dword [esp + 0x32c], 0
jl 0x10108239
mov dl, 1
mov ecx, dword [esp + 0x32c]
call fcn.10091a70
mov byte [esp + 0x85], al
jmp 0x10108241
mov byte [esp + 0x85], 0
movzx edx, byte [esp + 0x85]
test edx, edx
je 0x10108265
mov dword [esp + 0xc0], 0x80
mov dword [esp + 0x130], 4
jmp 0x1010829f
mov eax, dword [ebp + 0x14]
and eax, 0x80000
je 0x1010828a
mov ecx, dword [esp]
movzx edx, byte [ecx + 0xe6e]
test edx, edx
je 0x1010828a
mov dword [esp + 0xc0], 0x80000
jmp 0x1010829f
mov eax, dword [ebp + 0x14]
and eax, 0x100
je 0x1010829f
mov dword [esp + 0xc0], 0x100
cmp dword [esp + 0xc0], 0
je 0x10108597
lea ecx, [esp + 0x1bc]
call fcn.10104c60
push 0x30
push 0
lea ecx, [esp + 0x1c4]
push ecx
call fcn.1016e220
add esp, 0xc
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x1bc], edx
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x1c0], eax
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x1c4], ecx
mov edx, dword [esp + 0x130]
mov dword [esp + 0x1cc], edx
mov eax, dword [esp]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x1d0], ecx
mov edx, dword [esp]
mov eax, dword [edx + 8]
mov dword [esp + 0x1d4], eax
mov ecx, dword [esp]
mov edx, dword [ecx + 0x34]
mov dword [esp + 0x1d8], edx
mov byte [esp + 0x1dc], 0
mov eax, dword [esp]
mov ecx, dword [eax + 0x14]
mov dword [esp + 0xe0], ecx
mov edx, dword [esp]
mov eax, dword [edx + 0x3c]
mov ecx, dword [esp + 0xe0]
lea edx, [ecx + eax*2]
mov ecx, dword [esp + 0xe0]
call fcn.10087c30
mov dword [esp + 0x1e0], eax
mov edx, dword [esp + 0x1e0]
mov dword [esp + 0x4cc], edx
mov eax, dword [esp]
mov ecx, dword [eax + 0x40]
mov edx, dword [esp + 0xe0]
lea edx, [edx + ecx*2]
mov ecx, dword [esp + 0xe0]
call fcn.10087c30
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x4d0], eax
mov ecx, dword [esp]
mov edx, dword [ecx + 0x44]
mov eax, dword [esp + 0xe0]
lea edx, [eax + edx*2]
mov ecx, dword [esp + 0xe0]
call fcn.10087c30
mov dword [esp + 0x1e8], eax
mov ecx, dword [esp + 0x1e8]
mov dword [esp + 0x4d4], ecx
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x4c8], edx
lea ecx, [esp + 0x1bc]
call dword [esp + 0x4c8]
mov al, byte [esp + 0x1dc]
mov byte [esp + 0x2b], al
mov ecx, dword [esp + 0x1e0]
cmp ecx, dword [esp + 0x4cc]
jne 0x10108408
movzx edx, byte [esp + 0x2b]
test edx, edx
je 0x10108432
mov edx, dword [esp + 0x1d0]
add edx, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x1d0]
call fcn.10087960
mov ecx, dword [esp]
mov dword [ecx + 0x3c], eax
mov edx, dword [esp]
mov byte [edx + 0xe6c], 1
mov eax, dword [esp + 0x1e4]
cmp eax, dword [esp + 0x4d0]
jne 0x1010844b
movzx ecx, byte [esp + 0x2b]
test ecx, ecx
je 0x10108498
mov edx, dword [esp + 0x1e4]
cmp edx, dword [esp + 0x1e0]
jne 0x1010846a
mov eax, dword [esp]
mov ecx, dword [eax + 0x3c]
mov dword [esp + 0x330], ecx
jmp 0x1010848b
mov edx, dword [esp + 0x1d0]
add edx, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1d0]
call fcn.10087960
mov dword [esp + 0x330], eax
mov edx, dword [esp]
mov eax, dword [esp + 0x330]
mov dword [edx + 0x40], eax
mov ecx, dword [esp + 0x1e8]
cmp ecx, dword [esp + 0x4d4]
jne 0x101084b1
movzx edx, byte [esp + 0x2b]
test edx, edx
je 0x101084fe
mov eax, dword [esp + 0x1e8]
cmp eax, dword [esp + 0x1e4]
jne 0x101084d0
mov ecx, dword [esp]
mov edx, dword [ecx + 0x40]
mov dword [esp + 0x334], edx
jmp 0x101084f1
mov edx, dword [esp + 0x1d0]
add edx, dword [esp + 0x1e8]
mov ecx, dword [esp + 0x1d0]
call fcn.10087960
mov dword [esp + 0x334], eax
mov eax, dword [esp]
mov ecx, dword [esp + 0x334]
mov dword [eax + 0x44], ecx
movzx edx, byte [esp + 0x2b]
test edx, edx
je 0x10108597
mov eax, dword [esp + 0x1d4]
cmp eax, dword [esp + 0x18c]
jle 0x10108552
movzx ecx, byte [esp + 0x39]
test ecx, ecx
je 0x10108552
mov edx, dword [esp]
add edx, 0xc
mov dword [esp + 0x4d8], edx
mov eax, dword [esp + 0x1d4]
sub eax, dword [esp + 0x18c]
mov ecx, dword [esp]
add eax, dword [ecx + 0xc]
push eax
mov ecx, dword [esp + 0x4dc]
call fcn.100aeae0
push 0
push 0
mov edx, dword [esp + 0x1d8]
push edx
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0xc]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x14]
call fcn.100878c0
mov edx, dword [esp]
mov dword [edx + 4], eax
mov eax, dword [esp]
mov ecx, dword [esp + 0x1d4]
mov dword [eax + 8], ecx
mov edx, dword [esp]
movss xmm0, dword [0x101ca64c]
movss dword [edx + 0xe68], xmm0
movzx eax, byte [esp + 0xf]
test eax, eax
jne 0x10108662
mov ecx, dword [ebp + 8]
mov dword [esp + 0x138], ecx
mov edx, dword [esp]
mov eax, dword [edx + 0x20]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x134]
mov dl, byte [ecx]
mov byte [esp + 0xad], dl
mov eax, dword [esp + 0x138]
cmp dl, byte [eax]
jne 0x10108624
cmp byte [esp + 0xad], 0
je 0x10108617
mov ecx, dword [esp + 0x134]
mov dl, byte [ecx + 1]
mov byte [esp + 0xae], dl
mov eax, dword [esp + 0x138]
cmp dl, byte [eax + 1]
jne 0x10108624
add dword [esp + 0x134], 2
add dword [esp + 0x138], 2
cmp byte [esp + 0xae], 0
jne 0x101085bb
mov dword [esp + 0x338], 0
jmp 0x10108630
sbb ecx, ecx
or ecx, 1
mov dword [esp + 0x338], ecx
mov edx, dword [esp + 0x338]
mov dword [esp + 0x4dc], edx
cmp dword [esp + 0x4dc], 0
je 0x10108662
mov eax, dword [esp]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0xa8], ecx
mov edx, dword [esp]
mov eax, dword [edx + 8]
mov dword [esp + 0x98], eax
cmp dword [esp + 0xa8], 0
je 0x101087cd
movzx ecx, byte [esp + 0x39]
test ecx, ecx
je 0x1010877a
lea ecx, [esp + 0x7f8]
call fcn.10104c60
mov dword [esp + 0x7f8], 0x40000
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x7fc], edx
mov eax, dword [ebp + 8]
mov dword [esp + 0x80c], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x810], ecx
mov edx, dword [esp + 0x98]
add edx, 1
mov dword [esp + 0x33c], edx
mov eax, dword [ebp + 0xc]
cmp eax, dword [esp + 0x33c]
jl 0x101086df
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x340], ecx
jmp 0x101086ed
mov edx, dword [esp + 0x33c]
mov dword [esp + 0x340], edx
mov eax, dword [esp + 0x340]
mov dword [esp + 0x814], eax
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x800], ecx
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x4e0], edx
lea ecx, [esp + 0x7f8]
call dword [esp + 0x4e0]
mov eax, dword [esp + 0x80c]
mov dword [ebp + 8], eax
mov ecx, dword [esp + 0x814]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
sub edx, 1
mov dword [esp + 0x344], edx
mov eax, dword [esp + 0x810]
cmp eax, dword [esp + 0x344]
jge 0x1010875e
mov ecx, dword [esp + 0x810]
mov dword [esp + 0x348], ecx
jmp 0x1010876c
mov edx, dword [esp + 0x344]
mov dword [esp + 0x348], edx
mov eax, dword [esp + 0x348]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x98]
add ecx, 1
mov dword [esp + 0x34c], ecx
mov edx, dword [esp + 0x34c]
cmp edx, dword [ebp + 0xc]
jge 0x101087a7
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x350], eax
jmp 0x101087b1
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x350], ecx
mov edx, dword [esp + 0x350]
push edx
mov edx, dword [esp + 0xac]
mov ecx, dword [ebp + 8]
call fcn.10086ad0
mov byte [esp + 0x3b], 1
mov eax, dword [esp]
mov dword [eax + 0xe70], 0
mov ecx, dword [esp]
mov dword [ecx + 0xe74], 0
mov edx, dword [esp]
mov dword [edx + 0xe78], 0
movzx eax, byte [esp + 0x1b]
test eax, eax
je 0x10108812
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 0x1bd8]
cmp edx, dword [esp + 0x1c]
jne 0x10108812
call fcn.1008c460
movzx eax, byte [esp + 7]
test eax, eax
jne 0x10108893
push 1
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0xfc]
call fcn.1008aee0
mov ecx, dword [esp + 0x2c]
movss xmm0, dword [ecx + 0x40]
movss dword [esp + 0x4e4], xmm0
movss xmm0, dword [0x101ca378]
mov ecx, 8
call fcn.100895a0
mov dword [esp + 0x4e8], eax
movss xmm0, dword [esp + 0x4e4]
mov dl, 1
mov ecx, dword [esp + 0x4e8]
movss xmm1, dword [esp + 0xf8]
movss xmm2, dword [esp + 0xfc]
movss xmm3, dword [esp + 0x100]
movss xmm4, dword [esp + 0x104]
call fcn.1008ab10
movss xmm0, dword [esp + 0xf8]
movss dword [esp + 0x4ec], xmm0
movss xmm0, dword [esp + 0xfc]
movss dword [esp + 0x4f0], xmm0
movss xmm0, dword [esp + 0xf8]
addss xmm0, dword [esp + 0xe8]
movss dword [esp + 0x4f4], xmm0
movss xmm0, dword [esp + 0xfc]
addss xmm0, dword [esp + 0xec]
movss dword [esp + 0x4f8], xmm0
movss xmm0, dword [esp + 0x4ec]
movss dword [esp + 0x428], xmm0
movss xmm0, dword [esp + 0x4f0]
movss dword [esp + 0x42c], xmm0
movss xmm0, dword [esp + 0x4f4]
movss dword [esp + 0x430], xmm0
movss xmm0, dword [esp + 0x4f8]
movss dword [esp + 0x434], xmm0
movzx edx, byte [esp + 7]
test edx, edx
je 0x1010896f
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0xcc]
mov edx, dword [eax + 0xd0]
mov dword [esp + 0x7a0], ecx
mov dword [esp + 0x7a4], edx
lea eax, [esp + 0x7a0]
mov dword [esp + 0x358], eax
jmp 0x10108a3e
mov ecx, dword [esp + 0x2c]
add ecx, 0x38
mov dword [esp + 0x354], ecx
mov edx, dword [esp + 0x354]
movss xmm0, dword [esp + 0xf8]
addss xmm0, dword [edx]
movss dword [esp + 0x4fc], xmm0
mov eax, dword [esp + 0x354]
movss xmm0, dword [esp + 0xfc]
addss xmm0, dword [eax + 4]
movss dword [esp + 0x500], xmm0
movss xmm0, dword [esp + 0x4fc]
movss dword [esp + 0x658], xmm0
movss xmm0, dword [esp + 0x500]
movss dword [esp + 0x65c], xmm0
mov ecx, dword [esp + 0x658]
mov edx, dword [esp + 0x65c]
mov dword [esp + 0x660], ecx
mov dword [esp + 0x664], edx
mov eax, dword [esp + 0x660]
mov ecx, dword [esp + 0x664]
mov dword [esp + 0x668], eax
mov dword [esp + 0x66c], ecx
mov edx, dword [esp + 0x668]
mov eax, dword [esp + 0x66c]
mov dword [esp + 0x7a8], edx
mov dword [esp + 0x7ac], eax
lea ecx, [esp + 0x7a8]
mov dword [esp + 0x358], ecx
mov edx, dword [esp + 0x358]
mov dword [esp + 0x504], edx
mov eax, dword [esp + 0x504]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], edx
xorps xmm0, xmm0
movss dword [esp + 0x160], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x164], xmm0
mov dword [esp + 0x7f4], 0x200000
movzx eax, byte [esp + 0x86]
test eax, eax
je 0x10108aa4
mov ecx, dword [esp]
mov edx, dword [ecx + 0x20]
mov dword [esp + 0x35c], edx
jmp 0x10108aae
mov eax, dword [ebp + 8]
mov dword [esp + 0x35c], eax
mov ecx, dword [esp + 0x35c]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x9c], 0
movzx edx, byte [esp + 0x19]
test edx, edx
je 0x10108b49
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0x114], ecx
mov edx, dword [esp + 0x114]
add edx, 1
mov dword [esp + 0x508], edx
mov eax, dword [esp + 0x114]
mov cl, byte [eax]
mov byte [esp + 0xaf], cl
add dword [esp + 0x114], 1
cmp byte [esp + 0xaf], 0
jne 0x10108afd
mov edx, dword [esp + 0x114]
sub edx, dword [esp + 0x508]
mov dword [esp + 0x50c], edx
mov eax, dword [esp + 0x13c]
add eax, dword [esp + 0x50c]
mov dword [esp + 0x9c], eax
movzx ecx, byte [esp + 0x18]
test ecx, ecx
jne 0x10108b5f
movzx edx, byte [esp + 0x17]
test edx, edx
je 0x1010a088
movzx eax, byte [esp + 0x19]
test eax, eax
jne 0x10108b7c
mov ecx, dword [esp]
mov edx, dword [esp + 0x94]
add edx, dword [ecx + 8]
mov dword [esp + 0x9c], edx
mov eax, dword [esp]
mov ecx, dword [eax + 0x14]
mov dword [esp + 0xc4], ecx
xorps xmm0, xmm0
movss dword [esp + 0xd8], xmm0
xorps xmm0, xmm0
movss dword [esp + 0xd4], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x40c], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x408], xmm0
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0xcc], 0xfffffc18
mov dword [esp + 0xd0], 0xfffffc18
mov dword [esp + 0x44], 0
movzx edx, byte [esp + 0x18]
test edx, edx
je 0x10108c33
mov eax, dword [esp]
mov ecx, dword [eax + 0x3c]
mov edx, dword [esp + 0xc4]
lea eax, [edx + ecx*2]
mov ecx, 4
imul edx, ecx, 0
mov dword [esp + edx + 0x144], eax
mov eax, 4
imul ecx, eax, 0
mov dword [esp + ecx + 0xcc], 0xffffffff
mov edx, dword [esp + 0x44]
add edx, 1
mov dword [esp + 0x44], edx
movzx eax, byte [esp + 0x17]
test eax, eax
je 0x10108cc6
mov ecx, dword [esp]
mov edx, dword [ecx + 0x44]
mov dword [esp + 0x364], edx
mov eax, dword [esp]
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x360], ecx
mov edx, dword [esp + 0x360]
cmp edx, dword [esp + 0x364]
jge 0x10108c7a
mov eax, dword [esp + 0x360]
mov dword [esp + 0x368], eax
jmp 0x10108c88
mov ecx, dword [esp + 0x364]
mov dword [esp + 0x368], ecx
mov edx, dword [esp + 0x368]
mov eax, dword [esp + 0xc4]
lea ecx, [eax + edx*2]
mov edx, 4
shl edx, 0
mov dword [esp + edx + 0x144], ecx
mov eax, 4
shl eax, 0
mov dword [esp + eax + 0xcc], 0xffffffff
mov ecx, dword [esp + 0x44]
add ecx, 1
mov dword [esp + 0x44], ecx
movzx edx, byte [esp + 7]
test edx, edx
je 0x10108cdc
mov dword [esp + 0x36c], 1
jmp 0x10108ce7
mov dword [esp + 0x36c], 0
mov eax, dword [esp + 0x44]
add eax, dword [esp + 0x36c]
mov dword [esp + 0x44], eax
mov dword [esp + 0xa0], 0
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0xe4], ecx
jmp 0x10108d22
mov edx, dword [esp + 0xe4]
add edx, 2
mov dword [esp + 0xe4], edx
mov eax, dword [esp + 0xe4]
movzx ecx, word [eax]
test ecx, ecx
je 0x10108e05
mov edx, dword [esp + 0xe4]
movzx eax, word [edx]
cmp eax, 0xa
jne 0x10108e00
mov ecx, dword [esp + 0xa0]
add ecx, 1
mov dword [esp + 0xa0], ecx
mov edx, 4
imul eax, edx, 0
cmp dword [esp + eax + 0xcc], 0xffffffff
jne 0x10108dac
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [esp + 0xe4]
cmp eax, dword [esp + edx + 0x144]
jb 0x10108dac
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [esp + 0xa0]
mov dword [esp + edx + 0xcc], eax
mov ecx, dword [esp + 0x44]
sub ecx, 1
mov dword [esp + 0x44], ecx
cmp dword [esp + 0x44], 0
jg 0x10108dac
jmp 0x10108e05
mov edx, 4
shl edx, 0
cmp dword [esp + edx + 0xcc], 0xffffffff
jne 0x10108e00
mov eax, 4
shl eax, 0
mov ecx, dword [esp + 0xe4]
cmp ecx, dword [esp + eax + 0x144]
jb 0x10108e00
mov edx, 4
shl edx, 0
mov eax, dword [esp + 0xa0]
mov dword [esp + edx + 0xcc], eax
mov ecx, dword [esp + 0x44]
sub ecx, 1
mov dword [esp + 0x44], ecx
cmp dword [esp + 0x44], 0
jg 0x10108e00
jmp 0x10108e05
jmp 0x10108d11
mov edx, dword [esp + 0xa0]
add edx, 1
mov dword [esp + 0xa0], edx
mov eax, 4
imul ecx, eax, 0
cmp dword [esp + ecx + 0xcc], 0xffffffff
jne 0x10108e3e
mov edx, 4
imul eax, edx, 0
mov ecx, dword [esp + 0xa0]
mov dword [esp + eax + 0xcc], ecx
mov edx, 4
shl edx, 0
cmp dword [esp + edx + 0xcc], 0xffffffff
jne 0x10108e66
mov eax, 4
shl eax, 0
mov ecx, dword [esp + 0xa0]
mov dword [esp + eax + 0xcc], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [esp + eax + 0x144]
mov dword [esp + 0x510], ecx
mov edx, 4
imul eax, edx, 0
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + eax + 0x144]
call fcn.10086cf0
mov dword [esp + 0x514], eax
push 0
push 0
push 0
mov edx, dword [esp + 0x51c]
mov ecx, dword [esp + 0x520]
call fcn.10102660
movss dword [esp + 0x674], xmm1
movss dword [esp + 0x670], xmm0
mov ecx, dword [esp + 0x670]
mov edx, dword [esp + 0x674]
mov dword [esp + 0x7b0], ecx
mov dword [esp + 0x7b4], edx
movss xmm0, dword [esp + 0x7b0]
movss dword [esp + 0xd4], xmm0
mov eax, 4
imul ecx, eax, 0
cvtsi2ss xmm0, dword [esp + ecx + 0xcc]
mov edx, dword [esp + 8]
mulss xmm0, dword [edx + 0x1940]
movss dword [esp + 0xd8], xmm0
mov eax, 4
shl eax, 0
cmp dword [esp + eax + 0xcc], 0
jl 0x10108fea
mov ecx, 4
shl ecx, 0
mov edx, dword [esp + ecx + 0x144]
mov dword [esp + 0x518], edx
mov eax, 4
shl eax, 0
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + eax + 0x144]
call fcn.10086cf0
mov dword [esp + 0x51c], eax
push 0
push 0
push 0
mov edx, dword [esp + 0x524]
mov ecx, dword [esp + 0x528]
call fcn.10102660
movss dword [esp + 0x67c], xmm1
movss dword [esp + 0x678], xmm0
mov ecx, dword [esp + 0x678]
mov edx, dword [esp + 0x67c]
mov dword [esp + 0x7b8], ecx
mov dword [esp + 0x7bc], edx
movss xmm0, dword [esp + 0x7b8]
movss dword [esp + 0x408], xmm0
mov eax, 4
shl eax, 0
cvtsi2ss xmm0, dword [esp + eax + 0xcc]
mov ecx, dword [esp + 8]
mulss xmm0, dword [ecx + 0x1940]
movss dword [esp + 0x40c], xmm0
movzx edx, byte [esp + 7]
test edx, edx
je 0x10109051
cvtsi2ss xmm0, dword [esp + 0xa0]
mov eax, dword [esp + 8]
mulss xmm0, dword [eax + 0x1940]
movss dword [esp + 0x520], xmm0
movss xmm0, dword [esp + 0xe8]
movss dword [esp + 0x680], xmm0
movss xmm0, dword [esp + 0x520]
movss dword [esp + 0x684], xmm0
mov ecx, dword [esp + 0x680]
mov edx, dword [esp + 0x684]
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], edx
movzx eax, byte [esp + 0x18]
test eax, eax
je 0x1010935c
mov ecx, dword [esp]
movzx edx, byte [ecx + 0xe6c]
test edx, edx
je 0x1010935c
mov eax, dword [ebp + 0x14]
and eax, 0x1000
jne 0x1010916c
movss xmm0, dword [esp + 0xe8]
mulss xmm0, dword [0x101ca214]
movss dword [esp + 0x37c], xmm0
mov ecx, dword [esp + 0x2c]
movss xmm0, dword [esp + 0xe8]
subss xmm0, dword [ecx + 0x38]
movss dword [esp + 0x378], xmm0
mov edx, dword [esp]
movss xmm0, dword [edx + 0x38]
comiss xmm0, dword [esp + 0xd4]
jbe 0x10109124
movss xmm0, dword [esp + 0xd4]
subss xmm0, dword [esp + 0x37c]
movss dword [esp + 0x370], xmm0
xorps xmm0, xmm0
comiss xmm0, dword [esp + 0x370]
jb 0x101090fb
xorps xmm0, xmm0
movss dword [esp + 0x374], xmm0
jmp 0x1010910d
movss xmm0, dword [esp + 0x370]
movss dword [esp + 0x374], xmm0
cvttss2si eax, dword [esp + 0x374]
cvtsi2ss xmm0, eax
mov ecx, dword [esp]
movss dword [ecx + 0x38], xmm0
jmp 0x1010916a
movss xmm0, dword [esp + 0xd4]
subss xmm0, dword [esp + 0x378]
mov edx, dword [esp]
comiss xmm0, dword [edx + 0x38]
jb 0x1010916a
movss xmm0, dword [esp + 0xd4]
subss xmm0, dword [esp + 0x378]
addss xmm0, dword [esp + 0x37c]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
mov ecx, dword [esp]
movss dword [ecx + 0x38], xmm0
jmp 0x10109177
mov edx, dword [esp]
xorps xmm0, xmm0
movss dword [edx + 0x38], xmm0
movzx eax, byte [esp + 7]
test eax, eax
je 0x10109352
mov ecx, dword [esp + 8]
movss xmm0, dword [esp + 0xd8]
subss xmm0, dword [ecx + 0x1940]
movss xmm1, dword [esp + 0x3c]
comiss xmm1, xmm0
jbe 0x10109200
mov edx, dword [esp + 8]
movss xmm0, dword [esp + 0xd8]
subss xmm0, dword [edx + 0x1940]
movss dword [esp + 0x380], xmm0
xorps xmm0, xmm0
comiss xmm0, dword [esp + 0x380]
jb 0x101091dd
xorps xmm0, xmm0
movss dword [esp + 0x384], xmm0
jmp 0x101091ef
movss xmm0, dword [esp + 0x380]
movss dword [esp + 0x384], xmm0
movss xmm0, dword [esp + 0x384]
movss dword [esp + 0x3c], xmm0
jmp 0x10109246
movss xmm0, dword [esp + 0xd8]
subss xmm0, dword [esp + 0xec]
comiss xmm0, dword [esp + 0x3c]
jb 0x10109246
movss xmm0, dword [esp + 0xd8]
subss xmm0, dword [esp + 0xec]
mov eax, dword [esp + 0x2c]
movss xmm1, dword [eax + 0x3c]
mulss xmm1, dword [0x101ca3e0]
addss xmm0, xmm1
movss dword [esp + 0x3c], xmm0
mov ecx, dword [esp + 0x2c]
movss xmm0, dword [ecx + 0x3c]
mulss xmm0, dword [0x101ca3e0]
addss xmm0, dword [esp + 0x164]
subss xmm0, dword [esp + 0xec]
movss dword [esp + 0x388], xmm0
movss xmm0, dword [esp + 0x388]
comiss xmm0, dword [0x101ca16c]
jb 0x10109298
movss xmm0, dword [esp + 0x388]
movss dword [esp + 0x38c], xmm0
jmp 0x101092a4
xorps xmm0, xmm0
movss dword [esp + 0x38c], xmm0
movss xmm0, dword [esp + 0x38c]
movss dword [esp + 0x390], xmm0
xorps xmm0, xmm0
comiss xmm0, dword [esp + 0x3c]
jbe 0x101092ce
xorps xmm0, xmm0
movss dword [esp + 0x398], xmm0
jmp 0x10109313
movss xmm0, dword [esp + 0x3c]
comiss xmm0, dword [esp + 0x390]
jbe 0x101092f2
movss xmm0, dword [esp + 0x390]
movss dword [esp + 0x394], xmm0
jmp 0x10109301
movss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x394], xmm0
movss xmm0, dword [esp + 0x394]
movss dword [esp + 0x398], xmm0
movss xmm0, dword [esp + 0x398]
movss dword [esp + 0x3c], xmm0
mov edx, dword [esp + 0x24]
movss xmm0, dword [edx + 0x5c]
subss xmm0, dword [esp + 0x3c]
addss xmm0, dword [esp + 0xf4]
movss dword [esp + 0xf4], xmm0
mov eax, dword [esp + 0x24]
movss xmm0, dword [esp + 0x3c]
movss dword [eax + 0x5c], xmm0
mov ecx, dword [esp]
mov byte [ecx + 0xe6c], 0
mov edx, dword [esp]
movss xmm0, dword [edx + 0x38]
movss dword [esp + 0x524], xmm0
movss xmm0, dword [esp + 0x524]
movss dword [esp + 0x158], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x15c], xmm0
movzx eax, byte [esp + 0x17]
test eax, eax
je 0x10109af9
mov ecx, dword [esp]
mov edx, dword [ecx + 0x44]
mov dword [esp + 0x3a0], edx
mov eax, dword [esp]
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x39c], ecx
mov edx, dword [esp + 0x39c]
cmp edx, dword [esp + 0x3a0]
jge 0x101093d2
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x3a4], eax
jmp 0x101093e0
mov ecx, dword [esp + 0x3a0]
mov dword [esp + 0x3a4], ecx
mov edx, dword [esp + 0x3a4]
mov eax, dword [esp + 0xc4]
lea ecx, [eax + edx*2]
mov dword [esp + 0x538], ecx
mov edx, dword [esp]
mov eax, dword [edx + 0x44]
mov dword [esp + 0x3ac], eax
mov ecx, dword [esp]
mov edx, dword [ecx + 0x40]
mov dword [esp + 0x3a8], edx
mov eax, dword [esp + 0x3a8]
cmp eax, dword [esp + 0x3ac]
jl 0x10109432
mov ecx, dword [esp + 0x3a8]
mov dword [esp + 0x3b0], ecx
jmp 0x10109440
mov edx, dword [esp + 0x3ac]
mov dword [esp + 0x3b0], edx
mov eax, dword [esp + 0x3b0]
mov ecx, dword [esp + 0xc4]
lea edx, [ecx + eax*2]
mov dword [esp + 0x180], edx
movzx eax, byte [esp + 0x18]
test eax, eax
je 0x10109474
movss xmm0, dword [0x101ca378]
movss dword [esp + 0x3b4], xmm0
jmp 0x10109485
movss xmm0, dword [0x101ca2b4]
movss dword [esp + 0x3b4], xmm0
movss xmm0, dword [esp + 0x3b4]
mov ecx, 0x30
call fcn.100895a0
mov dword [esp + 0x560], eax
movzx ecx, byte [esp + 7]
test ecx, ecx
je 0x101094b6
xorps xmm0, xmm0
movss dword [esp + 0x3b8], xmm0
jmp 0x101094c7
movss xmm0, dword [0x101ca668]
movss dword [esp + 0x3b8], xmm0
movss xmm0, dword [esp + 0x3b8]
movss dword [esp + 0x550], xmm0
movzx edx, byte [esp + 7]
test edx, edx
je 0x101094f0
xorps xmm0, xmm0
movss dword [esp + 0x3bc], xmm0
jmp 0x10109501
movss xmm0, dword [0x101ca3e0]
movss dword [esp + 0x3bc], xmm0
movss xmm0, dword [esp + 0x3bc]
movss dword [esp + 0x544], xmm0
movss xmm0, dword [esp + 0xf0]
addss xmm0, dword [esp + 0x408]
movss dword [esp + 0x528], xmm0
movss xmm0, dword [esp + 0xf4]
addss xmm0, dword [esp + 0x40c]
movss dword [esp + 0x52c], xmm0
movss xmm0, dword [esp + 0x528]
movss dword [esp + 0x688], xmm0
movss xmm0, dword [esp + 0x52c]
movss dword [esp + 0x68c], xmm0
mov eax, dword [esp + 0x688]
mov ecx, dword [esp + 0x68c]
mov dword [esp + 0x690], eax
mov dword [esp + 0x694], ecx
mov edx, dword [esp + 0x690]
mov eax, dword [esp + 0x694]
mov dword [esp + 0x698], edx
mov dword [esp + 0x69c], eax
movss xmm0, dword [esp + 0x698]
subss xmm0, dword [esp + 0x158]
movss dword [esp + 0x530], xmm0
movss xmm0, dword [esp + 0x69c]
subss xmm0, dword [esp + 0x15c]
movss dword [esp + 0x534], xmm0
movss xmm0, dword [esp + 0x530]
movss dword [esp + 0x6a0], xmm0
movss xmm0, dword [esp + 0x534]
movss dword [esp + 0x6a4], xmm0
mov ecx, dword [esp + 0x6a0]
mov edx, dword [esp + 0x6a4]
mov dword [esp + 0x6a8], ecx
mov dword [esp + 0x6ac], edx
mov eax, dword [esp + 0x6a8]
mov ecx, dword [esp + 0x6ac]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
mov edx, dword [esp + 0x538]
mov dword [esp + 0xc8], edx
mov eax, dword [esp + 0xc8]
cmp eax, dword [esp + 0x180]
jae 0x10109af9
mov ecx, dword [esp + 8]
movss xmm0, dword [esp + 0x434]
addss xmm0, dword [ecx + 0x1940]
movss xmm1, dword [esp + 0x11c]
comiss xmm1, xmm0
jbe 0x10109681
jmp 0x10109af9
movss xmm0, dword [esp + 0x42c]
comiss xmm0, dword [esp + 0x11c]
jbe 0x101096d9
mov edx, dword [esp + 0xc8]
cmp edx, dword [esp + 0x180]
jae 0x101096d4
mov eax, dword [esp + 0xc8]
movzx ecx, word [eax]
mov dword [esp + 0x53c], ecx
mov edx, dword [esp + 0xc8]
add edx, 2
mov dword [esp + 0xc8], edx
cmp dword [esp + 0x53c], 0xa
jne 0x101096d2
jmp 0x101096d4
jmp 0x10109694
jmp 0x10109abb
push 1
push 0
lea eax, [esp + 0xd0]
push eax
mov edx, dword [esp + 0x18c]
mov ecx, dword [esp + 0xd4]
call fcn.10102660
movss dword [esp + 0x6b4], xmm1
movss dword [esp + 0x6b0], xmm0
mov ecx, dword [esp + 0x6b0]
mov edx, dword [esp + 0x6b4]
mov dword [esp + 0x438], ecx
mov dword [esp + 0x43c], edx
xorps xmm0, xmm0
comiss xmm0, dword [esp + 0x438]
jb 0x101097c2
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x193c]
mov dword [esp + 0x184], ecx
mov edx, 0x20
movzx eax, dx
mov ecx, dword [esp + 0x184]
cmp eax, dword [ecx]
jge 0x1010978b
mov edx, dword [esp + 0x184]
mov dword [esp + 0x540], edx
mov eax, 0x20
movzx ecx, ax
mov edx, dword [esp + 0x540]
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
movss dword [esp + 0x3c0], xmm0
jmp 0x101097a0
mov ecx, dword [esp + 0x184]
movss xmm0, dword [ecx + 0xc]
movss dword [esp + 0x3c0], xmm0
movss xmm0, dword [esp + 0x3c0]
mulss xmm0, dword [0x101ca28c]
cvttss2si edx, xmm0
cvtsi2ss xmm0, edx
movss dword [esp + 0x438], xmm0
movss xmm0, dword [esp + 0x438]
movss dword [esp + 0x6b8], xmm0
movss xmm0, dword [esp + 0x544]
movss dword [esp + 0x6bc], xmm0
movss xmm0, dword [esp + 0x118]
addss xmm0, dword [esp + 0x6b8]
movss dword [esp + 0x548], xmm0
movss xmm0, dword [esp + 0x11c]
addss xmm0, dword [esp + 0x6bc]
movss dword [esp + 0x54c], xmm0
movss xmm0, dword [esp + 0x548]
movss dword [esp + 0x6c0], xmm0
movss xmm0, dword [esp + 0x54c]
movss dword [esp + 0x6c4], xmm0
mov eax, dword [esp + 0x6c0]
mov ecx, dword [esp + 0x6c4]
mov dword [esp + 0x6c8], eax
mov dword [esp + 0x6cc], ecx
mov edx, dword [esp + 0x6c8]
mov eax, dword [esp + 0x6cc]
mov dword [esp + 0x6f0], edx
mov dword [esp + 0x6f4], eax
mov ecx, dword [esp + 8]
movss xmm0, dword [esp + 0x550]
subss xmm0, dword [ecx + 0x1940]
movss dword [esp + 0x554], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x6d0], xmm0
movss xmm0, dword [esp + 0x554]
movss dword [esp + 0x6d4], xmm0
movss xmm0, dword [esp + 0x118]
addss xmm0, dword [esp + 0x6d0]
movss dword [esp + 0x558], xmm0
movss xmm0, dword [esp + 0x11c]
addss xmm0, dword [esp + 0x6d4]
movss dword [esp + 0x55c], xmm0
movss xmm0, dword [esp + 0x558]
movss dword [esp + 0x6d8], xmm0
movss xmm0, dword [esp + 0x55c]
movss dword [esp + 0x6dc], xmm0
mov edx, dword [esp + 0x6d8]
mov eax, dword [esp + 0x6dc]
mov dword [esp + 0x6e0], edx
mov dword [esp + 0x6e4], eax
mov ecx, dword [esp + 0x6e0]
mov edx, dword [esp + 0x6e4]
mov dword [esp + 0x6e8], ecx
mov dword [esp + 0x6ec], edx
mov eax, dword [esp + 0x6e8]
mov ecx, dword [esp + 0x6ec]
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1b0], ecx
mov edx, dword [esp + 0x6f0]
mov eax, dword [esp + 0x6f4]
mov dword [esp + 0x1b4], edx
mov dword [esp + 0x1b8], eax
lea ecx, [esp + 0x428]
push ecx
lea ecx, [esp + 0x82c]
call fcn.10083500
lea edx, [esp + 0x828]
lea ecx, [esp + 0x1ac]
call fcn.10083240
movss dword [esp + 0x6fc], xmm1
movss dword [esp + 0x6f8], xmm0
mov edx, dword [esp + 0x6f8]
mov eax, dword [esp + 0x6fc]
mov dword [esp + 0x700], edx
mov dword [esp + 0x704], eax
mov ecx, dword [esp + 0x700]
mov edx, dword [esp + 0x704]
mov dword [esp + 0x1ac], ecx
mov dword [esp + 0x1b0], edx
lea edx, [esp + 0x830]
lea ecx, [esp + 0x1b4]
call fcn.100831b0
movss dword [esp + 0x70c], xmm1
movss dword [esp + 0x708], xmm0
mov eax, dword [esp + 0x708]
mov ecx, dword [esp + 0x70c]
mov dword [esp + 0x710], eax
mov dword [esp + 0x714], ecx
mov edx, dword [esp + 0x710]
mov eax, dword [esp + 0x714]
mov dword [esp + 0x1b4], edx
mov dword [esp + 0x1b8], eax
lea ecx, [esp + 0x428]
push ecx
lea ecx, [esp + 0x844]
call fcn.10083500
lea edx, [esp + 0x840]
push edx
lea ecx, [esp + 0x1b0]
call fcn.100836d0
movzx eax, al
test eax, eax
je 0x10109abb
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x288]
mov dword [esp + 0x564], edx
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov eax, dword [esp + 0x568]
push eax
lea ecx, [esp + 0x1c0]
push ecx
lea edx, [esp + 0x1bc]
push edx
mov ecx, dword [esp + 0x578]
call fcn.100dc1c0
movss xmm0, dword [esp + 0xf0]
subss xmm0, dword [esp + 0x158]
movss dword [esp + 0x118], xmm0
mov eax, dword [esp + 8]
movss xmm0, dword [esp + 0x11c]
addss xmm0, dword [eax + 0x1940]
movss dword [esp + 0x11c], xmm0
jmp 0x10109645
movzx ecx, byte [esp + 7]
test ecx, ecx
jne 0x10109b1c
mov edx, dword [esp + 0x9c]
sub edx, dword [esp + 0x94]
cmp edx, 0x200000
jge 0x10109c79
movzx eax, byte [esp + 0x19]
test eax, eax
je 0x10109b32
mov dword [esp + 0x3c4], 2
jmp 0x10109b3d
mov dword [esp + 0x3c4], 0
movss xmm0, dword [0x101ca378]
mov ecx, dword [esp + 0x3c4]
call fcn.100895a0
mov dword [esp + 0x570], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x288]
mov dword [esp + 0x574], edx
movzx eax, byte [esp + 7]
test eax, eax
je 0x10109b7f
mov dword [esp + 0x3c8], 0
jmp 0x10109b8d
lea ecx, [esp + 0x428]
mov dword [esp + 0x3c8], ecx
movss xmm0, dword [esp + 0xf0]
subss xmm0, dword [esp + 0x158]
movss dword [esp + 0x568], xmm0
movss xmm0, dword [esp + 0xf4]
subss xmm0, dword [esp + 0x15c]
movss dword [esp + 0x56c], xmm0
movss xmm0, dword [esp + 0x568]
movss dword [esp + 0x718], xmm0
movss xmm0, dword [esp + 0x56c]
movss dword [esp + 0x71c], xmm0
mov edx, dword [esp + 0x718]
mov eax, dword [esp + 0x71c]
mov dword [esp + 0x720], edx
mov dword [esp + 0x724], eax
mov ecx, dword [esp + 0x720]
mov edx, dword [esp + 0x724]
mov dword [esp + 0x7d0], ecx
mov dword [esp + 0x7d4], edx
mov eax, dword [esp + 0x3c8]
push eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, dword [esp + 0xa4]
push ecx
mov edx, dword [esp + 0xa0]
push edx
mov eax, dword [esp + 0x580]
push eax
lea ecx, [esp + 0x7e4]
push ecx
mov edx, dword [esp + 0x20]
push ecx
movss xmm0, dword [edx + 0x1940]
movss dword [esp], xmm0
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x193c]
push ecx
mov ecx, dword [esp + 0x594]
call fcn.100dcb00
movzx edx, byte [esp + 0x18]
test edx, edx
je 0x1010a083
mov eax, dword [esp]
mov ecx, dword [esp + 0x10]
movss xmm0, dword [eax + 0xe68]
addss xmm0, dword [ecx + 0x10]
mov edx, dword [esp]
movss dword [edx + 0xe68], xmm0
mov eax, dword [esp + 8]
movzx ecx, byte [eax + 0xb2]
test ecx, ecx
je 0x10109d3f
mov edx, dword [esp]
xorps xmm0, xmm0
comiss xmm0, dword [edx + 0xe68]
jae 0x10109d3f
mov eax, dword [esp]
movss xmm0, dword [eax + 0xe68]
movss dword [esp + 0x578], xmm0
cvtss2sd xmm0, dword [esp + 0x578]
movsd qword [esp + 0x7d8], xmm0
fld qword [esp + 0x7d8]
movsd xmm0, qword [0x101ca3d8]
movsd qword [esp + 0x7e0], xmm0
fld qword [esp + 0x7e0]
call fcn.10190190
fstp qword [esp + 0x7e8]
movsd xmm0, qword [esp + 0x7e8]
cvtsd2ss xmm0, xmm0
movss xmm1, dword [0x101ca318]
comiss xmm1, xmm0
jae 0x10109d3f
mov dword [esp + 0x3cc], 0
jmp 0x10109d4a
mov dword [esp + 0x3cc], 1
mov cl, byte [esp + 0x3cc]
mov byte [esp + 0xb0], cl
movss xmm0, dword [esp + 0xf0]
addss xmm0, dword [esp + 0xd4]
movss dword [esp + 0x57c], xmm0
movss xmm0, dword [esp + 0xf4]
addss xmm0, dword [esp + 0xd8]
movss dword [esp + 0x580], xmm0
movss xmm0, dword [esp + 0x57c]
movss dword [esp + 0x728], xmm0
movss xmm0, dword [esp + 0x580]
movss dword [esp + 0x72c], xmm0
mov edx, dword [esp + 0x728]
mov eax, dword [esp + 0x72c]
mov dword [esp + 0x730], edx
mov dword [esp + 0x734], eax
mov ecx, dword [esp + 0x730]
mov edx, dword [esp + 0x734]
mov dword [esp + 0x738], ecx
mov dword [esp + 0x73c], edx
movss xmm0, dword [esp + 0x738]
subss xmm0, dword [esp + 0x158]
movss dword [esp + 0x584], xmm0
movss xmm0, dword [esp + 0x73c]
subss xmm0, dword [esp + 0x15c]
movss dword [esp + 0x588], xmm0
movss xmm0, dword [esp + 0x584]
movss dword [esp + 0x740], xmm0
movss xmm0, dword [esp + 0x588]
movss dword [esp + 0x744], xmm0
mov eax, dword [esp + 0x740]
mov ecx, dword [esp + 0x744]
mov dword [esp + 0x748], eax
mov dword [esp + 0x74c], ecx
mov edx, dword [esp + 0x748]
mov eax, dword [esp + 0x74c]
mov dword [esp + 0x198], edx
mov dword [esp + 0x19c], eax
mov ecx, dword [esp + 8]
movss xmm0, dword [esp + 0x19c]
subss xmm0, dword [ecx + 0x1940]
addss xmm0, dword [0x101ca28c]
movss dword [esp + 0x58c], xmm0
lea edx, [esp + 0x7c0]
mov dword [esp + 0x3d0], edx
mov eax, dword [esp + 0x3d0]
movss xmm0, dword [esp + 0x198]
movss dword [eax], xmm0
mov ecx, dword [esp + 0x3d0]
movss xmm0, dword [esp + 0x58c]
movss dword [ecx + 4], xmm0
lea edx, [esp + 0x7c8]
mov dword [esp + 0x3d4], edx
movss xmm0, dword [esp + 0x198]
addss xmm0, dword [0x101ca378]
mov eax, dword [esp + 0x3d4]
movss dword [eax], xmm0
movss xmm0, dword [esp + 0x19c]
subss xmm0, dword [0x101ca3ac]
mov ecx, dword [esp + 0x3d4]
movss dword [ecx + 4], xmm0
movzx edx, byte [esp + 0xb0]
test edx, edx
je 0x1010a012
lea eax, [esp + 0x428]
push eax
lea ecx, [esp + 0x854]
call fcn.10083500
lea ecx, [esp + 0x850]
push ecx
lea ecx, [esp + 0x7c4]
call fcn.100836d0
movzx edx, al
test edx, edx
je 0x1010a012
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x288]
mov dword [esp + 0x5a0], ecx
movss xmm0, dword [0x101ca378]
xor ecx, ecx
call fcn.100895a0
mov dword [esp + 0x598], eax
movss xmm0, dword [esp + 0x7c0]
movss dword [esp + 0x590], xmm0
movss xmm0, dword [esp + 0x7cc]
movss dword [esp + 0x594], xmm0
movss xmm0, dword [esp + 0x590]
movss dword [esp + 0x790], xmm0
movss xmm0, dword [esp + 0x594]
movss dword [esp + 0x794], xmm0
lea edx, [esp + 0x790]
mov dword [esp + 0x59c], edx
push ecx
movss xmm0, dword [0x101ca378]
movss dword [esp], xmm0
mov eax, dword [esp + 0x59c]
push eax
mov ecx, dword [esp + 0x5a4]
push ecx
lea edx, [esp + 0x7cc]
push edx
mov ecx, dword [esp + 0x5b0]
call fcn.100dbe20
movzx eax, byte [esp + 0xf]
test eax, eax
jne 0x1010a083
mov ecx, dword [esp + 8]
movss xmm0, dword [esp + 0x19c]
subss xmm0, dword [ecx + 0x1940]
movss dword [esp + 0x5a4], xmm0
movss xmm0, dword [esp + 0x198]
subss xmm0, dword [0x101ca378]
movss dword [esp + 0x754], xmm0
movss xmm0, dword [esp + 0x5a4]
movss dword [esp + 0x758], xmm0
mov edx, dword [esp + 0x754]
mov eax, dword [esp + 0x758]
mov ecx, dword [esp + 8]
mov dword [ecx + 0x2e90], edx
mov dword [ecx + 0x2e94], eax
jmp 0x1010a293
movzx edx, byte [esp + 7]
test edx, edx
je 0x1010a102
lea edx, [esp + 0x9c]
mov ecx, dword [esp + 0x94]
call fcn.101025c0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 8]
mulss xmm0, dword [eax + 0x1940]
movss dword [esp + 0x5a8], xmm0
movss xmm0, dword [esp + 0xe8]
movss dword [esp + 0x75c], xmm0
movss xmm0, dword [esp + 0x5a8]
movss dword [esp + 0x760], xmm0
mov ecx, dword [esp + 0x75c]
mov edx, dword [esp + 0x760]
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], edx
jmp 0x1010a1a5
movzx eax, byte [esp + 0x19]
test eax, eax
jne 0x1010a131
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 0x1bd8]
cmp edx, dword [esp + 0x1c]
jne 0x1010a131
mov eax, dword [esp]
mov ecx, dword [esp + 0x94]
add ecx, dword [eax + 8]
mov dword [esp + 0x9c], ecx
jmp 0x1010a1a5
movzx edx, byte [esp + 0x19]
test edx, edx
jne 0x1010a1a5
mov eax, dword [esp + 0x94]
mov dword [esp + 0x108], eax
mov ecx, dword [esp + 0x108]
add ecx, 1
mov dword [esp + 0x5ac], ecx
mov edx, dword [esp + 0x108]
mov al, byte [edx]
mov byte [esp + 0xb1], al
add dword [esp + 0x108], 1
cmp byte [esp + 0xb1], 0
jne 0x1010a159
mov ecx, dword [esp + 0x108]
sub ecx, dword [esp + 0x5ac]
mov dword [esp + 0x5b0], ecx
mov edx, dword [esp + 0x94]
add edx, dword [esp + 0x5b0]
mov dword [esp + 0x9c], edx
movzx eax, byte [esp + 7]
test eax, eax
jne 0x1010a1c8
mov ecx, dword [esp + 0x9c]
sub ecx, dword [esp + 0x94]
cmp ecx, 0x200000
jge 0x1010a293
movzx edx, byte [esp + 0x19]
test edx, edx
je 0x1010a1de
mov dword [esp + 0x3d8], 2
jmp 0x1010a1e9
mov dword [esp + 0x3d8], 0
movss xmm0, dword [0x101ca378]
mov ecx, dword [esp + 0x3d8]
call fcn.100895a0
mov dword [esp + 0x5b4], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x288]
mov dword [esp + 0x5b8], ecx
movzx edx, byte [esp + 7]
test edx, edx
je 0x1010a22b
mov dword [esp + 0x3dc], 0
jmp 0x1010a239
lea eax, [esp + 0x428]
mov dword [esp + 0x3dc], eax
mov ecx, dword [esp + 0x3dc]
push ecx
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov edx, dword [esp + 0xa4]
push edx
mov eax, dword [esp + 0xa0]
push eax
mov ecx, dword [esp + 0x5c4]
push ecx
lea edx, [esp + 0x104]
push edx
mov eax, dword [esp + 0x20]
push ecx
movss xmm0, dword [eax + 0x1940]
movss dword [esp], xmm0
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x193c]
push edx
mov ecx, dword [esp + 0x5d8]
call fcn.100dcb00
movzx eax, byte [esp + 0x23]
test eax, eax
je 0x1010a2aa
movzx ecx, byte [esp + 0x19]
test ecx, ecx
jne 0x1010a2aa
call fcn.1009b840
movzx edx, byte [esp + 7]
test edx, edx
je 0x1010a31a
movss xmm0, dword [esp + 0x160]
movss dword [esp + 0x5bc], xmm0
mov eax, dword [esp + 0x2c]
movss xmm0, dword [esp + 0x164]
addss xmm0, dword [eax + 0x3c]
movss dword [esp + 0x5c0], xmm0
movss xmm0, dword [esp + 0x5bc]
movss dword [esp + 0x798], xmm0
movss xmm0, dword [esp + 0x5c0]
movss dword [esp + 0x79c], xmm0
lea ecx, [esp + 0x798]
call fcn.100fbec0
call fcn.10092830
call fcn.1009e1f0
mov ecx, dword [esp + 8]
movzx edx, byte [ecx + 0x2ee8]
test edx, edx
je 0x1010a365
movzx eax, byte [esp + 0x23]
test eax, eax
je 0x1010a33b
movzx ecx, byte [esp + 0x19]
test ecx, ecx
je 0x1010a365
mov edx, 0x101c657c
mov ecx, 0x101c6578
call fcn.100a7330
mov edx, dword [esp + 0x9c]
push edx
mov edx, dword [esp + 0x98]
lea ecx, [esp + 0xf4]
call fcn.100a7000
movss xmm0, dword [esp + 0x410]
comiss xmm0, dword [0x101ca16c]
jbe 0x1010a3f3
mov eax, dword [esp + 0x2c]
movss xmm0, dword [esp + 0x100]
addss xmm0, dword [eax + 0x50]
movss dword [esp + 0x5c4], xmm0
mov ecx, dword [esp + 0x2c]
movss xmm0, dword [esp + 0xfc]
addss xmm0, dword [ecx + 0x3c]
movss dword [esp + 0x5c8], xmm0
movss xmm0, dword [esp + 0x5c4]
movss dword [esp + 0x764], xmm0
movss xmm0, dword [esp + 0x5c8]
movss dword [esp + 0x768], xmm0
push 1
xor edx, edx
mov ecx, dword [esp + 0x144]
movss xmm0, dword [esp + 0x768]
movss xmm1, dword [esp + 0x76c]
call fcn.10089f40
movzx edx, byte [esp + 0x3b]
test edx, edx
je 0x1010a40f
mov eax, dword [ebp + 0x14]
and eax, 0x200000
jne 0x1010a40f
mov ecx, dword [esp + 0x1c]
call fcn.1008c530
xor ecx, ecx
jne 0x1010a40f
mov edx, dword [ebp + 0x14]
and edx, 0x20
je 0x1010a423
mov al, byte [esp + 0x3a]
jmp 0x1010a427
mov al, byte [esp + 0x3b]
mov esp, ebp
pop ebp
ret 0x18