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

Disassembly:
mov eax, 0x3eec
call fcn.1010aa80
mov eax, dword [0x10200e40]
xor eax, esp
mov dword [esp + 0x3ee8], eax
mov eax, dword [esp + 0x3ef8]
push ebx
push ebp
mov ebp, dword [esp + 0x3f04]
push esi
mov esi, dword [esp + 0x3efc]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x3f18]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 0xb0]
lea ebx, [esi + 4]
mov ecx, dword [esi + 0x34]
mov dword [esp + 0x24], eax
push edi
mov eax, dword [eax + 0x218]
mov edi, dword [esi]
push 0x80
mov dword [esp + 0x48], esi
mov eax, dword [eax + 0x220]
shl eax, 0x10
mov dword [esp + 0x84], eax
xor eax, eax
push eax
mov dword [esp + 0x68], eax
lea eax, [esp + 0x3e80]
push eax
mov dword [esp + 0x90], ebp
mov dword [esp + 0x54], 0
mov dword [esp + 0x78], ebx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x5c], 0
mov byte [esp + 0x74], 0
mov byte [esp + 0x3f], 0
mov dword [esp + 0x80], 0x1312d00
call fcn.1010cde0
xorps xmm0, xmm0
mov dword [esp + 0x3e64], 0
push 0x2e04
lea eax, [esp + 0x140]
movq qword [esp + 0x3e60], xmm0
push 0
push eax
movups xmmword [esp + 0x3e78], xmm0
mov dword [esp + 0xf4], edi
movq qword [esp + 0x3e88], xmm0
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], 0x10
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], 0x14
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], 0x14
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
movlpd qword [esp + 0x114], xmm0
movlpd qword [esp + 0x11c], xmm0
movlpd qword [esp + 0x124], xmm0
mov dword [esp + 0x110], ebx
call fcn.1010cde0
mov eax, dword [esp + 0x88]
movaps xmm0, xmmword [0x10149360]
push 0xf1c
mov dword [esp + 0x150], eax
lea eax, [esp + 0x1f8c]
mov dword [esp + 0x14c], esi
mov dword [esp + 0x2ea8], edi
mov dword [esp + 0x2eac], ebx
movups xmmword [esp + 0x2eb0], xmm0
mov dword [esp + 0x2ec0], 0
push 0
push eax
call fcn.1010cde0
mov eax, dword [esp + 0xac]
mov bl, byte [esi + 0xb8]
mov dword [esp + 0x1fa4], eax
lea eax, [esp + 0x1f94]
mov dword [esp + 0x1f98], eax
lea eax, [esp + 0x2eb0]
push 0xf1c
mov dword [esp + 0x1fa0], eax
lea eax, [esp + 0x107c]
push 0
push eax
mov byte [esp + 0x1fad], bl
mov dword [esp + 0x1fa0], esi
call fcn.1010cde0
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x1094], eax
lea eax, [esp + 0x1fa0]
mov dword [esp + 0x1088], eax
lea eax, [esp + 0x2ebc]
push 0xf1c
mov dword [esp + 0x1090], eax
lea eax, [esp + 0x16c]
push 0
push eax
mov byte [esp + 0x109d], bl
mov dword [esp + 0x1090], esi
call fcn.1010cde0
mov ecx, dword [esp + 0xc4]
lea eax, [esp + 0x1fac]
mov dword [esp + 0x178], eax
add esp, 0x3c
lea eax, [esp + 0x2e8c]
mov byte [esp + 0x145], bl
mov dword [esp + 0x140], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0x2ea8], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 0x2eac], eax
mov eax, dword [ebp]
mov dword [esp + 0x2eb4], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x2ec0], eax
lea eax, [esp + 0xa4]
mov dword [esp + 0x2ec4], eax
lea eax, [esp + 0xf8]
mov dword [esp + 0x2ec8], eax
lea eax, [esi + 0xf0]
mov dword [esp + 0x2ed0], eax
mov al, byte [esi + 0xb9]
mov byte [esp + 0x2ebe], al
mov eax, dword [esp + 0x44]
mov dword [esp + 0x148], ecx
mov dword [esp + 0x138], esi
mov esi, dword [esi + 0xe4]
mov ebx, dword [eax + 0xe8]
mov eax, esi
cdq
mov dword [esp + 0x2eb0], ecx
mov ecx, dword [ebp + 4]
mov ebp, dword [esp + 0x3f18]
mov dword [esp + 0x2eb8], ecx
mov ecx, eax
xor ecx, edx
mov dword [esp + 0x1c], ebp
sub ecx, edx
mov dword [esp + 0x2ecc], ebp
mov eax, ebx
mov dword [esp + 0x2ed4], esi
cdq
xor eax, edx
mov dword [esp + 0x2ed8], ebx
sub eax, edx
cmp ecx, eax
jle 0x100c81ee
test esi, esi
jmp 0x100c81f2
mov esi, ebx
test ebx, ebx
jns 0x100c81f6
neg esi
mov ecx, dword [esp + 0x28]
lea eax, [esi + esi]
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x2edc], eax
mov dword [esp + 0x2ee0], 0x199a
cmp byte [edx + 9], 0
mov byte [esp + 0x2ebf], 1
mov word [esp + 0x2ebc], 0
setne byte [esp + 0x23]
mov byte [esp + 0x2f0c], 0
mov eax, dword [ecx + 0x218]
mov eax, dword [eax + 0x21c]
shl eax, 0x10
mov dword [esi], eax
cmp byte [edx + 9], 0
je 0x100c825f
mov eax, dword [ecx + 0x214]
mov ebx, dword [eax + 0x614]
jmp 0x100c8264
mov ebx, 0x30
lea eax, [esp + 0x9c]
mov dword [esp + 0x64], ebx
push eax
push 0x14
push edi
call fcn.1008e790
add esp, 0xc
mov esi, eax
cmp dword [esp + 0x9c], 0
mov dword [esp + 0x94], esi
jne 0x100c82c6
mov eax, dword [esp + 0x6c]
mov dword [esi + 4], eax
lea eax, [esp + 0x9c]
push eax
push 0
push ebx
push 0
push 8
push edi
mov dword [esi], edi
call fcn.1008e7e0
add esp, 0x18
mov dword [esi + 8], eax
cmp dword [esp + 0x9c], 0
je 0x100c82d2
push esi
push edi
call fcn.1008e770
add esp, 8
xor esi, esi
xor edi, edi
lea eax, [esi + 0x40]
jmp 0x100c864e
mov dword [esi + 0xc], eax
lea eax, [esp + 0xdc]
push 0x11
push eax
mov dword [esi + 0x10], ebx
call fcn.100c4a70
mov ecx, dword [esp + 0xf4]
add esp, 8
mov edi, dword [esp + 0xf4]
test al, al
mov eax, dword [esp + 0x6c]
mov edx, 0x11
cmovne ecx, edx
mov dword [esp + 0x24], edi
mov ebx, edi
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x18], ebx
cmp dword [eax], 0
jne 0x100cc33e
mov eax, dword [esp + 0x3f04]
xor ecx, ecx
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xa0], edx
movups xmm0, xmmword [eax]
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x90], eax
movups xmmword [edi], xmm0
mov edi, dword [esp + 0x3f14]
mov dword [esp + 0x14], edi
jmp 0x100c8398
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edi, eax
jne 0x100cbcad
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
test eax, eax
je 0x100c8398
cmp dword [eax], 0
mov ecx, dword [esp + 0x10]
jne 0x100c8398
mov dword [eax], 0x82
nop
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jb 0x100c83b5
test ecx, ecx
mov ebx, 0xb
mov eax, 0xe
cmove ebx, eax
mov dword [esp + 0x34], ebx
jmp 0x100c83e2
mov cl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
mov bl, cl
mov dword [esp + 0x34], ebx
cmp cl, 0xb
je 0x100c83cb
cmp cl, 0xe
jne 0x100c83de
mov ecx, dword [esp + 0x44]
xor edx, edx
movzx ebx, bl
cmp byte [ecx + 9], dl
cmovne ebx, edx
mov dword [esp + 0x34], ebx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x44]
mov al, byte [eax + 8]
mov ah, byte [esp + 0x33]
test al, al
je 0x100c847f
test ah, ah
jne 0x100c8430
cmp bl, 1
je 0x100c8430
cmp bl, 3
je 0x100c8430
cmp bl, 0xd
je 0x100c8430
cmp bl, 0xa
je 0x100c8430
cmp bl, 0xb
je 0x100c8430
cmp bl, 0xc
je 0x100c8430
cmp bl, 0xe
je 0x100c8430
cmp bl, 0x20
jae 0x100c8430
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100c8398
mov edx, dword [esp + 0x60]
test edx, edx
jle 0x100c845b
cmp bl, 0xa
je 0x100c845b
cmp bl, 0xb
je 0x100c845b
cmp bl, 0xc
je 0x100c845b
cmp bl, 0x20
mov dword [esp + 0x3c], 0
cmovb edx, dword [esp + 0x3c]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x68]
test dl, dl
je 0x100c847f
cmp bl, 0x20
jae 0x100c847f
cmp bl, 0xc
movzx edx, dl
mov dword [esp + 0x3c], 0
cmovne edx, dword [esp + 0x3c]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x6c]
cmp dword [edx], 0
jne 0x100c8646
sub dword [esp + 0x74], 1
je 0x100c9617
movzx edx, bl
cmp edx, 0x1f
ja case.default.0x100c84a3
jmp dword [edx*4 + 0x100cc348]
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 9], 0
je case.0x100c84a3.0
cmp byte [ebx + 0x5d], 0
jne 0x100c9617
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x100c84ec
mov eax, dword [esi + 4]
test eax, eax
je 0x100c84d8
cmp dword [eax], 0
jne 0x100c84d8
mov dword [eax], 0xa1
xor eax, eax
mov dword [ebx + 0x78], eax
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100c8398
cmp dword [eax - 4], 2
je 0x100c8518
mov eax, dword [esi + 4]
test eax, eax
je 0x100c8504
cmp dword [eax], 0
jne 0x100c8504
mov dword [eax], 0xa0
xor eax, eax
mov dword [ebx + 0x78], eax
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100c8398
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
test eax, eax
js case.0x100c84a3.0
mov dword [ebx + 0x78], eax
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100c8398
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 9], 0
je case.0x100c84a3.0
cmp dword [ebx + 0x60], 0
je 0x100c9617
push dword [ebx + 0x80]
mov eax, dword [ebx + 0x224]
lea edi, [ebx + 0x5c]
push dword [ebx + 0x7c]
push dword [ebx + 0x78]
mov eax, dword [eax + 0xc]
push edi
call eax
add esp, 0x10
test al, al
je 0x100c8593
push dword [ebx + 0x80]
mov eax, dword [ebx + 0x224]
push dword [ebx + 0x7c]
push dword [ebx + 0x78]
mov eax, dword [eax + 0x10]
push edi
call eax
add esp, 0x10
mov dword [esp + 0x48], eax
test eax, eax
jne 0x100c864a
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x100c85b1
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x100c85ad
cmp dword [ecx], 0
jne 0x100c85ad
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x100c85d5
cmp dword [eax - 4], 2
je 0x100c85cd
mov eax, dword [esi + 4]
test eax, eax
je 0x100c85c9
cmp dword [eax], 0
jne 0x100c85c9
mov dword [eax], 0xa0
xor eax, eax
jmp 0x100c85d5
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x64]
ja 0x100c9617
push eax
push esi
push edi
call fcn.100c55c0
mov byte [ebx + 0x5d], 1
add esp, 0xc
mov ebx, dword [esp + 0x18]
jmp 0x100c8390
test al, al
jne 0x100c860c
cmp byte [esp + 0xfc], al
jne case.0x100c84a3.0
xor eax, eax
jmp 0x100c8616
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 4]
push eax
lea eax, [esp + 0x27]
push eax
lea eax, [esp + 0xc8]
push dword [esp + 0x64]
push eax
push esi
push dword [esp + 0x58]
call fcn.100c5af0
mov eax, dword [esp + 0x40]
add esp, 0x18
cmp byte [eax + 0x224], 0
je 0x100caf85
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x6c]
test ebx, ebx
je 0x100c865d
cmp dword [ebx], 0
jne 0x100c865d
mov dword [ebx], eax
push dword [esp + 0x2ea4]
mov dword [esp + 0x2e9c], 0
push dword [esp + 0x2e90]
mov dword [esp + 0x2ea4], 0
mov dword [esp + 0x2ea8], 0
call fcn.1008e770
push dword [esp + 0xc4]
mov dword [esp + 0x2eb0], 0
push dword [esp + 0xb0]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
call fcn.1008e770
push dword [esp + 0xe8]
mov dword [esp + 0xd0], 0
push dword [esp + 0xd4]
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
call fcn.1008e770
push edi
push dword [esp + 0xf8]
mov dword [esp + 0xf8], 0
call fcn.1008e770
add esp, 0x20
test esi, esi
je 0x100c874a
push dword [esi + 8]
mov edi, dword [esi]
push edi
call fcn.1008e770
push esi
push edi
mov dword [esi + 8], 0
call fcn.1008e770
add esp, 0x10
mov ecx, dword [esp + 0x3ef8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10109e3a
add esp, 0x3eec
ret
test al, al
jne 0x100c8788
cmp byte [esp + 0xfc], al
jne case.0x100c84a3.0
xor eax, eax
push eax
lea eax, [esp + 0x27]
push eax
lea eax, [esp + 0xac]
jmp 0x100c8623
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
push eax
lea eax, [esp + 0x27]
push eax
lea eax, [esp + 0xac]
jmp 0x100c8623
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x100c87ed
cmp byte [esp + 0x23], 0
jne 0x100c87ed
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x100c87ce
sub eax, 1
jne 0x100c87de
shl ecx, 0x10
jmp 0x100c87de
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x80]
add eax, ecx
mov ecx, dword [esp + 0x5c]
mov dword [ecx], eax
mov ebx, dword [esp + 0x28]
mov byte [esp + 0x23], 1
cmp byte [ebx + 0x224], 0
jne 0x100c8646
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100c8821
mov eax, dword [esi + 4]
test eax, eax
je 0x100c881d
cmp dword [eax], 0
jne 0x100c881d
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100c884b
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100c883b
sub eax, 1
jne 0x100c884b
shl ecx, 0x10
jmp 0x100c884b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add ebp, ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x3f18], ebp
cmp dword [ebx + 0x1d4], 0
jne 0x100caf85
push ebp
lea eax, [esp + 0x134]
push edi
push eax
call fcn.100c6d10
mov eax, dword [esi + 8]
add esp, 0xc
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x100c8398
mov ebp, dword [esi + 0xc]
xor ebx, ebx
sub ebp, dword [esi + 8]
sar ebp, 3
test ebp, ebp
je 0x100cbc32
nop dword [eax]
mov ecx, dword [esi + 0xc]
mov eax, ecx
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp ebx, eax
jb 0x100c88cd
mov eax, dword [esi + 4]
test eax, eax
je 0x100c88c9
cmp dword [eax], 0
jne 0x100c88c9
mov dword [eax], 0x82
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor edi, edi
jmp 0x100c88f3
mov eax, dword [edx + ebx*8 + 4]
mov edi, dword [edx + ebx*8]
sub eax, 1
je 0x100c88e3
sub eax, 1
jne 0x100c88f3
shl edi, 0x10
jmp 0x100c88f3
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
add dword [esp + 0x14], edi
lea eax, [ebx + 1]
mov edi, dword [esp + 0x14]
sub ecx, edx
sar ecx, 3
mov dword [esp + 0x3f14], edi
cmp eax, ecx
jb 0x100c8924
mov eax, dword [esi + 4]
test eax, eax
je 0x100c8920
cmp dword [eax], 0
jne 0x100c8920
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100c894b
mov eax, dword [edx + ebx*8 + 0xc]
mov ecx, dword [edx + ebx*8 + 8]
sub eax, 1
je 0x100c893b
sub eax, 1
jne 0x100c894b
shl ecx, 0x10
jmp 0x100c894b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
add eax, ecx
push eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x3f1c], eax
lea eax, [esp + 0x134]
push edi
push eax
call fcn.100c6b90
add ebx, 2
add esp, 0xc
cmp ebx, ebp
jb 0x100c88a0
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100c8394
mov ebp, dword [esi + 0xc]
sub ebp, dword [esi + 8]
sar ebp, 3
cmp bl, 6
sete bl
xor edi, edi
test ebp, ebp
je 0x100c8a3d
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x100c89ca
mov eax, dword [esi + 4]
test eax, eax
je 0x100c89c6
cmp dword [eax], 0
jne 0x100c89c6
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100c89f0
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100c89e0
sub eax, 1
jne 0x100c89f0
shl ecx, 0x10
jmp 0x100c89f0
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test bl, bl
je 0x100c8a07
mov eax, dword [esp + 0x14]
add eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x3f14], eax
jmp 0x100c8a1c
mov eax, dword [esp + 0x1c]
add eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x3f18], eax
mov eax, dword [esp + 0x14]
push dword [esp + 0x1c]
xor bl, 1
push eax
lea eax, [esp + 0x138]
push eax
call fcn.100c6b90
inc edi
add esp, 0xc
cmp edi, ebp
jb 0x100c89a5
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100c8390
mov eax, dword [esi + 0xc]
xor ebp, ebp
sub eax, dword [esi + 8]
sar eax, 3
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], ebp
cmp eax, 6
jb 0x100c8cd2
lea ebx, [ebp + 2]
nop
mov edi, dword [esi + 0xc]
mov eax, edi
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp ebp, eax
jb 0x100c8a9d
mov eax, dword [esi + 4]
test eax, eax
je 0x100c8a99
cmp dword [eax], 0
jne 0x100c8a99
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x100c8ac4
mov eax, dword [edx + ebx*8 - 0xc]
mov ecx, dword [edx + ebx*8 - 0x10]
sub eax, 1
je 0x100c8ab4
sub eax, 1
jne 0x100c8ac4
shl ecx, 0x10
jmp 0x100c8ac4
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x14]
add eax, ecx
mov ecx, edi
sub ecx, edx
mov dword [esp + 0x54], eax
sar ecx, 3
lea eax, [ebx - 1]
cmp eax, ecx
jb 0x100c8af8
mov eax, dword [esi + 4]
test eax, eax
je 0x100c8af4
cmp dword [eax], 0
jne 0x100c8af4
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x100c8b1f
mov eax, dword [edx + ebx*8 - 4]
mov ecx, dword [edx + ebx*8 - 8]
sub eax, 1
je 0x100c8b0f
sub eax, 1
jne 0x100c8b1f
shl ecx, 0x10
jmp 0x100c8b1f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x1c]
mov eax, edi
sub eax, edx
add ebp, ecx
sar eax, 3
mov dword [esp + 0x3c], ebp
cmp ebx, eax
jb 0x100c8b50
mov eax, dword [esi + 4]
test eax, eax
je 0x100c8b4c
cmp dword [eax], 0
jne 0x100c8b4c
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x100c8b76
mov eax, dword [edx + ebx*8 + 4]
mov ecx, dword [edx + ebx*8]
sub eax, 1
je 0x100c8b66
sub eax, 1
jne 0x100c8b76
shl ecx, 0x10
jmp 0x100c8b76
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x54]
add eax, ecx
mov ecx, edi
sub ecx, edx
mov dword [esp + 0x4c], eax
sar ecx, 3
lea eax, [ebx + 1]
cmp eax, ecx
jb 0x100c8baa
mov eax, dword [esi + 4]
test eax, eax
je 0x100c8ba6
cmp dword [eax], 0
jne 0x100c8ba6
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x100c8bd1
mov eax, dword [edx + ebx*8 + 0xc]
mov ecx, dword [edx + ebx*8 + 8]
sub eax, 1
je 0x100c8bc1
sub eax, 1
jne 0x100c8bd1
shl ecx, 0x10
jmp 0x100c8bd1
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add ebp, ecx
lea eax, [ebx + 2]
mov ecx, edi
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x100c8bfd
mov eax, dword [esi + 4]
test eax, eax
je 0x100c8bf9
cmp dword [eax], 0
jne 0x100c8bf9
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x100c8c24
mov eax, dword [edx + ebx*8 + 0x14]
mov ecx, dword [edx + ebx*8 + 0x10]
sub eax, 1
je 0x100c8c14
sub eax, 1
jne 0x100c8c24
shl ecx, 0x10
jmp 0x100c8c24
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x4c]
sub edi, edx
add eax, ecx
sar edi, 3
mov dword [esp + 0x14], eax
lea eax, [ebx + 3]
cmp eax, edi
jb 0x100c8c50
mov eax, dword [esi + 4]
test eax, eax
je 0x100c8c4c
cmp dword [eax], 0
jne 0x100c8c4c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100c8c77
mov eax, dword [edx + ebx*8 + 0x1c]
mov ecx, dword [edx + ebx*8 + 0x18]
sub eax, 1
je 0x100c8c67
sub eax, 1
jne 0x100c8c77
shl ecx, 0x10
jmp 0x100c8c77
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edi, dword [esp + 0x14]
lea eax, [ecx + ebp]
push eax
push edi
push ebp
push dword [esp + 0x58]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x140]
push dword [esp + 0x4c]
push dword [esp + 0x68]
push eax
call fcn.100c6830
mov eax, dword [esp + 0x38]
add ebx, 6
mov ebp, dword [esp + 0x5c]
add esp, 0x1c
mov dword [esp + 0x3f18], eax
add ebp, 6
mov dword [esp + 0x3f14], edi
lea eax, [ebx + 4]
mov dword [esp + 0x40], ebp
cmp eax, dword [esp + 0x2c]
jbe 0x100c8a70
mov ebx, dword [esp + 0x34]
cmp bl, 0x18
jne 0x100c8dbd
mov ecx, dword [esi + 0xc]
mov eax, ecx
mov edi, dword [esi + 8]
sub eax, edi
sar eax, 3
cmp ebp, eax
jb 0x100c8d08
mov eax, dword [esi + 4]
test eax, eax
je 0x100c8d04
cmp dword [eax], 0
jne 0x100c8d04
mov dword [eax], 0x82
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
xor edx, edx
jmp 0x100c8d2e
mov eax, dword [edi + ebp*8 + 4]
mov edx, dword [edi + ebp*8]
sub eax, 1
je 0x100c8d1e
sub eax, 1
jne 0x100c8d2e
shl edx, 0x10
jmp 0x100c8d2e
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x14]
sub ecx, edi
add eax, edx
sar ecx, 3
mov dword [esp + 0x14], eax
mov dword [esp + 0x3f14], eax
lea eax, [ebp + 1]
cmp eax, ecx
jb 0x100c8d61
mov eax, dword [esi + 4]
test eax, eax
je 0x100c8d5d
cmp dword [eax], 0
jne 0x100c8d5d
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100c8d87
mov ecx, dword [edi + eax*8]
mov eax, dword [edi + eax*8 + 4]
sub eax, 1
je 0x100c8d77
sub eax, 1
jne 0x100c8d87
shl ecx, 0x10
jmp 0x100c8d87
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x1c]
lea eax, [esp + 0x130]
mov edi, dword [esp + 0x14]
add ebp, ecx
push ebp
push edi
push eax
mov dword [esp + 0x28], ebp
mov dword [esp + 0x3f24], ebp
call fcn.100c6b90
mov eax, dword [esi + 8]
add esp, 0xc
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100c8394
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100c8394
test al, al
je case.0x100c84a3.0
cmp byte [esp + 0x2ebc], 0
je 0x100c8e5c
push dword [esp + 0x2f08]
lea eax, [esp + 0x134]
mov byte [esp + 0x2ec1], 1
push dword [esp + 0x2f08]
push eax
call fcn.100c6b90
add esp, 0xc
cmp byte [esp + 0x2f0c], 0
je 0x100c8e42
push 1
push dword [esp + 0x2ef4]
lea eax, [esp + 0x2eec]
push dword [esp + 0x2ef4]
push eax
lea eax, [esp + 0x148]
push eax
lea eax, [esp + 0x144]
push eax
call fcn.100c6e60
add esp, 0x18
mov byte [esp + 0x2ebf], 1
mov word [esp + 0x2ebc], 0
mov byte [esp + 0x2f0c], 0
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov byte [esp + 0x23], 1
mov dword [esi + 0xc], eax
jmp 0x100c8398
cmp ecx, 0x10
jg 0x100c9617
inc ecx
cmp ecx, dword [esp + 0x8c]
jb 0x100c8e9f
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x100c8e9d
cmp dword [eax], 0
jne 0x100c8e9d
mov dword [eax], 0x82
xor ecx, ecx
mov eax, dword [esp + 0x90]
imul eax, ecx
add eax, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x100c8ecf
mov eax, dword [esi + 4]
test eax, eax
je 0x100c8ecb
cmp dword [eax], 0
jne 0x100c8ecb
mov dword [eax], 0xa1
xor eax, eax
jmp 0x100c8ef3
cmp dword [eax - 4], 2
je 0x100c8eeb
mov eax, dword [esi + 4]
test eax, eax
je 0x100c8ee7
cmp dword [eax], 0
jne 0x100c8ee7
mov dword [eax], 0xa0
xor eax, eax
jmp 0x100c8ef3
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
cmp byte [ecx + 8], 0
je 0x100c8f24
mov ecx, dword [edx + 0x268]
test ecx, ecx
je 0x100c8f24
push ecx
push eax
call fcn.1008e330
mov edx, dword [esp + 0x30]
add esp, 8
test eax, eax
je 0x100c8f21
mov eax, dword [eax]
jmp 0x100c8f24
or eax, 0xffffffff
cmp bl, 0x1d
xorps xmm0, xmm0
mov ebx, dword [esp + 0x18]
movups xmmword [ebx], xmm0
je 0x100c8fc9
mov ecx, dword [edx + 0x234]
add ecx, eax
cmp ecx, dword [edx + 0x22c]
jb 0x100c8f51
mov eax, 1
jmp 0x100c8ffe
mov eax, dword [esp + 0x28]
lea edx, [ecx*4]
mov eax, dword [eax + 0x23c]
mov ecx, dword [edx + eax]
mov eax, dword [esp + 0x28]
mov dword [ebx + 4], ecx
cmp byte [eax + 0x30], 0
je 0x100c8fad
mov eax, dword [eax + 0x264]
test eax, eax
je 0x100c8f8b
test ecx, ecx
je 0x100c8f87
mov eax, dword [eax + edx]
add eax, ecx
jmp 0x100c8fb7
xor eax, eax
jmp 0x100c8fb7
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], 0
mov eax, dword [eax + 0x260]
test eax, eax
cmovs eax, dword [esp + 0x3c]
add eax, ecx
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x23c]
mov eax, dword [eax + edx + 4]
mov edx, 8
mov ecx, ebx
mov dword [ecx + edx], eax
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], eax
jmp 0x100c8ffc
mov ecx, dword [edx + 0x238]
add ecx, eax
cmp ecx, dword [edx + 0x230]
jb 0x100c8fe0
mov eax, 1
jmp 0x100c8ffe
mov eax, dword [edx + 0x240]
mov eax, dword [eax + ecx*4]
mov dword [ebx + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [edx + 0x240]
mov eax, dword [eax + ecx*4 + 4]
mov dword [ebx + 8], eax
xor eax, eax
test eax, eax
jne 0x100c9617
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
jmp 0x100c8398
cmp ecx, 1
jl 0x100c9617
dec ecx
mov ebx, ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x8c]
jb 0x100c9045
mov edx, dword [esp + 0xa0]
test edx, edx
je 0x100c9043
cmp dword [edx], 0
jne 0x100c9043
mov dword [edx], 0x82
xor ebx, ebx
imul ebx, dword [esp + 0x90]
add ebx, dword [esp + 0x24]
mov dword [esp + 0x18], ebx
jmp 0x100c8398
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jae 0x100c906e
mov cl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
jmp 0x100c9081
mov eax, dword [ebx]
test eax, eax
je 0x100c907f
cmp dword [eax], 0
jne 0x100c907f
mov dword [eax], 0x55
xor cl, cl
movzx eax, cl
add eax, 0xfffffff8
mov byte [esp + 0x5b], cl
cmp eax, 0x1d
ja case.0x100c909b.9
movzx eax, byte [eax + 0x100cc3e0]
jmp dword [eax*4 + 0x100cc3c8]
push 0
push 0x101490dc
jmp 0x100c9108
push 0
push 0x101490e8
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x3f24]
push eax
lea eax, [esp + 0x3f24]
push eax
push esi
call fcn.100c57f0
mov ebp, dword [esp + 0x3f30]
add esp, 0x18
mov edi, dword [esp + 0x3f14]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], edi
mov dword [esi + 0xc], eax
jmp 0x100c8398
push 0
push 0x101490f4
jmp 0x100c9108
push 1
push 0x10149100
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x3f24]
push eax
lea eax, [esp + 0x3f24]
push eax
push esi
call fcn.100c57f0
mov ebp, dword [esp + 0x3f30]
add esp, 0x18
mov edi, dword [esp + 0x3f14]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], edi
jmp 0x100c8394
mov eax, dword [esp + 0x44]
cmp byte [eax + 9], 0
jne case.0x100c9190.0
cmp cl, 0x26
jae case.0x100c9190.0
mov al, byte [eax + 8]
mov edx, dword [esp + 0x60]
test al, al
je 0x100c9184
test edx, edx
jle 0x100c9184
cmp cl, 0x11
je 0x100c9184
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x100c8398
movzx ecx, cl
cmp ecx, 0x21
ja case.0x100c9190.0
jmp dword [ecx*4 + 0x100cc400]
test al, al
je case.0x100c9190.0
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x100c91c4
mov eax, dword [esi + 4]
test eax, eax
je 0x100c91c0
cmp dword [eax], 0
jne 0x100c91c0
mov dword [eax], 0x82
xor edi, edi
jmp 0x100c91e8
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x100c91d8
sub eax, 1
jne 0x100c91e8
shl edi, 0x10
jmp 0x100c91e8
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp eax, 2
ja 0x100c920e
mov eax, dword [esi + 4]
test eax, eax
je 0x100c920a
cmp dword [eax], 0
jne 0x100c920a
mov dword [eax], 0x82
xor ebx, ebx
jmp 0x100c9233
mov eax, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x10]
sub eax, 1
je 0x100c9223
sub eax, 1
jne 0x100c9233
shl ebx, 0x10
jmp 0x100c9233
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp eax, 4
ja 0x100c9259
mov eax, dword [esi + 4]
test eax, eax
je 0x100c9255
cmp dword [eax], 0
jne 0x100c9255
mov dword [eax], 0x82
xor edx, edx
jmp 0x100c927e
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x20]
sub eax, 1
je 0x100c926e
sub eax, 1
jne 0x100c927e
shl edx, 0x10
jmp 0x100c927e
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esi + 0xc]
mov ebp, dword [esi + 8]
sub eax, ebp
sar eax, 3
cmp eax, 1
ja 0x100c92a4
mov eax, dword [esi + 4]
test eax, eax
je 0x100c92a0
cmp dword [eax], 0
jne 0x100c92a0
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100c92c9
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub eax, 1
je 0x100c92b9
sub eax, 1
jne 0x100c92c9
shl ecx, 0x10
jmp 0x100c92c9
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esi + 0xc]
mov ebp, dword [esi + 8]
sub eax, ebp
sar eax, 3
cmp eax, 2
jae 0x100c92ed
mov eax, dword [esi + 4]
test eax, eax
je 0x100c9300
cmp dword [eax], 0
jne 0x100c9300
mov dword [eax], 0x82
jmp 0x100c9300
mov eax, ebx
sub eax, edi
sub eax, ecx
mov dword [ebp + 0x10], eax
mov eax, dword [esi + 8]
mov dword [eax + 0x14], 0
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 8]
sub eax, edi
sar eax, 3
cmp eax, 3
ja 0x100c9326
mov eax, dword [esi + 4]
test eax, eax
je 0x100c9322
cmp dword [eax], 0
jne 0x100c9322
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100c934b
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x18]
sub eax, 1
je 0x100c933b
sub eax, 1
jne 0x100c934b
shl ecx, 0x10
jmp 0x100c934b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 8]
sub eax, edi
sar eax, 3
cmp eax, 4
jae 0x100c936f
mov eax, dword [esi + 4]
test eax, eax
je 0x100c9380
cmp dword [eax], 0
jne 0x100c9380
mov dword [eax], 0x82
jmp 0x100c9380
sub edx, ebx
sub edx, ecx
mov dword [edi + 0x20], edx
mov eax, dword [esi + 8]
mov dword [eax + 0x24], 0
cmp byte [esp + 0x5b], 1
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx + 0x20]
jne 0x100c9392
mov eax, dword [eax]
jmp 0x100c9395
mov eax, dword [eax + 4]
push eax
lea eax, [esp + 0x27]
push eax
push dword [esp + 0x64]
lea edx, [esp + 0xcc]
lea eax, [esp + 0xb0]
cmovne eax, edx
push eax
push esi
push dword [esp + 0x58]
call fcn.100c5af0
add esp, 0x18
cmp byte [ebx + 0x224], 0
jne 0x100c8646
mov eax, dword [esi + 8]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x100c8398
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100c9404
mov eax, dword [esi + 4]
test eax, eax
je 0x100c9400
cmp dword [eax], 0
jne 0x100c9400
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100c942e
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x100c941e
sub eax, 1
jne 0x100c942e
shl edx, 0x10
jmp 0x100c942e
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x100c9457
mov eax, dword [esi + 4]
test eax, eax
je 0x100c9539
cmp dword [eax], 0
jne 0x100c9539
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100c835c
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov ecx, dword [edi]
sub eax, 1
je 0x100c9471
sub eax, 1
jne 0x100c9481
shl ecx, 0x10
jmp 0x100c9481
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
je 0x100c9539
test edx, edx
je 0x100c9539
mov edx, 1
jmp 0x100c835c
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100c94b9
mov eax, dword [esi + 4]
test eax, eax
je 0x100c94b5
cmp dword [eax], 0
jne 0x100c94b5
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100c94e3
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x100c94d3
sub eax, 1
jne 0x100c94e3
shl edx, 0x10
jmp 0x100c94e3
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x100c94ff
mov eax, dword [esi + 4]
test eax, eax
je 0x100c9531
cmp dword [eax], 0
jne 0x100c9531
mov dword [eax], 0xa1
jmp 0x100c9531
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov ecx, dword [edi]
sub eax, 1
je 0x100c9519
sub eax, 1
jne 0x100c9529
shl ecx, 0x10
jmp 0x100c9529
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
jne 0x100c9491
test edx, edx
jne 0x100c9491
xor edx, edx
jmp 0x100c835c
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100c955e
mov eax, dword [esi + 4]
test eax, eax
je 0x100c955a
cmp dword [eax], 0
jne 0x100c955a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100c9588
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x100c9578
sub eax, 1
jne 0x100c9588
shl edx, 0x10
jmp 0x100c9588
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x10]
cmp edi, eax
je 0x100c8374
xor eax, eax
test edx, edx
sete al
mov dword [edi], eax
mov eax, dword [esi + 0xc]
mov edi, dword [esp + 0x14]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x100c8398
test al, al
je case.0x100c9190.0
mov eax, dword [esp + 0x28]
push esi
mov eax, dword [eax + 4]
mov dword [esp + 0x40], eax
call fcn.100cc5a0
mov edi, eax
push esi
mov dword [esp + 0x6c], edi
call fcn.100cc5a0
push esi
mov ebp, eax
call fcn.100cc550
push esi
mov dword [esp + 0x84], eax
call fcn.100cc550
push esi
mov ebx, eax
call fcn.100cc550
add esp, 0x14
mov dword [esp + 0x4c], eax
cmp byte [esp + 0x3f10], 0
je 0x100cbefa
mov eax, 0x12
jmp 0x100c864a
test al, al
je case.0x100c9190.0
push esi
call fcn.100cc550
mov edi, dword [esp + 0x2c]
push esi
mov ecx, dword [edi + 0x24]
mov dword [ecx + 4], eax
call fcn.100cc550
mov ecx, dword [edi + 0x24]
push esi
mov dword [ecx], eax
call fcn.100cc550
push esi
mov edi, eax
call fcn.100cc550
mov edx, dword [esp + 0x38]
add esp, 0x10
mov byte [esp + 0x23], 1
mov ecx, dword [edx + 0x20]
add dword [ecx], eax
mov ecx, dword [edx + 0x20]
add dword [ecx + 4], edi
cmp byte [edx + 0x2f], 0
jne 0x100c8646
cmp byte [esp + 0x33], 0
je 0x100c9698
mov ecx, dword [esp + 0x14]
add ecx, eax
add ebp, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x3f14], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x3f18], ebp
mov eax, dword [esi + 8]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x100c8398
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 8]
cmp edx, edi
jne 0x100c96df
mov eax, dword [esi + 4]
test eax, eax
je 0x100c96c7
cmp dword [eax], 0
jne 0x100c96c7
mov dword [eax], 0xa1
xor ecx, ecx
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
push eax
push esi
call fcn.100cc5f0
add esp, 8
jmp 0x100c8390
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100c96f9
sub eax, 1
jne 0x100c9709
shl ecx, 0x10
jmp 0x100c9709
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp ecx, 0x80000001
jge 0x100c96c9
mov eax, dword [esi + 0x10]
lea eax, [edi + eax*8]
cmp edx, eax
jne 0x100c9734
mov eax, dword [esi + 4]
test eax, eax
je 0x100c8390
cmp dword [eax], 0
jne 0x100c8390
jmp 0x100c8388
mov dword [edx], 0x7fffffff
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x100c8390
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x100c976b
mov eax, dword [esi + 4]
test eax, eax
je 0x100c9767
cmp dword [eax], 0
jne 0x100c9767
mov dword [eax], 0xa1
xor edi, edi
jmp 0x100c9795
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x100c9785
sub eax, 1
jne 0x100c9795
shl edi, 0x10
jmp 0x100c9795
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x100c97b3
mov eax, dword [esi + 4]
test eax, eax
je 0x100c97af
cmp dword [eax], 0
jne 0x100c97af
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100c97dd
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x100c97cd
sub eax, 1
jne 0x100c97dd
shl edx, 0x10
jmp 0x100c97dd
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x10]
cmp ebx, eax
jne 0x100c9812
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x100c8398
cmp dword [eax], 0
jne 0x100c8398
jmp 0x100c8388
lea eax, [edx + edi]
mov edi, dword [esp + 0x14]
mov dword [ebx], eax
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x100c8398
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x100c9850
mov eax, dword [esi + 4]
test eax, eax
je 0x100c984c
cmp dword [eax], 0
jne 0x100c984c
mov dword [eax], 0xa1
xor edi, edi
jmp 0x100c987a
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x100c986a
sub eax, 1
jne 0x100c987a
shl edi, 0x10
jmp 0x100c987a
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x100c9898
mov eax, dword [esi + 4]
test eax, eax
je 0x100c9894
cmp dword [eax], 0
jne 0x100c9894
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100c98c2
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x100c98b2
sub eax, 1
jne 0x100c98c2
shl edx, 0x10
jmp 0x100c98c2
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x10]
cmp ebx, eax
jne 0x100c98f7
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x100c8398
cmp dword [eax], 0
jne 0x100c8398
jmp 0x100c8388
sub edx, edi
mov edi, dword [esp + 0x14]
mov dword [ebx], edx
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x100c8398
test al, al
je 0x100c9936
cmp byte [esp + 0x68], 0
je 0x100c9936
push esi
call fcn.100cc5a0
push esi
mov edi, eax
call fcn.100cc5a0
mov byte [esp + 0x70], 0
jmp 0x100c9944
push esi
call fcn.100cc550
push esi
mov edi, eax
call fcn.100cc550
add esp, 8
push edi
push eax
call fcn.100885d0
mov edx, dword [esi + 0x10]
add esp, 8
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea ecx, [ecx + edx*8]
cmp edi, ecx
jne 0x100c997a
mov eax, dword [esi + 4]
test eax, eax
je 0x100c8390
cmp dword [eax], 0
jne 0x100c8390
jmp 0x100c8388
mov dword [edi], eax
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x100c8390
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 8]
cmp edx, edi
jne 0x100c99be
mov eax, dword [esi + 4]
test eax, eax
je 0x100c99ab
cmp dword [eax], 0
jne 0x100c99ab
mov dword [eax], 0xa1
xor ecx, ecx
neg ecx
push ecx
push esi
call fcn.100cc5f0
add esp, 8
jmp 0x100c8390
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100c99d8
sub eax, 1
jne 0x100c99e8
shl ecx, 0x10
jmp 0x100c99e8
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp ecx, 0x80000001
jl 0x100c9711
neg ecx
push ecx
push esi
call fcn.100cc5f0
add esp, 8
jmp 0x100c8390
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x100c9a23
mov eax, dword [esi + 4]
test eax, eax
je 0x100c9a1f
cmp dword [eax], 0
jne 0x100c9a1f
mov dword [eax], 0xa1
xor edi, edi
jmp 0x100c9a4d
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x100c9a3d
sub eax, 1
jne 0x100c9a4d
shl edi, 0x10
jmp 0x100c9a4d
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x100c9a6b
mov eax, dword [esi + 4]
test eax, eax
je 0x100c9a67
cmp dword [eax], 0
jne 0x100c9a67
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100c9a95
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x100c9a85
sub eax, 1
jne 0x100c9a95
shl edx, 0x10
jmp 0x100c9a95
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x10]
cmp ebx, eax
jne 0x100c9aca
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x100c8398
cmp dword [eax], 0
jne 0x100c8398
jmp 0x100c8388
xor eax, eax
cmp edx, edi
mov edi, dword [esp + 0x14]
sete al
mov dword [ebx], eax
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0x18]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x100c8398
mov ecx, dword [esp + 0x10]
test al, al
je 0x100c8398
push esi
call fcn.100cc5a0
push esi
mov edx, eax
call fcn.100cc5a0
mov ebp, dword [esi + 0xc]
mov ebx, eax
mov ecx, dword [esi + 8]
add esp, 8
sub ebp, ecx
mov dword [esp + 0x40], ebx
sar ebp, 3
cmp ebx, ebp
ja 0x100c9617
sub ebp, ebx
mov dword [esp + 0x50], 0
xor eax, eax
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x60], eax
cmp edx, 0x1c
ja case.0x100c9b48.4
movzx eax, byte [edx + 0x100cc4c8]
jmp dword [eax*4 + 0x100cc488]
cmp ebx, 3
jne 0x100c9617
cmp byte [esp + 0x33], 0
je 0x100c9b7d
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x1d4], 0
je 0x100c9617
cmp dword [eax + 0x1d8], 7
jne 0x100c9617
push edi
push esi
call fcn.100cc5f0
mov ebp, dword [esp + 0x24]
push ebp
push esi
call fcn.100cc5f0
mov ebx, dword [esp + 0x28]
add esp, 0x10
mov dword [esp + 0x50], 2
jmp 0x100c8394
test ebx, ebx
jne 0x100c9617
cmp byte [esp + 0x33], bl
je 0x100c9e77
mov eax, dword [esp + 0x28]
mov edx, dword [eax + 0xc]
movsx eax, word [edx + 0x16]
movsx ecx, word [edx + 0x3a]
add eax, 6
add eax, ecx
cmp eax, dword [edx + 4]
jbe 0x100c9be2
push ebx
push 6
push edx
call fcn.10088eb0
add esp, 0xc
test eax, eax
jne 0x100c8646
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [ecx + 0x1d4], 1
mov dword [ecx + 0x1d8], 0
jmp 0x100c8394
test ebx, ebx
jne 0x100c9617
cmp byte [esp + 0x33], bl
je 0x100c9e77
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 0x1d4], ebx
je 0x100c9617
mov edi, dword [ecx + 0x1d8]
lea eax, [edi + 1]
mov dword [ecx + 0x1d8], eax
lea eax, [edi - 1]
cmp eax, 5
ja 0x100c9e77
push 1
push ecx
call fcn.100c2410
add esp, 8
test eax, eax
jne 0x100c9617
lea eax, [edi - 3]
cmp edi, 3
jg 0x100c9c61
mov eax, edi
mov ebp, dword [esp + 0x14]
add eax, eax
mov dword [esp + eax*4 + 0x3e58], ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x3e5c], ebp
cmp edi, 3
je 0x100c9c87
cmp edi, 6
jne 0x100c9e7b
push dword [esp + 0x3e74]
lea eax, [esp + 0x134]
push dword [esp + 0x3e74]
push dword [esp + 0x3e74]
push dword [esp + 0x3e74]
push dword [esp + 0x3e74]
push dword [esp + 0x3e74]
push eax
call fcn.100c6830
mov ebx, dword [esp + 0x34]
add esp, 0x1c
jmp 0x100c8390
cmp ebx, 1
jne 0x100c9617
cmp byte [esp + 0x33], 0
je 0x100c9d24
mov eax, dword [esp + 0x6c]
xorps xmm0, xmm0
movups xmmword [esp + 0xf8], xmm0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xd0], 0
movq qword [esp + 0x108], xmm0
mov dword [esp + 0x110], 0
mov dword [esp + 0xf8], eax
mov word [esp + 0xfc], 0x100
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x100c8394
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], ecx
jmp 0x100c8394
mov eax, dword [esp + 0x28]
mov ebx, dword [eax + 0x284]
mov dword [esp + 0x34], ebx
test ebx, ebx
je 0x100c9617
xor eax, eax
cmp edx, 0x12
sete al
lea ecx, [eax - 0xd]
mov eax, dword [ebx]
add ecx, edx
mov edx, dword [esp + 0x40]
imul eax, ecx
mov dword [esp + 0x50], ecx
cmp edx, eax
jne 0x100c9617
lea edi, [ecx + ebp]
test ecx, ecx
je 0x100c9e3b
mov dword [esp + 0x54], ecx
push ebp
push esi
call fcn.100cc4f0
add esp, 8
mov ebp, eax
cmp dword [ebx], 1
jbe 0x100c9e14
mov eax, 1
mov ebx, 4
sub eax, edi
mov dword [esp + 0x38], eax
push edi
push esi
call fcn.100cc4f0
mov dword [esp + 0x44], eax
add esp, 8
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x88]
mov eax, dword [ebx + eax]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x34]
lea ebx, [ebx + 4]
mov eax, dword [esp + 0x38]
inc edi
add ebp, dword [esp + 0x98]
add eax, edi
cmp eax, dword [ecx]
jb 0x100c9db1
mov ebx, ecx
push ebp
mov ebp, dword [esp + 0x50]
push ebp
push esi
call fcn.100cc630
inc ebp
add esp, 0xc
sub dword [esp + 0x54], 1
mov dword [esp + 0x4c], ebp
jne 0x100c9d90
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x50]
sub edx, ecx
mov ecx, dword [esi + 0xc]
mov eax, ecx
sub eax, dword [esi + 8]
sar eax, 3
cmp edx, eax
jbe 0x100c9e6b
mov eax, dword [esi + 4]
test eax, eax
je 0x100c9e77
cmp dword [eax], 0
jne 0x100c9e77
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [eax], 0xa1
jmp 0x100c8390
lea eax, [edx*8]
sub ecx, eax
mov dword [esi + 0xc], ecx
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x100c8390
mov ebp, dword [esp + 0x28]
mov edi, dword [ebp + 0x284]
mov edx, dword [ebp + 0x28c]
cmp ebx, 1
jne 0x100c9617
test edi, edi
je 0x100c9617
push esi
call fcn.100cc5a0
mov ebx, eax
add esp, 4
mov eax, dword [edi]
cmp edx, eax
jb 0x100c9617
sub edx, eax
cmp edx, ebx
jb 0x100c9617
mov edx, dword [ebp + 0x288]
test edx, edx
je 0x100c9e77
mov ecx, dword [edi + 0x88]
test ecx, ecx
je 0x100c9e77
shl eax, 2
push eax
push ecx
lea eax, [edx + ebx*4]
push eax
call fcn.1010c860
mov ebp, dword [esp + 0x28]
add esp, 0xc
mov ebx, dword [esp + 0x18]
jmp 0x100c8390
cmp ebx, 2
jne 0x100c9617
push esi
call fcn.100cc550
push esi
mov edi, eax
call fcn.100cc550
add eax, edi
push eax
push esi
call fcn.100cc5f0
mov ebp, dword [esp + 0x2c]
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x100c8390
cmp ebx, 2
jne 0x100c9617
push esi
call fcn.100cc550
push esi
mov edi, eax
call fcn.100cc550
sub eax, edi
push eax
push esi
call fcn.100cc5f0
mov ebp, dword [esp + 0x2c]
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x100c8390
cmp ebx, 2
jne 0x100c9617
push esi
call fcn.100cc550
push esi
mov dword [esp + 0x54], eax
call fcn.100cc550
add esp, 8
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x4c]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x78], eax
push dword [esp + 0x78]
push esi
call fcn.100cc5f0
mov ebp, dword [esp + 0x24]
add esp, 8
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x100c8394
cmp ebx, 2
jne 0x100c9617
push esi
call fcn.100cc550
push esi
mov edi, eax
call fcn.100cc550
add esp, 8
test edi, edi
je 0x100c9617
push edi
push eax
call fcn.100885d0
push eax
push esi
call fcn.100cc5f0
mov ebp, dword [esp + 0x2c]
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x100c8390
cmp ebx, 2
jne 0x100c9617
mov ebx, dword [esp + 0x28]
cmp dword [ebx + 0x284], 0
je 0x100c9617
push esi
call fcn.100cc5a0
mov edi, eax
add esp, 4
cmp edi, dword [ebx + 0x28c]
jae 0x100c9617
push esi
call fcn.100cc550
mov ecx, dword [ebx + 0x288]
add esp, 4
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [ecx + edi*4], eax
jmp 0x100c8390
cmp ebx, 1
jne 0x100c9617
mov edx, dword [esp + 0x28]
cmp dword [edx + 0x284], 0
je 0x100c9617
push esi
call fcn.100cc5a0
add esp, 4
cmp eax, dword [edx + 0x28c]
jae 0x100c9617
mov ecx, dword [edx + 0x288]
push dword [ecx + eax*4]
jmp 0x100c9fb0
cmp ebx, 4
jne 0x100c9617
push esi
call fcn.100cc550
push esi
mov ebp, eax
call fcn.100cc550
push esi
mov ebx, eax
call fcn.100cc550
push esi
mov edi, eax
call fcn.100cc550
cmp ebx, ebp
cmovle edi, eax
push edi
push esi
call fcn.100cc5f0
mov ebp, dword [esp + 0x34]
add esp, 0x18
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x100c8390
test ebx, ebx
jne 0x100c9617
mov eax, dword [esp + 0x28]
mov edi, dword [eax + 0x218]
mov edx, dword [edi + 0x288]
mov ecx, edx
mov eax, ecx
shl eax, 0xd
xor ecx, eax
mov eax, ecx
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor eax, ecx
mov dword [edi + 0x288], eax
movzx eax, dx
inc eax
push eax
push esi
call fcn.100cc5f0
mov ebp, dword [esp + 0x24]
add esp, 8
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x100c8390
test ebx, ebx
js 0x100c9617
test edx, edx
js 0x100c9617
cmp ebx, 3
mov eax, ebx
mov ecx, 3
cmovg eax, ecx
mov dword [esp + 0x60], eax
cmp eax, 1
jb 0x100c9e77
lea edi, [esp + eax*4 + 0x3e4c]
mov ebx, eax
nop dword [eax]
push esi
call fcn.100cc550
add esp, 4
mov dword [edi], eax
lea edi, [edi - 4]
sub ebx, 1
jne 0x100ca180
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x100c8390
mov ecx, dword [esp + 0x10]
test al, al
je 0x100c8398
cmp dword [esp + 0x50], 0
jle 0x100ca1bc
dec dword [esp + 0x50]
jmp 0x100c8394
test edx, edx
je 0x100c9617
push dword [esp + edx*4 + 0x3e4c]
dec edx
push esi
mov dword [esp + 0x68], edx
call fcn.100cc5f0
add esp, 8
jmp 0x100c8394
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x10]
cmp eax, dword [esi + 8]
jne 0x100ca209
mov eax, dword [esi + 4]
test eax, eax
je 0x100c8398
cmp dword [eax], 0
jne 0x100c8398
mov dword [eax], 0xa1
jmp 0x100c8394
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
jmp 0x100c8398
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x100ca232
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca22e
cmp dword [eax], 0
jne 0x100ca22e
mov dword [eax], 0xa1
xor edi, edi
jmp 0x100ca256
cmp dword [eax - 4], 2
je 0x100ca24e
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca24a
cmp dword [eax], 0
jne 0x100ca24a
mov dword [eax], 0xa0
xor edi, edi
jmp 0x100ca256
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov edi, dword [eax]
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100ca274
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca270
cmp dword [eax], 0
jne 0x100ca270
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100ca29e
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100ca28e
sub eax, 1
jne 0x100ca29e
shl ecx, 0x10
jmp 0x100ca29e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp edi, 0x20
jae 0x100c8390
mov dword [esp + edi*4 + 0x3e78], ecx
jmp 0x100c8390
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x100ca2d1
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca2cd
cmp dword [eax], 0
jne 0x100ca2cd
mov dword [eax], 0xa1
xor eax, eax
jmp 0x100ca2f5
cmp dword [eax - 4], 2
je 0x100ca2ed
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca2e9
cmp dword [eax], 0
jne 0x100ca2e9
mov dword [eax], 0xa0
xor eax, eax
jmp 0x100ca2f5
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x10]
cmp eax, 0x20
jae 0x100c8398
push dword [esp + eax*4 + 0x3e78]
push esi
call fcn.100cc5f0
add esp, 8
jmp 0x100c8394
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 8]
jne 0x100ca335
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca331
cmp dword [eax], 0
jne 0x100ca331
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x100ca360
add ebp, 0xfffffff8
mov dword [esi + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x100ca350
sub eax, 1
jne 0x100ca360
shl ebp, 0x10
jmp 0x100ca360
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x100ca37e
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca37a
cmp dword [eax], 0
jne 0x100ca37a
mov dword [eax], 0xa1
xor ebx, ebx
jmp 0x100ca3a8
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
sub eax, 1
je 0x100ca398
sub eax, 1
jne 0x100ca3a8
shl ebx, 0x10
jmp 0x100ca3a8
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x100ca3c6
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca3c2
cmp dword [eax], 0
jne 0x100ca3c2
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100ca3f0
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x100ca3e0
sub eax, 1
jne 0x100ca3f0
shl edx, 0x10
jmp 0x100ca3f0
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x100ca40e
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca40a
cmp dword [eax], 0
jne 0x100ca40a
mov dword [eax], 0xa1
xor edi, edi
jmp 0x100ca438
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x100ca428
sub eax, 1
jne 0x100ca438
shl edi, 0x10
jmp 0x100ca438
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
lea eax, [eax + ecx*8]
mov ecx, dword [esi + 0xc]
cmp ecx, eax
jne 0x100ca477
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x100c8398
cmp dword [eax], 0
jne 0x100c8398
mov dword [eax], 0x82
jmp 0x100c8390
cmp ebx, ebp
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
cmovle edx, edi
mov dword [ecx], edx
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x100c8390
mov eax, dword [esp + 0x28]
mov edx, dword [eax + 0x218]
mov ecx, dword [edx + 0x288]
mov eax, ecx
shl eax, 0xd
movzx edi, cx
xor ecx, eax
mov eax, ecx
inc edi
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor eax, ecx
mov dword [edx + 0x288], eax
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
je 0x100c971b
mov dword [edx], edi
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x100c8390
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x100ca515
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca50b
cmp dword [eax], 0
jne 0x100ca50b
mov dword [eax], 0xa1
mov dword [esp + 0x40], 0
jmp 0x100ca54f
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
sub eax, 1
je 0x100ca539
sub eax, 1
mov eax, dword [ecx]
je 0x100ca530
mov dword [esp + 0x40], eax
jmp 0x100ca54f
shl eax, 0x10
mov dword [esp + 0x40], eax
jmp 0x100ca54f
mov ecx, dword [ecx]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov dword [esp + 0x40], ecx
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100ca573
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca569
cmp dword [eax], 0
jne 0x100ca569
mov dword [eax], 0xa1
mov dword [esp + 0x34], 0
jmp 0x100ca5aa
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100ca597
sub eax, 1
je 0x100ca58e
mov dword [esp + 0x34], ecx
jmp 0x100ca5aa
shl ecx, 0x10
mov dword [esp + 0x34], ecx
jmp 0x100ca5aa
mov eax, dword [edx]
shr ecx, 0x1f
sub eax, ecx
add eax, 0x2000
sar eax, 0xe
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov dword [esp + 0x7c], eax
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x100ca5ff
mov eax, dword [esi + 4]
test eax, eax
je 0x100c8390
cmp dword [eax], 0
jne 0x100c8390
mov dword [eax], 0x82
jmp 0x100c8394
mov eax, dword [esp + 0x7c]
mov dword [edx], eax
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x100c8394
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 8]
jne 0x100ca665
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca632
cmp dword [eax], 0
jne 0x100ca632
mov dword [eax], 0xa1
xor ebx, ebx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
je 0x100ca448
mov ebp, dword [esp + 0x1c]
mov dword [edx], ebx
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x100c8390
add ebp, 0xfffffff8
mov dword [esi + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x100ca680
sub eax, 1
jne 0x100ca690
shl ebp, 0x10
jmp 0x100ca690
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
test ebp, ebp
jle 0x100ca632
mov eax, ebp
mov edi, ebp
sar eax, 1
cmp ebp, 0xa
cmovge edi, eax
push edi
push ebp
call fcn.100885d0
lea ebx, [edi + 1]
add esp, 8
add ebx, eax
sar ebx, 1
cmp ebx, edi
je 0x100ca634
nop dword [eax]
push ebx
push ebp
mov edi, ebx
call fcn.100885d0
inc ebx
add esp, 8
add ebx, eax
sar ebx, 1
cmp ebx, edi
jne 0x100ca6c0
jmp 0x100ca634
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100ca6f8
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca6f4
cmp dword [eax], 0
jne 0x100ca6f4
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100ca722
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x100ca712
sub eax, 1
jne 0x100ca722
shl edx, 0x10
jmp 0x100ca722
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edi, eax
jne 0x100ca746
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca756
cmp dword [eax], 0
jne 0x100ca756
mov dword [eax], 0x82
jmp 0x100ca756
mov dword [edi], edx
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x10]
cmp edi, eax
jne 0x100cbee1
jmp 0x100c8374
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x100ca791
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca78d
cmp dword [eax], 0
jne 0x100ca78d
mov dword [eax], 0xa1
xor edi, edi
jmp 0x100ca7bb
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x100ca7ab
sub eax, 1
jne 0x100ca7bb
shl edi, 0x10
jmp 0x100ca7bb
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
push esi
call fcn.100cc550
push edi
push esi
mov ebx, eax
call fcn.100cc5f0
mov edx, dword [esi + 0x10]
add esp, 0xc
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea ecx, [ecx + edx*8]
cmp edi, ecx
jne 0x100ca800
mov eax, dword [esi + 4]
test eax, eax
je 0x100c9e7b
cmp dword [eax], 0
jne 0x100c9e7b
mov ebx, dword [esp + 0x18]
mov dword [eax], 0x82
jmp 0x100c8390
mov dword [edi], ebx
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x100c8390
push esi
call fcn.100cc5a0
mov ecx, dword [esi + 0xc]
add esp, 4
sub ecx, dword [esi + 8]
sar ecx, 3
test ecx, ecx
je 0x100c8390
test eax, eax
js 0x100ca841
cmp eax, ecx
jb 0x100ca83f
xor ecx, ecx
jmp 0x100ca842
sub ecx, eax
dec ecx
push ecx
push esi
call fcn.100cc4f0
push eax
push esi
call fcn.100cc5f0
add esp, 0x10
jmp 0x100c8394
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x100ca876
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca872
cmp dword [eax], 0
jne 0x100ca872
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100ca89a
cmp dword [eax - 4], 2
je 0x100ca892
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca88e
cmp dword [eax], 0
jne 0x100ca88e
mov dword [eax], 0xa0
xor edx, edx
jmp 0x100ca89a
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov edx, dword [eax]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x100ca8b8
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca8b4
cmp dword [eax], 0
jne 0x100ca8b4
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100ca8dc
cmp dword [eax - 4], 2
je 0x100ca8d4
mov eax, dword [esi + 4]
test eax, eax
je 0x100ca8d0
cmp dword [eax], 0
jne 0x100ca8d0
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x100ca8dc
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], 0
mov dword [esp + 0x40], 2
cmp ecx, 2
jl 0x100c8394
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp ecx, eax
jbe 0x100ca929
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x100c8398
cmp dword [eax], 0
jne 0x100c8398
mov dword [eax], 0x82
jmp 0x100c8394
test edx, edx
jns 0x100ca938
neg edx
mov eax, edx
cdq
idiv ecx
neg edx
jmp 0x100ca93d
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0x38], edx
test edx, edx
je 0x100c8394
or ebp, 0xffffffff
mov dword [esp + 0x4c], ecx
lea esi, [edx*8]
or edi, ebp
mov dword [esp + 0x3c], esi
lea eax, [ecx*8]
mov esi, dword [esp + 0x94]
lea ebx, [ebp - 7]
nop
cmp ebp, edi
jne 0x100ca99b
mov eax, dword [esi + 8]
inc ebp
mov edi, ebp
lea ebx, [ebp*8]
mov edx, dword [ebx + eax]
mov dword [esp + 0x34], edx
mov edx, dword [ebx + eax + 4]
lea eax, [ecx*8]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x38]
add ebx, dword [esp + 0x3c]
add edi, edx
cmp edi, ecx
jl 0x100ca9ab
sub edi, ecx
sub ebx, eax
jmp 0x100ca9b3
test edi, edi
jns 0x100ca9b3
add edi, ecx
add ebx, eax
sub dword [esp + 0x4c], 1
mov eax, dword [esi + 8]
mov esi, dword [esp + 0x34]
mov ecx, dword [ebx + eax]
mov edx, dword [ebx + eax + 4]
mov dword [ebx + eax], esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x2c]
mov dword [ebx + eax + 4], esi
mov esi, dword [esp + 0x94]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x38]
lea eax, [ecx*8]
jne 0x100ca970
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x100c8390
test al, al
je case.0x100c9190.0
cmp byte [esp + 0x33], 0
je case.0x100c9190.0
push esi
call fcn.100cc550
mov ebp, eax
push esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x3f20], ebp
call fcn.100cc550
mov ecx, dword [esp + 0x18]
mov edi, eax
mov eax, dword [esp + 0x30]
add esp, 8
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
mov dword [eax + 0x1d4], 0
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x100c8398
mov eax, dword [esp + 0x44]
cmp byte [eax + 8], 0
je case.0x100c84a3.0
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x100caa87
mov eax, dword [esi + 4]
test eax, eax
je 0x100caa83
cmp dword [eax], 0
jne 0x100caa83
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100caab1
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x100caaa1
sub eax, 1
jne 0x100caab1
shl ecx, 0x10
jmp 0x100caab1
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx + 0x24]
mov dword [eax], ecx
mov eax, dword [ebx + 0x24]
mov dword [eax + 4], 0
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100caae2
mov eax, dword [esi + 4]
test eax, eax
je 0x100caade
cmp dword [eax], 0
jne 0x100caade
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100cab0c
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100caafc
sub eax, 1
jne 0x100cab0c
shl ecx, 0x10
jmp 0x100cab0c
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [ebx + 0x20]
mov byte [esp + 0x23], 1
add dword [eax], ecx
cmp byte [ebx + 0x2f], 0
jne 0x100c8646
cmp byte [esp + 0x33], 0
mov ebx, dword [esp + 0x18]
je case.0x100c9190.0
mov eax, dword [esi + 8]
add edi, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
mov dword [esi + 0xc], eax
jmp 0x100c8398
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 8], 0
je 0x100cc166
test ah, ah
jne 0x100cc166
push ebp
lea eax, [esp + 0x134]
push edi
push eax
call fcn.100c6d10
mov ecx, dword [esp + 0x1c]
xorps xmm0, xmm0
mov eax, dword [esp + 0x78]
add esp, 0xc
mov byte [esp + 0x33], 1
mov dword [esp + 0xb4], 0
mov dword [esp + 0xd0], 0
movq qword [esp + 0x108], xmm0
mov dword [esp + 0x110], 0
movups xmmword [esp + 0xf8], xmm0
mov dword [esp + 0xf8], eax
mov word [esp + 0xfc], 0x100
test ecx, ecx
jle 0x100cac20
mov ebp, dword [esp + 0xa0]
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x90]
lea eax, [ecx - 1]
cmp eax, edx
jb 0x100cabfd
test ebp, ebp
je 0x100cabfb
cmp dword [ebp], 0
jne 0x100cabfb
mov dword [ebp], 0x82
xor eax, eax
mov edi, ebx
dec ecx
imul edi, eax
add edi, esi
mov dword [esp + 0x18], edi
test ecx, ecx
jg 0x100cabe3
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x100c8398
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
jbe 0x100cac51
cmp byte [esp + 0xfc], 0
jne case.0x100c84a3.0
push 0
lea eax, [esp + 0x27]
push eax
push dword [esp + 0x64]
lea eax, [esp + 0xb0]
push eax
push esi
push dword [esp + 0x58]
call fcn.100c5af0
mov eax, dword [esp + 0x40]
add esp, 0x18
cmp byte [eax + 0x224], 0
jne 0x100c8646
cmp bl, 0x13
jne 0x100cacba
mov eax, dword [esp + 0xb4]
add eax, dword [esp + 0xd0]
mov ebx, dword [esp + 0x18]
push eax
lea eax, [esp + 0xfc]
push ebx
push eax
call fcn.100c7da0
mov eax, dword [esi + 8]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x100c8398
push 0xf1c
lea eax, [esp + 0x2f38]
push 0
push eax
call fcn.1010cde0
mov ecx, dword [esp + 0x50]
xorps xmm0, xmm0
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x2f40], ecx
movlpd qword [esp + 0x124], xmm0
mov al, byte [ecx + 0xb8]
mov byte [esp + 0x2f4d], al
mov eax, dword [esp + 0x94]
mov dword [esp + 0x2f50], eax
lea eax, [esp + 0x1f7c]
mov dword [esp + 0x2f44], eax
lea eax, [esp + 0x2e98]
mov dword [esp + 0x2f48], eax
lea eax, [ecx + 4]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xc0]
add eax, dword [esp + 0xdc]
push eax
lea eax, [esp + 0x124]
movlpd qword [esp + 0x130], xmm0
push ebx
push eax
movlpd qword [esp + 0x140], xmm0
call fcn.100c7da0
push 0
push 0
lea eax, [esp + 0x134]
push eax
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0x2f60]
push eax
call fcn.100c7480
mov eax, dword [esi + 8]
add esp, 0x30
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x100c8398
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x100cadde
cmp byte [esp + 0x23], 0
jne 0x100cadde
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100cadbf
sub eax, 1
jne 0x100cadcf
shl ecx, 0x10
jmp 0x100cadcf
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x80]
add eax, ecx
mov ecx, dword [esp + 0x5c]
mov dword [ecx], eax
mov ebx, dword [esp + 0x28]
mov byte [esp + 0x23], 1
cmp byte [ebx + 0x224], 0
jne 0x100c8646
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100cae12
mov eax, dword [esi + 4]
test eax, eax
je 0x100cae0e
cmp dword [eax], 0
jne 0x100cae0e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100cae3c
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100cae2c
sub eax, 1
jne 0x100cae3c
shl ecx, 0x10
jmp 0x100cae3c
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esi + 0xc]
add ebp, ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x3f18], ebp
cmp edx, dword [esi + 8]
jne 0x100cae77
mov eax, dword [esi + 4]
test eax, eax
je 0x100cae63
cmp dword [eax], 0
jne 0x100cae63
mov dword [eax], 0xa1
xor ecx, ecx
add edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
jmp 0x100c8858
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100caea1
sub eax, 1
jne 0x100caeb1
shl ecx, 0x10
add edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
jmp 0x100c8858
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
jmp 0x100c8858
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x100caf0d
cmp byte [esp + 0x23], 0
jne 0x100caf0d
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100caeee
sub eax, 1
jne 0x100caefe
shl ecx, 0x10
jmp 0x100caefe
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x80]
add eax, ecx
mov ecx, dword [esp + 0x5c]
mov dword [ecx], eax
mov ebx, dword [esp + 0x28]
mov byte [esp + 0x23], 1
cmp byte [ebx + 0x224], 0
jne 0x100c8646
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x100caf41
mov eax, dword [esi + 4]
test eax, eax
je 0x100caf3d
cmp dword [eax], 0
jne 0x100caf3d
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100caf6b
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100caf5b
sub eax, 1
jne 0x100caf6b
shl ecx, 0x10
jmp 0x100caf6b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add edi, ecx
cmp dword [ebx + 0x1d4], 0
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
je 0x100c8865
mov ebx, dword [esp + 0x18]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x100c8398
mov ebp, dword [esi + 0xc]
xor edi, edi
sub ebp, dword [esi + 8]
sar ebp, 3
mov dword [esp + 0x54], ebp
cmp ebp, 6
jbe 0x100cb092
lea ebx, [edi + 6]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x100cafd8
mov eax, dword [esi + 4]
test eax, eax
je 0x100cafd4
cmp dword [eax], 0
jne 0x100cafd4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100caffe
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100cafee
sub eax, 1
jne 0x100caffe
shl ecx, 0x10
jmp 0x100caffe
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x14]
mov edx, dword [esi + 8]
add eax, ecx
mov ecx, dword [esi + 0xc]
sub ecx, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x3f14], eax
lea eax, [ebx - 5]
sar ecx, 3
cmp eax, ecx
jb 0x100cb037
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb033
cmp dword [eax], 0
jne 0x100cb033
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb05e
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x100cb04e
sub eax, 1
jne 0x100cb05e
shl ecx, 0x10
jmp 0x100cb05e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
add eax, ecx
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov dword [esp + 0x3f20], eax
lea eax, [esp + 0x138]
push eax
call fcn.100c6b90
add ebx, 2
add esp, 0xc
add edi, 2
cmp ebx, ebp
jb 0x100cafb3
cmp edi, ebp
jae 0x100cb2f0
add edi, 2
nop dword [eax]
mov ecx, dword [esi + 0xc]
lea eax, [edi - 2]
mov edx, dword [esi + 8]
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x100cb0c8
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb0c4
cmp dword [eax], 0
jne 0x100cb0c4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb0ef
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x100cb0df
sub eax, 1
jne 0x100cb0ef
shl ecx, 0x10
jmp 0x100cb0ef
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x14]
lea eax, [edi - 1]
mov edx, dword [esi + 8]
add ebp, ecx
mov ecx, dword [esi + 0xc]
sub ecx, edx
mov dword [esp + 0x4c], ebp
sar ecx, 3
cmp eax, ecx
jb 0x100cb121
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb11d
cmp dword [eax], 0
jne 0x100cb11d
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb148
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x100cb138
sub eax, 1
jne 0x100cb148
shl ecx, 0x10
jmp 0x100cb148
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebx, dword [esp + 0x1c]
mov eax, dword [esi + 0xc]
add ebx, ecx
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
mov dword [esp + 0x3c], ebx
cmp edi, eax
jb 0x100cb177
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb173
cmp dword [eax], 0
jne 0x100cb173
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb19d
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100cb18d
sub eax, 1
jne 0x100cb19d
shl ecx, 0x10
jmp 0x100cb19d
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esi + 8]
lea eax, [edi + 1]
add ebp, ecx
mov ecx, dword [esi + 0xc]
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x100cb1c7
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb1c3
cmp dword [eax], 0
jne 0x100cb1c3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb1ee
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x100cb1de
sub eax, 1
jne 0x100cb1ee
shl ecx, 0x10
jmp 0x100cb1ee
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esi + 8]
lea eax, [edi + 2]
add ebx, ecx
mov ecx, dword [esi + 0xc]
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x100cb218
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb214
cmp dword [eax], 0
jne 0x100cb214
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb23f
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x100cb22f
sub eax, 1
jne 0x100cb23f
shl ecx, 0x10
jmp 0x100cb23f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esi + 8]
lea eax, [ecx + ebp]
mov ecx, dword [esi + 0xc]
sub ecx, edx
mov dword [esp + 0x14], eax
sar ecx, 3
lea eax, [edi + 3]
cmp eax, ecx
jb 0x100cb26e
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb26a
cmp dword [eax], 0
jne 0x100cb26a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb295
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x100cb285
sub eax, 1
jne 0x100cb295
shl ecx, 0x10
jmp 0x100cb295
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [ebx + ecx]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x138]
push ebx
push ebp
push dword [esp + 0x4c]
push dword [esp + 0x60]
push eax
call fcn.100c6830
mov eax, dword [esp + 0x30]
add edi, 6
mov ebp, dword [esp + 0x38]
add esp, 0x1c
mov dword [esp + 0x3f14], eax
mov dword [esp + 0x3f18], ebp
lea eax, [edi - 2]
cmp eax, dword [esp + 0x54]
jb 0x100cb0a0
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100c8390
mov ebp, dword [esp + 0x1c]
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100c8390
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 8]
sar edi, 3
mov ecx, edi
and ecx, 0xfffffffd
sub edi, ecx
mov dword [esp + 0x3c], ecx
cmp edi, ecx
jae 0x100cb2f4
lea eax, [edi + 3]
lea ebx, [edi + 2]
mov dword [esp + 0x2c], eax
lea edx, [edi + 1]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x40], edx
sub ecx, edi
test cl, 1
je 0x100cb399
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x100cb35c
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb358
cmp dword [eax], 0
jne 0x100cb358
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb382
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100cb372
sub eax, 1
jne 0x100cb382
shl ecx, 0x10
jmp 0x100cb382
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x14]
inc edx
inc ebx
mov dword [esp + 0x40], edx
add ebp, ecx
mov dword [esp + 0x34], ebx
inc edi
inc dword [esp + 0x2c]
jmp 0x100cb39d
mov ebp, dword [esp + 0x14]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x100cb3c2
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb3be
cmp dword [eax], 0
jne 0x100cb3be
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb3e8
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100cb3d8
sub eax, 1
jne 0x100cb3e8
shl ecx, 0x10
jmp 0x100cb3e8
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebx, dword [esp + 0x1c]
mov eax, dword [esi + 0xc]
add ebx, ecx
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x100cb413
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb40f
cmp dword [eax], 0
jne 0x100cb40f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb439
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x100cb429
sub eax, 1
jne 0x100cb439
shl ecx, 0x10
jmp 0x100cb439
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x34]
lea eax, [ecx + ebp]
mov ecx, dword [esi + 8]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0xc]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x100cb469
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb465
cmp dword [eax], 0
jne 0x100cb465
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb48f
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x100cb47f
sub eax, 1
jne 0x100cb48f
shl ecx, 0x10
jmp 0x100cb48f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esi + 0xc]
lea edx, [ebx + ecx]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x100cb4b9
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb4b5
cmp dword [eax], 0
jne 0x100cb4b5
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb4ee
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100cb4d7
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x100cb4ee
shl ecx, 0x10
jmp 0x100cb4ee
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [edx + ecx]
push eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
push eax
push edx
push eax
push ebx
lea eax, [esp + 0x144]
push ebp
push eax
call fcn.100c6830
mov edx, dword [esp + 0x5c]
add edi, 4
mov ebx, dword [esp + 0x50]
add edx, 4
add dword [esp + 0x48], 4
add ebx, 4
mov ecx, dword [esp + 0x58]
add esp, 0x1c
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x3f14], eax
mov dword [esp + 0x3f18], ebp
mov dword [esp + 0x40], edx
mov dword [esp + 0x34], ebx
cmp edi, ecx
jb 0x100cb330
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100c8390
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 8]
sar edi, 3
mov ecx, edi
and ecx, 0xfffffffd
sub edi, ecx
mov dword [esp + 0x3c], ecx
cmp edi, ecx
jae 0x100cb2f4
lea eax, [edi + 3]
lea ebx, [edi + 2]
mov dword [esp + 0x2c], eax
lea edx, [edi + 1]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], edx
nop
sub ecx, edi
test cl, 1
je 0x100cb5f3
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x100cb5bc
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb5b8
cmp dword [eax], 0
jne 0x100cb5b8
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb5e2
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100cb5d2
sub eax, 1
jne 0x100cb5e2
shl ecx, 0x10
jmp 0x100cb5e2
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
inc edx
inc ebx
add ebp, ecx
mov dword [esp + 0x34], edx
inc edi
mov dword [esp + 0x38], ebx
inc dword [esp + 0x2c]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x100cb618
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb614
cmp dword [eax], 0
jne 0x100cb614
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb63e
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100cb62e
sub eax, 1
jne 0x100cb63e
shl ecx, 0x10
jmp 0x100cb63e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 0xc]
add ebx, ecx
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x100cb669
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb665
cmp dword [eax], 0
jne 0x100cb665
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb68f
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x100cb67f
sub eax, 1
jne 0x100cb68f
shl ecx, 0x10
jmp 0x100cb68f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esi + 0xc]
lea edx, [ebx + ecx]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x38], eax
jb 0x100cb6b9
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb6b5
cmp dword [eax], 0
jne 0x100cb6b5
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb6ee
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100cb6d7
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x100cb6ee
shl ecx, 0x10
jmp 0x100cb6ee
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [ecx + ebp]
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xc]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x100cb71c
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb718
cmp dword [eax], 0
jne 0x100cb718
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb751
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100cb73a
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x100cb751
shl ecx, 0x10
jmp 0x100cb751
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [edx + ecx]
mov ecx, dword [esp + 0x1c]
push ecx
push eax
push ecx
push edx
push ebp
mov dword [esp + 0x28], eax
lea eax, [esp + 0x144]
push ebx
push eax
call fcn.100c6830
mov edx, dword [esp + 0x50]
add edi, 4
mov ebx, dword [esp + 0x54]
add edx, 4
add dword [esp + 0x48], 4
add ebx, 4
mov ecx, dword [esp + 0x58]
add esp, 0x1c
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x3f14], eax
mov dword [esp + 0x3f18], ebp
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ebx
cmp edi, ecx
jb 0x100cb590
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100c8390
mov ebp, dword [esi + 0xc]
sub ebp, dword [esi + 8]
sar ebp, 3
cmp bl, 0x1f
mov eax, ebp
sete bl
and eax, 0xfffffffd
sub ebp, eax
mov dword [esp + 0x4c], eax
cmp ebp, eax
jae 0x100cbc32
lea eax, [ebp + 4]
mov dword [esp + 0x2c], eax
lea edx, [ebp + 1]
lea eax, [ebp + 3]
mov dword [esp + 0x40], edx
mov dword [esp + 0x38], eax
lea eax, [ebp + 2]
mov dword [esp + 0x34], eax
nop
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
test bl, bl
je 0x100cb9f9
cmp ebp, eax
jb 0x100cb82d
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb829
cmp dword [eax], 0
jne 0x100cb829
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb853
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x100cb843
sub eax, 1
jne 0x100cb853
shl ecx, 0x10
jmp 0x100cb853
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
lea ebx, [ecx + edi]
mov ecx, dword [esi + 8]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0xc]
sub eax, ecx
mov dword [esp + 0x3c], ebx
sar eax, 3
cmp edx, eax
jb 0x100cb887
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb883
cmp dword [eax], 0
jne 0x100cb883
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb8ad
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x100cb89d
sub eax, 1
jne 0x100cb8ad
shl ecx, 0x10
jmp 0x100cb8ad
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esi + 0xc]
lea edi, [ebx + ecx]
mov ecx, dword [esi + 8]
sub eax, ecx
mov ebx, dword [esp + 0x34]
sar eax, 3
cmp ebx, eax
jb 0x100cb8d9
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb8d5
cmp dword [eax], 0
jne 0x100cb8d5
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb8ff
mov eax, dword [ecx + ebx*8 + 4]
mov ecx, dword [ecx + ebx*8]
sub eax, 1
je 0x100cb8ef
sub eax, 1
jne 0x100cb8ff
shl ecx, 0x10
jmp 0x100cb8ff
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x1c]
mov eax, dword [esi + 0xc]
add edx, ecx
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x38], eax
jb 0x100cb92c
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb928
cmp dword [eax], 0
jne 0x100cb928
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb961
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100cb94a
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x100cb961
shl ecx, 0x10
jmp 0x100cb961
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [edx + ecx]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x4c]
sub eax, ebp
cmp eax, 5
jne 0x100cb9ee
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x100cb99a
mov eax, dword [esi + 4]
test eax, eax
je 0x100cb996
cmp dword [eax], 0
jne 0x100cb996
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cb9cf
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100cb9b8
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x100cb9cf
shl ecx, 0x10
jmp 0x100cb9cf
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
inc dword [esp + 0x40]
inc ebx
inc dword [esp + 0x38]
add ecx, edi
inc dword [esp + 0x2c]
inc ebp
mov dword [esp + 0x34], ebx
xor bl, bl
mov dword [esp + 0x14], ecx
jmp 0x100cbbd3
mov dword [esp + 0x14], edi
xor bl, bl
jmp 0x100cbbd3
mov dword [esp + 0x3c], edi
cmp ebp, eax
jb 0x100cba17
mov eax, dword [esi + 4]
test eax, eax
je 0x100cba13
cmp dword [eax], 0
jne 0x100cba13
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cba3d
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x100cba2d
sub eax, 1
jne 0x100cba3d
shl ecx, 0x10
jmp 0x100cba3d
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
add eax, ecx
mov ecx, dword [esi + 8]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0xc]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x100cba6c
mov eax, dword [esi + 4]
test eax, eax
je 0x100cba68
cmp dword [eax], 0
jne 0x100cba68
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cba92
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x100cba82
sub eax, 1
jne 0x100cba92
shl ecx, 0x10
jmp 0x100cba92
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esi + 0xc]
add edi, ecx
mov ecx, dword [esi + 8]
sub eax, ecx
mov ebx, dword [esp + 0x34]
sar eax, 3
cmp ebx, eax
jb 0x100cbabd
mov eax, dword [esi + 4]
test eax, eax
je 0x100cbab9
cmp dword [eax], 0
jne 0x100cbab9
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cbae3
mov eax, dword [ecx + ebx*8 + 4]
mov ecx, dword [ecx + ebx*8]
sub eax, 1
je 0x100cbad3
sub eax, 1
jne 0x100cbae3
shl ecx, 0x10
jmp 0x100cbae3
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x54]
mov eax, dword [esi + 0xc]
add edx, ecx
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x38], eax
jb 0x100cbb10
mov eax, dword [esi + 4]
test eax, eax
je 0x100cbb0c
cmp dword [eax], 0
jne 0x100cbb0c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cbb45
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100cbb2e
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x100cbb45
shl ecx, 0x10
jmp 0x100cbb45
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [edi + ecx]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
sub eax, ebp
cmp eax, 5
jne 0x100cbbcd
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x100cbb7e
mov eax, dword [esi + 4]
test eax, eax
je 0x100cbb7a
cmp dword [eax], 0
jne 0x100cbb7a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100cbbb3
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100cbb9c
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x100cbbb3
shl ecx, 0x10
jmp 0x100cbbb3
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
inc dword [esp + 0x40]
add ecx, edx
inc dword [esp + 0x38]
inc ebx
inc ebp
mov dword [esp + 0x1c], ecx
inc dword [esp + 0x2c]
mov dword [esp + 0x34], ebx
jmp 0x100cbbd1
mov dword [esp + 0x1c], edx
mov bl, 1
push dword [esp + 0x1c]
lea eax, [esp + 0x134]
push dword [esp + 0x18]
push edx
push edi
push dword [esp + 0x64]
push dword [esp + 0x50]
push eax
call fcn.100c6830
mov edx, dword [esp + 0x5c]
add ebp, 4
add dword [esp + 0x50], 4
add edx, 4
add dword [esp + 0x54], 4
add esp, 0x1c
add dword [esp + 0x2c], 4
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x3f14], edi
mov dword [esp + 0x3f18], eax
mov dword [esp + 0x40], edx
cmp ebp, dword [esp + 0x4c]
jb 0x100cb800
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x100c8394
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jae 0x100cbc5c
mov cl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
movzx edx, cl
jmp 0x100cbc6f
mov eax, dword [ebx]
test eax, eax
je 0x100cbc6d
cmp dword [eax], 0
jne 0x100cbc6d
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jae 0x100cbc8d
mov cl, byte [eax]
inc eax
shl edx, 8
mov dword [ebx + 0xc], eax
movzx eax, cl
movsx edx, dx
or edx, eax
jmp 0x100c835c
mov eax, dword [ebx]
test eax, eax
je 0x100cbc9e
cmp dword [eax], 0
jne 0x100cbc9e
mov dword [eax], 0x55
shl edx, 8
xor eax, eax
movsx edx, dx
or edx, eax
jmp 0x100c835c
mov dword [edi], edx
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x100c8390
cmp bl, 0xf6
ja 0x100cbd14
lea edi, [edx - 0x8b]
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x100cbda1
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
test eax, eax
je 0x100c8398
cmp dword [eax], 0
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
jne 0x100c8398
mov dword [eax], 0x82
jmp 0x100c8390
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
cmp bl, 0xfa
ja 0x100cbd5d
shl edx, 8
cmp eax, ecx
jae 0x100cbd3d
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx eax, cl
lea edi, [eax - 0xf694]
add edi, edx
jmp 0x100cbccd
mov eax, dword [edi]
test eax, eax
je 0x100cbd4e
cmp dword [eax], 0
jne 0x100cbd4e
mov dword [eax], 0x55
xor eax, eax
lea edi, [eax - 0xf694]
add edi, edx
jmp 0x100cbccd
cmp bl, 0xfe
ja 0x100cbdba
shl edx, 8
cmp eax, ecx
jae 0x100cbd80
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
mov edi, 0xfa94
movzx eax, cl
sub edi, edx
sub edi, eax
jmp 0x100cbccd
mov eax, dword [edi]
test eax, eax
je 0x100cbd91
cmp dword [eax], 0
jne 0x100cbd91
mov dword [eax], 0x55
mov edi, 0xfa94
xor eax, eax
sub edi, edx
sub edi, eax
jmp 0x100cbccd
mov ebx, dword [esp + 0x18]
mov dword [edx], edi
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x100c8390
cmp eax, ecx
jae 0x100cbdc9
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx edx, cl
jmp 0x100cbddc
mov eax, dword [edi]
test eax, eax
je 0x100cbdda
cmp dword [eax], 0
jne 0x100cbdda
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 8]
jae 0x100cbdef
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx ebx, cl
jmp 0x100cbe02
mov eax, dword [edi]
test eax, eax
je 0x100cbe00
cmp dword [eax], 0
jne 0x100cbe00
mov dword [eax], 0x55
xor ebx, ebx
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 8]
jae 0x100cbe15
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx edi, cl
jmp 0x100cbe28
mov eax, dword [edi]
test eax, eax
je 0x100cbe26
cmp dword [eax], 0
jne 0x100cbe26
mov dword [eax], 0x55
xor edi, edi
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x100cbe47
mov ebp, dword [esp + 0x18]
mov cl, byte [eax]
inc eax
mov dword [ebp + 0xc], eax
mov ebp, dword [esp + 0x1c]
movzx eax, cl
jmp 0x100cbe5a
mov eax, dword [ecx]
test eax, eax
je 0x100cbe58
cmp dword [eax], 0
jne 0x100cbe58
mov dword [eax], 0x55
xor eax, eax
shl edx, 8
or edx, ebx
shl edx, 8
or edx, edi
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x44]
cmp byte [eax + 8], 0
je 0x100cbec5
cmp edx, 0x7d00
jg 0x100cbe83
cmp edx, 0xffff8300
jge 0x100cbe98
mov ecx, dword [esp + 0x68]
test cl, cl
movzx eax, cl
mov ecx, 1
cmove eax, ecx
mov byte [esp + 0x68], al
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edi, eax
je 0x100cbce1
mov ebx, dword [esp + 0x18]
mov dword [edi], edx
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x100c8390
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
mov ebx, dword [esp + 0x18]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x10]
cmp edi, eax
je 0x100cbce9
mov dword [edi], edx
mov eax, dword [esi + 0xc]
mov edi, dword [esp + 0x14]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x100c8398
mov edx, dword [esp + 0x28]
cmp byte [edx + 0x2f], 0
je 0x100cbf0e
mov eax, 0x12
jmp 0x100c864a
cmp dword [edx + 0x244], 0
mov ecx, dword [esp + 0x3c]
jne 0x100cbf31
mov eax, dword [ecx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x100cbf31
mov eax, 0x12
jmp 0x100c864a
mov eax, dword [edx + 0x20]
add ebx, dword [eax]
mov eax, dword [ecx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x100cbf62
push ebp
push edx
call fcn.100ccc40
push edi
push dword [esp + 0x34]
mov ebp, eax
call fcn.100ccc40
mov edx, dword [esp + 0x38]
mov edi, eax
add esp, 0x10
mov dword [esp + 0x64], edi
test ebp, ebp
js 0x100c9617
test edi, edi
js 0x100c9617
cmp byte [edx + 0x2e], 0
je 0x100cc024
mov eax, dword [edx + 8]
mov dword [esp + 0x7c], eax
push 2
mov eax, dword [eax + 0x9c]
mov edi, dword [eax]
push edi
mov dword [esp + 0x80], edi
call fcn.10089050
add esp, 8
test eax, eax
jne 0x100c864a
mov edi, dword [edi + 0x58]
mov eax, 0x202
sub ebx, dword [esp + 0x4c]
push ebx
mov word [edi + 4], ax
mov eax, dword [esp + 0x68]
mov dword [edi + 0x20], eax
mov eax, 2
mov dword [edi], ebp
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov word [edi + 0x24], ax
call fcn.1008bff0
push dword [esp + 0x78]
sar eax, 0x10
mov dword [edi + 0x28], eax
call fcn.1008bff0
mov ecx, dword [esp + 0x84]
add esp, 8
mov edx, dword [esp + 0x78]
sar eax, 0x10
mov dword [edi + 0x2c], eax
mov dword [ecx + 0x80], 2
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x84], eax
mov dword [ecx + 0x48], 0x636f6d70
mov dword [edx + 0x54], 2
jmp 0x100c8646
push dword [edx + 0xc]
call fcn.10089170
lea eax, [esp + 0x3e54]
push eax
push ebp
push dword [esp + 0x34]
call fcn.100c6190
add esp, 0x10
test eax, eax
jne 0x100c864a
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x20]
mov ebp, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + 0x24]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x98]
push eax
push 0
push 0
push 1
push dword [esp + 0x94]
lea eax, [esp + 0x3e64]
mov dword [esp + 0x78], ecx
push dword [esp + 0x84]
push eax
push dword [esp + 0x60]
call fcn.100c7e20
lea eax, [esp + 0x3e70]
push eax
push dword [esp + 0x4c]
call fcn.100c6040
mov edx, dword [esp + 0x50]
add esp, 0x28
cmp byte [esp + 0x23], 0
jne 0x100cc0d1
mov eax, dword [edx + 0x20]
mov ebp, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x3c], eax
mov eax, dword [edx + 0x24]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x54], eax
mov eax, dword [edx + 0x20]
mov dword [eax], 0
mov eax, dword [edx + 0x20]
mov dword [eax + 4], 0
lea eax, [esp + 0x3e50]
push eax
push edi
push edx
call fcn.100c6190
add esp, 0xc
test eax, eax
jne 0x100c864a
sub ebx, dword [esp + 0x4c]
lea eax, [esp + 0x98]
push eax
push dword [esp + 0x78]
lea eax, [esp + 0x3e58]
push ebx
push 1
push dword [esp + 0x94]
push dword [esp + 0x84]
push eax
push dword [esp + 0x60]
call fcn.100c7e20
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x3e70]
push eax
push ebx
call fcn.100c6040
mov eax, dword [ebx + 0x20]
add esp, 0x28
mov ecx, dword [esp + 0x3c]
mov dword [eax], ebp
mov dword [eax + 4], ecx
mov eax, dword [ebx + 0x24]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 4], ecx
jmp 0x100c8646
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
je 0x100cc179
cmp eax, 5
jne 0x100cc198
cmp byte [esp + 0x23], 0
jne 0x100cc198
push 0
push esi
call fcn.100cc4f0
mov ecx, dword [esp + 0x64]
add esp, 8
add eax, dword [esp + 0x80]
mov dword [ecx], eax
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x224], 0
jne 0x100c8646
cmp byte [esp + 0x2ebc], 0
je 0x100cc22d
push dword [esp + 0x2f08]
lea eax, [esp + 0x134]
mov byte [esp + 0x2ec1], 1
push dword [esp + 0x2f08]
push eax
call fcn.100c6b90
add esp, 0xc
cmp byte [esp + 0x2f0c], 0
je 0x100cc213
push 1
push dword [esp + 0x2ef4]
lea eax, [esp + 0x2eec]
push dword [esp + 0x2ef4]
push eax
lea eax, [esp + 0x148]
push eax
lea eax, [esp + 0x144]
push eax
call fcn.100c6e60
add esp, 0x18
mov byte [esp + 0x2ebf], 1
mov word [esp + 0x2ebc], 0
mov byte [esp + 0x2f0c], 0
cmp byte [ebx + 9], 0
jne 0x100c8646
cmp byte [ebx + 8], 0
jne 0x100c8646
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
jbe 0x100c8646
cmp byte [esp + 0x3f10], 0
je 0x100cc267
mov eax, 0x12
jmp 0x100c864a
push esi
call fcn.100cc5a0
push esi
mov edi, eax
call fcn.100cc5a0
push esi
mov ebx, eax
call fcn.100cc550
push esi
mov ebp, eax
call fcn.100cc550
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x3e60]
push eax
push edi
mov edi, dword [esp + 0x40]
push edi
call fcn.100c60c0
add esp, 0x1c
test eax, eax
jne 0x100c864a
lea eax, [esp + 0x78]
push eax
push ebp
push dword [esp + 0x84]
mov ebp, dword [esp + 0x50]
lea eax, [esp + 0x3e5c]
push 1
push dword [esp + 0x94]
push dword [esp + 0x84]
push eax
push ebp
call fcn.100c7e20
lea eax, [esp + 0x3e70]
push eax
push edi
call fcn.100c6010
lea eax, [esp + 0x3e78]
push eax
push ebx
push edi
call fcn.100c60c0
add esp, 0x34
test eax, eax
jne 0x100c864a
lea eax, [esp + 0x78]
push eax
push 0
push 0
push 1
push dword [esp + 0x94]
lea eax, [esp + 0x3e64]
push dword [esp + 0x84]
push eax
push ebp
call fcn.100c7e20
lea eax, [esp + 0x3e70]
push eax
push edi
call fcn.100c6010
add esp, 0x28
jmp 0x100c8646
xor eax, eax
jmp 0x100c864e