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

Disassembly:
mov eax, 0x3eec
call fcn.101f4fb0
mov eax, dword [0x102d94c0]
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.101f69f0
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.101f69f0
mov eax, dword [esp + 0x88]
movaps xmm0, xmmword [0x10250c10]
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.101f69f0
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.101f69f0
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.101f69f0
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 0x10116bbe
test esi, esi
jmp 0x10116bc2
mov esi, ebx
test ebx, ebx
jns 0x10116bc6
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 0x10116c2f
mov eax, dword [ecx + 0x214]
mov ebx, dword [eax + 0x614]
jmp 0x10116c34
mov ebx, 0x30
lea eax, [esp + 0x9c]
mov dword [esp + 0x64], ebx
push eax
push 0x14
push edi
call fcn.100dce50
add esp, 0xc
mov esi, eax
cmp dword [esp + 0x9c], 0
mov dword [esp + 0x94], esi
jne 0x10116c96
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.100dcea0
add esp, 0x18
mov dword [esi + 8], eax
cmp dword [esp + 0x9c], 0
je 0x10116ca2
push esi
push edi
call fcn.100dce30
add esp, 8
xor esi, esi
xor edi, edi
lea eax, [esi + 0x40]
jmp 0x1011701e
mov dword [esi + 0xc], eax
lea eax, [esp + 0xdc]
push 0x11
push eax
mov dword [esi + 0x10], ebx
call fcn.10113440
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 0x1011ad0e
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 0x10116d68
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edi, eax
jne 0x1011a67d
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
test eax, eax
je 0x10116d68
cmp dword [eax], 0
mov ecx, dword [esp + 0x10]
jne 0x10116d68
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 0x10116d85
test ecx, ecx
mov ebx, 0xb
mov eax, 0xe
cmove ebx, eax
mov dword [esp + 0x34], ebx
jmp 0x10116db2
mov cl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
mov bl, cl
mov dword [esp + 0x34], ebx
cmp cl, 0xb
je 0x10116d9b
cmp cl, 0xe
jne 0x10116dae
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 0x10116e4f
test ah, ah
jne 0x10116e00
cmp bl, 1
je 0x10116e00
cmp bl, 3
je 0x10116e00
cmp bl, 0xd
je 0x10116e00
cmp bl, 0xa
je 0x10116e00
cmp bl, 0xb
je 0x10116e00
cmp bl, 0xc
je 0x10116e00
cmp bl, 0xe
je 0x10116e00
cmp bl, 0x20
jae 0x10116e00
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10116d68
mov edx, dword [esp + 0x60]
test edx, edx
jle 0x10116e2b
cmp bl, 0xa
je 0x10116e2b
cmp bl, 0xb
je 0x10116e2b
cmp bl, 0xc
je 0x10116e2b
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 0x10116e4f
cmp bl, 0x20
jae 0x10116e4f
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 0x10117016
sub dword [esp + 0x74], 1
je 0x10117fe7
movzx edx, bl
cmp edx, 0x1f
ja case.default.0x10116e73
jmp dword [edx*4 + 0x1011ad18]
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 9], 0
je case.0x10116e73.0
cmp byte [ebx + 0x5d], 0
jne 0x10117fe7
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x10116ebc
mov eax, dword [esi + 4]
test eax, eax
je 0x10116ea8
cmp dword [eax], 0
jne 0x10116ea8
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 0x10116d68
cmp dword [eax - 4], 2
je 0x10116ee8
mov eax, dword [esi + 4]
test eax, eax
je 0x10116ed4
cmp dword [eax], 0
jne 0x10116ed4
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 0x10116d68
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
test eax, eax
js case.0x10116e73.0
mov dword [ebx + 0x78], eax
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10116d68
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 9], 0
je case.0x10116e73.0
cmp dword [ebx + 0x60], 0
je 0x10117fe7
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 0x10116f63
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 0x1011701a
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x10116f81
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x10116f7d
cmp dword [ecx], 0
jne 0x10116f7d
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x10116fa5
cmp dword [eax - 4], 2
je 0x10116f9d
mov eax, dword [esi + 4]
test eax, eax
je 0x10116f99
cmp dword [eax], 0
jne 0x10116f99
mov dword [eax], 0xa0
xor eax, eax
jmp 0x10116fa5
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x64]
ja 0x10117fe7
push eax
push esi
push edi
call fcn.10113f90
mov byte [ebx + 0x5d], 1
add esp, 0xc
mov ebx, dword [esp + 0x18]
jmp 0x10116d60
test al, al
jne 0x10116fdc
cmp byte [esp + 0xfc], al
jne case.0x10116e73.0
xor eax, eax
jmp 0x10116fe6
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.101144c0
mov eax, dword [esp + 0x40]
add esp, 0x18
cmp byte [eax + 0x224], 0
je 0x10119955
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x6c]
test ebx, ebx
je 0x1011702d
cmp dword [ebx], 0
jne 0x1011702d
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.100dce30
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.100dce30
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.100dce30
push edi
push dword [esp + 0xf8]
mov dword [esp + 0xf8], 0
call fcn.100dce30
add esp, 0x20
test esi, esi
je 0x1011711a
push dword [esi + 8]
mov edi, dword [esi]
push edi
call fcn.100dce30
push esi
push edi
mov dword [esi + 8], 0
call fcn.100dce30
add esp, 0x10
mov ecx, dword [esp + 0x3ef8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101f469d
add esp, 0x3eec
ret
test al, al
jne 0x10117158
cmp byte [esp + 0xfc], al
jne case.0x10116e73.0
xor eax, eax
push eax
lea eax, [esp + 0x27]
push eax
lea eax, [esp + 0xac]
jmp 0x10116ff3
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 0x10116ff3
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x101171bd
cmp byte [esp + 0x23], 0
jne 0x101171bd
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1011719e
sub eax, 1
jne 0x101171ae
shl ecx, 0x10
jmp 0x101171ae
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 0x10117016
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x101171f1
mov eax, dword [esi + 4]
test eax, eax
je 0x101171ed
cmp dword [eax], 0
jne 0x101171ed
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1011721b
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1011720b
sub eax, 1
jne 0x1011721b
shl ecx, 0x10
jmp 0x1011721b
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 0x10119955
push ebp
lea eax, [esp + 0x134]
push edi
push eax
call fcn.101156e0
mov eax, dword [esi + 8]
add esp, 0xc
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x10116d68
mov ebp, dword [esi + 0xc]
xor ebx, ebx
sub ebp, dword [esi + 8]
sar ebp, 3
test ebp, ebp
je 0x1011a602
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 0x1011729d
mov eax, dword [esi + 4]
test eax, eax
je 0x10117299
cmp dword [eax], 0
jne 0x10117299
mov dword [eax], 0x82
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor edi, edi
jmp 0x101172c3
mov eax, dword [edx + ebx*8 + 4]
mov edi, dword [edx + ebx*8]
sub eax, 1
je 0x101172b3
sub eax, 1
jne 0x101172c3
shl edi, 0x10
jmp 0x101172c3
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 0x101172f4
mov eax, dword [esi + 4]
test eax, eax
je 0x101172f0
cmp dword [eax], 0
jne 0x101172f0
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011731b
mov eax, dword [edx + ebx*8 + 0xc]
mov ecx, dword [edx + ebx*8 + 8]
sub eax, 1
je 0x1011730b
sub eax, 1
jne 0x1011731b
shl ecx, 0x10
jmp 0x1011731b
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.10115560
add ebx, 2
add esp, 0xc
cmp ebx, ebp
jb 0x10117270
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10116d64
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 0x1011740d
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1011739a
mov eax, dword [esi + 4]
test eax, eax
je 0x10117396
cmp dword [eax], 0
jne 0x10117396
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101173c0
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x101173b0
sub eax, 1
jne 0x101173c0
shl ecx, 0x10
jmp 0x101173c0
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test bl, bl
je 0x101173d7
mov eax, dword [esp + 0x14]
add eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x3f14], eax
jmp 0x101173ec
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.10115560
inc edi
add esp, 0xc
cmp edi, ebp
jb 0x10117375
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10116d60
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 0x101176a2
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 0x1011746d
mov eax, dword [esi + 4]
test eax, eax
je 0x10117469
cmp dword [eax], 0
jne 0x10117469
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x10117494
mov eax, dword [edx + ebx*8 - 0xc]
mov ecx, dword [edx + ebx*8 - 0x10]
sub eax, 1
je 0x10117484
sub eax, 1
jne 0x10117494
shl ecx, 0x10
jmp 0x10117494
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 0x101174c8
mov eax, dword [esi + 4]
test eax, eax
je 0x101174c4
cmp dword [eax], 0
jne 0x101174c4
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x101174ef
mov eax, dword [edx + ebx*8 - 4]
mov ecx, dword [edx + ebx*8 - 8]
sub eax, 1
je 0x101174df
sub eax, 1
jne 0x101174ef
shl ecx, 0x10
jmp 0x101174ef
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 0x10117520
mov eax, dword [esi + 4]
test eax, eax
je 0x1011751c
cmp dword [eax], 0
jne 0x1011751c
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x10117546
mov eax, dword [edx + ebx*8 + 4]
mov ecx, dword [edx + ebx*8]
sub eax, 1
je 0x10117536
sub eax, 1
jne 0x10117546
shl ecx, 0x10
jmp 0x10117546
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 0x1011757a
mov eax, dword [esi + 4]
test eax, eax
je 0x10117576
cmp dword [eax], 0
jne 0x10117576
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x101175a1
mov eax, dword [edx + ebx*8 + 0xc]
mov ecx, dword [edx + ebx*8 + 8]
sub eax, 1
je 0x10117591
sub eax, 1
jne 0x101175a1
shl ecx, 0x10
jmp 0x101175a1
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 0x101175cd
mov eax, dword [esi + 4]
test eax, eax
je 0x101175c9
cmp dword [eax], 0
jne 0x101175c9
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x101175f4
mov eax, dword [edx + ebx*8 + 0x14]
mov ecx, dword [edx + ebx*8 + 0x10]
sub eax, 1
je 0x101175e4
sub eax, 1
jne 0x101175f4
shl ecx, 0x10
jmp 0x101175f4
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 0x10117620
mov eax, dword [esi + 4]
test eax, eax
je 0x1011761c
cmp dword [eax], 0
jne 0x1011761c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10117647
mov eax, dword [edx + ebx*8 + 0x1c]
mov ecx, dword [edx + ebx*8 + 0x18]
sub eax, 1
je 0x10117637
sub eax, 1
jne 0x10117647
shl ecx, 0x10
jmp 0x10117647
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.10115200
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 0x10117440
mov ebx, dword [esp + 0x34]
cmp bl, 0x18
jne 0x1011778d
mov ecx, dword [esi + 0xc]
mov eax, ecx
mov edi, dword [esi + 8]
sub eax, edi
sar eax, 3
cmp ebp, eax
jb 0x101176d8
mov eax, dword [esi + 4]
test eax, eax
je 0x101176d4
cmp dword [eax], 0
jne 0x101176d4
mov dword [eax], 0x82
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
xor edx, edx
jmp 0x101176fe
mov eax, dword [edi + ebp*8 + 4]
mov edx, dword [edi + ebp*8]
sub eax, 1
je 0x101176ee
sub eax, 1
jne 0x101176fe
shl edx, 0x10
jmp 0x101176fe
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 0x10117731
mov eax, dword [esi + 4]
test eax, eax
je 0x1011772d
cmp dword [eax], 0
jne 0x1011772d
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10117757
mov ecx, dword [edi + eax*8]
mov eax, dword [edi + eax*8 + 4]
sub eax, 1
je 0x10117747
sub eax, 1
jne 0x10117757
shl ecx, 0x10
jmp 0x10117757
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.10115560
mov eax, dword [esi + 8]
add esp, 0xc
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10116d64
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10116d64
test al, al
je case.0x10116e73.0
cmp byte [esp + 0x2ebc], 0
je 0x1011782c
push dword [esp + 0x2f08]
lea eax, [esp + 0x134]
mov byte [esp + 0x2ec1], 1
push dword [esp + 0x2f08]
push eax
call fcn.10115560
add esp, 0xc
cmp byte [esp + 0x2f0c], 0
je 0x10117812
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.10115830
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 0x10116d68
cmp ecx, 0x10
jg 0x10117fe7
inc ecx
cmp ecx, dword [esp + 0x8c]
jb 0x1011786f
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x1011786d
cmp dword [eax], 0
jne 0x1011786d
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 0x1011789f
mov eax, dword [esi + 4]
test eax, eax
je 0x1011789b
cmp dword [eax], 0
jne 0x1011789b
mov dword [eax], 0xa1
xor eax, eax
jmp 0x101178c3
cmp dword [eax - 4], 2
je 0x101178bb
mov eax, dword [esi + 4]
test eax, eax
je 0x101178b7
cmp dword [eax], 0
jne 0x101178b7
mov dword [eax], 0xa0
xor eax, eax
jmp 0x101178c3
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 0x101178f4
mov ecx, dword [edx + 0x268]
test ecx, ecx
je 0x101178f4
push ecx
push eax
call fcn.100dc9f0
mov edx, dword [esp + 0x30]
add esp, 8
test eax, eax
je 0x101178f1
mov eax, dword [eax]
jmp 0x101178f4
or eax, 0xffffffff
cmp bl, 0x1d
xorps xmm0, xmm0
mov ebx, dword [esp + 0x18]
movups xmmword [ebx], xmm0
je 0x10117999
mov ecx, dword [edx + 0x234]
add ecx, eax
cmp ecx, dword [edx + 0x22c]
jb 0x10117921
mov eax, 1
jmp 0x101179ce
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 0x1011797d
mov eax, dword [eax + 0x264]
test eax, eax
je 0x1011795b
test ecx, ecx
je 0x10117957
mov eax, dword [eax + edx]
add eax, ecx
jmp 0x10117987
xor eax, eax
jmp 0x10117987
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 0x101179cc
mov ecx, dword [edx + 0x238]
add ecx, eax
cmp ecx, dword [edx + 0x230]
jb 0x101179b0
mov eax, 1
jmp 0x101179ce
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 0x10117fe7
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
jmp 0x10116d68
cmp ecx, 1
jl 0x10117fe7
dec ecx
mov ebx, ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x8c]
jb 0x10117a15
mov edx, dword [esp + 0xa0]
test edx, edx
je 0x10117a13
cmp dword [edx], 0
jne 0x10117a13
mov dword [edx], 0x82
xor ebx, ebx
imul ebx, dword [esp + 0x90]
add ebx, dword [esp + 0x24]
mov dword [esp + 0x18], ebx
jmp 0x10116d68
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jae 0x10117a3e
mov cl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
jmp 0x10117a51
mov eax, dword [ebx]
test eax, eax
je 0x10117a4f
cmp dword [eax], 0
jne 0x10117a4f
mov dword [eax], 0x55
xor cl, cl
movzx eax, cl
add eax, 0xfffffff8
mov byte [esp + 0x5b], cl
cmp eax, 0x1d
ja case.0x10117a6b.9
movzx eax, byte [eax + 0x1011adb0]
jmp dword [eax*4 + 0x1011ad98]
push 0
push 0x1025097c
jmp 0x10117ad8
push 0
push 0x10250988
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x3f24]
push eax
lea eax, [esp + 0x3f24]
push eax
push esi
call fcn.101141c0
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 0x10116d68
push 0
push 0x10250994
jmp 0x10117ad8
push 1
push 0x102509a0
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x3f24]
push eax
lea eax, [esp + 0x3f24]
push eax
push esi
call fcn.101141c0
mov ebp, dword [esp + 0x3f30]
add esp, 0x18
mov edi, dword [esp + 0x3f14]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], edi
jmp 0x10116d64
mov eax, dword [esp + 0x44]
cmp byte [eax + 9], 0
jne case.0x10117b60.0
cmp cl, 0x26
jae case.0x10117b60.0
mov al, byte [eax + 8]
mov edx, dword [esp + 0x60]
test al, al
je 0x10117b54
test edx, edx
jle 0x10117b54
cmp cl, 0x11
je 0x10117b54
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x10116d68
movzx ecx, cl
cmp ecx, 0x21
ja case.0x10117b60.0
jmp dword [ecx*4 + 0x1011add0]
test al, al
je case.0x10117b60.0
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x10117b94
mov eax, dword [esi + 4]
test eax, eax
je 0x10117b90
cmp dword [eax], 0
jne 0x10117b90
mov dword [eax], 0x82
xor edi, edi
jmp 0x10117bb8
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x10117ba8
sub eax, 1
jne 0x10117bb8
shl edi, 0x10
jmp 0x10117bb8
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 0x10117bde
mov eax, dword [esi + 4]
test eax, eax
je 0x10117bda
cmp dword [eax], 0
jne 0x10117bda
mov dword [eax], 0x82
xor ebx, ebx
jmp 0x10117c03
mov eax, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x10]
sub eax, 1
je 0x10117bf3
sub eax, 1
jne 0x10117c03
shl ebx, 0x10
jmp 0x10117c03
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 0x10117c29
mov eax, dword [esi + 4]
test eax, eax
je 0x10117c25
cmp dword [eax], 0
jne 0x10117c25
mov dword [eax], 0x82
xor edx, edx
jmp 0x10117c4e
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x20]
sub eax, 1
je 0x10117c3e
sub eax, 1
jne 0x10117c4e
shl edx, 0x10
jmp 0x10117c4e
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 0x10117c74
mov eax, dword [esi + 4]
test eax, eax
je 0x10117c70
cmp dword [eax], 0
jne 0x10117c70
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10117c99
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub eax, 1
je 0x10117c89
sub eax, 1
jne 0x10117c99
shl ecx, 0x10
jmp 0x10117c99
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 0x10117cbd
mov eax, dword [esi + 4]
test eax, eax
je 0x10117cd0
cmp dword [eax], 0
jne 0x10117cd0
mov dword [eax], 0x82
jmp 0x10117cd0
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 0x10117cf6
mov eax, dword [esi + 4]
test eax, eax
je 0x10117cf2
cmp dword [eax], 0
jne 0x10117cf2
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10117d1b
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x18]
sub eax, 1
je 0x10117d0b
sub eax, 1
jne 0x10117d1b
shl ecx, 0x10
jmp 0x10117d1b
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 0x10117d3f
mov eax, dword [esi + 4]
test eax, eax
je 0x10117d50
cmp dword [eax], 0
jne 0x10117d50
mov dword [eax], 0x82
jmp 0x10117d50
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 0x10117d62
mov eax, dword [eax]
jmp 0x10117d65
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.101144c0
add esp, 0x18
cmp byte [ebx + 0x224], 0
jne 0x10117016
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 0x10116d68
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x10117dd4
mov eax, dword [esi + 4]
test eax, eax
je 0x10117dd0
cmp dword [eax], 0
jne 0x10117dd0
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10117dfe
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x10117dee
sub eax, 1
jne 0x10117dfe
shl edx, 0x10
jmp 0x10117dfe
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 0x10117e27
mov eax, dword [esi + 4]
test eax, eax
je 0x10117f09
cmp dword [eax], 0
jne 0x10117f09
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10116d2c
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov ecx, dword [edi]
sub eax, 1
je 0x10117e41
sub eax, 1
jne 0x10117e51
shl ecx, 0x10
jmp 0x10117e51
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
je 0x10117f09
test edx, edx
je 0x10117f09
mov edx, 1
jmp 0x10116d2c
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x10117e89
mov eax, dword [esi + 4]
test eax, eax
je 0x10117e85
cmp dword [eax], 0
jne 0x10117e85
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10117eb3
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x10117ea3
sub eax, 1
jne 0x10117eb3
shl edx, 0x10
jmp 0x10117eb3
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 0x10117ecf
mov eax, dword [esi + 4]
test eax, eax
je 0x10117f01
cmp dword [eax], 0
jne 0x10117f01
mov dword [eax], 0xa1
jmp 0x10117f01
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov ecx, dword [edi]
sub eax, 1
je 0x10117ee9
sub eax, 1
jne 0x10117ef9
shl ecx, 0x10
jmp 0x10117ef9
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
jne 0x10117e61
test edx, edx
jne 0x10117e61
xor edx, edx
jmp 0x10116d2c
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x10117f2e
mov eax, dword [esi + 4]
test eax, eax
je 0x10117f2a
cmp dword [eax], 0
jne 0x10117f2a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10117f58
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x10117f48
sub eax, 1
jne 0x10117f58
shl edx, 0x10
jmp 0x10117f58
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 0x10116d44
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 0x10116d68
test al, al
je case.0x10117b60.0
mov eax, dword [esp + 0x28]
push esi
mov eax, dword [eax + 4]
mov dword [esp + 0x40], eax
call fcn.1011af70
mov edi, eax
push esi
mov dword [esp + 0x6c], edi
call fcn.1011af70
push esi
mov ebp, eax
call fcn.1011af20
push esi
mov dword [esp + 0x84], eax
call fcn.1011af20
push esi
mov ebx, eax
call fcn.1011af20
add esp, 0x14
mov dword [esp + 0x4c], eax
cmp byte [esp + 0x3f10], 0
je 0x1011a8ca
mov eax, 0x12
jmp 0x1011701a
test al, al
je case.0x10117b60.0
push esi
call fcn.1011af20
mov edi, dword [esp + 0x2c]
push esi
mov ecx, dword [edi + 0x24]
mov dword [ecx + 4], eax
call fcn.1011af20
mov ecx, dword [edi + 0x24]
push esi
mov dword [ecx], eax
call fcn.1011af20
push esi
mov edi, eax
call fcn.1011af20
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 0x10117016
cmp byte [esp + 0x33], 0
je 0x10118068
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 0x10116d68
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 8]
cmp edx, edi
jne 0x101180af
mov eax, dword [esi + 4]
test eax, eax
je 0x10118097
cmp dword [eax], 0
jne 0x10118097
mov dword [eax], 0xa1
xor ecx, ecx
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
push eax
push esi
call fcn.1011afc0
add esp, 8
jmp 0x10116d60
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x101180c9
sub eax, 1
jne 0x101180d9
shl ecx, 0x10
jmp 0x101180d9
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp ecx, 0x80000001
jge 0x10118099
mov eax, dword [esi + 0x10]
lea eax, [edi + eax*8]
cmp edx, eax
jne 0x10118104
mov eax, dword [esi + 4]
test eax, eax
je 0x10116d60
cmp dword [eax], 0
jne 0x10116d60
jmp 0x10116d58
mov dword [edx], 0x7fffffff
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x10116d60
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x1011813b
mov eax, dword [esi + 4]
test eax, eax
je 0x10118137
cmp dword [eax], 0
jne 0x10118137
mov dword [eax], 0xa1
xor edi, edi
jmp 0x10118165
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x10118155
sub eax, 1
jne 0x10118165
shl edi, 0x10
jmp 0x10118165
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 0x10118183
mov eax, dword [esi + 4]
test eax, eax
je 0x1011817f
cmp dword [eax], 0
jne 0x1011817f
mov dword [eax], 0xa1
xor edx, edx
jmp 0x101181ad
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1011819d
sub eax, 1
jne 0x101181ad
shl edx, 0x10
jmp 0x101181ad
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 0x101181e2
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x10116d68
cmp dword [eax], 0
jne 0x10116d68
jmp 0x10116d58
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 0x10116d68
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x10118220
mov eax, dword [esi + 4]
test eax, eax
je 0x1011821c
cmp dword [eax], 0
jne 0x1011821c
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1011824a
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x1011823a
sub eax, 1
jne 0x1011824a
shl edi, 0x10
jmp 0x1011824a
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 0x10118268
mov eax, dword [esi + 4]
test eax, eax
je 0x10118264
cmp dword [eax], 0
jne 0x10118264
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10118292
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x10118282
sub eax, 1
jne 0x10118292
shl edx, 0x10
jmp 0x10118292
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 0x101182c7
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x10116d68
cmp dword [eax], 0
jne 0x10116d68
jmp 0x10116d58
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 0x10116d68
test al, al
je 0x10118306
cmp byte [esp + 0x68], 0
je 0x10118306
push esi
call fcn.1011af70
push esi
mov edi, eax
call fcn.1011af70
mov byte [esp + 0x70], 0
jmp 0x10118314
push esi
call fcn.1011af20
push esi
mov edi, eax
call fcn.1011af20
add esp, 8
push edi
push eax
call fcn.100d6730
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 0x1011834a
mov eax, dword [esi + 4]
test eax, eax
je 0x10116d60
cmp dword [eax], 0
jne 0x10116d60
jmp 0x10116d58
mov dword [edi], eax
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x10116d60
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 8]
cmp edx, edi
jne 0x1011838e
mov eax, dword [esi + 4]
test eax, eax
je 0x1011837b
cmp dword [eax], 0
jne 0x1011837b
mov dword [eax], 0xa1
xor ecx, ecx
neg ecx
push ecx
push esi
call fcn.1011afc0
add esp, 8
jmp 0x10116d60
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x101183a8
sub eax, 1
jne 0x101183b8
shl ecx, 0x10
jmp 0x101183b8
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp ecx, 0x80000001
jl 0x101180e1
neg ecx
push ecx
push esi
call fcn.1011afc0
add esp, 8
jmp 0x10116d60
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x101183f3
mov eax, dword [esi + 4]
test eax, eax
je 0x101183ef
cmp dword [eax], 0
jne 0x101183ef
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1011841d
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x1011840d
sub eax, 1
jne 0x1011841d
shl edi, 0x10
jmp 0x1011841d
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 0x1011843b
mov eax, dword [esi + 4]
test eax, eax
je 0x10118437
cmp dword [eax], 0
jne 0x10118437
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10118465
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x10118455
sub eax, 1
jne 0x10118465
shl edx, 0x10
jmp 0x10118465
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 0x1011849a
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x10116d68
cmp dword [eax], 0
jne 0x10116d68
jmp 0x10116d58
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 0x10116d68
mov ecx, dword [esp + 0x10]
test al, al
je 0x10116d68
push esi
call fcn.1011af70
push esi
mov edx, eax
call fcn.1011af70
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 0x10117fe7
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.0x10118518.4
movzx eax, byte [edx + 0x1011ae98]
jmp dword [eax*4 + 0x1011ae58]
cmp ebx, 3
jne 0x10117fe7
cmp byte [esp + 0x33], 0
je 0x1011854d
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x1d4], 0
je 0x10117fe7
cmp dword [eax + 0x1d8], 7
jne 0x10117fe7
push edi
push esi
call fcn.1011afc0
mov ebp, dword [esp + 0x24]
push ebp
push esi
call fcn.1011afc0
mov ebx, dword [esp + 0x28]
add esp, 0x10
mov dword [esp + 0x50], 2
jmp 0x10116d64
test ebx, ebx
jne 0x10117fe7
cmp byte [esp + 0x33], bl
je 0x10118847
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 0x101185b2
push ebx
push 6
push edx
call fcn.100d72e0
add esp, 0xc
test eax, eax
jne 0x10117016
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 0x10116d64
test ebx, ebx
jne 0x10117fe7
cmp byte [esp + 0x33], bl
je 0x10118847
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 0x1d4], ebx
je 0x10117fe7
mov edi, dword [ecx + 0x1d8]
lea eax, [edi + 1]
mov dword [ecx + 0x1d8], eax
lea eax, [edi - 1]
cmp eax, 5
ja 0x10118847
push 1
push ecx
call fcn.10110de0
add esp, 8
test eax, eax
jne 0x10117fe7
lea eax, [edi - 3]
cmp edi, 3
jg 0x10118631
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 0x10118657
cmp edi, 6
jne 0x1011884b
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.10115200
mov ebx, dword [esp + 0x34]
add esp, 0x1c
jmp 0x10116d60
cmp ebx, 1
jne 0x10117fe7
cmp byte [esp + 0x33], 0
je 0x101186f4
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 0x10116d64
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], ecx
jmp 0x10116d64
mov eax, dword [esp + 0x28]
mov ebx, dword [eax + 0x284]
mov dword [esp + 0x34], ebx
test ebx, ebx
je 0x10117fe7
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 0x10117fe7
lea edi, [ecx + ebp]
test ecx, ecx
je 0x1011880b
mov dword [esp + 0x54], ecx
push ebp
push esi
call fcn.1011aec0
add esp, 8
mov ebp, eax
cmp dword [ebx], 1
jbe 0x101187e4
mov eax, 1
mov ebx, 4
sub eax, edi
mov dword [esp + 0x38], eax
push edi
push esi
call fcn.1011aec0
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 0x10118781
mov ebx, ecx
push ebp
mov ebp, dword [esp + 0x50]
push ebp
push esi
call fcn.1011b000
inc ebp
add esp, 0xc
sub dword [esp + 0x54], 1
mov dword [esp + 0x4c], ebp
jne 0x10118760
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 0x1011883b
mov eax, dword [esi + 4]
test eax, eax
je 0x10118847
cmp dword [eax], 0
jne 0x10118847
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [eax], 0xa1
jmp 0x10116d60
lea eax, [edx*8]
sub ecx, eax
mov dword [esi + 0xc], ecx
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x10116d60
mov ebp, dword [esp + 0x28]
mov edi, dword [ebp + 0x284]
mov edx, dword [ebp + 0x28c]
cmp ebx, 1
jne 0x10117fe7
test edi, edi
je 0x10117fe7
push esi
call fcn.1011af70
mov ebx, eax
add esp, 4
mov eax, dword [edi]
cmp edx, eax
jb 0x10117fe7
sub edx, eax
cmp edx, ebx
jb 0x10117fe7
mov edx, dword [ebp + 0x288]
test edx, edx
je 0x10118847
mov ecx, dword [edi + 0x88]
test ecx, ecx
je 0x10118847
shl eax, 2
push eax
push ecx
lea eax, [edx + ebx*4]
push eax
call fcn.101f6470
mov ebp, dword [esp + 0x28]
add esp, 0xc
mov ebx, dword [esp + 0x18]
jmp 0x10116d60
cmp ebx, 2
jne 0x10117fe7
push esi
call fcn.1011af20
push esi
mov edi, eax
call fcn.1011af20
add eax, edi
push eax
push esi
call fcn.1011afc0
mov ebp, dword [esp + 0x2c]
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x10116d60
cmp ebx, 2
jne 0x10117fe7
push esi
call fcn.1011af20
push esi
mov edi, eax
call fcn.1011af20
sub eax, edi
push eax
push esi
call fcn.1011afc0
mov ebp, dword [esp + 0x2c]
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x10116d60
cmp ebx, 2
jne 0x10117fe7
push esi
call fcn.1011af20
push esi
mov dword [esp + 0x54], eax
call fcn.1011af20
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.1011afc0
mov ebp, dword [esp + 0x24]
add esp, 8
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x10116d64
cmp ebx, 2
jne 0x10117fe7
push esi
call fcn.1011af20
push esi
mov edi, eax
call fcn.1011af20
add esp, 8
test edi, edi
je 0x10117fe7
push edi
push eax
call fcn.100d6730
push eax
push esi
call fcn.1011afc0
mov ebp, dword [esp + 0x2c]
add esp, 0x10
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x10116d60
cmp ebx, 2
jne 0x10117fe7
mov ebx, dword [esp + 0x28]
cmp dword [ebx + 0x284], 0
je 0x10117fe7
push esi
call fcn.1011af70
mov edi, eax
add esp, 4
cmp edi, dword [ebx + 0x28c]
jae 0x10117fe7
push esi
call fcn.1011af20
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 0x10116d60
cmp ebx, 1
jne 0x10117fe7
mov edx, dword [esp + 0x28]
cmp dword [edx + 0x284], 0
je 0x10117fe7
push esi
call fcn.1011af70
add esp, 4
cmp eax, dword [edx + 0x28c]
jae 0x10117fe7
mov ecx, dword [edx + 0x288]
push dword [ecx + eax*4]
jmp 0x10118980
cmp ebx, 4
jne 0x10117fe7
push esi
call fcn.1011af20
push esi
mov ebp, eax
call fcn.1011af20
push esi
mov ebx, eax
call fcn.1011af20
push esi
mov edi, eax
call fcn.1011af20
cmp ebx, ebp
cmovle edi, eax
push edi
push esi
call fcn.1011afc0
mov ebp, dword [esp + 0x34]
add esp, 0x18
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x10116d60
test ebx, ebx
jne 0x10117fe7
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.1011afc0
mov ebp, dword [esp + 0x24]
add esp, 8
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 1
jmp 0x10116d60
test ebx, ebx
js 0x10117fe7
test edx, edx
js 0x10117fe7
cmp ebx, 3
mov eax, ebx
mov ecx, 3
cmovg eax, ecx
mov dword [esp + 0x60], eax
cmp eax, 1
jb 0x10118847
lea edi, [esp + eax*4 + 0x3e4c]
mov ebx, eax
nop dword [eax]
push esi
call fcn.1011af20
add esp, 4
mov dword [edi], eax
lea edi, [edi - 4]
sub ebx, 1
jne 0x10118b50
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x10116d60
mov ecx, dword [esp + 0x10]
test al, al
je 0x10116d68
cmp dword [esp + 0x50], 0
jle 0x10118b8c
dec dword [esp + 0x50]
jmp 0x10116d64
test edx, edx
je 0x10117fe7
push dword [esp + edx*4 + 0x3e4c]
dec edx
push esi
mov dword [esp + 0x68], edx
call fcn.1011afc0
add esp, 8
jmp 0x10116d64
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x10]
cmp eax, dword [esi + 8]
jne 0x10118bd9
mov eax, dword [esi + 4]
test eax, eax
je 0x10116d68
cmp dword [eax], 0
jne 0x10116d68
mov dword [eax], 0xa1
jmp 0x10116d64
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
jmp 0x10116d68
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x10118c02
mov eax, dword [esi + 4]
test eax, eax
je 0x10118bfe
cmp dword [eax], 0
jne 0x10118bfe
mov dword [eax], 0xa1
xor edi, edi
jmp 0x10118c26
cmp dword [eax - 4], 2
je 0x10118c1e
mov eax, dword [esi + 4]
test eax, eax
je 0x10118c1a
cmp dword [eax], 0
jne 0x10118c1a
mov dword [eax], 0xa0
xor edi, edi
jmp 0x10118c26
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov edi, dword [eax]
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x10118c44
mov eax, dword [esi + 4]
test eax, eax
je 0x10118c40
cmp dword [eax], 0
jne 0x10118c40
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10118c6e
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10118c5e
sub eax, 1
jne 0x10118c6e
shl ecx, 0x10
jmp 0x10118c6e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp edi, 0x20
jae 0x10116d60
mov dword [esp + edi*4 + 0x3e78], ecx
jmp 0x10116d60
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x10118ca1
mov eax, dword [esi + 4]
test eax, eax
je 0x10118c9d
cmp dword [eax], 0
jne 0x10118c9d
mov dword [eax], 0xa1
xor eax, eax
jmp 0x10118cc5
cmp dword [eax - 4], 2
je 0x10118cbd
mov eax, dword [esi + 4]
test eax, eax
je 0x10118cb9
cmp dword [eax], 0
jne 0x10118cb9
mov dword [eax], 0xa0
xor eax, eax
jmp 0x10118cc5
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x10]
cmp eax, 0x20
jae 0x10116d68
push dword [esp + eax*4 + 0x3e78]
push esi
call fcn.1011afc0
add esp, 8
jmp 0x10116d64
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 8]
jne 0x10118d05
mov eax, dword [esi + 4]
test eax, eax
je 0x10118d01
cmp dword [eax], 0
jne 0x10118d01
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10118d30
add ebp, 0xfffffff8
mov dword [esi + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x10118d20
sub eax, 1
jne 0x10118d30
shl ebp, 0x10
jmp 0x10118d30
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 0x10118d4e
mov eax, dword [esi + 4]
test eax, eax
je 0x10118d4a
cmp dword [eax], 0
jne 0x10118d4a
mov dword [eax], 0xa1
xor ebx, ebx
jmp 0x10118d78
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
sub eax, 1
je 0x10118d68
sub eax, 1
jne 0x10118d78
shl ebx, 0x10
jmp 0x10118d78
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 0x10118d96
mov eax, dword [esi + 4]
test eax, eax
je 0x10118d92
cmp dword [eax], 0
jne 0x10118d92
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10118dc0
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x10118db0
sub eax, 1
jne 0x10118dc0
shl edx, 0x10
jmp 0x10118dc0
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 0x10118dde
mov eax, dword [esi + 4]
test eax, eax
je 0x10118dda
cmp dword [eax], 0
jne 0x10118dda
mov dword [eax], 0xa1
xor edi, edi
jmp 0x10118e08
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x10118df8
sub eax, 1
jne 0x10118e08
shl edi, 0x10
jmp 0x10118e08
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 0x10118e47
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 0x10116d68
cmp dword [eax], 0
jne 0x10116d68
mov dword [eax], 0x82
jmp 0x10116d60
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 0x10116d60
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 0x101180eb
mov dword [edx], edi
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x10116d60
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x10118ee5
mov eax, dword [esi + 4]
test eax, eax
je 0x10118edb
cmp dword [eax], 0
jne 0x10118edb
mov dword [eax], 0xa1
mov dword [esp + 0x40], 0
jmp 0x10118f1f
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
sub eax, 1
je 0x10118f09
sub eax, 1
mov eax, dword [ecx]
je 0x10118f00
mov dword [esp + 0x40], eax
jmp 0x10118f1f
shl eax, 0x10
mov dword [esp + 0x40], eax
jmp 0x10118f1f
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 0x10118f43
mov eax, dword [esi + 4]
test eax, eax
je 0x10118f39
cmp dword [eax], 0
jne 0x10118f39
mov dword [eax], 0xa1
mov dword [esp + 0x34], 0
jmp 0x10118f7a
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10118f67
sub eax, 1
je 0x10118f5e
mov dword [esp + 0x34], ecx
jmp 0x10118f7a
shl ecx, 0x10
mov dword [esp + 0x34], ecx
jmp 0x10118f7a
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 0x10118fcf
mov eax, dword [esi + 4]
test eax, eax
je 0x10116d60
cmp dword [eax], 0
jne 0x10116d60
mov dword [eax], 0x82
jmp 0x10116d64
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 0x10116d64
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 8]
jne 0x10119035
mov eax, dword [esi + 4]
test eax, eax
je 0x10119002
cmp dword [eax], 0
jne 0x10119002
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 0x10118e18
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 0x10116d60
add ebp, 0xfffffff8
mov dword [esi + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x10119050
sub eax, 1
jne 0x10119060
shl ebp, 0x10
jmp 0x10119060
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
test ebp, ebp
jle 0x10119002
mov eax, ebp
mov edi, ebp
sar eax, 1
cmp ebp, 0xa
cmovge edi, eax
push edi
push ebp
call fcn.100d6730
lea ebx, [edi + 1]
add esp, 8
add ebx, eax
sar ebx, 1
cmp ebx, edi
je 0x10119004
nop dword [eax]
push ebx
push ebp
mov edi, ebx
call fcn.100d6730
inc ebx
add esp, 8
add ebx, eax
sar ebx, 1
cmp ebx, edi
jne 0x10119090
jmp 0x10119004
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x101190c8
mov eax, dword [esi + 4]
test eax, eax
je 0x101190c4
cmp dword [eax], 0
jne 0x101190c4
mov dword [eax], 0xa1
xor edx, edx
jmp 0x101190f2
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x101190e2
sub eax, 1
jne 0x101190f2
shl edx, 0x10
jmp 0x101190f2
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 0x10119116
mov eax, dword [esi + 4]
test eax, eax
je 0x10119126
cmp dword [eax], 0
jne 0x10119126
mov dword [eax], 0x82
jmp 0x10119126
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 0x1011a8b1
jmp 0x10116d44
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 8]
jne 0x10119161
mov eax, dword [esi + 4]
test eax, eax
je 0x1011915d
cmp dword [eax], 0
jne 0x1011915d
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1011918b
add edi, 0xfffffff8
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
mov edi, dword [edi]
sub eax, 1
je 0x1011917b
sub eax, 1
jne 0x1011918b
shl edi, 0x10
jmp 0x1011918b
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
push esi
call fcn.1011af20
push edi
push esi
mov ebx, eax
call fcn.1011afc0
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 0x101191d0
mov eax, dword [esi + 4]
test eax, eax
je 0x1011884b
cmp dword [eax], 0
jne 0x1011884b
mov ebx, dword [esp + 0x18]
mov dword [eax], 0x82
jmp 0x10116d60
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 0x10116d60
push esi
call fcn.1011af70
mov ecx, dword [esi + 0xc]
add esp, 4
sub ecx, dword [esi + 8]
sar ecx, 3
test ecx, ecx
je 0x10116d60
test eax, eax
js 0x10119211
cmp eax, ecx
jb 0x1011920f
xor ecx, ecx
jmp 0x10119212
sub ecx, eax
dec ecx
push ecx
push esi
call fcn.1011aec0
push eax
push esi
call fcn.1011afc0
add esp, 0x10
jmp 0x10116d64
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x10119246
mov eax, dword [esi + 4]
test eax, eax
je 0x10119242
cmp dword [eax], 0
jne 0x10119242
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1011926a
cmp dword [eax - 4], 2
je 0x10119262
mov eax, dword [esi + 4]
test eax, eax
je 0x1011925e
cmp dword [eax], 0
jne 0x1011925e
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1011926a
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov edx, dword [eax]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x10119288
mov eax, dword [esi + 4]
test eax, eax
je 0x10119284
cmp dword [eax], 0
jne 0x10119284
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x101192ac
cmp dword [eax - 4], 2
je 0x101192a4
mov eax, dword [esi + 4]
test eax, eax
je 0x101192a0
cmp dword [eax], 0
jne 0x101192a0
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x101192ac
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 0x10116d64
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp ecx, eax
jbe 0x101192f9
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x10116d68
cmp dword [eax], 0
jne 0x10116d68
mov dword [eax], 0x82
jmp 0x10116d64
test edx, edx
jns 0x10119308
neg edx
mov eax, edx
cdq
idiv ecx
neg edx
jmp 0x1011930d
mov eax, edx
cdq
idiv ecx
mov dword [esp + 0x38], edx
test edx, edx
je 0x10116d64
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 0x1011936b
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 0x1011937b
sub edi, ecx
sub ebx, eax
jmp 0x10119383
test edi, edi
jns 0x10119383
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 0x10119340
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x10116d60
test al, al
je case.0x10117b60.0
cmp byte [esp + 0x33], 0
je case.0x10117b60.0
push esi
call fcn.1011af20
mov ebp, eax
push esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x3f20], ebp
call fcn.1011af20
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 0x10116d68
mov eax, dword [esp + 0x44]
cmp byte [eax + 8], 0
je case.0x10116e73.0
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x10119457
mov eax, dword [esi + 4]
test eax, eax
je 0x10119453
cmp dword [eax], 0
jne 0x10119453
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10119481
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x10119471
sub eax, 1
jne 0x10119481
shl ecx, 0x10
jmp 0x10119481
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 0x101194b2
mov eax, dword [esi + 4]
test eax, eax
je 0x101194ae
cmp dword [eax], 0
jne 0x101194ae
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x101194dc
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x101194cc
sub eax, 1
jne 0x101194dc
shl ecx, 0x10
jmp 0x101194dc
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 0x10117016
cmp byte [esp + 0x33], 0
mov ebx, dword [esp + 0x18]
je case.0x10117b60.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 0x10116d68
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 8], 0
je 0x1011ab36
test ah, ah
jne 0x1011ab36
push ebp
lea eax, [esp + 0x134]
push edi
push eax
call fcn.101156e0
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 0x101195f0
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 0x101195cd
test ebp, ebp
je 0x101195cb
cmp dword [ebp], 0
jne 0x101195cb
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 0x101195b3
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 0x10116d68
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
jbe 0x10119621
cmp byte [esp + 0xfc], 0
jne case.0x10116e73.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.101144c0
mov eax, dword [esp + 0x40]
add esp, 0x18
cmp byte [eax + 0x224], 0
jne 0x10117016
cmp bl, 0x13
jne 0x1011968a
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.10116770
mov eax, dword [esi + 8]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x10116d68
push 0xf1c
lea eax, [esp + 0x2f38]
push 0
push eax
call fcn.101f69f0
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.10116770
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.10115e50
mov eax, dword [esi + 8]
add esp, 0x30
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x10116d68
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x101197ae
cmp byte [esp + 0x23], 0
jne 0x101197ae
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1011978f
sub eax, 1
jne 0x1011979f
shl ecx, 0x10
jmp 0x1011979f
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 0x10117016
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x101197e2
mov eax, dword [esi + 4]
test eax, eax
je 0x101197de
cmp dword [eax], 0
jne 0x101197de
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1011980c
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x101197fc
sub eax, 1
jne 0x1011980c
shl ecx, 0x10
jmp 0x1011980c
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 0x10119847
mov eax, dword [esi + 4]
test eax, eax
je 0x10119833
cmp dword [eax], 0
jne 0x10119833
mov dword [eax], 0xa1
xor ecx, ecx
add edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
jmp 0x10117228
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10119871
sub eax, 1
jne 0x10119881
shl ecx, 0x10
add edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x3f14], edi
jmp 0x10117228
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 0x10117228
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x101198dd
cmp byte [esp + 0x23], 0
jne 0x101198dd
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x101198be
sub eax, 1
jne 0x101198ce
shl ecx, 0x10
jmp 0x101198ce
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 0x10117016
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x10119911
mov eax, dword [esi + 4]
test eax, eax
je 0x1011990d
cmp dword [eax], 0
jne 0x1011990d
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1011993b
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1011992b
sub eax, 1
jne 0x1011993b
shl ecx, 0x10
jmp 0x1011993b
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 0x10117235
mov ebx, dword [esp + 0x18]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xc], eax
jmp 0x10116d68
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 0x10119a62
lea ebx, [edi + 6]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x101199a8
mov eax, dword [esi + 4]
test eax, eax
je 0x101199a4
cmp dword [eax], 0
jne 0x101199a4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x101199ce
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x101199be
sub eax, 1
jne 0x101199ce
shl ecx, 0x10
jmp 0x101199ce
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 0x10119a07
mov eax, dword [esi + 4]
test eax, eax
je 0x10119a03
cmp dword [eax], 0
jne 0x10119a03
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10119a2e
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x10119a1e
sub eax, 1
jne 0x10119a2e
shl ecx, 0x10
jmp 0x10119a2e
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.10115560
add ebx, 2
add esp, 0xc
add edi, 2
cmp ebx, ebp
jb 0x10119983
cmp edi, ebp
jae 0x10119cc0
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 0x10119a98
mov eax, dword [esi + 4]
test eax, eax
je 0x10119a94
cmp dword [eax], 0
jne 0x10119a94
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10119abf
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x10119aaf
sub eax, 1
jne 0x10119abf
shl ecx, 0x10
jmp 0x10119abf
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 0x10119af1
mov eax, dword [esi + 4]
test eax, eax
je 0x10119aed
cmp dword [eax], 0
jne 0x10119aed
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10119b18
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x10119b08
sub eax, 1
jne 0x10119b18
shl ecx, 0x10
jmp 0x10119b18
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 0x10119b47
mov eax, dword [esi + 4]
test eax, eax
je 0x10119b43
cmp dword [eax], 0
jne 0x10119b43
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10119b6d
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10119b5d
sub eax, 1
jne 0x10119b6d
shl ecx, 0x10
jmp 0x10119b6d
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 0x10119b97
mov eax, dword [esi + 4]
test eax, eax
je 0x10119b93
cmp dword [eax], 0
jne 0x10119b93
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10119bbe
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x10119bae
sub eax, 1
jne 0x10119bbe
shl ecx, 0x10
jmp 0x10119bbe
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 0x10119be8
mov eax, dword [esi + 4]
test eax, eax
je 0x10119be4
cmp dword [eax], 0
jne 0x10119be4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10119c0f
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x10119bff
sub eax, 1
jne 0x10119c0f
shl ecx, 0x10
jmp 0x10119c0f
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 0x10119c3e
mov eax, dword [esi + 4]
test eax, eax
je 0x10119c3a
cmp dword [eax], 0
jne 0x10119c3a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10119c65
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x10119c55
sub eax, 1
jne 0x10119c65
shl ecx, 0x10
jmp 0x10119c65
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.10115200
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 0x10119a70
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10116d60
mov ebp, dword [esp + 0x1c]
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10116d60
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 0x10119cc4
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 0x10119d69
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x10119d2c
mov eax, dword [esi + 4]
test eax, eax
je 0x10119d28
cmp dword [eax], 0
jne 0x10119d28
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10119d52
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10119d42
sub eax, 1
jne 0x10119d52
shl ecx, 0x10
jmp 0x10119d52
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 0x10119d6d
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 0x10119d92
mov eax, dword [esi + 4]
test eax, eax
je 0x10119d8e
cmp dword [eax], 0
jne 0x10119d8e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10119db8
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10119da8
sub eax, 1
jne 0x10119db8
shl ecx, 0x10
jmp 0x10119db8
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 0x10119de3
mov eax, dword [esi + 4]
test eax, eax
je 0x10119ddf
cmp dword [eax], 0
jne 0x10119ddf
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10119e09
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10119df9
sub eax, 1
jne 0x10119e09
shl ecx, 0x10
jmp 0x10119e09
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 0x10119e39
mov eax, dword [esi + 4]
test eax, eax
je 0x10119e35
cmp dword [eax], 0
jne 0x10119e35
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10119e5f
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10119e4f
sub eax, 1
jne 0x10119e5f
shl ecx, 0x10
jmp 0x10119e5f
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 0x10119e89
mov eax, dword [esi + 4]
test eax, eax
je 0x10119e85
cmp dword [eax], 0
jne 0x10119e85
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10119ebe
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10119ea7
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x10119ebe
shl ecx, 0x10
jmp 0x10119ebe
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.10115200
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 0x10119d00
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10116d60
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 0x10119cc4
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 0x10119fc3
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x10119f8c
mov eax, dword [esi + 4]
test eax, eax
je 0x10119f88
cmp dword [eax], 0
jne 0x10119f88
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10119fb2
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10119fa2
sub eax, 1
jne 0x10119fb2
shl ecx, 0x10
jmp 0x10119fb2
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 0x10119fe8
mov eax, dword [esi + 4]
test eax, eax
je 0x10119fe4
cmp dword [eax], 0
jne 0x10119fe4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011a00e
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10119ffe
sub eax, 1
jne 0x1011a00e
shl ecx, 0x10
jmp 0x1011a00e
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 0x1011a039
mov eax, dword [esi + 4]
test eax, eax
je 0x1011a035
cmp dword [eax], 0
jne 0x1011a035
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011a05f
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1011a04f
sub eax, 1
jne 0x1011a05f
shl ecx, 0x10
jmp 0x1011a05f
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 0x1011a089
mov eax, dword [esi + 4]
test eax, eax
je 0x1011a085
cmp dword [eax], 0
jne 0x1011a085
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011a0be
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1011a0a7
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x1011a0be
shl ecx, 0x10
jmp 0x1011a0be
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 0x1011a0ec
mov eax, dword [esi + 4]
test eax, eax
je 0x1011a0e8
cmp dword [eax], 0
jne 0x1011a0e8
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011a121
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1011a10a
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x1011a121
shl ecx, 0x10
jmp 0x1011a121
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.10115200
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 0x10119f60
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10116d60
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 0x1011a602
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 0x1011a3c9
cmp ebp, eax
jb 0x1011a1fd
mov eax, dword [esi + 4]
test eax, eax
je 0x1011a1f9
cmp dword [eax], 0
jne 0x1011a1f9
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011a223
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x1011a213
sub eax, 1
jne 0x1011a223
shl ecx, 0x10
jmp 0x1011a223
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 0x1011a257
mov eax, dword [esi + 4]
test eax, eax
je 0x1011a253
cmp dword [eax], 0
jne 0x1011a253
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011a27d
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1011a26d
sub eax, 1
jne 0x1011a27d
shl ecx, 0x10
jmp 0x1011a27d
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 0x1011a2a9
mov eax, dword [esi + 4]
test eax, eax
je 0x1011a2a5
cmp dword [eax], 0
jne 0x1011a2a5
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011a2cf
mov eax, dword [ecx + ebx*8 + 4]
mov ecx, dword [ecx + ebx*8]
sub eax, 1
je 0x1011a2bf
sub eax, 1
jne 0x1011a2cf
shl ecx, 0x10
jmp 0x1011a2cf
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 0x1011a2fc
mov eax, dword [esi + 4]
test eax, eax
je 0x1011a2f8
cmp dword [eax], 0
jne 0x1011a2f8
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011a331
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1011a31a
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x1011a331
shl ecx, 0x10
jmp 0x1011a331
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 0x1011a3be
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x1011a36a
mov eax, dword [esi + 4]
test eax, eax
je 0x1011a366
cmp dword [eax], 0
jne 0x1011a366
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011a39f
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1011a388
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x1011a39f
shl ecx, 0x10
jmp 0x1011a39f
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 0x1011a5a3
mov dword [esp + 0x14], edi
xor bl, bl
jmp 0x1011a5a3
mov dword [esp + 0x3c], edi
cmp ebp, eax
jb 0x1011a3e7
mov eax, dword [esi + 4]
test eax, eax
je 0x1011a3e3
cmp dword [eax], 0
jne 0x1011a3e3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011a40d
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x1011a3fd
sub eax, 1
jne 0x1011a40d
shl ecx, 0x10
jmp 0x1011a40d
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 0x1011a43c
mov eax, dword [esi + 4]
test eax, eax
je 0x1011a438
cmp dword [eax], 0
jne 0x1011a438
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011a462
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1011a452
sub eax, 1
jne 0x1011a462
shl ecx, 0x10
jmp 0x1011a462
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 0x1011a48d
mov eax, dword [esi + 4]
test eax, eax
je 0x1011a489
cmp dword [eax], 0
jne 0x1011a489
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011a4b3
mov eax, dword [ecx + ebx*8 + 4]
mov ecx, dword [ecx + ebx*8]
sub eax, 1
je 0x1011a4a3
sub eax, 1
jne 0x1011a4b3
shl ecx, 0x10
jmp 0x1011a4b3
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 0x1011a4e0
mov eax, dword [esi + 4]
test eax, eax
je 0x1011a4dc
cmp dword [eax], 0
jne 0x1011a4dc
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011a515
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1011a4fe
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x1011a515
shl ecx, 0x10
jmp 0x1011a515
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 0x1011a59d
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x1011a54e
mov eax, dword [esi + 4]
test eax, eax
je 0x1011a54a
cmp dword [eax], 0
jne 0x1011a54a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1011a583
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1011a56c
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x1011a583
shl ecx, 0x10
jmp 0x1011a583
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 0x1011a5a1
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.10115200
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 0x1011a1d0
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0xc], eax
jmp 0x10116d64
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jae 0x1011a62c
mov cl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
movzx edx, cl
jmp 0x1011a63f
mov eax, dword [ebx]
test eax, eax
je 0x1011a63d
cmp dword [eax], 0
jne 0x1011a63d
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jae 0x1011a65d
mov cl, byte [eax]
inc eax
shl edx, 8
mov dword [ebx + 0xc], eax
movzx eax, cl
movsx edx, dx
or edx, eax
jmp 0x10116d2c
mov eax, dword [ebx]
test eax, eax
je 0x1011a66e
cmp dword [eax], 0
jne 0x1011a66e
mov dword [eax], 0x55
shl edx, 8
xor eax, eax
movsx edx, dx
or edx, eax
jmp 0x10116d2c
mov dword [edi], edx
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x10116d60
cmp bl, 0xf6
ja 0x1011a6e4
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 0x1011a771
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x14]
test eax, eax
je 0x10116d68
cmp dword [eax], 0
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
jne 0x10116d68
mov dword [eax], 0x82
jmp 0x10116d60
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
cmp bl, 0xfa
ja 0x1011a72d
shl edx, 8
cmp eax, ecx
jae 0x1011a70d
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx eax, cl
lea edi, [eax - 0xf694]
add edi, edx
jmp 0x1011a69d
mov eax, dword [edi]
test eax, eax
je 0x1011a71e
cmp dword [eax], 0
jne 0x1011a71e
mov dword [eax], 0x55
xor eax, eax
lea edi, [eax - 0xf694]
add edi, edx
jmp 0x1011a69d
cmp bl, 0xfe
ja 0x1011a78a
shl edx, 8
cmp eax, ecx
jae 0x1011a750
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
mov edi, 0xfa94
movzx eax, cl
sub edi, edx
sub edi, eax
jmp 0x1011a69d
mov eax, dword [edi]
test eax, eax
je 0x1011a761
cmp dword [eax], 0
jne 0x1011a761
mov dword [eax], 0x55
mov edi, 0xfa94
xor eax, eax
sub edi, edx
sub edi, eax
jmp 0x1011a69d
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 0x10116d60
cmp eax, ecx
jae 0x1011a799
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx edx, cl
jmp 0x1011a7ac
mov eax, dword [edi]
test eax, eax
je 0x1011a7aa
cmp dword [eax], 0
jne 0x1011a7aa
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 8]
jae 0x1011a7bf
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx ebx, cl
jmp 0x1011a7d2
mov eax, dword [edi]
test eax, eax
je 0x1011a7d0
cmp dword [eax], 0
jne 0x1011a7d0
mov dword [eax], 0x55
xor ebx, ebx
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 8]
jae 0x1011a7e5
mov cl, byte [eax]
inc eax
mov dword [edi + 0xc], eax
movzx edi, cl
jmp 0x1011a7f8
mov eax, dword [edi]
test eax, eax
je 0x1011a7f6
cmp dword [eax], 0
jne 0x1011a7f6
mov dword [eax], 0x55
xor edi, edi
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x1011a817
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 0x1011a82a
mov eax, dword [ecx]
test eax, eax
je 0x1011a828
cmp dword [eax], 0
jne 0x1011a828
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 0x1011a895
cmp edx, 0x7d00
jg 0x1011a853
cmp edx, 0xffff8300
jge 0x1011a868
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 0x1011a6b1
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 0x10116d60
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 0x1011a6b9
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 0x10116d68
mov edx, dword [esp + 0x28]
cmp byte [edx + 0x2f], 0
je 0x1011a8de
mov eax, 0x12
jmp 0x1011701a
cmp dword [edx + 0x244], 0
mov ecx, dword [esp + 0x3c]
jne 0x1011a901
mov eax, dword [ecx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x1011a901
mov eax, 0x12
jmp 0x1011701a
mov eax, dword [edx + 0x20]
add ebx, dword [eax]
mov eax, dword [ecx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x1011a932
push ebp
push edx
call fcn.1011b610
push edi
push dword [esp + 0x34]
mov ebp, eax
call fcn.1011b610
mov edx, dword [esp + 0x38]
mov edi, eax
add esp, 0x10
mov dword [esp + 0x64], edi
test ebp, ebp
js 0x10117fe7
test edi, edi
js 0x10117fe7
cmp byte [edx + 0x2e], 0
je 0x1011a9f4
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.100d7480
add esp, 8
test eax, eax
jne 0x1011701a
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.100da580
push dword [esp + 0x78]
sar eax, 0x10
mov dword [edi + 0x28], eax
call fcn.100da580
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 0x10117016
push dword [edx + 0xc]
call fcn.100d75a0
lea eax, [esp + 0x3e54]
push eax
push ebp
push dword [esp + 0x34]
call fcn.10114b60
add esp, 0x10
test eax, eax
jne 0x1011701a
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.101167f0
lea eax, [esp + 0x3e70]
push eax
push dword [esp + 0x4c]
call fcn.10114a10
mov edx, dword [esp + 0x50]
add esp, 0x28
cmp byte [esp + 0x23], 0
jne 0x1011aaa1
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.10114b60
add esp, 0xc
test eax, eax
jne 0x1011701a
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.101167f0
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x3e70]
push eax
push ebx
call fcn.10114a10
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 0x10117016
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
je 0x1011ab49
cmp eax, 5
jne 0x1011ab68
cmp byte [esp + 0x23], 0
jne 0x1011ab68
push 0
push esi
call fcn.1011aec0
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 0x10117016
cmp byte [esp + 0x2ebc], 0
je 0x1011abfd
push dword [esp + 0x2f08]
lea eax, [esp + 0x134]
mov byte [esp + 0x2ec1], 1
push dword [esp + 0x2f08]
push eax
call fcn.10115560
add esp, 0xc
cmp byte [esp + 0x2f0c], 0
je 0x1011abe3
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.10115830
add esp, 0x18
mov byte [esp + 0x2ebf], 1
mov word [esp + 0x2ebc], 0
mov byte [esp + 0x2f0c], 0
cmp byte [ebx + 9], 0
jne 0x10117016
cmp byte [ebx + 8], 0
jne 0x10117016
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
jbe 0x10117016
cmp byte [esp + 0x3f10], 0
je 0x1011ac37
mov eax, 0x12
jmp 0x1011701a
push esi
call fcn.1011af70
push esi
mov edi, eax
call fcn.1011af70
push esi
mov ebx, eax
call fcn.1011af20
push esi
mov ebp, eax
call fcn.1011af20
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x3e60]
push eax
push edi
mov edi, dword [esp + 0x40]
push edi
call fcn.10114a90
add esp, 0x1c
test eax, eax
jne 0x1011701a
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.101167f0
lea eax, [esp + 0x3e70]
push eax
push edi
call fcn.101149e0
lea eax, [esp + 0x3e78]
push eax
push ebx
push edi
call fcn.10114a90
add esp, 0x34
test eax, eax
jne 0x1011701a
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.101167f0
lea eax, [esp + 0x3e70]
push eax
push edi
call fcn.101149e0
add esp, 0x28
jmp 0x10117016
xor eax, eax
jmp 0x1011701e