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

Disassembly:
mov eax, 0x3eec
call fcn.10120480
push ebx
push ebp
push esi
mov esi, ecx
mov dword [esp + 0x44], edx
xor eax, eax
mov dword [esp + 0x48], esi
mov dword [esp + 0x68], eax
push edi
mov ebp, dword [esi + 0xb0]
lea ebx, [esi + 4]
mov eax, dword [esi + 0x34]
mov edi, dword [esi]
mov dword [esp + 0x94], eax
mov eax, dword [ebp + 0x218]
push 0x80
mov dword [esp + 0x38], ebp
mov dword [esp + 0x6c], ebx
mov eax, dword [eax + 0x220]
shl eax, 0x10
mov dword [esp + 0x90], eax
xor eax, eax
push eax
mov dword [esp + 0x4c], eax
mov byte [esp + 0x58], al
mov byte [esp + 0x37], al
mov dword [esp + 0x20], eax
lea eax, [esp + 0x158]
push eax
mov dword [esp + 0x84], 0x1312d00
call fcn.100fde00
xor eax, eax
mov dword [esp + 0x90], 0
add esp, 0xc
mov dword [esp + 0x70], eax
xorps xmm0, xmm0
mov dword [esp + 0x118], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xf0], eax
push 0x2e08
push eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
lea eax, [esp + 0x1d8]
push eax
movq qword [esp + 0x88], xmm0
movups xmmword [esp + 0x128], xmm0
mov dword [esp + 0x108], edi
movq qword [esp + 0x138], xmm0
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], 0x10
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0xa
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], 0x14
mov dword [esp + 0xf8], 0xa
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], 0x14
mov dword [esp + 0xd8], 0xa
movlpd qword [esp + 0xb0], xmm0
movlpd qword [esp + 0xb8], xmm0
movlpd qword [esp + 0xc0], xmm0
mov dword [esp + 0xac], ebx
call fcn.100fde00
mov eax, dword [esp + 0x3f0c]
add esp, 0xc
mov dword [esp + 0x1d0], esi
mov dword [esp + 0x90], eax
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x2f2c], edi
mov dword [esp + 0x2f30], ebx
movaps xmm0, xmmword [0x1014b400]
lea eax, [esp + 0x2010]
push 0xf1c
push 0
push eax
movups xmmword [esp + 0x2f40], xmm0
mov dword [esp + 0x2f50], 0
mov dword [esp + 0x2f54], 0
call fcn.100fde00
mov eax, dword [esp + 0xa0]
add esp, 0xc
mov bl, byte [esi + 0xb8]
mov dword [esp + 0x2020], eax
lea eax, [esp + 0x2010]
mov dword [esp + 0x2014], eax
lea eax, [esp + 0x2f2c]
push 0xf1c
mov dword [esp + 0x201c], eax
lea eax, [esp + 0x10f8]
push 0
push eax
mov byte [esp + 0x2029], bl
mov dword [esp + 0x201c], esi
call fcn.100fde00
mov eax, dword [esp + 0xa0]
add esp, 0xc
mov dword [esp + 0x1104], eax
lea eax, [esp + 0x2010]
mov dword [esp + 0x10f8], eax
lea eax, [esp + 0x2f2c]
mov dword [esp + 0x10fc], eax
lea eax, [esp + 0x1d8]
push 0xf1c
push 0
push eax
mov byte [esp + 0x110d], bl
mov dword [esp + 0x1100], esi
call fcn.100fde00
mov ecx, dword [esp + 0xa0]
lea eax, [esp + 0x201c]
mov dword [esp + 0x1e8], eax
add esp, 0xc
mov dword [esp + 0x1e8], ecx
lea eax, [esp + 0x2f2c]
mov dword [esp + 0x1e0], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0x2f4c], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 0x2f50], eax
mov dword [esp + 0x2f54], ecx
mov ecx, dword [esp + 0x3f04]
mov byte [esp + 0x1e5], bl
mov ebx, dword [esi + 0xe4]
mov dword [esp + 0x1d8], esi
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x2f58], eax
lea eax, [esp + 0xdc]
mov dword [esp + 0x2f64], eax
lea eax, [esp + 0xbc]
mov dword [esp + 0x2f68], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x2f6c], eax
mov eax, dword [esp + 0x3f10]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2f70], eax
lea eax, [esi + 0xf0]
mov dword [esp + 0x2f74], eax
mov al, byte [esi + 0xb9]
mov esi, dword [esi + 0xe8]
mov byte [esp + 0x2f62], al
mov eax, esi
cdq
mov dword [esp + 0x2f5c], ecx
mov ecx, eax
xor ecx, edx
mov dword [esp + 0x2f78], ebx
mov eax, ebx
mov dword [esp + 0x2f7c], esi
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x1001d07c
mov esi, ebx
neg esi
test ebx, ebx
cmovns esi, ebx
jmp 0x1001d082
test esi, esi
jns 0x1001d082
neg esi
mov ecx, dword [esp + 0x4c]
lea eax, [esi + esi]
mov edx, dword [esp + 0x3f14]
mov dword [esp + 0x2f80], eax
mov dword [esp + 0x2f84], 0x199a
cmp byte [ecx + 9], 0
mov byte [esp + 0x2f63], 1
mov word [esp + 0x2f60], 0
setne byte [esp + 0x27]
mov byte [esp + 0x2fb0], 0
mov eax, dword [ebp + 0x218]
mov eax, dword [eax + 0x21c]
shl eax, 0x10
mov dword [edx], eax
cmp byte [ecx + 9], 0
je 0x1001d0ea
mov eax, dword [ebp + 0x214]
mov ebx, dword [eax + 0x614]
jmp 0x1001d0ef
mov ebx, 0x30
mov eax, dword [edi + 4]
mov edx, 0x14
mov ecx, edi
mov dword [esp + 0x64], ebx
call eax
mov esi, eax
mov dword [esp + 0x60], esi
test esi, esi
je 0x1001d181
mov eax, dword [esp + 0x68]
mov edx, 8
mov dword [esi + 8], 0
mov ecx, edi
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 4], eax
lea eax, [esp + 0x38]
push eax
push 0
push ebx
push 0
mov dword [esi], edi
mov dword [esp + 0x48], 0
call fcn.1000dac0
mov ebp, dword [esp + 0x38]
mov ebx, eax
mov eax, dword [esp + 0x64]
test ebp, ebp
jne 0x1001d16d
test ebx, ebx
je 0x1001d16d
test eax, eax
jle 0x1001d16d
shl eax, 3
push eax
push ebp
push ebx
call fcn.100fde00
mov eax, dword [esp + 0x70]
add esp, 0xc
mov dword [esi + 8], ebx
test ebp, ebp
je 0x1001d2af
mov eax, dword [edi + 8]
mov edx, esi
mov ecx, edi
call eax
mov eax, 0x40
xor esi, esi
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x1001d197
cmp dword [ecx], 0
jne 0x1001d197
mov dword [ecx], eax
mov edx, dword [esp + 0x2f48]
mov dword [esp + 0x2f38], 0
mov dword [esp + 0x2f40], 0
mov dword [esp + 0x2f44], 0
test edx, edx
je 0x1001d1d1
mov eax, dword [esp + 0x2f2c]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x2f48], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
test edx, edx
je 0x1001d216
mov eax, dword [esp + 0xbc]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov edx, dword [esp + 0xf8]
mov dword [esp + 0xd8], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
test edx, edx
je 0x1001d25b
mov eax, dword [esp + 0xdc]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xf8], 0
test eax, eax
je 0x1001d27e
mov edx, eax
mov eax, dword [esp + 0xfc]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
test esi, esi
je 0x1001d2a2
mov edx, dword [esi + 8]
mov edi, dword [esi]
test edx, edx
je 0x1001d292
mov eax, dword [edi + 8]
mov ecx, edi
call eax
mov dword [esi + 8], 0
mov edx, esi
mov eax, dword [edi + 8]
mov ecx, edi
call eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3eec
ret 0x18
mov edi, 0x11
mov dword [esi + 0x10], eax
mov edx, edi
mov dword [esi + 0xc], ebx
lea ecx, [esp + 0xfc]
call fcn.100199e0
mov ecx, dword [esp + 0x110]
test al, al
mov eax, dword [esp + 0x68]
cmovne ecx, edi
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x118]
mov ebx, ecx
cmp dword [eax], 0
mov dword [esp + 0x70], ecx
mov dword [esp + 0x1c], ebx
jne 0x10021a57
mov eax, dword [esp + 0x48]
xor edx, edx
mov edi, dword [esp + 0x100]
mov ebp, dword [esp + 0x3f0c]
mov dword [esp + 0x9c], edi
xor edi, edi
movups xmm0, xmmword [eax]
mov eax, dword [esp + 0x104]
mov dword [esp + 0x14], edx
movups xmmword [ecx], xmm0
mov dword [esp + 0x74], eax
mov dword [esp + 0x20], ebp
jmp 0x1001d347
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
cmp eax, ecx
jb 0x1001d366
test edx, edx
mov ebx, 0xb
mov eax, 0xe
cmove ebx, eax
mov dword [esp + 0x30], ebx
jmp 0x1001d395
mov dl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
mov bl, dl
mov dword [esp + 0x30], ebx
cmp dl, 0xb
je 0x1001d37c
cmp dl, 0xe
jne 0x1001d391
mov edx, dword [esp + 0x4c]
movzx eax, bl
xor ebx, ebx
cmp byte [edx + 9], bl
cmovne eax, ebx
mov bl, al
mov dword [esp + 0x30], ebx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x4c]
mov al, byte [eax + 8]
mov ah, byte [esp + 0x2f]
test al, al
je 0x1001d437
test ah, ah
jne 0x1001d3e9
cmp bl, 1
je 0x1001d3e9
cmp bl, 3
je 0x1001d3e9
cmp bl, 0xd
je 0x1001d3e9
cmp bl, 0xa
je 0x1001d3e9
cmp bl, 0xb
je 0x1001d3e9
cmp bl, 0xc
je 0x1001d3e9
cmp bl, 0xe
je 0x1001d3e9
cmp bl, 0x20
jae 0x1001d3e9
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
nop word [eax + eax]
mov ebx, dword [esp + 0x1c]
jmp 0x1001d347
test edi, edi
jle 0x1001d410
cmp bl, 0xa
je 0x1001d410
cmp bl, 0xb
je 0x1001d410
cmp bl, 0xc
je 0x1001d410
cmp bl, 0x20
mov dword [esp + 0x48], 0
cmovb edi, dword [esp + 0x48]
mov dword [esp + 0x18], edi
cmp byte [esp + 0x50], 0
mov edx, dword [esp + 0x14]
je 0x1001d437
cmp bl, 0x20
jae 0x1001d437
mov edx, dword [esp + 0x50]
xor edi, edi
movzx edx, dl
cmp bl, 0xc
cmovne edx, edi
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x68]
cmp dword [edi], 0
jne 0x10021a57
sub dword [esp + 0x78], 1
je 0x10021910
movzx edi, bl
cmp edi, 0x1f
ja case.default.0x1001d45b
jmp dword [edi*4 + 0x10021f20]
mov ecx, dword [esp + 0x4c]
cmp byte [ecx + 9], 0
je case.0x1001d45b.0
cmp byte [ecx + 0x5d], 0
jne 0x10021910
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1001d4a4
mov eax, dword [esi + 4]
test eax, eax
je 0x1001d490
cmp dword [eax], 0
jne 0x1001d490
mov dword [eax], 0xa1
mov ebx, dword [esp + 0x1c]
xor eax, eax
mov dword [ecx + 0x78], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x1001d343
cmp dword [eax - 4], 2
je 0x1001d4d0
mov eax, dword [esi + 4]
test eax, eax
je 0x1001d4bc
cmp dword [eax], 0
jne 0x1001d4bc
mov dword [eax], 0xa0
mov ebx, dword [esp + 0x1c]
xor eax, eax
mov dword [ecx + 0x78], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x1001d343
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
test eax, eax
js case.0x1001d45b.0
mov dword [ecx + 0x78], eax
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x1c]
mov dword [esi + 0xc], eax
jmp 0x1001d343
mov ebx, dword [esp + 0x4c]
cmp byte [ebx + 9], 0
je case.0x1001d45b.0
cmp dword [ebx + 0x60], 0
je 0x10021910
mov eax, dword [ebx + 0x224]
lea ecx, [ebx + 0x5c]
push dword [ebx + 0x80]
mov edx, dword [ebx + 0x78]
push dword [ebx + 0x7c]
mov eax, dword [eax + 0xc]
call eax
test al, al
je 0x1001d546
mov eax, dword [ebx + 0x224]
lea ecx, [ebx + 0x5c]
push dword [ebx + 0x80]
mov edx, dword [ebx + 0x78]
push dword [ebx + 0x7c]
mov eax, dword [eax + 0x10]
call eax
mov dword [esp + 0x6c], eax
test eax, eax
jne 0x10021a57
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1001d576
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x1001d560
cmp dword [ecx], 0
jne 0x1001d560
mov dword [ecx], 0xa1
xor eax, eax
lea ecx, [ebx + 0x5c]
push eax
mov edx, esi
call fcn.1001cb20
mov byte [ebx + 0x5d], 1
jmp 0x1001d33b
cmp dword [eax - 4], 2
je 0x1001d5a4
mov eax, dword [esi + 4]
test eax, eax
je 0x1001d58e
cmp dword [eax], 0
jne 0x1001d58e
mov dword [eax], 0xa0
xor eax, eax
lea ecx, [ebx + 0x5c]
push eax
mov edx, esi
call fcn.1001cb20
mov byte [ebx + 0x5d], 1
jmp 0x1001d33b
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x64]
ja 0x10021910
push eax
mov edx, esi
lea ecx, [ebx + 0x5c]
call fcn.1001cb20
mov byte [ebx + 0x5d], 1
jmp 0x1001d33b
test al, al
jne 0x1001d5e3
cmp byte [esp + 0xa4], al
jne case.0x1001d45b.0
mov edi, dword [esp + 0x34]
xor eax, eax
jmp 0x1001d5ed
mov edi, dword [esp + 0x34]
mov eax, dword [edi + 0x20]
mov eax, dword [eax + 4]
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0xe4]
push dword [esp + 0x3f1c]
mov ecx, dword [esp + 0x58]
mov edx, esi
push eax
call fcn.1001c680
cmp byte [edi + 0x224], 0
jne 0x10021a57
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x1001d343
test al, al
jne 0x1001d653
cmp byte [esp + 0xa4], al
jne case.0x1001d45b.0
mov edi, dword [esp + 0x34]
xor eax, eax
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0xc4]
jmp 0x1001d5fa
mov edi, dword [esp + 0x34]
mov eax, dword [edi + 0x20]
mov eax, dword [eax]
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0xc4]
jmp 0x1001d5fa
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x1001d6b8
cmp byte [esp + 0x27], 0
jne 0x1001d6b8
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1001d696
sub eax, 1
jne 0x1001d6a6
shl ecx, 0x10
jmp 0x1001d6a6
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x8c]
add eax, ecx
mov ecx, dword [esp + 0x3f14]
mov dword [ecx], eax
mov edi, dword [esp + 0x34]
mov byte [esp + 0x27], 1
cmp byte [edi + 0x224], 0
jne 0x10021a57
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1001d6ec
mov eax, dword [esi + 4]
test eax, eax
je 0x1001d6e8
cmp dword [eax], 0
jne 0x1001d6e8
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1001d716
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1001d706
sub eax, 1
jne 0x1001d716
shl ecx, 0x10
jmp 0x1001d716
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebx, dword [esp + 0x28]
add ebx, ecx
cmp dword [edi + 0x1d4], 0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3f10], ebx
jne 0x1001d61a
push ebx
mov edx, ebp
lea ecx, [esp + 0x1d4]
call fcn.1001c140
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [esi + 0xc], eax
jmp 0x1001d343
mov ebp, dword [esi + 0xc]
xor ebx, ebx
sub ebp, dword [esi + 8]
sar ebp, 3
test ebp, ebp
je 0x1001d331
nop dword [eax]
mov ecx, dword [esi + 0xc]
mov eax, ecx
mov edi, dword [esi + 8]
sub eax, edi
sar eax, 3
cmp ebx, eax
jb 0x1001d79d
mov eax, dword [esi + 4]
test eax, eax
je 0x1001d799
cmp dword [eax], 0
jne 0x1001d799
mov dword [eax], 0x82
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
xor edx, edx
jmp 0x1001d7c3
mov eax, dword [edi + ebx*8 + 4]
mov edx, dword [edi + ebx*8]
sub eax, 1
je 0x1001d7b3
sub eax, 1
jne 0x1001d7c3
shl edx, 0x10
jmp 0x1001d7c3
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x20]
sub ecx, edi
add eax, edx
sar ecx, 3
mov dword [esp + 0x20], eax
mov dword [esp + 0x3f0c], eax
lea eax, [ebx + 1]
cmp eax, ecx
jb 0x1001d7f6
mov eax, dword [esi + 4]
test eax, eax
je 0x1001d7f2
cmp dword [eax], 0
jne 0x1001d7f2
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1001d81d
mov eax, dword [edi + ebx*8 + 0xc]
mov ecx, dword [edi + ebx*8 + 8]
sub eax, 1
je 0x1001d80d
sub eax, 1
jne 0x1001d81d
shl ecx, 0x10
jmp 0x1001d81d
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
add eax, ecx
push eax
lea ecx, [esp + 0x1d4]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3f14], eax
call fcn.1001c210
add ebx, 2
cmp ebx, ebp
jb 0x1001d770
jmp 0x1001d331
mov ebp, dword [esi + 0xc]
mov eax, dword [esi + 8]
sub ebp, eax
sar ebp, 3
cmp bl, 6
sete bl
xor edi, edi
test ebp, ebp
je 0x1001d334
nop word [eax + eax]
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp edi, eax
jb 0x1001d895
mov eax, dword [esi + 4]
test eax, eax
je 0x1001d891
cmp dword [eax], 0
jne 0x1001d891
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1001d8bb
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1001d8ab
sub eax, 1
jne 0x1001d8bb
shl ecx, 0x10
jmp 0x1001d8bb
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test bl, bl
je 0x1001d8d2
mov eax, dword [esp + 0x20]
add eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x3f0c], eax
jmp 0x1001d8e7
mov eax, dword [esp + 0x28]
add eax, ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x3f10], eax
mov eax, dword [esp + 0x20]
push dword [esp + 0x28]
mov edx, eax
lea ecx, [esp + 0x1d4]
xor bl, 1
call fcn.1001c210
inc edi
cmp edi, ebp
jb 0x1001d870
jmp 0x1001d331
mov eax, dword [esi + 0xc]
xor ebp, ebp
sub eax, dword [esi + 8]
sar eax, 3
mov dword [esp + 0x54], eax
mov dword [esp + 0x3c], ebp
cmp eax, 6
jb 0x1001db8e
lea ebx, [ebp + 2]
nop dword [eax]
mov edi, dword [esi + 0xc]
mov eax, edi
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp ebp, eax
jb 0x1001d95d
mov eax, dword [esi + 4]
test eax, eax
je 0x1001d959
cmp dword [eax], 0
jne 0x1001d959
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x1001d984
mov eax, dword [edx + ebx*8 - 0xc]
mov ecx, dword [edx + ebx*8 - 0x10]
sub eax, 1
je 0x1001d974
sub eax, 1
jne 0x1001d984
shl ecx, 0x10
jmp 0x1001d984
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x20]
add eax, ecx
mov ecx, edi
sub ecx, edx
mov dword [esp + 0x40], eax
sar ecx, 3
lea eax, [ebx - 1]
cmp eax, ecx
jb 0x1001d9b8
mov eax, dword [esi + 4]
test eax, eax
je 0x1001d9b4
cmp dword [eax], 0
jne 0x1001d9b4
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x1001d9df
mov eax, dword [edx + ebx*8 - 4]
mov ecx, dword [edx + ebx*8 - 8]
sub eax, 1
je 0x1001d9cf
sub eax, 1
jne 0x1001d9df
shl ecx, 0x10
jmp 0x1001d9df
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x28]
mov eax, edi
sub eax, edx
add ebp, ecx
sar eax, 3
mov dword [esp + 0x48], ebp
cmp ebx, eax
jb 0x1001da10
mov eax, dword [esi + 4]
test eax, eax
je 0x1001da0c
cmp dword [eax], 0
jne 0x1001da0c
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x1001da36
mov eax, dword [edx + ebx*8 + 4]
mov ecx, dword [edx + ebx*8]
sub eax, 1
je 0x1001da26
sub eax, 1
jne 0x1001da36
shl ecx, 0x10
jmp 0x1001da36
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x40]
add eax, ecx
mov ecx, edi
sub ecx, edx
mov dword [esp + 0x38], eax
sar ecx, 3
lea eax, [ebx + 1]
cmp eax, ecx
jb 0x1001da6a
mov eax, dword [esi + 4]
test eax, eax
je 0x1001da66
cmp dword [eax], 0
jne 0x1001da66
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x1001da91
mov eax, dword [edx + ebx*8 + 0xc]
mov ecx, dword [edx + ebx*8 + 8]
sub eax, 1
je 0x1001da81
sub eax, 1
jne 0x1001da91
shl ecx, 0x10
jmp 0x1001da91
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 0x1001dabd
mov eax, dword [esi + 4]
test eax, eax
je 0x1001dab9
cmp dword [eax], 0
jne 0x1001dab9
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x1001dae4
mov eax, dword [edx + ebx*8 + 0x14]
mov ecx, dword [edx + ebx*8 + 0x10]
sub eax, 1
je 0x1001dad4
sub eax, 1
jne 0x1001dae4
shl ecx, 0x10
jmp 0x1001dae4
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x38]
sub edi, edx
add eax, ecx
sar edi, 3
mov dword [esp + 0x20], eax
lea eax, [ebx + 3]
cmp eax, edi
jb 0x1001db10
mov eax, dword [esi + 4]
test eax, eax
je 0x1001db0c
cmp dword [eax], 0
jne 0x1001db0c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1001db37
mov eax, dword [edx + ebx*8 + 0x1c]
mov ecx, dword [edx + ebx*8 + 0x18]
sub eax, 1
je 0x1001db27
sub eax, 1
jne 0x1001db37
shl ecx, 0x10
jmp 0x1001db37
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edi, dword [esp + 0x20]
lea eax, [ecx + ebp]
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x1d0]
push eax
push edi
push ebp
push dword [esp + 0x44]
mov dword [esp + 0x38], eax
push dword [esp + 0x58]
call fcn.1001c390
mov ebp, dword [esp + 0x3c]
add ebx, 6
add ebp, 6
mov dword [esp + 0x3f0c], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x3f10], edi
lea eax, [ebx + 4]
mov dword [esp + 0x3c], ebp
cmp eax, dword [esp + 0x54]
jbe 0x1001d930
mov ebx, dword [esp + 0x30]
cmp bl, 0x18
jne 0x1002106d
mov ecx, dword [esi + 0xc]
mov eax, ecx
mov edi, dword [esi + 8]
sub eax, edi
sar eax, 3
cmp ebp, eax
jb 0x1001dbc4
mov eax, dword [esi + 4]
test eax, eax
je 0x1001dbc0
cmp dword [eax], 0
jne 0x1001dbc0
mov dword [eax], 0x82
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
xor edx, edx
jmp 0x1001dbea
mov eax, dword [edi + ebp*8 + 4]
mov edx, dword [edi + ebp*8]
sub eax, 1
je 0x1001dbda
sub eax, 1
jne 0x1001dbea
shl edx, 0x10
jmp 0x1001dbea
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x20]
sub ecx, edi
add eax, edx
sar ecx, 3
mov dword [esp + 0x20], eax
mov dword [esp + 0x3f0c], eax
lea eax, [ebp + 1]
cmp eax, ecx
jb 0x1001dc1d
mov eax, dword [esi + 4]
test eax, eax
je 0x1001dc19
cmp dword [eax], 0
jne 0x1001dc19
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1001dc43
mov ecx, dword [edi + eax*8]
mov eax, dword [edi + eax*8 + 4]
sub eax, 1
je 0x1001dc33
sub eax, 1
jne 0x1001dc43
shl ecx, 0x10
jmp 0x1001dc43
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
add eax, ecx
push eax
mov edx, ebp
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x1d4]
mov dword [esp + 0x3f14], eax
call fcn.1001c210
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x1001d33b
test al, al
je case.0x1001d45b.0
cmp byte [esp + 0x2f60], 0
je 0x1001dcf5
push dword [esp + 0x2fac]
mov edx, dword [esp + 0x2fac]
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x2f65], 1
call fcn.1001c210
cmp byte [esp + 0x2fb0], 0
je 0x1001dcdb
push 1
push dword [esp + 0x2f98]
lea eax, [esp + 0x2f90]
push dword [esp + 0x2f98]
lea edx, [esp + 0x1e4]
push eax
lea ecx, [esp + 0x1e0]
call fcn.1001bcf0
mov byte [esp + 0x2f63], 1
mov word [esp + 0x2f60], 0
mov byte [esp + 0x2fb0], 0
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov byte [esp + 0x27], 1
mov dword [esi + 0xc], eax
jmp 0x1001d343
cmp edx, 0x10
jg 0x10021910
inc edx
mov ecx, edx
mov dword [esp + 0x14], edx
cmp ecx, dword [esp + 0x98]
jb 0x1001dd3e
mov eax, dword [esp + 0x9c]
test eax, eax
je 0x1001dd3c
cmp dword [eax], 0
jne 0x1001dd3c
mov dword [eax], 0x82
xor ecx, ecx
mov edx, dword [esp + 0x74]
mov eax, dword [esi + 0xc]
imul edx, ecx
add edx, dword [esp + 0x70]
mov dword [esp + 0x1c], edx
cmp eax, dword [esi + 8]
jne 0x1001dd6b
mov eax, dword [esi + 4]
test eax, eax
je 0x1001dd67
cmp dword [eax], 0
jne 0x1001dd67
mov dword [eax], 0xa1
xor eax, eax
jmp 0x1001dd8f
cmp dword [eax - 4], 2
je 0x1001dd87
mov eax, dword [esi + 4]
test eax, eax
je 0x1001dd83
cmp dword [eax], 0
jne 0x1001dd83
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1001dd8f
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x34]
cmp byte [ecx + 8], 0
je 0x1001ddb8
mov ecx, dword [edi + 0x268]
test ecx, ecx
je 0x1001ddb8
push eax
call fcn.1000a0c0
test eax, eax
je 0x1001ddb5
mov eax, dword [eax]
jmp 0x1001ddb8
or eax, 0xffffffff
cmp bl, 0x1d
xorps xmm0, xmm0
mov ebx, dword [esp + 0x1c]
movups xmmword [ebx], xmm0
je 0x1001de52
mov ecx, dword [edi + 0x234]
add ecx, eax
cmp ecx, dword [edi + 0x22c]
jae 0x10021910
mov eax, dword [edi + 0x23c]
lea edx, [ecx*4]
mov ecx, dword [edx + eax]
mov dword [ebx + 4], ecx
cmp byte [edi + 0x30], 0
je 0x1001de3d
mov eax, dword [edi + 0x264]
test eax, eax
je 0x1001de23
test ecx, ecx
je 0x1001de16
mov eax, dword [eax + edx]
add eax, ecx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
jmp 0x1001d33f
xor eax, eax
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
jmp 0x1001d33f
mov eax, dword [edi + 0x260]
test eax, eax
mov dword [esp + 0x54], 0
cmovs eax, dword [esp + 0x54]
add ecx, eax
mov dword [ebx + 4], ecx
mov eax, dword [edi + 0x23c]
mov eax, dword [edx + eax + 4]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
jmp 0x1001d33f
mov ecx, dword [edi + 0x238]
add ecx, eax
cmp ecx, dword [edi + 0x230]
jae 0x10021910
mov eax, dword [edi + 0x240]
mov eax, dword [eax + ecx*4]
mov dword [ebx + 0xc], eax
mov dword [ebx + 4], eax
mov eax, dword [edi + 0x240]
mov eax, dword [eax + ecx*4 + 4]
mov dword [ebx + 8], eax
jmp 0x1001d33f
cmp edx, 1
jl 0x10021910
dec edx
mov eax, edx
mov dword [esp + 0x14], edx
cmp edx, dword [esp + 0x98]
jb 0x1001deb8
mov edi, dword [esp + 0x9c]
test edi, edi
je 0x1001deb6
cmp dword [edi], 0
jne 0x1001deb6
mov dword [edi], 0x82
xor eax, eax
mov ebx, dword [esp + 0x74]
imul ebx, eax
add ebx, dword [esp + 0x70]
mov dword [esp + 0x1c], ebx
jmp 0x1001d343
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 0xc]
cmp eax, ecx
jae 0x1001dedf
mov dl, byte [eax]
inc eax
mov dword [ebx + 0xc], eax
jmp 0x1001def2
mov eax, dword [ebx]
test eax, eax
je 0x1001def0
cmp dword [eax], 0
jne 0x1001def0
mov dword [eax], 0x55
xor dl, dl
movzx ecx, dl
mov byte [esp + 0x5f], dl
lea eax, [ecx - 8]
cmp eax, 0x1d
ja case.0x1001df0c.9
movzx eax, byte [eax + 0x10021fb8]
jmp dword [eax*4 + 0x10021fa0]
push 0
push 0x101368dc
jmp 0x1001df6d
push 0
push 0x101368d0
lea eax, [esp + 0x1d8]
mov ecx, esi
push eax
lea eax, [esp + 0x3f1c]
push eax
lea edx, [esp + 0x3f1c]
call fcn.1001c880
mov eax, dword [esp + 0x3f10]
mov ebp, dword [esp + 0x3f0c]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x20], ebp
mov dword [esi + 0xc], eax
jmp 0x1001d343
push 0
push 0x101368c4
lea eax, [esp + 0x1d8]
mov ecx, esi
push eax
lea eax, [esp + 0x3f1c]
push eax
lea edx, [esp + 0x3f1c]
call fcn.1001c880
mov edx, dword [esp + 0x3f10]
mov ebp, dword [esp + 0x3f0c]
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ebp
jmp 0x1001d33f
push 1
push 0x101368b8
lea eax, [esp + 0x1d8]
mov ecx, esi
push eax
lea eax, [esp + 0x3f1c]
push eax
lea edx, [esp + 0x3f1c]
call fcn.1001c880
mov eax, dword [esp + 0x3f10]
mov ebp, dword [esp + 0x3f0c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ebp
jmp 0x1001d33f
mov eax, dword [esp + 0x4c]
cmp byte [eax + 9], 0
jne case.0x1001e030.0
cmp dl, 0x26
jae case.0x1001e030.0
mov al, byte [eax + 8]
test al, al
je 0x1001e027
cmp dword [esp + 0x18], 0
jle 0x1001e027
cmp dl, 0x11
je 0x1001e027
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], 0
mov dword [esi + 0xc], eax
jmp 0x1001d343
cmp ecx, 0x21
ja case.0x1001e030.0
jmp dword [ecx*4 + 0x10021fd8]
test al, al
je case.0x1001e030.0
mov edx, dword [esi + 0xc]
mov eax, edx
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x1001e06c
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e068
cmp dword [eax], 0
jne 0x1001e068
mov dword [eax], 0x82
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor ebp, ebp
jmp 0x1001e090
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x1001e080
sub eax, 1
jne 0x1001e090
shl ebp, 0x10
jmp 0x1001e090
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov eax, edx
sub eax, ecx
sar eax, 3
cmp eax, 2
ja 0x1001e0be
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e0b4
cmp dword [eax], 0
jne 0x1001e0b4
mov dword [eax], 0x82
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dword [esp + 0x3c], 0
jmp 0x1001e0eb
mov eax, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x10]
mov dword [esp + 0x3c], ebx
sub eax, 1
je 0x1001e0d7
sub eax, 1
jne 0x1001e0eb
shl ebx, 0x10
jmp 0x1001e0e7
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
mov dword [esp + 0x3c], ebx
mov eax, edx
sub eax, ecx
sar eax, 3
cmp eax, 4
ja 0x1001e113
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e10f
cmp dword [eax], 0
jne 0x1001e10f
mov dword [eax], 0x82
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor ebx, ebx
jmp 0x1001e138
mov eax, dword [ecx + 0x24]
mov ebx, dword [ecx + 0x20]
sub eax, 1
je 0x1001e128
sub eax, 1
jne 0x1001e138
shl ebx, 0x10
jmp 0x1001e138
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
mov eax, edx
sub eax, ecx
sar eax, 3
cmp eax, 1
ja 0x1001e160
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e15c
cmp dword [eax], 0
jne 0x1001e15c
mov dword [eax], 0x82
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor edi, edi
jmp 0x1001e185
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 8]
sub eax, 1
je 0x1001e175
sub eax, 1
jne 0x1001e185
shl edi, 0x10
jmp 0x1001e185
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
sub edx, ecx
sar edx, 3
cmp edx, 2
jae 0x1001e1a3
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e1b8
cmp dword [eax], 0
jne 0x1001e1b8
mov dword [eax], 0x82
jmp 0x1001e1b8
mov eax, dword [esp + 0x3c]
sub eax, edi
sub eax, ebp
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 8]
mov dword [eax + 0x14], 0
mov ecx, dword [esi + 0xc]
mov eax, ecx
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp eax, 3
ja 0x1001e1e6
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e1e2
cmp dword [eax], 0
jne 0x1001e1e2
mov dword [eax], 0x82
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor edi, edi
jmp 0x1001e20b
mov eax, dword [edx + 0x1c]
mov edi, dword [edx + 0x18]
sub eax, 1
je 0x1001e1fb
sub eax, 1
jne 0x1001e20b
shl edi, 0x10
jmp 0x1001e20b
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
sub ecx, edx
sar ecx, 3
cmp ecx, 4
jae 0x1001e229
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e23c
cmp dword [eax], 0
jne 0x1001e23c
mov dword [eax], 0x82
jmp 0x1001e23c
sub ebx, edi
sub ebx, dword [esp + 0x3c]
mov dword [edx + 0x20], ebx
mov eax, dword [esi + 8]
mov dword [eax + 0x24], 0
cmp byte [esp + 0x5f], 1
mov edi, dword [esp + 0x34]
mov eax, dword [edi + 0x20]
jne 0x1001e24e
mov eax, dword [eax]
jmp 0x1001e251
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0xdc]
push eax
lea eax, [esp + 0x2b]
push eax
push dword [esp + 0x3f1c]
lea eax, [esp + 0xc8]
cmovne eax, edx
mov edx, esi
push eax
call fcn.1001c680
cmp byte [edi + 0x224], 0
jne 0x10021a57
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [esi + 0xc], eax
jmp 0x1001d343
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
cmp ecx, edx
jne 0x1001e2c5
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e2c1
cmp dword [eax], 0
jne 0x1001e2c1
mov dword [eax], 0xa1
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ebx, ebx
jmp 0x1001e2ef
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
sub eax, 1
je 0x1001e2df
sub eax, 1
jne 0x1001e2ef
shl ebx, 0x10
jmp 0x1001e2ef
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
cmp ecx, edx
jne 0x1001e352
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e30b
cmp dword [eax], 0
jne 0x1001e30b
mov dword [eax], 0xa1
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
xor edi, edi
mov eax, dword [esi + 0x10]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1001e391
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov eax, dword [esi + 4]
mov ebx, dword [esp + 0x1c]
test eax, eax
je 0x1001d347
cmp dword [eax], 0
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
jne 0x1001d347
mov dword [eax], 0x82
jmp 0x1001d337
lea ebp, [ecx - 8]
mov dword [esi + 0xc], ebp
mov eax, dword [ebp + 4]
mov edi, dword [ebp]
sub eax, 1
je 0x1001e36d
sub eax, 1
jne 0x1001e37d
shl edi, 0x10
jmp 0x1001e37d
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov ecx, ebp
test edi, edi
je 0x1001e30b
test ebx, ebx
je 0x1001e30b
mov edi, 1
jmp 0x1001e30d
mov dword [ecx], edi
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x1001d337
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
cmp ecx, edx
jne 0x1001e3cc
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e3c8
cmp dword [eax], 0
jne 0x1001e3c8
mov dword [eax], 0xa1
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ebx, ebx
jmp 0x1001e3f6
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
sub eax, 1
je 0x1001e3e6
sub eax, 1
jne 0x1001e3f6
shl ebx, 0x10
jmp 0x1001e3f6
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
cmp ecx, edx
jne 0x1001e414
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e444
cmp dword [eax], 0
jne 0x1001e444
mov dword [eax], 0xa1
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
jmp 0x1001e444
lea eax, [ecx - 8]
mov dword [esi + 0xc], eax
mov ecx, eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1001e430
sub eax, 1
jne 0x1001e440
shl edi, 0x10
jmp 0x1001e440
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
test edi, edi
jne 0x1001e44c
test ebx, ebx
jne 0x1001e44c
xor edi, edi
jmp 0x1001e451
mov edi, 1
mov eax, dword [esi + 0x10]
mov ebx, dword [esp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x14]
cmp ecx, eax
jne 0x1001e48e
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x18]
test eax, eax
je 0x1001d347
cmp dword [eax], 0
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
jne 0x1001d347
mov dword [eax], 0x82
jmp 0x1001d33b
mov dword [ecx], edi
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x1001d343
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
cmp ecx, edi
jne 0x1001e4c9
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e4c5
cmp dword [eax], 0
jne 0x1001e4c5
mov dword [eax], 0xa1
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0xc]
xor edx, edx
jmp 0x1001e4f3
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1001e4e3
sub eax, 1
jne 0x1001e4f3
shl edx, 0x10
jmp 0x1001e4f3
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esi + 0x10]
lea eax, [edi + eax*8]
mov edi, dword [esp + 0x18]
cmp ecx, eax
jne 0x1001e528
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x14]
test eax, eax
je 0x1001d347
cmp dword [eax], 0
mov edi, dword [esp + 0x18]
jne 0x1001d347
mov dword [eax], 0x82
jmp 0x1001d33f
xor eax, eax
test edx, edx
mov edx, dword [esp + 0x14]
sete al
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x1001d347
test al, al
je case.0x1001e030.0
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 4]
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x100217a8
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e579
cmp dword [eax], 0
jne 0x1001e579
mov dword [eax], 0xa1
mov dword [esp + 0x44], 0
jmp 0x100217d6
test al, al
je case.0x1001e030.0
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x1001e5ac
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e5a8
cmp dword [eax], 0
jne 0x1001e5a8
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1001e5d6
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1001e5c6
sub eax, 1
jne 0x1001e5d6
shl ecx, 0x10
jmp 0x1001e5d6
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x24]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1001e5fe
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e5fa
cmp dword [eax], 0
jne 0x1001e5fa
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1001e628
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1001e618
sub eax, 1
jne 0x1001e628
shl ecx, 0x10
jmp 0x1001e628
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [edx + 0x24]
mov dword [eax], ecx
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
cmp ecx, edi
jne 0x1001e653
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e64f
cmp dword [eax], 0
jne 0x1001e64f
mov dword [eax], 0xa1
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
xor edx, edx
jmp 0x1001e67d
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1001e66d
sub eax, 1
jne 0x1001e67d
shl edx, 0x10
jmp 0x1001e67d
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
cmp ecx, edi
jne 0x1001e697
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e693
cmp dword [eax], 0
jne 0x1001e693
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1001e6c1
lea eax, [ecx - 8]
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1001e6b1
sub eax, 1
jne 0x1001e6c1
shl ecx, 0x10
jmp 0x1001e6c1
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edi, dword [esp + 0x34]
mov byte [esp + 0x27], 1
mov eax, dword [edi + 0x20]
add dword [eax], ecx
mov eax, dword [edi + 0x20]
add dword [eax + 4], edx
cmp byte [edi + 0x2f], 0
jne 0x10021a57
cmp byte [esp + 0x2f], 0
je case.0x1001e030.0
mov ebx, dword [esp + 0x28]
add ebp, ecx
mov eax, dword [esi + 8]
add ebx, edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3f10], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x3f0c], ebp
mov dword [esi + 0xc], eax
jmp 0x1001d343
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1001e75b
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e735
cmp dword [eax], 0
jne 0x1001e735
mov dword [eax], 0xa1
mov ecx, dword [esi + 0x10]
xor edx, edx
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea ecx, [eax + ecx*8]
mov eax, edx
cdq
xor eax, edx
sub eax, edx
cmp edi, ecx
jne 0x1001fd71
mov edi, dword [esp + 0x18]
jmp 0x1001e501
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1001e775
sub eax, 1
jne 0x1001e785
shl edx, 0x10
jmp 0x1001e785
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 ecx, [eax + ecx*8]
cmp edx, 0x80000001
jge 0x1001e743
cmp edi, ecx
jne 0x1001e7bc
mov eax, dword [esi + 4]
test eax, eax
je 0x1001d33f
cmp dword [eax], 0
jne 0x1001d33f
mov dword [eax], 0x82
jmp 0x1001d33f
mov dword [edi], 0x7fffffff
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x1001d33f
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
cmp ecx, edx
jne 0x1001e7fb
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e7f7
cmp dword [eax], 0
jne 0x1001e7f7
mov dword [eax], 0xa1
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ebx, ebx
jmp 0x1001e825
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
sub eax, 1
je 0x1001e815
sub eax, 1
jne 0x1001e825
shl ebx, 0x10
jmp 0x1001e825
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
cmp ecx, edx
jne 0x1001e845
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e841
cmp dword [eax], 0
jne 0x1001e841
mov dword [eax], 0xa1
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
xor edi, edi
jmp 0x1001e86f
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1001e85f
sub eax, 1
jne 0x1001e86f
shl edi, 0x10
jmp 0x1001e86f
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [esi + 0x10]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x14]
cmp ecx, eax
jne 0x1001e886
mov ebx, dword [esp + 0x1c]
jmp 0x1001e463
lea eax, [edi + ebx]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0x1c]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x1001d343
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
cmp ecx, edx
jne 0x1001e8c8
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e8c4
cmp dword [eax], 0
jne 0x1001e8c4
mov dword [eax], 0xa1
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ebx, ebx
jmp 0x1001e8f2
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
sub eax, 1
je 0x1001e8e2
sub eax, 1
jne 0x1001e8f2
shl ebx, 0x10
jmp 0x1001e8f2
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
cmp ecx, edx
jne 0x1001e912
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e90e
cmp dword [eax], 0
jne 0x1001e90e
mov dword [eax], 0xa1
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
xor edi, edi
jmp 0x1001e93c
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1001e92c
sub eax, 1
jne 0x1001e93c
shl edi, 0x10
jmp 0x1001e93c
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [esi + 0x10]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x14]
cmp ecx, eax
jne 0x1001e953
mov ebx, dword [esp + 0x1c]
jmp 0x1001e463
sub edi, ebx
mov dword [ecx], edi
jmp 0x1001e88b
test al, al
je 0x1001ea0b
cmp byte [esp + 0x50], 0
je 0x1001ea0b
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1001e98d
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e989
cmp dword [eax], 0
jne 0x1001e989
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1001e9b1
cmp dword [eax - 4], 2
je 0x1001e9a9
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e9a5
cmp dword [eax], 0
jne 0x1001e9a5
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1001e9b1
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov edx, dword [eax]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1001e9d6
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e9cb
cmp dword [eax], 0
jne 0x1001e9cb
mov dword [eax], 0xa1
xor ecx, ecx
mov byte [esp + 0x50], cl
jmp 0x1001ea9f
cmp dword [eax - 4], 2
je 0x1001e9f9
mov eax, dword [esi + 4]
test eax, eax
je 0x1001e9ee
cmp dword [eax], 0
jne 0x1001e9ee
mov dword [eax], 0xa0
xor ecx, ecx
mov byte [esp + 0x50], cl
jmp 0x1001ea9f
add eax, 0xfffffff8
mov byte [esp + 0x50], 0
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
jmp 0x1001ea9f
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
cmp ecx, edi
jne 0x1001ea31
mov eax, dword [esi + 4]
test eax, eax
je 0x1001ea2d
cmp dword [eax], 0
jne 0x1001ea2d
mov dword [eax], 0xa1
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
xor edx, edx
jmp 0x1001ea5b
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1001ea4b
sub eax, 1
jne 0x1001ea5b
shl edx, 0x10
jmp 0x1001ea5b
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
cmp ecx, edi
jne 0x1001ea75
mov eax, dword [esi + 4]
test eax, eax
je 0x1001ea71
cmp dword [eax], 0
jne 0x1001ea71
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1001ea9f
lea eax, [ecx - 8]
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1001ea8f
sub eax, 1
jne 0x1001ea9f
shl ecx, 0x10
jmp 0x1001ea9f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.10009560
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea ecx, [ecx + edx*8]
jmp 0x1001e74a
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 8]
jne 0x1001eafc
mov eax, dword [esi + 4]
test eax, eax
je 0x1001eacf
cmp dword [eax], 0
jne 0x1001eacf
mov dword [eax], 0xa1
mov ecx, dword [esi + 0x10]
xor edx, edx
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edi, eax
je 0x1001e752
neg edx
mov dword [edi], edx
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x1001d33f
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1001eb16
sub eax, 1
jne 0x1001eb26
shl edx, 0x10
jmp 0x1001eb26
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 edx, 0x80000001
jge 0x1001eadd
cmp edi, eax
jne 0x1001e7bc
mov eax, dword [esi + 4]
test eax, eax
je 0x1001d33f
cmp dword [eax], 0
jne 0x1001d33f
mov dword [eax], 0x82
jmp 0x1001d33f
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
cmp ecx, edx
jne 0x1001eb87
mov eax, dword [esi + 4]
test eax, eax
je 0x1001eb83
cmp dword [eax], 0
jne 0x1001eb83
mov dword [eax], 0xa1
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ebx, ebx
jmp 0x1001ebb1
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
sub eax, 1
je 0x1001eba1
sub eax, 1
jne 0x1001ebb1
shl ebx, 0x10
jmp 0x1001ebb1
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
cmp ecx, edx
jne 0x1001ebd1
mov eax, dword [esi + 4]
test eax, eax
je 0x1001ebcd
cmp dword [eax], 0
jne 0x1001ebcd
mov dword [eax], 0xa1
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
xor edi, edi
jmp 0x1001ebfb
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1001ebeb
sub eax, 1
jne 0x1001ebfb
shl edi, 0x10
jmp 0x1001ebfb
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [esi + 0x10]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x14]
cmp ecx, eax
jne 0x1001ec12
mov ebx, dword [esp + 0x1c]
jmp 0x1001e463
xor eax, eax
cmp edi, ebx
mov ebx, dword [esp + 0x1c]
sete al
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x1001d343
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
test al, al
je 0x1001d347
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1001ec60
mov eax, dword [esi + 4]
test eax, eax
je 0x1001ec5c
cmp dword [eax], 0
jne 0x1001ec5c
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1001ec84
cmp dword [eax - 4], 2
je 0x1001ec7c
mov eax, dword [esi + 4]
test eax, eax
je 0x1001ec78
cmp dword [eax], 0
jne 0x1001ec78
mov dword [eax], 0xa0
xor edi, edi
jmp 0x1001ec84
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov edi, dword [eax]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1001eca2
mov eax, dword [esi + 4]
test eax, eax
je 0x1001ec9e
cmp dword [eax], 0
jne 0x1001ec9e
mov dword [eax], 0xa1
xor ebx, ebx
jmp 0x1001ecc6
cmp dword [eax - 4], 2
je 0x1001ecbe
mov eax, dword [esi + 4]
test eax, eax
je 0x1001ecba
cmp dword [eax], 0
jne 0x1001ecba
mov dword [eax], 0xa0
xor ebx, ebx
jmp 0x1001ecc6
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov ebx, dword [eax]
mov edx, dword [esi + 0xc]
xor eax, eax
mov ecx, dword [esi + 8]
mov ebp, edx
sub ebp, ecx
mov dword [esp + 0x40], ebx
sar ebp, 3
sub ebp, ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x18], eax
cmp edi, 0x1c
ja case.0x1001ecf7.4
movzx eax, byte [edi + 0x100220a0]
jmp dword [eax*4 + 0x10022060]
cmp ebx, 3
jne 0x10021910
cmp byte [esp + 0x2f], 0
je 0x1001ed2c
mov edi, dword [esp + 0x34]
cmp dword [edi + 0x1d4], 0
je 0x10021910
cmp dword [edi + 0x1d8], 7
jne 0x10021910
mov eax, dword [esi + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x1001ed51
mov eax, dword [esi + 4]
test eax, eax
je 0x1001ed4b
cmp dword [eax], 0
jne 0x1001ed4b
mov dword [eax], 0x82
mov edx, dword [esi + 0xc]
mov ebp, dword [esp + 0x20]
jmp 0x1001ed68
mov ebp, dword [esp + 0x20]
mov dword [edx], ebp
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x1001ed94
mov eax, dword [esi + 4]
test eax, eax
je 0x1001eda8
cmp dword [eax], 0
jne 0x1001eda8
mov dword [eax], 0x82
mov dword [esp + 0x44], 2
jmp 0x1001d33b
mov eax, dword [esp + 0x28]
mov dword [edx], eax
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
mov dword [esp + 0x44], 2
jmp 0x1001d33b
test ebx, ebx
jne 0x10021910
cmp byte [esp + 0x2f], bl
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
je 0x1001d347
mov edi, dword [esp + 0x34]
mov ecx, dword [edi + 0xc]
movsx eax, word [ecx + 0x16]
movsx edx, word [ecx + 0x3a]
add eax, 6
add eax, edx
cmp eax, dword [ecx + 4]
jbe 0x1001ee04
push 0
mov edx, 6
call fcn.10009bd0
test eax, eax
jne 0x10021a57
mov dword [edi + 0x1d4], 1
mov dword [edi + 0x1d8], 0
jmp 0x1001d337
test ebx, ebx
jne 0x10021910
cmp byte [esp + 0x2f], bl
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
je 0x1001d347
mov ecx, dword [esp + 0x34]
cmp dword [ecx + 0x1d4], edi
je 0x10021910
mov edi, dword [ecx + 0x1d8]
lea eax, [edi + 1]
mov dword [ecx + 0x1d8], eax
lea eax, [edi - 1]
cmp eax, 5
ja 0x1001d337
mov ecx, dword [ecx + 0xc]
movsx eax, word [ecx + 0x16]
movsx edx, word [ecx + 0x3a]
inc eax
add eax, edx
cmp eax, dword [ecx + 4]
jbe 0x1001ee91
push 0
mov edx, 1
call fcn.10009bd0
test eax, eax
jne 0x10021910
lea eax, [edi - 3]
cmp edi, 3
jg 0x1001ee9b
mov eax, edi
mov ebp, dword [esp + 0x20]
add eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + eax*4 + 0x114], ebp
mov dword [esp + eax*4 + 0x118], ecx
cmp edi, 3
je 0x1001eec1
cmp edi, 6
jne 0x1001d33b
push dword [esp + 0x130]
mov edx, dword [esp + 0x120]
lea ecx, [esp + 0x1d4]
push dword [esp + 0x130]
push dword [esp + 0x130]
push dword [esp + 0x130]
push dword [esp + 0x130]
call fcn.1001c390
jmp 0x1001d33b
cmp ebx, 1
jne 0x10021910
cmp byte [esp + 0x2f], 0
je 0x1001ef56
mov eax, dword [esp + 0x68]
xorps xmm0, xmm0
movups xmmword [esp + 0xa0], xmm0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xf0], 0
movq qword [esp + 0xb0], xmm0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xa0], eax
mov word [esp + 0xa4], pe_nt_image_headers32
mov dword [esp + 0x44], 1
jmp 0x1001d337
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0x284]
mov dword [esp + 0x38], edx
test edx, edx
je 0x10021910
xor eax, eax
cmp edi, 0x12
sete al
add eax, 0xfffffff3
add edi, eax
mov eax, dword [edx]
imul eax, edi
mov dword [esp + 0x44], edi
cmp ebx, eax
jne 0x10021910
lea ebx, [edi + ebp]
test edi, edi
je 0x1001f0c2
mov dword [esp + 0x48], edi
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp ebp, eax
jb 0x1001efcb
mov eax, dword [esi + 4]
test eax, eax
je 0x1001efc7
cmp dword [eax], 0
jne 0x1001efc7
mov dword [eax], 0x82
xor edi, edi
jmp 0x1001eff1
mov eax, dword [ecx + ebp*8 + 4]
mov edi, dword [ecx + ebp*8]
sub eax, 1
je 0x1001efe1
sub eax, 1
jne 0x1001eff1
shl edi, 0x10
jmp 0x1001eff1
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp dword [edx], 1
jbe 0x1001f07d
mov ebp, 1
mov dword [esp + 0x30], 4
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp ebx, eax
jb 0x1001f02c
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f028
cmp dword [eax], 0
jne 0x1001f028
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1001f052
mov eax, dword [edx + ebx*8 + 4]
mov ecx, dword [edx + ebx*8]
sub eax, 1
je 0x1001f042
sub eax, 1
jne 0x1001f052
shl ecx, 0x10
jmp 0x1001f052
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
mov edx, dword [edx + 0x88]
mov edx, dword [eax + edx]
call fcn.10009010
mov edx, dword [esp + 0x38]
inc ebp
add dword [esp + 0x30], 4
add edi, eax
inc ebx
cmp ebp, dword [edx]
jb 0x1001f007
mov ebp, dword [esp + 0x3c]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp ebp, eax
jbe 0x1001f0a0
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f0ae
cmp dword [eax], 0
jne 0x1001f0ae
mov dword [eax], 0x82
jmp 0x1001f0ae
mov dword [ecx + ebp*8], edi
mov eax, dword [esi + 8]
mov dword [eax + ebp*8 + 4], 0
inc ebp
sub dword [esp + 0x48], 1
mov dword [esp + 0x3c], ebp
jne 0x1001efa6
mov edi, dword [esp + 0x44]
mov ecx, dword [esi + 0xc]
mov eax, ecx
sub eax, dword [esi + 8]
mov edx, dword [esp + 0x40]
sub edx, edi
sar eax, 3
cmp edx, eax
jbe 0x1001f0f6
mov eax, dword [esi + 4]
test eax, eax
je 0x1001d337
cmp dword [eax], 0
jne 0x1001d337
mov dword [eax], 0xa1
jmp 0x1001d337
lea eax, [edx*8]
sub ecx, eax
mov dword [esi + 0xc], ecx
jmp 0x1001d337
mov ebp, dword [esp + 0x34]
mov edi, dword [ebp + 0x284]
cmp ebx, 1
jne 0x10021910
test edi, edi
je 0x10021910
cmp edx, ecx
jne 0x1001f13c
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f138
cmp dword [eax], 0
jne 0x1001f138
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1001f168
cmp dword [edx - 4], 2
je 0x1001f158
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f154
cmp dword [eax], 0
jne 0x1001f154
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1001f168
lea eax, [edx - 8]
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x10021910
mov edx, dword [edi]
lea eax, [edx + ecx]
cmp eax, dword [ebp + 0x28c]
ja 0x10021910
lea eax, [edx*4]
push eax
mov eax, dword [ebp + 0x288]
push dword [edi + 0x88]
lea eax, [eax + ecx*4]
push eax
call fcn.100fe460
add esp, 0xc
jmp 0x1001d337
cmp ebx, 2
jne 0x10021910
cmp edx, ecx
jne 0x1001f1c7
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f1c3
cmp dword [eax], 0
jne 0x1001f1c3
mov dword [eax], 0xa1
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor ebx, ebx
jmp 0x1001f1f1
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ebx, dword [edx]
sub eax, 1
je 0x1001f1e1
sub eax, 1
jne 0x1001f1f1
shl ebx, 0x10
jmp 0x1001f1f1
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
cmp edx, ecx
jne 0x1001f211
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f20d
cmp dword [eax], 0
jne 0x1001f20d
mov dword [eax], 0xa1
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
xor edi, edi
jmp 0x1001f23b
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edi, dword [edx]
sub eax, 1
je 0x1001f22b
sub eax, 1
jne 0x1001f23b
shl edi, 0x10
jmp 0x1001f23b
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [esi + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x1001f264
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f277
cmp dword [eax], 0
jne 0x1001f277
mov dword [eax], 0x82
mov dword [esp + 0x44], 1
jmp 0x1001d337
lea eax, [edi + ebx]
mov dword [edx], eax
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
mov dword [esp + 0x44], 1
jmp 0x1001d337
cmp ebx, 2
jne 0x10021910
cmp edx, ecx
jne 0x1001f2ad
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f2a9
cmp dword [eax], 0
jne 0x1001f2a9
mov dword [eax], 0xa1
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor ebx, ebx
jmp 0x1001f2d7
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ebx, dword [edx]
sub eax, 1
je 0x1001f2c7
sub eax, 1
jne 0x1001f2d7
shl ebx, 0x10
jmp 0x1001f2d7
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
cmp edx, ecx
jne 0x1001f2f7
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f2f3
cmp dword [eax], 0
jne 0x1001f2f3
mov dword [eax], 0xa1
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
xor edi, edi
jmp 0x1001f321
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edi, dword [edx]
sub eax, 1
je 0x1001f311
sub eax, 1
jne 0x1001f321
shl edi, 0x10
jmp 0x1001f321
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [esi + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x1001f352
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f277
cmp dword [eax], 0
jne 0x1001f277
mov dword [eax], 0x82
mov dword [esp + 0x44], 1
jmp 0x1001d337
sub edi, ebx
mov dword [edx], edi
jmp 0x1001f269
cmp ebx, 2
jne 0x10021910
cmp edx, ecx
jne 0x1001f384
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f380
cmp dword [eax], 0
jne 0x1001f380
mov dword [eax], 0xa1
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor edi, edi
jmp 0x1001f3ae
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edi, dword [edx]
sub eax, 1
je 0x1001f39e
sub eax, 1
jne 0x1001f3ae
shl edi, 0x10
jmp 0x1001f3ae
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp edx, ecx
jne 0x1001f3c8
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f3c4
cmp dword [eax], 0
jne 0x1001f3c4
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1001f3f2
lea eax, [edx - 8]
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1001f3e2
sub eax, 1
jne 0x1001f3f2
shl ecx, 0x10
jmp 0x1001f3f2
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, edi
call fcn.10009010
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea ecx, [ecx + edx*8]
cmp edi, ecx
jne 0x1001f430
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f277
cmp dword [eax], 0
jne 0x1001f277
mov dword [eax], 0x82
mov dword [esp + 0x44], 1
jmp 0x1001d337
mov dword [edi], eax
jmp 0x1001f269
cmp ebx, 2
jne 0x10021910
cmp edx, ecx
jne 0x1001f460
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f45c
cmp dword [eax], 0
jne 0x1001f45c
mov dword [eax], 0xa1
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor edi, edi
jmp 0x1001f48a
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edi, dword [edx]
sub eax, 1
je 0x1001f47a
sub eax, 1
jne 0x1001f48a
shl edi, 0x10
jmp 0x1001f48a
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp edx, ecx
jne 0x1001f4a4
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f4a0
cmp dword [eax], 0
jne 0x1001f4a0
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1001f4ce
lea eax, [edx - 8]
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1001f4be
sub eax, 1
jne 0x1001f4ce
shl ecx, 0x10
jmp 0x1001f4ce
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test edi, edi
je 0x10021910
mov edx, edi
call fcn.10009560
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea ecx, [ecx + edx*8]
cmp edi, ecx
jne 0x1001f430
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f277
cmp dword [eax], 0
jne 0x1001f277
mov dword [eax], 0x82
mov dword [esp + 0x44], 1
jmp 0x1001d337
cmp ebx, 2
jne 0x10021910
mov edi, dword [esp + 0x34]
cmp dword [edi + 0x284], 0
je 0x10021910
cmp edx, ecx
jne 0x1001f54c
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f548
cmp dword [eax], 0
jne 0x1001f548
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1001f578
cmp dword [edx - 4], 2
je 0x1001f568
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f564
cmp dword [eax], 0
jne 0x1001f564
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1001f578
lea eax, [edx - 8]
mov dword [esi + 0xc], eax
mov edx, dword [eax]
test edx, edx
js 0x10021910
cmp edx, dword [edi + 0x28c]
jae 0x10021910
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1001f5ae
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f59e
cmp dword [eax], 0
jne 0x1001f59e
mov dword [eax], 0xa1
mov eax, dword [edi + 0x288]
xor ecx, ecx
mov dword [eax + edx*4], ecx
jmp 0x1001d337
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1001f5d4
sub eax, 1
jne 0x1001f5e4
mov eax, dword [edi + 0x288]
shl ecx, 0x10
mov dword [eax + edx*4], ecx
jmp 0x1001d337
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [edi + 0x288]
mov dword [eax + edx*4], ecx
jmp 0x1001d337
cmp ebx, 1
jne 0x10021910
mov ebx, dword [esp + 0x34]
cmp dword [ebx + 0x284], 0
je 0x10021910
cmp edx, ecx
jne 0x1001f626
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f622
cmp dword [eax], 0
jne 0x1001f622
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1001f652
cmp dword [edx - 4], 2
je 0x1001f642
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f63e
cmp dword [eax], 0
jne 0x1001f63e
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1001f652
lea eax, [edx - 8]
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x10021910
cmp ecx, dword [ebx + 0x28c]
jae 0x10021910
mov eax, dword [ebx + 0x288]
mov edx, dword [esi + 0xc]
mov edi, dword [eax + ecx*4]
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x1001f354
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f277
cmp dword [eax], 0
jne 0x1001f277
mov dword [eax], 0x82
mov dword [esp + 0x44], 1
jmp 0x1001d337
cmp ebx, 4
jne 0x10021910
cmp edx, ecx
jne 0x1001f6d1
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f6c7
cmp dword [eax], 0
jne 0x1001f6c7
mov dword [eax], 0xa1
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dword [esp + 0x30], 0
jmp 0x1001f70b
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
sub eax, 1
je 0x1001f6f5
sub eax, 1
mov eax, dword [edx]
je 0x1001f6ec
mov dword [esp + 0x30], eax
jmp 0x1001f70b
shl eax, 0x10
mov dword [esp + 0x30], eax
jmp 0x1001f70b
mov ebx, dword [edx]
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
mov dword [esp + 0x30], ebx
cmp edx, ecx
jne 0x1001f72b
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f727
cmp dword [eax], 0
jne 0x1001f727
mov dword [eax], 0xa1
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor ebp, ebp
jmp 0x1001f755
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ebp, dword [edx]
sub eax, 1
je 0x1001f745
sub eax, 1
jne 0x1001f755
shl ebp, 0x10
jmp 0x1001f755
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp edx, ecx
jne 0x1001f775
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f771
cmp dword [eax], 0
jne 0x1001f771
mov dword [eax], 0xa1
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor edi, edi
jmp 0x1001f79f
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edi, dword [edx]
sub eax, 1
je 0x1001f78f
sub eax, 1
jne 0x1001f79f
shl edi, 0x10
jmp 0x1001f79f
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp edx, ecx
jne 0x1001f7bf
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f7bb
cmp dword [eax], 0
jne 0x1001f7bb
mov dword [eax], 0xa1
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
xor ebx, ebx
jmp 0x1001f7e9
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ebx, dword [edx]
sub eax, 1
je 0x1001f7d9
sub eax, 1
jne 0x1001f7e9
shl ebx, 0x10
jmp 0x1001f7e9
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
mov eax, dword [esi + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x1001f81a
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f277
cmp dword [eax], 0
jne 0x1001f277
mov dword [eax], 0x82
mov dword [esp + 0x44], 1
jmp 0x1001d337
cmp ebp, dword [esp + 0x30]
cmovle edi, ebx
mov dword [edx], edi
jmp 0x1001f269
test ebx, ebx
jne 0x10021910
mov eax, dword [esp + 0x34]
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
jne 0x1001f354
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f277
cmp dword [eax], ebx
jne 0x1001f277
mov dword [eax], 0x82
mov dword [esp + 0x44], 1
jmp 0x1001d337
test ebx, ebx
js 0x10021910
test edi, edi
js 0x10021910
cmp ebx, 3
jle 0x1001f8bb
mov ebx, 3
mov edi, ebx
mov dword [esp + 0x18], edi
jmp 0x1001f8d2
mov ebp, dword [esp + 0x20]
mov edi, ebx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], edi
cmp ebx, 1
jl 0x1001d3e0
lea edx, [esp + ebx*4 + 0x78]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1001f8f4
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f8f0
cmp dword [eax], 0
jne 0x1001f8f0
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1001f91e
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1001f90e
sub eax, 1
jne 0x1001f91e
shl ecx, 0x10
jmp 0x1001f91e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov dword [edx], ecx
sub edx, 4
sub ebx, 1
jne 0x1001f8d6
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
jmp 0x1001d347
mov edx, dword [esp + 0x14]
test al, al
je 0x1001d343
mov edi, dword [esp + 0x44]
test edi, edi
jle 0x1001f957
dec edi
mov dword [esp + 0x44], edi
jmp 0x1001d33f
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10021910
mov edi, dword [esp + eax*4 + 0x78]
dec eax
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 8]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x1001feda
mov edi, dword [esp + 0x18]
jmp 0x1001e501
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
cmp eax, dword [esi + 8]
jne 0x1001f9b8
mov eax, dword [esi + 4]
test eax, eax
je 0x1001d347
cmp dword [eax], 0
jne 0x1001d347
mov dword [eax], 0xa1
jmp 0x1001d33f
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
jmp 0x1001d347
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1001f9e1
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f9dd
cmp dword [eax], 0
jne 0x1001f9dd
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1001fa05
cmp dword [eax - 4], 2
je 0x1001f9fd
mov eax, dword [esi + 4]
test eax, eax
je 0x1001f9f9
cmp dword [eax], 0
jne 0x1001f9f9
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1001fa05
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov edx, dword [eax]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1001fa23
mov eax, dword [esi + 4]
test eax, eax
je 0x1001fa1f
cmp dword [eax], 0
jne 0x1001fa1f
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1001fa4d
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1001fa3d
sub eax, 1
jne 0x1001fa4d
shl ecx, 0x10
jmp 0x1001fa4d
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edi, dword [esp + 0x18]
cmp edx, 0x1f
ja 0x1001f930
mov dword [esp + edx*4 + 0x150], ecx
jmp 0x1001d33f
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1001fa84
mov eax, dword [esi + 4]
test eax, eax
je 0x1001fa80
cmp dword [eax], 0
jne 0x1001fa80
mov dword [eax], 0xa1
xor eax, eax
jmp 0x1001fab9
cmp dword [eax - 4], 2
je 0x1001faa0
mov eax, dword [esi + 4]
test eax, eax
je 0x1001fa9c
cmp dword [eax], 0
jne 0x1001fa9c
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1001fab9
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x1001d33f
cmp eax, 0x20
jge 0x1001d33f
mov edi, dword [esp + eax*4 + 0x150]
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x1001feda
mov edi, dword [esp + 0x18]
jmp 0x1001e501
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
cmp ecx, edx
jne 0x1001fb09
mov eax, dword [esi + 4]
test eax, eax
je 0x1001faff
cmp dword [eax], 0
jne 0x1001faff
mov dword [eax], 0xa1
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
mov dword [esp + 0x30], 0
jmp 0x1001fb43
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
sub eax, 1
je 0x1001fb2d
sub eax, 1
mov eax, dword [ecx]
je 0x1001fb24
mov dword [esp + 0x30], eax
jmp 0x1001fb43
shl eax, 0x10
mov dword [esp + 0x30], eax
jmp 0x1001fb43
mov ebx, dword [ecx]
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
mov dword [esp + 0x30], ebx
cmp ecx, edx
jne 0x1001fb63
mov eax, dword [esi + 4]
test eax, eax
je 0x1001fb5f
cmp dword [eax], 0
jne 0x1001fb5f
mov dword [eax], 0xa1
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ebp, ebp
jmp 0x1001fb8d
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x1001fb7d
sub eax, 1
jne 0x1001fb8d
shl ebp, 0x10
jmp 0x1001fb8d
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp ecx, edx
jne 0x1001fbad
mov eax, dword [esi + 4]
test eax, eax
je 0x1001fba9
cmp dword [eax], 0
jne 0x1001fba9
mov dword [eax], 0xa1
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor edi, edi
jmp 0x1001fbd7
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1001fbc7
sub eax, 1
jne 0x1001fbd7
shl edi, 0x10
jmp 0x1001fbd7
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1001fbf7
mov eax, dword [esi + 4]
test eax, eax
je 0x1001fbf3
cmp dword [eax], 0
jne 0x1001fbf3
mov dword [eax], 0xa1
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
xor ebx, ebx
jmp 0x1001fc21
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
sub eax, 1
je 0x1001fc11
sub eax, 1
jne 0x1001fc21
shl ebx, 0x10
jmp 0x1001fc21
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
mov eax, dword [esi + 0x10]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x14]
cmp ecx, eax
je 0x1001e31b
cmp ebp, dword [esp + 0x30]
mov ebp, dword [esp + 0x20]
cmovle edi, ebx
mov dword [ecx], edi
jmp 0x1001e88b
mov eax, dword [esp + 0x34]
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
jne 0x1001feda
mov eax, dword [esi + 4]
test eax, eax
je 0x1001d33f
cmp dword [eax], 0
jne 0x1001d33f
mov dword [eax], 0x82
jmp 0x1001d33f
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
cmp ecx, edx
jne 0x1001fccd
mov eax, dword [esi + 4]
test eax, eax
je 0x1001fcc9
cmp dword [eax], 0
jne 0x1001fcc9
mov dword [eax], 0xa1
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor edi, edi
jmp 0x1001fcf7
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1001fce7
sub eax, 1
jne 0x1001fcf7
shl edi, 0x10
jmp 0x1001fcf7
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1001fd11
mov eax, dword [esi + 4]
test eax, eax
je 0x1001fd0d
cmp dword [eax], 0
jne 0x1001fd0d
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1001fd3b
lea eax, [ecx - 8]
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1001fd2b
sub eax, 1
jne 0x1001fd3b
shl ecx, 0x10
jmp 0x1001fd3b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, edi
call fcn.10009010
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0xc]
lea ecx, [ecx + edx*8]
cmp edi, ecx
jne 0x1001fd71
mov eax, dword [esi + 4]
test eax, eax
je 0x1001d33f
cmp dword [eax], 0
jne 0x1001d33f
mov dword [eax], 0x82
jmp 0x1001d33f
mov dword [edi], eax
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x1001d33f
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 8]
jne 0x1001fdc3
mov eax, dword [esi + 4]
test eax, eax
je 0x1001fda0
cmp dword [eax], 0
jne 0x1001fda0
mov dword [eax], 0xa1
xor ebx, ebx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x1001fe2b
mov edx, dword [esp + 0x14]
jmp 0x1001e323
add ebp, 0xfffffff8
mov dword [esi + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x1001fdde
sub eax, 1
jne 0x1001fdee
shl ebp, 0x10
jmp 0x1001fdee
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
test ebp, ebp
jle 0x1001fda0
mov eax, ebp
mov edi, ebp
sar eax, 1
mov ecx, ebp
cmp ebp, 0xa
cmovge edi, eax
mov edx, edi
call fcn.10009560
lea ebx, [edi + 1]
add ebx, eax
sar ebx, 1
cmp ebx, edi
je 0x1001fda2
mov edx, ebx
mov ecx, ebp
mov edi, ebx
call fcn.10009560
inc ebx
add ebx, eax
sar ebx, 1
cmp ebx, edi
jne 0x1001fe12
jmp 0x1001fda2
mov dword [edx], ebx
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x1001d347
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
cmp edx, ecx
jne 0x1001fe6e
mov eax, dword [esi + 4]
test eax, eax
je 0x1001fe6a
cmp dword [eax], 0
jne 0x1001fe6a
mov dword [eax], 0xa1
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
xor edi, edi
jmp 0x1001fe98
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edi, dword [edx]
sub eax, 1
je 0x1001fe88
sub eax, 1
jne 0x1001fe98
shl edi, 0x10
jmp 0x1001fe98
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [esi + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x1001feb6
mov eax, dword [esi + 4]
test eax, eax
je 0x1001fec9
cmp dword [eax], 0
jne 0x1001fec9
mov dword [eax], 0x82
jmp 0x1001fec6
mov dword [edx], edi
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
lea eax, [eax + ecx*8]
cmp edx, eax
je 0x1001e752
mov dword [edx], edi
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x1001d33f
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
cmp edx, ecx
jne 0x1001ff15
mov eax, dword [esi + 4]
test eax, eax
je 0x1001ff11
cmp dword [eax], 0
jne 0x1001ff11
mov dword [eax], 0xa1
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor ebx, ebx
jmp 0x1001ff3f
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov ebx, dword [edx]
sub eax, 1
je 0x1001ff2f
sub eax, 1
jne 0x1001ff3f
shl ebx, 0x10
jmp 0x1001ff3f
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
cmp edx, ecx
jne 0x1001ff5f
mov eax, dword [esi + 4]
test eax, eax
je 0x1001ff5b
cmp dword [eax], 0
jne 0x1001ff5b
mov dword [eax], 0xa1
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
xor edi, edi
jmp 0x1001ff89
add edx, 0xfffffff8
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
mov edi, dword [edx]
sub eax, 1
je 0x1001ff79
sub eax, 1
jne 0x1001ff89
shl edi, 0x10
jmp 0x1001ff89
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [esi + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x1001ffa7
mov eax, dword [esi + 4]
test eax, eax
je 0x1001ffba
cmp dword [eax], 0
jne 0x1001ffba
mov dword [eax], 0x82
jmp 0x1001ffb7
mov dword [edx], ebx
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x1c]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x1001feda
mov edx, dword [esp + 0x14]
jmp 0x1001e463
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x1001fff6
mov eax, dword [esi + 4]
test eax, eax
je 0x1001fff2
cmp dword [eax], 0
jne 0x1001fff2
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1002001a
cmp dword [eax - 4], 2
je 0x10020012
mov eax, dword [esi + 4]
test eax, eax
je 0x1002000e
cmp dword [eax], 0
jne 0x1002000e
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1002001a
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
mov edi, dword [esi + 0xc]
mov eax, edi
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
test eax, eax
je 0x1001d33f
test ecx, ecx
jns 0x10020038
lea ebx, [eax - 1]
jmp 0x10020059
cmp ecx, eax
jb 0x10020054
xor ebx, ebx
mov eax, dword [edx + ebx*8 + 4]
mov ecx, dword [edx + ebx*8]
sub eax, 1
je 0x10020079
sub eax, 1
jne 0x10020089
shl ecx, 0x10
jmp 0x10020089
mov ebx, eax
sub ebx, ecx
dec ebx
cmp ebx, eax
jb 0x1002003e
mov eax, dword [esi + 4]
test eax, eax
je 0x10020075
cmp dword [eax], 0
jne 0x10020075
mov dword [eax], 0x82
mov edx, dword [esi + 8]
mov edi, dword [esi + 0xc]
xor ecx, ecx
jmp 0x10020089
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esi + 0x10]
mov ebx, dword [esp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x14]
cmp edi, eax
je 0x1001e463
mov dword [edi], ecx
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x1001d343
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x100200d2
mov eax, dword [esi + 4]
test eax, eax
je 0x100200ce
cmp dword [eax], 0
jne 0x100200ce
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100200f6
cmp dword [eax - 4], 2
je 0x100200ee
mov eax, dword [esi + 4]
test eax, eax
je 0x100200ea
cmp dword [eax], 0
jne 0x100200ea
mov dword [eax], 0xa0
xor edx, edx
jmp 0x100200f6
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov edx, dword [eax]
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 8]
cmp eax, edi
jne 0x10020127
mov eax, dword [esi + 4]
test eax, eax
je 0x1002013f
cmp dword [eax], 0
jne 0x1002013f
mov dword [eax], 0xa1
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 2
jmp 0x1001d33f
cmp dword [eax - 4], 2
je 0x10020154
mov eax, dword [esi + 4]
test eax, eax
je 0x1002013f
cmp dword [eax], 0
jne 0x1002013f
mov dword [eax], 0xa0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 2
jmp 0x1001d33f
add eax, 0xfffffff8
mov dword [esp + 0x30], 0
mov dword [esi + 0xc], eax
mov dword [esp + 0x40], 2
mov ecx, dword [eax]
mov dword [esp + 0x3c], ecx
cmp ecx, 2
jl 0x1001d33f
sub eax, edi
sar eax, 3
cmp ecx, eax
jbe 0x100201a1
mov eax, dword [esi + 4]
test eax, eax
je 0x1001d33f
cmp dword [eax], 0
jne 0x1001d33f
mov dword [eax], 0x82
jmp 0x1001d33f
test edx, edx
jns 0x100201b6
neg edx
mov eax, edx
cdq
idiv ecx
mov ebx, edx
neg ebx
mov dword [esp + 0x48], ebx
jmp 0x100201c1
mov eax, edx
cdq
idiv ecx
mov ebx, edx
mov dword [esp + 0x48], edx
test ebx, ebx
je 0x1001d33b
or ebp, 0xffffffff
mov dword [esp + 0x38], ecx
or edx, ebp
lea eax, [ecx*8]
shl ebx, 3
mov dword [esp + 0x54], ebx
lea edi, [ebp - 7]
mov ebx, dword [esi + 8]
cmp ebp, edx
jne 0x1002020a
inc ebp
mov edx, ebp
lea edi, [ebp*8]
mov eax, dword [edi + ebx]
mov dword [esp + 0x30], eax
mov eax, dword [edi + ebx + 4]
mov dword [esp + 0x40], eax
lea eax, [ecx*8]
add edx, dword [esp + 0x48]
add edi, dword [esp + 0x54]
cmp edx, ecx
jl 0x1002021c
sub edx, ecx
sub edi, eax
jmp 0x10020224
test edx, edx
jns 0x10020224
add edx, ecx
add edi, eax
sub dword [esp + 0x38], 1
mov eax, dword [ebx + edi]
mov ecx, dword [ebx + edi + 4]
mov esi, dword [esp + 0x30]
mov dword [ebx + edi], esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x3c]
mov dword [ebx + edi + 4], esi
mov esi, dword [esp + 0x60]
mov dword [esp + 0x30], eax
lea eax, [ecx*8]
jne 0x100201e3
jmp 0x1001d337
test al, al
je case.0x1001e030.0
cmp byte [esp + 0x2f], 0
je case.0x1001e030.0
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
cmp ecx, edx
jne 0x10020296
mov eax, dword [esi + 4]
test eax, eax
je 0x10020292
cmp dword [eax], 0
jne 0x10020292
mov dword [eax], 0xa1
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ebx, ebx
jmp 0x100202c4
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
mov dword [esp + 0x28], ebx
sub eax, 1
je 0x100202b4
sub eax, 1
jne 0x100202c8
shl ebx, 0x10
jmp 0x100202c4
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3f10], ebx
cmp ecx, edx
jne 0x100202e9
mov eax, dword [esi + 4]
test eax, eax
je 0x100202e5
cmp dword [eax], 0
jne 0x100202e5
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10020317
lea eax, [ecx - 8]
mov dword [esi + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x20], ebp
sub eax, 1
je 0x10020307
sub eax, 1
jne 0x1002031b
shl ebp, 0x10
jmp 0x10020317
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov dword [esp + 0x20], ebp
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3f0c], ebp
mov dword [eax + 0x1d4], 0
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x1001d343
test al, al
je case.0x1001d45b.0
mov ecx, dword [esi + 0xc]
cmp ecx, dword [esi + 8]
jne 0x10020369
mov eax, dword [esi + 4]
test eax, eax
je 0x10020365
cmp dword [eax], 0
jne 0x10020365
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10020393
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x10020383
sub eax, 1
jne 0x10020393
shl ecx, 0x10
jmp 0x10020393
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edi, dword [esp + 0x34]
mov eax, dword [edi + 0x24]
mov dword [eax], ecx
mov eax, dword [edi + 0x24]
mov dword [eax + 4], 0
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x100203c4
mov eax, dword [esi + 4]
test eax, eax
je 0x100203c0
cmp dword [eax], 0
jne 0x100203c0
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100203ee
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x100203de
sub eax, 1
jne 0x100203ee
shl ecx, 0x10
jmp 0x100203ee
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [edi + 0x20]
mov byte [esp + 0x27], 1
add dword [eax], ecx
cmp byte [edi + 0x2f], 0
jne 0x10021a57
cmp byte [esp + 0x2f], 0
mov ebx, dword [esp + 0x1c]
je 0x1001d622
mov eax, dword [esi + 8]
add ebp, ecx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x3f0c], ebp
mov dword [esi + 0xc], eax
jmp 0x1001d343
test al, al
je 0x10021bee
test ah, ah
jne 0x10021bee
push dword [esp + 0x28]
mov edx, ebp
lea ecx, [esp + 0x1d4]
call fcn.1001c140
mov edx, dword [esp + 0x14]
xorps xmm0, xmm0
mov eax, dword [esp + 0x68]
mov byte [esp + 0x2f], 1
mov dword [esp + 0xd0], 0
mov dword [esp + 0xf0], 0
movq qword [esp + 0xb0], xmm0
mov dword [esp + 0xb8], 0
movups xmmword [esp + 0xa0], xmm0
mov dword [esp + 0xa0], eax
mov word [esp + 0xa4], pe_nt_image_headers32
test edx, edx
jle 0x100204ea
mov esi, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
lea ebp, [edx - 1]
cmp ebp, eax
jb 0x100204d0
test esi, esi
je 0x100204ce
cmp dword [esi], 0
jne 0x100204ce
mov dword [esi], 0x82
xor ebp, ebp
imul ebp, ecx
dec edx
add ebp, ebx
mov dword [esp + 0x1c], ebp
test edx, edx
jg 0x100204b8
mov esi, dword [esp + 0x60]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x1001d343
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 3
cmp eax, 1
jbe 0x1002051b
cmp byte [esp + 0xa4], 0
jne case.0x1001d45b.0
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x27]
push 0
push eax
push dword [esp + 0x3f1c]
lea eax, [esp + 0xc8]
mov edx, esi
push eax
call fcn.1001c680
mov eax, dword [esp + 0x34]
cmp byte [eax + 0x224], 0
jne 0x10021a57
cmp bl, 0x13
jne 0x10020582
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0xa0]
add eax, dword [esp + 0xf0]
mov ebx, dword [esp + 0x1c]
mov edx, ebx
push eax
call fcn.1001c600
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dword [esi + 0xc], eax
jmp 0x1001d343
push 0xf1c
lea eax, [esp + 0x2fdc]
push 0
push eax
call fcn.100fde00
mov ecx, dword [esp + 0x58]
add esp, 0xc
mov ebx, dword [esp + 0x1c]
xorps xmm0, xmm0
mov dword [esp + 0x2fd8], ecx
mov edx, ebx
movlpd qword [esp + 0x138], xmm0
mov al, byte [ecx + 0xb8]
mov byte [esp + 0x2fe5], al
mov eax, dword [esp + 0x94]
mov dword [esp + 0x2fe8], eax
lea eax, [esp + 0x2010]
mov dword [esp + 0x2fdc], eax
lea eax, [esp + 0x2f2c]
mov dword [esp + 0x2fe0], eax
lea eax, [ecx + 4]
mov dword [esp + 0x134], eax
lea ecx, [esp + 0x134]
mov eax, dword [esp + 0xd0]
add eax, dword [esp + 0xf0]
push eax
movlpd qword [esp + 0x144], xmm0
movlpd qword [esp + 0x14c], xmm0
call fcn.1001c600
push 0
push 0
lea eax, [esp + 0x13c]
push eax
lea eax, [esp + 0xc8]
push eax
lea edx, [esp + 0xec]
lea ecx, [esp + 0x2fe8]
call fcn.1001b3a0
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dword [esi + 0xc], eax
jmp 0x1001d343
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x100206a7
cmp byte [esp + 0x27], 0
jne 0x100206a7
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10020685
sub eax, 1
jne 0x10020695
shl ecx, 0x10
jmp 0x10020695
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x8c]
add eax, ecx
mov ecx, dword [esp + 0x3f14]
mov dword [ecx], eax
mov eax, dword [esp + 0x34]
mov byte [esp + 0x27], 1
cmp byte [eax + 0x224], 0
jne 0x10021a57
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
cmp ecx, edi
jne 0x100206e3
mov eax, dword [esi + 4]
test eax, eax
je 0x100206df
cmp dword [eax], 0
jne 0x100206df
mov dword [eax], 0xa1
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
xor edx, edx
jmp 0x1002070d
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x100206fd
sub eax, 1
jne 0x1002070d
shl edx, 0x10
jmp 0x1002070d
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ebx, dword [esp + 0x28]
add ebx, edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3f10], ebx
cmp ecx, edi
jne 0x10020738
mov eax, dword [esi + 4]
test eax, eax
je 0x10020734
cmp dword [eax], 0
jne 0x10020734
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10020762
lea eax, [ecx - 8]
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10020752
sub eax, 1
jne 0x10020762
shl ecx, 0x10
jmp 0x10020762
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x34]
add ebp, ecx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x3f0c], ebp
cmp dword [eax + 0x1d4], 0
jmp 0x1001d72e
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x100207cc
cmp byte [esp + 0x27], 0
jne 0x100207cc
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100207aa
sub eax, 1
jne 0x100207ba
shl ecx, 0x10
jmp 0x100207ba
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x8c]
add eax, ecx
mov ecx, dword [esp + 0x3f14]
mov dword [ecx], eax
mov edi, dword [esp + 0x34]
mov byte [esp + 0x27], 1
cmp byte [edi + 0x224], 0
jne 0x10021a57
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x10020800
mov eax, dword [esi + 4]
test eax, eax
je 0x100207fc
cmp dword [eax], 0
jne 0x100207fc
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1002082a
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1002081a
sub eax, 1
jne 0x1002082a
shl ecx, 0x10
jmp 0x1002082a
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add ebp, ecx
cmp dword [edi + 0x1d4], 0
mov dword [esp + 0x20], ebp
mov dword [esp + 0x3f0c], ebp
jne 0x1001d61a
push dword [esp + 0x28]
jmp 0x1001d735
mov eax, dword [esi + 0xc]
xor ebx, ebx
sub eax, dword [esi + 8]
sar eax, 3
mov dword [esp + 0x30], eax
cmp eax, 6
jbe 0x1002094d
lea ebp, [ebx + 6]
mov ecx, dword [esi + 0xc]
mov eax, ecx
mov edi, dword [esi + 8]
sub eax, edi
sar eax, 3
cmp ebx, eax
jb 0x10020895
mov eax, dword [esi + 4]
test eax, eax
je 0x10020891
cmp dword [eax], 0
jne 0x10020891
mov dword [eax], 0x82
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
xor edx, edx
jmp 0x100208bb
mov eax, dword [edi + ebx*8 + 4]
mov edx, dword [edi + ebx*8]
sub eax, 1
je 0x100208ab
sub eax, 1
jne 0x100208bb
shl edx, 0x10
jmp 0x100208bb
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x20]
sub ecx, edi
add eax, edx
sar ecx, 3
mov dword [esp + 0x20], eax
mov dword [esp + 0x3f0c], eax
lea eax, [ebp - 5]
cmp eax, ecx
jb 0x100208ee
mov eax, dword [esi + 4]
test eax, eax
je 0x100208ea
cmp dword [eax], 0
jne 0x100208ea
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10020915
mov eax, dword [edi + ebx*8 + 0xc]
mov ecx, dword [edi + ebx*8 + 8]
sub eax, 1
je 0x10020905
sub eax, 1
jne 0x10020915
shl ecx, 0x10
jmp 0x10020915
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
add edi, ecx
push edi
lea ecx, [esp + 0x1d4]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x3f14], edi
call fcn.1001c210
mov eax, dword [esp + 0x30]
add ebp, 2
add ebx, 2
cmp ebp, eax
jb 0x10020868
mov ebp, dword [esp + 0x20]
cmp ebx, eax
jae 0x10021071
add ebx, 2
nop dword [eax + eax]
mov edi, dword [esi + 0xc]
lea eax, [ebx - 2]
mov edx, dword [esi + 8]
mov ecx, edi
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x10020990
mov eax, dword [esi + 4]
test eax, eax
je 0x1002098c
cmp dword [eax], 0
jne 0x1002098c
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x100209b7
mov eax, dword [edx + ebx*8 - 0xc]
mov ecx, dword [edx + ebx*8 - 0x10]
sub eax, 1
je 0x100209a7
sub eax, 1
jne 0x100209b7
shl ecx, 0x10
jmp 0x100209b7
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [ecx + ebp]
mov ecx, edi
sub ecx, edx
mov dword [esp + 0x38], eax
sar ecx, 3
lea eax, [ebx - 1]
cmp eax, ecx
jb 0x100209e8
mov eax, dword [esi + 4]
test eax, eax
je 0x100209e4
cmp dword [eax], 0
jne 0x100209e4
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x10020a0f
mov eax, dword [edx + ebx*8 - 4]
mov ecx, dword [edx + ebx*8 - 8]
sub eax, 1
je 0x100209ff
sub eax, 1
jne 0x10020a0f
shl ecx, 0x10
jmp 0x10020a0f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x28]
mov eax, edi
sub eax, edx
add ebp, ecx
sar eax, 3
mov dword [esp + 0x54], ebp
cmp ebx, eax
jb 0x10020a40
mov eax, dword [esi + 4]
test eax, eax
je 0x10020a3c
cmp dword [eax], 0
jne 0x10020a3c
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x10020a66
mov eax, dword [edx + ebx*8 + 4]
mov ecx, dword [edx + ebx*8]
sub eax, 1
je 0x10020a56
sub eax, 1
jne 0x10020a66
shl ecx, 0x10
jmp 0x10020a66
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x38]
add eax, ecx
mov ecx, edi
sub ecx, edx
mov dword [esp + 0x48], eax
sar ecx, 3
lea eax, [ebx + 1]
cmp eax, ecx
jb 0x10020a9a
mov eax, dword [esi + 4]
test eax, eax
je 0x10020a96
cmp dword [eax], 0
jne 0x10020a96
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x10020ac1
mov eax, dword [edx + ebx*8 + 0xc]
mov ecx, dword [edx + ebx*8 + 8]
sub eax, 1
je 0x10020ab1
sub eax, 1
jne 0x10020ac1
shl ecx, 0x10
jmp 0x10020ac1
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 0x10020aed
mov eax, dword [esi + 4]
test eax, eax
je 0x10020ae9
cmp dword [eax], 0
jne 0x10020ae9
mov dword [eax], 0x82
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ecx, ecx
jmp 0x10020b14
mov eax, dword [edx + ebx*8 + 0x14]
mov ecx, dword [edx + ebx*8 + 0x10]
sub eax, 1
je 0x10020b04
sub eax, 1
jne 0x10020b14
shl ecx, 0x10
jmp 0x10020b14
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x48]
sub edi, edx
add eax, ecx
sar edi, 3
mov dword [esp + 0x20], eax
lea eax, [ebx + 3]
cmp eax, edi
jb 0x10020b40
mov eax, dword [esi + 4]
test eax, eax
je 0x10020b3c
cmp dword [eax], 0
jne 0x10020b3c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10020b67
mov eax, dword [edx + ebx*8 + 0x1c]
mov ecx, dword [edx + ebx*8 + 0x18]
sub eax, 1
je 0x10020b57
sub eax, 1
jne 0x10020b67
shl ecx, 0x10
jmp 0x10020b67
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x20]
lea edi, [ecx + ebp]
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x1d0]
push edi
push eax
push ebp
push dword [esp + 0x54]
mov dword [esp + 0x38], edi
push dword [esp + 0x64]
call fcn.1001c390
mov ebp, dword [esp + 0x20]
add ebx, 6
mov dword [esp + 0x3f0c], ebp
mov dword [esp + 0x3f10], edi
lea eax, [ebx - 2]
cmp eax, dword [esp + 0x30]
jb 0x10020960
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x1001d33b
mov ebx, dword [esi + 0xc]
sub ebx, dword [esi + 8]
sar ebx, 3
mov ecx, ebx
and ecx, 0xfffffffd
sub ebx, ecx
mov dword [esp + 0x54], ecx
cmp ebx, ecx
jae 0x10021071
lea eax, [ebx + 3]
mov dword [esp + 0x30], eax
lea edi, [ebx + 1]
lea eax, [ebx + 2]
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], eax
nop dword [eax + eax]
mov eax, ecx
sub eax, ebx
test al, 1
je 0x10020c53
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp ebx, eax
jb 0x10020c1d
mov eax, dword [esi + 4]
test eax, eax
je 0x10020c19
cmp dword [eax], 0
jne 0x10020c19
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10020c43
mov eax, dword [edx + ebx*8 + 4]
mov ecx, dword [edx + ebx*8]
sub eax, 1
je 0x10020c33
sub eax, 1
jne 0x10020c43
shl ecx, 0x10
jmp 0x10020c43
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
inc dword [esp + 0x3c]
inc edi
add ebp, ecx
mov dword [esp + 0x40], edi
inc ebx
inc dword [esp + 0x30]
mov edx, dword [esi + 0xc]
mov eax, edx
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
mov dword [esp + 0x38], ebp
cmp ebx, eax
jb 0x10020c84
mov eax, dword [esi + 4]
test eax, eax
je 0x10020c80
cmp dword [eax], 0
jne 0x10020c80
mov dword [eax], 0x82
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor edi, edi
jmp 0x10020caa
mov eax, dword [ecx + ebx*8 + 4]
mov edi, dword [ecx + ebx*8]
sub eax, 1
je 0x10020c9a
sub eax, 1
jne 0x10020caa
shl edi, 0x10
jmp 0x10020caa
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov ebp, dword [esp + 0x28]
mov eax, edx
sub eax, ecx
add ebp, edi
sar eax, 3
cmp dword [esp + 0x40], eax
jb 0x10020cd9
mov eax, dword [esi + 4]
test eax, eax
je 0x10020cd5
cmp dword [eax], 0
jne 0x10020cd5
mov dword [eax], 0x82
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor edi, edi
jmp 0x10020d03
mov eax, dword [esp + 0x40]
mov edi, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10020cf3
sub eax, 1
jne 0x10020d03
shl edi, 0x10
jmp 0x10020d03
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [esp + 0x38]
add eax, edi
mov dword [esp + 0x20], eax
mov eax, edx
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x3c], eax
jb 0x10020d36
mov eax, dword [esi + 4]
test eax, eax
je 0x10020d32
cmp dword [eax], 0
jne 0x10020d32
mov dword [eax], 0x82
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor edi, edi
jmp 0x10020d60
mov eax, dword [esp + 0x3c]
mov edi, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10020d50
sub eax, 1
jne 0x10020d60
shl edi, 0x10
jmp 0x10020d60
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [esp + 0x30]
sub edx, ecx
sar edx, 3
add edi, ebp
cmp eax, edx
jb 0x10020d85
mov eax, dword [esi + 4]
test eax, eax
je 0x10020d81
cmp dword [eax], 0
jne 0x10020d81
mov dword [eax], 0x82
xor edx, edx
jmp 0x10020dab
mov edx, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10020d9b
sub eax, 1
jne 0x10020dab
shl edx, 0x10
jmp 0x10020dab
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
lea eax, [edx + edi]
mov edx, dword [esp + 0x38]
push eax
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x1d4]
mov eax, dword [esp + 0x24]
push eax
push edi
push eax
push ebp
call fcn.1001c390
mov edi, dword [esp + 0x40]
add ebx, 4
add dword [esp + 0x3c], 4
add edi, 4
add dword [esp + 0x30], 4
mov ecx, dword [esp + 0x54]
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x3f0c], ebp
mov dword [esp + 0x3f10], edx
mov dword [esp + 0x40], edi
cmp ebx, ecx
jb 0x10020bf0
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x1001d33b
mov ebx, dword [esi + 0xc]
sub ebx, dword [esi + 8]
sar ebx, 3
mov ecx, ebx
and ecx, 0xfffffffd
sub ebx, ecx
mov dword [esp + 0x48], ecx
cmp ebx, ecx
jae 0x10021071
mov edx, dword [esp + 0x28]
lea eax, [ebx + 3]
mov dword [esp + 0x40], eax
lea ebp, [ebx + 1]
lea eax, [ebx + 2]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x3c], eax
mov eax, ecx
sub eax, ebx
test al, 1
je 0x10020eb2
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp ebx, eax
jb 0x10020e72
mov eax, dword [esi + 4]
test eax, eax
je 0x10020e6e
cmp dword [eax], 0
jne 0x10020e6e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10020e98
mov eax, dword [edx + ebx*8 + 4]
mov ecx, dword [edx + ebx*8]
sub eax, 1
je 0x10020e88
sub eax, 1
jne 0x10020e98
shl ecx, 0x10
jmp 0x10020e98
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edi, dword [esp + 0x28]
inc ebp
inc dword [esp + 0x3c]
add edi, ecx
inc ebx
mov dword [esp + 0x38], edi
inc dword [esp + 0x40]
mov dword [esp + 0x30], ebp
jmp 0x10020eb6
mov dword [esp + 0x38], edx
mov edx, dword [esi + 0xc]
mov eax, edx
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
cmp ebx, eax
jb 0x10020ee3
mov eax, dword [esi + 4]
test eax, eax
je 0x10020edf
cmp dword [eax], 0
jne 0x10020edf
mov dword [eax], 0x82
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor edi, edi
jmp 0x10020f09
mov eax, dword [ecx + ebx*8 + 4]
mov edi, dword [ecx + ebx*8]
sub eax, 1
je 0x10020ef9
sub eax, 1
jne 0x10020f09
shl edi, 0x10
jmp 0x10020f09
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov ebp, dword [esp + 0x20]
mov eax, edx
sub eax, ecx
add ebp, edi
sar eax, 3
mov dword [esp + 0x54], ebp
cmp dword [esp + 0x30], eax
jb 0x10020f3c
mov eax, dword [esi + 4]
test eax, eax
je 0x10020f38
cmp dword [eax], 0
jne 0x10020f38
mov dword [eax], 0x82
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor edi, edi
jmp 0x10020f66
mov eax, dword [esp + 0x30]
mov edi, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10020f56
sub eax, 1
jne 0x10020f66
shl edi, 0x10
jmp 0x10020f66
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, edx
add ebp, edi
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x3c], eax
jb 0x10020f91
mov eax, dword [esi + 4]
test eax, eax
je 0x10020f8d
cmp dword [eax], 0
jne 0x10020f8d
mov dword [eax], 0x82
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor edi, edi
jmp 0x10020fbb
mov eax, dword [esp + 0x3c]
mov edi, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10020fab
sub eax, 1
jne 0x10020fbb
shl edi, 0x10
jmp 0x10020fbb
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [esp + 0x38]
sub edx, ecx
add eax, edi
sar edx, 3
mov edi, dword [esp + 0x40]
mov dword [esp + 0x28], eax
cmp edi, edx
jb 0x10020fe8
mov eax, dword [esi + 4]
test eax, eax
je 0x10020fe4
cmp dword [eax], 0
jne 0x10020fe4
mov dword [eax], 0x82
xor edx, edx
jmp 0x1002100e
mov eax, dword [ecx + edi*8 + 4]
mov edx, dword [ecx + edi*8]
sub eax, 1
je 0x10020ffe
sub eax, 1
jne 0x1002100e
shl edx, 0x10
jmp 0x1002100e
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [esp + 0x28]
lea eax, [edx + ebp]
mov edx, dword [esp + 0x54]
push ecx
push eax
push ecx
push ebp
push dword [esp + 0x48]
lea ecx, [esp + 0x1e4]
mov dword [esp + 0x34], eax
call fcn.1001c390
mov ebp, dword [esp + 0x30]
add ebx, 4
add dword [esp + 0x3c], 4
add ebp, 4
mov ecx, dword [esp + 0x48]
add edi, 4
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x3f0c], eax
mov dword [esp + 0x3f10], edx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x40], edi
cmp ebx, ecx
jb 0x10020e45
mov ebp, dword [esp + 0x20]
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp 0x1001d33b
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 + 0x3c], eax
cmp ebp, eax
jae 0x1001d331
mov edi, dword [esp + 0x20]
mov edx, dword [esi + 0xc]
mov eax, edx
mov ecx, dword [esi + 8]
sub eax, ecx
sar eax, 3
test bl, bl
je 0x100212bd
cmp ebp, eax
jb 0x100210d7
mov eax, dword [esi + 4]
test eax, eax
je 0x100210d3
cmp dword [eax], 0
jne 0x100210d3
mov dword [eax], 0x82
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor edi, edi
jmp 0x100210fd
mov eax, dword [ecx + ebp*8 + 4]
mov edi, dword [ecx + ebp*8]
sub eax, 1
je 0x100210ed
sub eax, 1
jne 0x100210fd
shl edi, 0x10
jmp 0x100210fd
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [esp + 0x20]
lea ebx, [ebp + 1]
add eax, edi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x38], eax
mov eax, edx
sub eax, ecx
sar eax, 3
cmp ebx, eax
jb 0x1002113d
mov eax, dword [esi + 4]
test eax, eax
je 0x10021139
cmp dword [eax], 0
jne 0x10021139
mov dword [eax], 0x82
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor edi, edi
jmp 0x10021163
mov eax, dword [ecx + ebx*8 + 4]
mov edi, dword [ecx + ebx*8]
sub eax, 1
je 0x10021153
sub eax, 1
jne 0x10021163
shl edi, 0x10
jmp 0x10021163
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [esp + 0x40]
lea ebx, [ebp + 2]
add eax, edi
mov dword [esp + 0x30], eax
mov eax, edx
sub eax, ecx
sar eax, 3
cmp ebx, eax
jb 0x10021197
mov eax, dword [esi + 4]
test eax, eax
je 0x10021193
cmp dword [eax], 0
jne 0x10021193
mov dword [eax], 0x82
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor edi, edi
jmp 0x100211bd
mov eax, dword [ecx + ebx*8 + 4]
mov edi, dword [ecx + ebx*8]
sub eax, 1
je 0x100211ad
sub eax, 1
jne 0x100211bd
shl edi, 0x10
jmp 0x100211bd
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov ebx, dword [esp + 0x28]
lea eax, [ebp + 3]
sub edx, ecx
add ebx, edi
sar edx, 3
mov dword [esp + 0x48], ebx
cmp eax, edx
jb 0x100211ec
mov eax, dword [esi + 4]
test eax, eax
je 0x100211e8
cmp dword [eax], 0
jne 0x100211e8
mov dword [eax], 0x82
mov ecx, dword [esi + 8]
xor edx, edx
jmp 0x10021212
mov edx, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10021202
sub eax, 1
jne 0x10021212
shl edx, 0x10
jmp 0x10021212
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
lea eax, [ebx + edx]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
cmp eax, 5
jne 0x100212ae
mov eax, dword [esi + 0xc]
lea edi, [ebp + 4]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x10021260
mov eax, dword [esi + 4]
test eax, eax
je 0x10021249
cmp dword [eax], 0
jne 0x10021249
mov dword [eax], 0x82
mov eax, dword [esp + 0x30]
xor edx, edx
mov ebp, dword [esp + 0x54]
add eax, edx
mov dword [esp + 0x20], eax
xor bl, bl
jmp 0x100214a1
mov eax, dword [ecx + edi*8 + 4]
mov edx, dword [ecx + edi*8]
sub eax, 1
je 0x10021289
sub eax, 1
jne 0x10021299
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x54]
shl edx, 0x10
add eax, edx
xor bl, bl
mov dword [esp + 0x20], eax
jmp 0x100214a1
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x54]
add eax, edx
mov dword [esp + 0x20], eax
xor bl, bl
jmp 0x100214a1
mov eax, dword [esp + 0x30]
xor bl, bl
mov dword [esp + 0x20], eax
jmp 0x100214a1
mov dword [esp + 0x40], edi
cmp ebp, eax
jb 0x100212e1
mov eax, dword [esi + 4]
test eax, eax
je 0x100212dd
cmp dword [eax], 0
jne 0x100212dd
mov dword [eax], 0x82
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor edi, edi
jmp 0x10021307
mov eax, dword [ecx + ebp*8 + 4]
mov edi, dword [ecx + ebp*8]
sub eax, 1
je 0x100212f7
sub eax, 1
jne 0x10021307
shl edi, 0x10
jmp 0x10021307
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [esp + 0x28]
lea ebx, [ebp + 1]
add eax, edi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x38], eax
mov eax, edx
sub eax, ecx
sar eax, 3
cmp ebx, eax
jb 0x1002133f
mov eax, dword [esi + 4]
test eax, eax
je 0x1002133b
cmp dword [eax], 0
jne 0x1002133b
mov dword [eax], 0x82
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor edi, edi
jmp 0x10021365
mov eax, dword [ecx + ebx*8 + 4]
mov edi, dword [ecx + ebx*8]
sub eax, 1
je 0x10021355
sub eax, 1
jne 0x10021365
shl edi, 0x10
jmp 0x10021365
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [esp + 0x20]
lea ebx, [ebp + 2]
add eax, edi
mov dword [esp + 0x30], eax
mov eax, edx
sub eax, ecx
sar eax, 3
cmp ebx, eax
jb 0x10021399
mov eax, dword [esi + 4]
test eax, eax
je 0x10021395
cmp dword [eax], 0
jne 0x10021395
mov dword [eax], 0x82
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor edi, edi
jmp 0x100213bf
mov eax, dword [ecx + ebx*8 + 4]
mov edi, dword [ecx + ebx*8]
sub eax, 1
je 0x100213af
sub eax, 1
jne 0x100213bf
shl edi, 0x10
jmp 0x100213bf
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov ebx, dword [esp + 0x38]
lea eax, [ebp + 3]
sub edx, ecx
add ebx, edi
sar edx, 3
mov dword [esp + 0x48], ebx
cmp eax, edx
jb 0x100213ee
mov eax, dword [esi + 4]
test eax, eax
je 0x100213ea
cmp dword [eax], 0
jne 0x100213ea
mov dword [eax], 0x82
mov ecx, dword [esi + 8]
xor edx, edx
jmp 0x10021414
mov edx, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10021404
sub eax, 1
jne 0x10021414
shl edx, 0x10
jmp 0x10021414
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x30]
add eax, edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
cmp eax, 5
jne 0x1002149b
mov eax, dword [esi + 0xc]
lea edi, [ebp + 4]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1002145d
mov eax, dword [esi + 4]
test eax, eax
je 0x1002144e
cmp dword [eax], 0
jne 0x1002144e
mov dword [eax], 0x82
mov ebp, dword [esp + 0x54]
xor edx, edx
lea eax, [ebx + edx]
mov dword [esp + 0x28], eax
jmp 0x1002149f
mov eax, dword [ecx + edi*8 + 4]
mov edx, dword [ecx + edi*8]
sub eax, 1
je 0x1002147e
sub eax, 1
jne 0x1002148e
mov ebp, dword [esp + 0x54]
shl edx, 0x10
lea eax, [ebx + edx]
mov dword [esp + 0x28], eax
jmp 0x1002149f
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ebp, dword [esp + 0x54]
lea eax, [ebx + edx]
mov dword [esp + 0x28], eax
jmp 0x1002149f
mov dword [esp + 0x28], ebx
mov bl, 1
push dword [esp + 0x28]
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0x1d4]
mov edx, dword [esp + 0x44]
push edi
push dword [esp + 0x50]
push dword [esp + 0x3c]
push dword [esp + 0x48]
call fcn.1001c390
mov edx, dword [esp + 0x28]
add ebp, 4
mov dword [esp + 0x3f0c], edi
mov dword [esp + 0x3f10], edx
cmp ebp, dword [esp + 0x3c]
jb 0x100210a2
jmp 0x1001d331
mov ebx, dword [esp + 0x1c]
mov edx, dword [ebx + 0xc]
cmp edx, ecx
jae 0x10021500
mov al, byte [edx]
inc edx
mov dword [ebx + 0xc], edx
movzx edi, al
jmp 0x10021519
mov eax, dword [ebx]
test eax, eax
je 0x10021517
cmp dword [eax], 0
jne 0x10021517
mov dword [eax], 0x55
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
cmp edx, ecx
jae 0x1002152a
mov cl, byte [edx]
lea eax, [edx + 1]
mov dword [ebx + 0xc], eax
movzx eax, cl
jmp 0x1002153d
mov eax, dword [ebx]
test eax, eax
je 0x1002153b
cmp dword [eax], 0
jne 0x1002153b
mov dword [eax], 0x55
xor eax, eax
mov ecx, dword [esi + 0x10]
shl edi, 8
movsx edx, di
mov edi, dword [esi + 0xc]
or edx, eax
mov eax, dword [esi + 8]
lea eax, [eax + ecx*8]
cmp edi, eax
je 0x1001e752
mov dword [edi], edx
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x1001d33f
cmp bl, 0xf6
ja 0x100215ab
mov ecx, dword [esi + 0x10]
add edi, 0xffffff75
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x10021596
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
jmp 0x1001e463
mov dword [edx], edi
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x1001d33b
mov edx, dword [esp + 0x1c]
mov edx, dword [edx + 0xc]
cmp bl, 0xfa
ja 0x10021612
mov ebx, dword [esp + 0x1c]
shl edi, 8
cmp edx, ecx
jae 0x100215cf
mov cl, byte [edx]
lea eax, [edx + 1]
mov dword [ebx + 0xc], eax
movzx eax, cl
jmp 0x100215e2
mov eax, dword [ebx]
test eax, eax
je 0x100215e0
cmp dword [eax], 0
jne 0x100215e0
mov dword [eax], 0x55
xor eax, eax
mov ecx, dword [esi + 0x10]
add eax, 0xffff096c
mov edx, dword [esi + 0xc]
add edi, eax
mov eax, dword [esi + 8]
lea eax, [eax + ecx*8]
cmp edx, eax
je 0x1001e752
mov dword [edx], edi
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x1001d33f
cmp bl, 0xfe
mov ebx, dword [esp + 0x1c]
ja 0x10021674
shl edi, 8
cmp edx, ecx
jae 0x1002162f
mov cl, byte [edx]
lea eax, [edx + 1]
mov dword [ebx + 0xc], eax
movzx eax, cl
jmp 0x10021642
mov eax, dword [ebx]
test eax, eax
je 0x10021640
cmp dword [eax], 0
jne 0x10021640
mov dword [eax], 0x55
xor eax, eax
mov ecx, dword [esi + 0x10]
mov edx, 0xfa94
sub edx, edi
mov edi, dword [esi + 0xc]
sub edx, eax
mov eax, dword [esi + 8]
lea eax, [eax + ecx*8]
cmp edi, eax
je 0x1001e752
mov dword [edi], edx
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x1001d33f
cmp edx, ecx
jae 0x10021683
mov al, byte [edx]
inc edx
mov dword [ebx + 0xc], edx
movzx edi, al
jmp 0x1002169c
mov eax, dword [ebx]
test eax, eax
je 0x1002169a
cmp dword [eax], 0
jne 0x1002169a
mov dword [eax], 0x55
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
cmp edx, ecx
jae 0x100216ab
mov al, byte [edx]
inc edx
mov dword [ebx + 0xc], edx
movzx ebp, al
jmp 0x100216c4
mov eax, dword [ebx]
test eax, eax
je 0x100216c2
cmp dword [eax], 0
jne 0x100216c2
mov dword [eax], 0x55
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor ebp, ebp
cmp edx, ecx
jae 0x100216d3
mov al, byte [edx]
inc edx
mov dword [ebx + 0xc], edx
movzx ebx, al
jmp 0x100216ec
mov eax, dword [ebx]
test eax, eax
je 0x100216ea
cmp dword [eax], 0
jne 0x100216ea
mov dword [eax], 0x55
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor ebx, ebx
cmp edx, ecx
jae 0x10021701
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x1c]
mov dword [edx + 0xc], eax
movzx eax, cl
jmp 0x10021718
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
test eax, eax
je 0x10021716
cmp dword [eax], 0
jne 0x10021716
mov dword [eax], 0x55
xor eax, eax
shl edi, 8
or edi, ebp
shl edi, 8
or edi, ebx
shl edi, 8
or edi, eax
mov eax, dword [esp + 0x4c]
cmp byte [eax + 8], 0
je 0x1002177f
cmp edi, 0x7d00
jg 0x10021741
cmp edi, 0xffff8300
jge 0x10021756
mov ecx, dword [esp + 0x50]
test cl, cl
movzx eax, cl
mov ecx, 1
cmove eax, ecx
mov byte [esp + 0x50], al
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
je 0x1001e317
mov dword [edx], edi
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 2
add dword [esi + 0xc], 8
jmp 0x1001d337
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
je 0x1001e317
mov dword [edx], edi
mov eax, dword [esi + 0xc]
mov dword [eax + 4], 0
add dword [esi + 0xc], 8
jmp 0x1001d337
cmp dword [eax - 4], 2
je 0x100217ca
mov eax, dword [esi + 4]
test eax, eax
je 0x100217c0
cmp dword [eax], 0
jne 0x100217c0
mov dword [eax], 0xa0
mov dword [esp + 0x44], 0
jmp 0x100217d6
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x100217fa
mov eax, dword [esi + 4]
test eax, eax
je 0x100217f0
cmp dword [eax], 0
jne 0x100217f0
mov dword [eax], 0xa1
mov dword [esp + 0x50], 0
jmp 0x10021828
cmp dword [eax - 4], 2
je 0x1002181c
mov eax, dword [esi + 4]
test eax, eax
je 0x10021812
cmp dword [eax], 0
jne 0x10021812
mov dword [eax], 0xa0
mov dword [esp + 0x50], 0
jmp 0x10021828
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov eax, dword [eax]
mov dword [esp + 0x50], eax
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
cmp ecx, edx
jne 0x1002184e
mov eax, dword [esi + 4]
test eax, eax
je 0x1002184a
cmp dword [eax], 0
jne 0x1002184a
mov dword [eax], 0xa1
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ebx, ebx
jmp 0x10021878
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
sub eax, 1
je 0x10021868
sub eax, 1
jne 0x10021878
shl ebx, 0x10
jmp 0x10021878
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
cmp ecx, edx
jne 0x10021898
mov eax, dword [esi + 4]
test eax, eax
je 0x10021894
cmp dword [eax], 0
jne 0x10021894
mov dword [eax], 0xa1
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor edi, edi
jmp 0x100218c2
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x100218b2
sub eax, 1
jne 0x100218c2
shl edi, 0x10
jmp 0x100218c2
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x100218dc
mov eax, dword [esi + 4]
test eax, eax
je 0x100218d8
cmp dword [eax], 0
jne 0x100218d8
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10021906
lea eax, [ecx - 8]
mov dword [esi + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x100218f6
sub eax, 1
jne 0x10021906
shl ebp, 0x10
jmp 0x10021906
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp byte [esp + 0x3f08], 0
je 0x1002191a
mov eax, 0x12
jmp 0x1001d188
mov edx, dword [esp + 0x34]
cmp byte [edx + 0x2f], 0
je 0x1002192e
mov eax, 0x12
jmp 0x1001d188
cmp dword [edx + 0x244], 0
mov ecx, dword [esp + 0x60]
jne 0x10021951
mov eax, dword [ecx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x10021951
mov eax, 0x12
jmp 0x1001d188
mov eax, dword [edx + 0x20]
add edi, dword [eax]
mov eax, dword [ecx + 0x80]
cmp dword [eax + 0x34], 0
je 0x10021968
mov eax, dword [esp + 0x44]
jmp 0x1002198e
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x34]
call fcn.10019050
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x50], eax
call fcn.10019050
mov edx, dword [esp + 0x34]
mov dword [esp + 0x44], eax
cmp dword [esp + 0x50], 0
jl 0x10021910
test eax, eax
js 0x10021910
cmp byte [edx + 0x2e], 0
je 0x10021a60
mov eax, dword [edx + 8]
mov edx, 2
mov dword [esp + 0x54], eax
mov eax, dword [eax + 0x9c]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x60], eax
call fcn.10009e90
test eax, eax
jne 0x1001d188
mov ecx, dword [esp + 0x60]
sub edi, ebp
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x44]
mov ecx, dword [ecx + 0x58]
mov dword [ecx], eax
mov eax, 0x202
mov word [ecx + 4], ax
mov eax, 2
mov word [ecx + 0x24], ax
mov eax, edi
shr eax, 0x1f
sub edi, eax
mov dword [ecx + 0x20], edx
mov edx, dword [esp + 0x60]
mov eax, ebx
shr eax, 0x1f
add edi, 0x8000
sub ebx, eax
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
add ebx, 0x8000
sar edi, 0x10
mov dword [ecx + 0x28], edi
sar ebx, 0x10
mov dword [ecx + 0x2c], ebx
mov ecx, dword [esp + 0x54]
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
mov eax, dword [esp + 0x6c]
jmp 0x1001d188
mov ecx, dword [edx + 0xc]
call fcn.10009f30
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x7c]
mov ecx, dword [esp + 0x34]
push eax
call fcn.1001ae20
test eax, eax
jne 0x1001d188
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x20]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x48], eax
mov eax, dword [edx + 0x24]
lea edx, [esp + 0x7c]
mov dword [esp + 0x60], ecx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x74]
push eax
push 0
push 0
push 1
push dword [esp + 0x3f14]
mov dword [esp + 0x8c], ecx
push dword [esp + 0xa4]
mov ecx, dword [esp + 0x64]
call fcn.1001ccc0
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x34]
sub eax, ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], ecx
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x80]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x10021b0d
mov eax, dword [ecx]
lea edx, [esp + 0x54]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 4]
call eax
mov edx, dword [esp + 0x34]
cmp byte [esp + 0x27], 0
mov ecx, dword [edx + 0x20]
jne 0x10021b38
mov eax, dword [ecx]
mov dword [esp + 0x60], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x48], eax
mov eax, dword [edx + 0x24]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x38], eax
mov dword [ecx], 0
mov eax, dword [edx + 0x20]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x34]
mov dword [eax + 4], 0
lea eax, [esp + 0x7c]
push eax
call fcn.1001ae20
test eax, eax
jne 0x1001d188
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x74]
push eax
push ebx
sub edi, ebp
lea edx, [esp + 0x84]
push edi
push 1
push dword [esp + 0x3f14]
push dword [esp + 0xa4]
call fcn.1001ccc0
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x34]
sub eax, ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], ecx
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x80]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x10021bc5
mov eax, dword [ecx]
lea edx, [esp + 0x54]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 4]
call eax
mov eax, dword [ebx + 0x20]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov eax, dword [ebx + 0x24]
mov ecx, dword [esp + 0x78]
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x6c]
jmp 0x1001d188
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
je 0x10021c03
cmp eax, 5
jne 0x10021c5a
cmp byte [esp + 0x27], 0
jne 0x10021c5a
test eax, eax
jne 0x10021c24
mov eax, dword [esi + 4]
test eax, eax
je 0x10021c20
cmp dword [eax], 0
jne 0x10021c20
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10021c48
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10021c38
sub eax, 1
jne 0x10021c48
shl ecx, 0x10
jmp 0x10021c48
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x8c]
add eax, ecx
mov ecx, dword [esp + 0x3f14]
mov dword [ecx], eax
mov eax, dword [esp + 0x34]
cmp byte [eax + 0x224], 0
jne 0x10021a57
cmp byte [esp + 0x2f60], 0
je 0x10021cea
push dword [esp + 0x2fac]
mov edx, dword [esp + 0x2fac]
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x2f65], 1
call fcn.1001c210
cmp byte [esp + 0x2fb0], 0
je 0x10021cd0
push 1
push dword [esp + 0x2f98]
lea eax, [esp + 0x2f90]
push dword [esp + 0x2f98]
lea edx, [esp + 0x1e4]
push eax
lea ecx, [esp + 0x1e0]
call fcn.1001bcf0
mov byte [esp + 0x2f63], 1
mov word [esp + 0x2f60], 0
mov byte [esp + 0x2fb0], 0
mov eax, dword [esp + 0x4c]
cmp byte [eax + 9], 0
jne 0x10021a57
cmp byte [eax + 8], 0
jne 0x10021a57
mov ecx, dword [esi + 0xc]
mov eax, ecx
mov edx, dword [esi + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x10021a57
cmp byte [esp + 0x3f08], 0
je 0x10021d2c
mov eax, 0x12
jmp 0x1001d188
cmp ecx, edx
jne 0x10021d4c
mov eax, dword [esi + 4]
test eax, eax
je 0x10021d42
cmp dword [eax], 0
jne 0x10021d42
mov dword [eax], 0xa1
mov dword [esp + 0x38], 0
jmp 0x10021d7a
cmp dword [ecx - 4], 2
je 0x10021d6e
mov eax, dword [esi + 4]
test eax, eax
je 0x10021d64
cmp dword [eax], 0
jne 0x10021d64
mov dword [eax], 0xa0
mov dword [esp + 0x38], 0
jmp 0x10021d7a
lea eax, [ecx - 8]
mov dword [esi + 0xc], eax
mov eax, dword [eax]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jne 0x10021d98
mov eax, dword [esi + 4]
test eax, eax
je 0x10021d94
cmp dword [eax], 0
jne 0x10021d94
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10021dbc
cmp dword [eax - 4], 2
je 0x10021db4
mov eax, dword [esi + 4]
test eax, eax
je 0x10021db0
cmp dword [eax], 0
jne 0x10021db0
mov dword [eax], 0xa0
xor ebp, ebp
jmp 0x10021dbc
add eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov ebp, dword [eax]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
cmp ecx, edx
jne 0x10021de2
mov eax, dword [esi + 4]
test eax, eax
je 0x10021dde
cmp dword [eax], 0
jne 0x10021dde
mov dword [eax], 0xa1
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ebx, ebx
jmp 0x10021e0c
add ecx, 0xfffffff8
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
sub eax, 1
je 0x10021dfc
sub eax, 1
jne 0x10021e0c
shl ebx, 0x10
jmp 0x10021e0c
mov eax, ebx
shr eax, 0x1f
sub ebx, eax
add ebx, 0x2000
sar ebx, 0xe
cmp ecx, edx
jne 0x10021e26
mov eax, dword [esi + 4]
test eax, eax
je 0x10021e22
cmp dword [eax], 0
jne 0x10021e22
mov dword [eax], 0xa1
xor edi, edi
jmp 0x10021e50
lea eax, [ecx - 8]
mov dword [esi + 0xc], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10021e40
sub eax, 1
jne 0x10021e50
shl edi, 0x10
jmp 0x10021e50
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x7c]
mov ecx, dword [esp + 0x34]
push eax
call fcn.1001ad60
test eax, eax
jne 0x1001d188
lea eax, [esp + 0x54]
push eax
push ebx
push edi
mov edi, dword [esp + 0x58]
lea edx, [esp + 0x88]
push 1
push dword [esp + 0x3f14]
mov ecx, edi
push dword [esp + 0xa4]
call fcn.1001ccc0
mov eax, dword [esp + 0x84]
lea edx, [esp + 0x80]
mov ebx, dword [esp + 0x34]
sub eax, dword [esp + 0x80]
push eax
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x258]
call eax
lea eax, [esp + 0x7c]
mov edx, ebp
push eax
mov ecx, ebx
call fcn.1001ad60
test eax, eax
jne 0x1001d188
lea eax, [esp + 0x54]
mov ecx, edi
push eax
push 0
push 0
push 1
push dword [esp + 0x3f14]
lea edx, [esp + 0x90]
push dword [esp + 0xa4]
call fcn.1001ccc0
mov eax, dword [esp + 0x84]
lea edx, [esp + 0x80]
sub eax, dword [esp + 0x80]
mov ecx, dword [ebx + 4]
push eax
mov eax, dword [ebx + 0x258]
call eax
mov eax, dword [esp + 0x6c]
jmp 0x1001d188