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

Disassembly:
mov eax, 0x3ef4
call fcn.101252b0
push ebx
push ebp
push esi
mov esi, ecx
mov dword [esp + 0x4c], edx
xor eax, eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x74], eax
push edi
mov ebp, dword [esi + 0xb0]
lea ebx, [esi + 4]
mov eax, dword [esi + 0x34]
mov edi, dword [esi]
mov dword [esp + 0x8c], eax
mov eax, dword [ebp + 0x218]
push 0x80
mov dword [esp + 0x28], ebp
mov dword [esp + 0x6c], ebx
mov eax, dword [eax + 0x220]
shl eax, 0x10
mov dword [esp + 0x98], eax
xor eax, eax
push eax
mov dword [esp + 0x54], eax
mov byte [esp + 0x50], al
mov byte [esp + 0x37], al
mov dword [esp + 0x64], eax
lea eax, [esp + 0x160]
push eax
mov dword [esp + 0x78], 0x1312d00
call fcn.101010f0
xor eax, eax
mov dword [esp + 0x90], 0
add esp, 0xc
mov dword [esp + 0x74], eax
xorps xmm0, xmm0
mov dword [esp + 0x120], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf8], eax
push 0x2e08
push eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
lea eax, [esp + 0x1e0]
push eax
movq qword [esp + 0x88], xmm0
movups xmmword [esp + 0x130], xmm0
mov dword [esp + 0x110], edi
movq qword [esp + 0x140], xmm0
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], 0x10
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0xa
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0xf0], edi
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], 0x14
mov dword [esp + 0x100], 0xa
mov dword [esp + 0xd0], edi
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], 0x14
mov dword [esp + 0xe0], 0xa
movlpd qword [esp + 0xb8], xmm0
movlpd qword [esp + 0xc0], xmm0
movlpd qword [esp + 0xc8], xmm0
mov dword [esp + 0xb4], ebx
call fcn.101010f0
mov eax, dword [esp + 0x3f14]
add esp, 0xc
mov dword [esp + 0x1d8], esi
mov dword [esp + 0x98], eax
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x2f34], edi
mov dword [esp + 0x2f38], ebx
movaps xmm0, xmmword [0x10150e20]
lea eax, [esp + 0x2018]
push 0xf1c
push 0
push eax
movups xmmword [esp + 0x2f48], xmm0
mov dword [esp + 0x2f58], 0
mov dword [esp + 0x2f5c], 0
call fcn.101010f0
mov eax, dword [esp + 0x98]
add esp, 0xc
mov bl, byte [esi + 0xb8]
mov dword [esp + 0x2028], eax
lea eax, [esp + 0x2018]
mov dword [esp + 0x201c], eax
lea eax, [esp + 0x2f34]
push 0xf1c
mov dword [esp + 0x2024], eax
lea eax, [esp + 0x1100]
push 0
push eax
mov byte [esp + 0x2031], bl
mov dword [esp + 0x2024], esi
call fcn.101010f0
mov eax, dword [esp + 0x98]
add esp, 0xc
mov dword [esp + 0x110c], eax
lea eax, [esp + 0x2018]
mov dword [esp + 0x1100], eax
lea eax, [esp + 0x2f34]
mov dword [esp + 0x1104], eax
lea eax, [esp + 0x1e0]
push 0xf1c
push 0
push eax
mov byte [esp + 0x1115], bl
mov dword [esp + 0x1108], esi
call fcn.101010f0
mov ecx, dword [esp + 0x98]
lea eax, [esp + 0x2024]
mov dword [esp + 0x1f0], eax
add esp, 0xc
mov dword [esp + 0x1f0], ecx
lea eax, [esp + 0x2f34]
mov dword [esp + 0x1e8], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0x2f54], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 0x2f58], eax
mov dword [esp + 0x2f5c], ecx
mov ecx, dword [esp + 0x3f0c]
mov byte [esp + 0x1ed], bl
mov dword [esp + 0x1e0], esi
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x2f60], eax
lea eax, [esp + 0xe4]
mov dword [esp + 0x2f6c], eax
lea eax, [esp + 0xc4]
mov dword [esp + 0x2f70], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x2f74], eax
mov eax, dword [esp + 0x3f18]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2f78], eax
lea eax, [esi + 0xf0]
mov dword [esp + 0x2f7c], eax
mov al, byte [esi + 0xb9]
mov esi, dword [esi + 0xe4]
mov byte [esp + 0x2f6a], al
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2f64], ecx
mov dword [esp + 0x2f80], esi
mov ebx, dword [eax + 0xe8]
mov eax, ebx
cdq
mov ecx, eax
mov dword [esp + 0x2f84], ebx
xor ecx, edx
mov eax, esi
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x1001e956
test esi, esi
jmp 0x1001e95a
mov esi, ebx
test ebx, ebx
jns 0x1001e95e
neg esi
mov ecx, dword [esp + 0x44]
lea eax, [esi + esi]
mov edx, dword [esp + 0x3f1c]
mov dword [esp + 0x2f88], eax
mov dword [esp + 0x2f8c], 0x199a
cmp byte [ecx + 9], 0
mov byte [esp + 0x2f6b], 1
mov byte [esp + 0x2f68], 0
setne byte [esp + 0x23]
mov byte [esp + 0x2f69], 0
mov byte [esp + 0x2fb8], 0
mov eax, dword [ebp + 0x218]
mov eax, dword [eax + 0x21c]
shl eax, 0x10
mov dword [edx], eax
cmp byte [ecx + 9], 0
je 0x1001e9cc
mov eax, dword [ebp + 0x214]
mov esi, dword [eax + 0x614]
jmp 0x1001e9d1
mov esi, 0x30
mov eax, dword [edi + 4]
mov edx, 0x14
mov ecx, edi
mov dword [esp + 0x90], esi
call eax
mov ebx, eax
mov dword [esp + 0x70], ebx
test ebx, ebx
je 0x10023e36
mov eax, dword [esp + 0x68]
xor ebp, ebp
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
mov dword [ebx], edi
mov dword [ebx + 4], eax
test esi, esi
js 0x10023e2a
je 0x1001ea8e
cmp esi, 0xfffffff
jg 0x10023e2a
mov eax, dword [edi + 4]
lea edx, [esi*8]
mov ecx, edi
call eax
mov esi, eax
mov eax, 0x40
test esi, esi
cmove ebp, eax
mov eax, esi
mov ecx, ebp
test ebp, ebp
jne 0x1001ea7b
test esi, esi
je 0x1001ea7b
mov edx, dword [esp + 0x90]
test edx, edx
jle 0x1001ea7b
lea eax, [edx*8]
push eax
push ebp
push esi
call fcn.101010f0
lea eax, [ebx + 8]
add esp, 0xc
mov dword [eax], esi
mov dword [esp + 0x10], eax
mov eax, esi
lea esi, [ebx + 8]
jmp 0x1001ea99
mov dword [ebx + 8], eax
lea esi, [ebx + 8]
mov dword [esp + 0x10], esi
test ecx, ecx
je 0x1001ea99
jmp 0x10023e2d
lea esi, [ebx + 8]
xor eax, eax
mov dword [esp + 0x10], esi
mov dword [esi], eax
mov ecx, dword [esp + 0x90]
mov edi, 0x11
mov dword [ebx + 0x10], ecx
mov edx, edi
lea ecx, [esp + 0x104]
mov dword [ebx + 0xc], eax
call fcn.1001b080
mov ecx, dword [esp + 0x118]
test al, al
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x120]
cmovne ecx, edi
mov dword [esp + 0xa4], ecx
mov ecx, edx
mov dword [esp + 0x74], edx
cmp dword [eax], 0
mov dword [esp + 0x14], ecx
jne 0x10023959
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x3f14]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x64], 0
movups xmm0, xmmword [eax]
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x50], esi
movups xmmword [edx], xmm0
mov edx, dword [esp + 0x108]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], edx
mov dword [esp + 0x1c], ebp
jmp 0x1001eb3c
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jb 0x1001eb5c
cmp dword [esp + 0x64], 0
mov edx, 0xb
mov eax, 0xe
cmove edx, eax
mov dword [esp + 0x28], edx
jmp 0x1001eb8f
mov edx, dword [esp + 0x14]
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
mov dl, cl
mov dword [esp + 0x28], edx
cmp cl, 0xb
je 0x1001eb76
cmp cl, 0xe
jne 0x1001eb8b
mov ecx, dword [esp + 0x44]
movzx eax, dl
xor edx, edx
cmp byte [ecx + 9], dl
cmovne eax, edx
mov dl, al
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov al, byte [eax + 8]
mov ah, byte [esp + 0x2f]
test al, al
je 0x1001ec2a
test ah, ah
jne 0x1001ebd8
cmp dl, 1
je 0x1001ebd8
cmp dl, 3
je 0x1001ebd8
cmp dl, 0xd
je 0x1001ebd8
cmp dl, 0xa
je 0x1001ebd8
cmp dl, 0xb
je 0x1001ebd8
cmp dl, 0xc
je 0x1001ebd8
cmp dl, 0xe
je 0x1001ebd8
cmp dl, 0x20
jae 0x1001ebd8
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
mov esi, dword [esp + 0x5c]
test esi, esi
jle 0x1001ec03
cmp dl, 0xa
je 0x1001ec03
cmp dl, 0xb
je 0x1001ec03
cmp dl, 0xc
je 0x1001ec03
cmp dl, 0x20
mov dword [esp + 0x40], 0
cmovb esi, dword [esp + 0x40]
mov dword [esp + 0x5c], esi
cmp byte [esp + 0x48], 0
mov ebx, dword [esp + 0x70]
je 0x1001ec2a
cmp dl, 0x20
jae 0x1001ec2a
mov ebx, dword [esp + 0x48]
xor esi, esi
movzx ebx, bl
cmp dl, 0xc
cmovne ebx, esi
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
cmp dword [esi], 0
jne 0x10023959
sub dword [esp + 0x6c], 1
je 0x10023812
movzx esi, dl
cmp esi, 0x1f
ja case.default.0x1001ec4e
jmp dword [esi*4 + 0x10023f64]
mov edx, dword [esp + 0x44]
cmp byte [edx + 9], 0
je case.0x1001ec4e.0
cmp byte [edx + 0x5d], 0
jne 0x10023812
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
cmp eax, dword [esi]
jne 0x1001ec99
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001ec8a
cmp dword [eax], 0
jne 0x1001ec8a
mov dword [eax], 0xa1
xor eax, eax
mov dword [edx + 0x78], eax
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
cmp dword [eax - 4], 2
je 0x1001ecc0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001ecb1
cmp dword [eax], 0
jne 0x1001ecb1
mov dword [eax], 0xa0
xor eax, eax
mov dword [edx + 0x78], eax
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x1001ee07
mov dword [edx + 0x78], eax
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
mov edx, dword [esp + 0x44]
cmp byte [edx + 9], 0
je case.0x1001ec4e.0
cmp dword [edx + 0x60], 0
je 0x10023812
mov eax, dword [edx + 0x224]
lea esi, [edx + 0x5c]
push dword [edx + 0x80]
mov ecx, esi
push dword [edx + 0x7c]
mov edx, dword [edx + 0x78]
mov eax, dword [eax + 0xc]
call eax
test al, al
je 0x1001ed3e
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + 0x224]
push dword [ecx + 0x80]
mov edx, dword [ecx + 0x78]
push dword [ecx + 0x7c]
mov eax, dword [eax + 0x10]
mov ecx, esi
call eax
mov dword [esp + 0x78], eax
test eax, eax
jne 0x10023959
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ecx]
jne 0x1001ed5f
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1001ed5b
cmp dword [ecx], 0
jne 0x1001ed5b
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x1001ed83
cmp dword [eax - 4], 2
je 0x1001ed7b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001ed77
cmp dword [eax], 0
jne 0x1001ed77
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1001ed83
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x90]
ja 0x10023812
push eax
mov edx, ebx
mov ecx, esi
call fcn.1001e3d0
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov byte [eax + 0x5d], 1
jmp 0x1001eb3c
test al, al
jne 0x1001edc4
cmp byte [esp + 0xac], al
jne case.0x1001ec4e.0
xor eax, eax
jmp 0x1001edce
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 4]
push eax
lea eax, [esp + 0x27]
push eax
lea eax, [esp + 0xec]
push dword [esp + 0x3f24]
mov ecx, dword [esp + 0x50]
mov edx, ebx
push eax
call fcn.1001dee0
mov eax, dword [esp + 0x24]
cmp byte [eax + 0x224], 0
jne 0x10023959
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
test al, al
jne 0x1001ee33
cmp byte [esp + 0xac], al
jne case.0x1001ec4e.0
xor eax, eax
push eax
lea eax, [esp + 0x27]
push eax
lea eax, [esp + 0xcc]
jmp 0x1001eddb
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
push eax
lea eax, [esp + 0x27]
push eax
lea eax, [esp + 0xcc]
jmp 0x1001eddb
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
mov ecx, dword [esi]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x1001ee9b
cmp byte [esp + 0x23], 0
jne 0x1001ee9b
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1001ee79
sub eax, 1
jne 0x1001ee89
shl ecx, 0x10
jmp 0x1001ee89
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x94]
add eax, ecx
mov ecx, dword [esp + 0x3f1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x24]
mov byte [esp + 0x23], 1
cmp byte [eax + 0x224], 0
jne 0x10023959
mov edx, dword [ebx + 0xc]
cmp edx, dword [esi]
jne 0x1001eece
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001eeca
cmp dword [eax], 0
jne 0x1001eeca
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1001eef8
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1001eee8
sub eax, 1
jne 0x1001eef8
shl ecx, 0x10
jmp 0x1001eef8
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x24]
add edi, ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x3f18], edi
cmp dword [eax + 0x1d4], 0
jne 0x1001ee03
cmp byte [esp + 0x2f68], 0
je 0x1001ef8f
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.1001da70
cmp byte [esp + 0x2fb8], 0
je 0x1001ef77
push 1
push dword [esp + 0x2fa0]
lea eax, [esp + 0x2f98]
push dword [esp + 0x2fa0]
lea edx, [esp + 0x1ec]
push eax
lea ecx, [esp + 0x1e8]
call fcn.1001d530
mov byte [esp + 0x2f68], 0
mov byte [esp + 0x2f69], 0
mov byte [esp + 0x2fb8], 0
cmp byte [esp + 0x1ec], 0
mov eax, dword [esp + 0x2f74]
mov dword [esp + 0x2fb0], ebp
mov dword [esp + 0x2fa0], ebp
mov dword [esp + 0x2fb4], edi
mov dword [esp + 0x2fa4], edi
mov byte [esp + 0x2f6b], 1
je 0x1001efca
cmp byte [eax + 5], 0
je 0x1001efee
mov edx, dword [esp + 0x2f6c]
lea ecx, [esp + 0x1e0]
push 0
push dword [esp + 0x2f7c]
push eax
push dword [esp + 0x2f7c]
call fcn.1001cb80
mov ecx, 0x3c7
lea esi, [esp + 0x1e0]
lea edi, [esp + 0x10fc]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
mov esi, dword [esp + 0x10]
xor edi, edi
mov ebp, dword [ebx + 0xc]
sub ebp, dword [esi]
sar ebp, 3
test ebp, ebp
je 0x10022e70
nop
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [esi]
sub eax, edx
sar eax, 3
cmp edi, eax
jb 0x1001f05b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001f057
cmp dword [eax], 0
jne 0x1001f057
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
xor esi, esi
jmp 0x1001f081
mov eax, dword [edx + edi*8 + 4]
mov esi, dword [edx + edi*8]
sub eax, 1
je 0x1001f071
sub eax, 1
jne 0x1001f081
shl esi, 0x10
jmp 0x1001f081
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
add dword [esp + 0x1c], esi
lea eax, [edi + 1]
mov esi, dword [esp + 0x1c]
sub ecx, edx
sar ecx, 3
mov dword [esp + 0x3f14], esi
cmp eax, ecx
jb 0x1001f0b2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001f0ae
cmp dword [eax], 0
jne 0x1001f0ae
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1001f0d9
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1001f0c9
sub eax, 1
jne 0x1001f0d9
shl ecx, 0x10
jmp 0x1001f0d9
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x18]
mov edx, esi
add eax, ecx
lea ecx, [esp + 0x1d8]
push eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x3f1c], eax
call fcn.1001da70
mov esi, dword [esp + 0x10]
add edi, 2
cmp edi, ebp
jb 0x1001f030
jmp 0x10022e6c
mov eax, dword [esp + 0x10]
mov edi, dword [ebx + 0xc]
sub edi, dword [eax]
sar edi, 3
cmp dl, 6
sete dl
xor esi, esi
test edi, edi
je 0x1001f1c5
nop dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1001f154
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001f150
cmp dword [eax], 0
jne 0x1001f150
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1001f17a
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1001f16a
sub eax, 1
jne 0x1001f17a
shl ecx, 0x10
jmp 0x1001f17a
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x18]
test dl, dl
je 0x1001f18d
add ebp, ecx
mov dword [esp + 0x3f14], ebp
jmp 0x1001f19a
add eax, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x3f18], eax
xor dl, 1
lea ecx, [esp + 0x1d8]
mov byte [esp + 0x37], dl
mov edx, ebp
push eax
call fcn.1001da70
mov dl, byte [esp + 0x37]
inc esi
mov eax, dword [esp + 0x10]
cmp esi, edi
jb 0x1001f130
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
mov ecx, dword [esp + 0x10]
xor ebp, ebp
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x38], ebp
sub eax, dword [ecx]
sar eax, 3
mov dword [esp + 0x60], eax
cmp eax, 6
jb 0x1001f46c
lea edi, [ebp + 2]
jmp 0x1001f204
mov ecx, dword [esp + 0x10]
mov esi, dword [ebx + 0xc]
mov eax, esi
mov edx, dword [ecx]
sub eax, edx
sar eax, 3
cmp ebp, eax
jb 0x1001f22f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001f22b
cmp dword [eax], 0
jne 0x1001f22b
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [ecx]
xor ecx, ecx
jmp 0x1001f256
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x1001f246
sub eax, 1
jne 0x1001f256
shl ecx, 0x10
jmp 0x1001f256
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
add eax, ecx
mov ecx, esi
sub ecx, edx
mov dword [esp + 0x3c], eax
sar ecx, 3
lea eax, [edi - 1]
cmp eax, ecx
jb 0x1001f28d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001f289
cmp dword [eax], 0
jne 0x1001f289
mov dword [eax], 0x82
mov eax, dword [esp + 0x10]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1001f2b4
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x1001f2a4
sub eax, 1
jne 0x1001f2b4
shl ecx, 0x10
jmp 0x1001f2b4
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x18]
mov eax, esi
sub eax, edx
add ebp, ecx
sar eax, 3
mov dword [esp + 0x30], ebp
cmp edi, eax
jb 0x1001f2e8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001f2e4
cmp dword [eax], 0
jne 0x1001f2e4
mov dword [eax], 0x82
mov eax, dword [esp + 0x10]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1001f30e
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1001f2fe
sub eax, 1
jne 0x1001f30e
shl ecx, 0x10
jmp 0x1001f30e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x3c]
add eax, ecx
mov ecx, esi
sub ecx, edx
mov dword [esp + 0x40], eax
sar ecx, 3
lea eax, [edi + 1]
cmp eax, ecx
jb 0x1001f345
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001f341
cmp dword [eax], 0
jne 0x1001f341
mov dword [eax], 0x82
mov eax, dword [esp + 0x10]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1001f36c
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1001f35c
sub eax, 1
jne 0x1001f36c
shl ecx, 0x10
jmp 0x1001f36c
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add ebp, ecx
lea eax, [edi + 2]
mov ecx, esi
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x1001f39b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001f397
cmp dword [eax], 0
jne 0x1001f397
mov dword [eax], 0x82
mov eax, dword [esp + 0x10]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1001f3c2
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x1001f3b2
sub eax, 1
jne 0x1001f3c2
shl ecx, 0x10
jmp 0x1001f3c2
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x40]
sub esi, edx
add eax, ecx
sar esi, 3
mov dword [esp + 0x1c], eax
lea eax, [edi + 3]
cmp eax, esi
jb 0x1001f3ee
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001f3ea
cmp dword [eax], 0
jne 0x1001f3ea
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1001f415
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x1001f405
sub eax, 1
jne 0x1001f415
shl ecx, 0x10
jmp 0x1001f415
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x1c]
lea eax, [ecx + ebp]
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x1d8]
push eax
push esi
push ebp
push dword [esp + 0x4c]
mov dword [esp + 0x28], eax
push dword [esp + 0x40]
call fcn.1001dbf0
mov eax, dword [esp + 0x18]
add edi, 6
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x3f18], eax
add ebp, 6
mov dword [esp + 0x3f14], esi
lea eax, [edi + 4]
mov dword [esp + 0x38], ebp
cmp eax, dword [esp + 0x60]
jbe 0x1001f200
mov edx, dword [esp + 0x28]
cmp dl, 0x18
jne 0x1001f55e
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xc]
mov esi, dword [eax]
mov eax, ecx
sub eax, esi
sar eax, 3
cmp ebp, eax
jb 0x1001f4a5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001f4a1
cmp dword [eax], 0
jne 0x1001f4a1
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1001f4cb
mov eax, dword [esi + ebp*8 + 4]
mov edx, dword [esi + ebp*8]
sub eax, 1
je 0x1001f4bb
sub eax, 1
jne 0x1001f4cb
shl edx, 0x10
jmp 0x1001f4cb
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x1c]
sub ecx, esi
add eax, edx
sar ecx, 3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x3f14], eax
lea eax, [ebp + 1]
cmp eax, ecx
jb 0x1001f4fe
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001f4fa
cmp dword [eax], 0
jne 0x1001f4fa
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1001f524
mov ecx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
sub eax, 1
je 0x1001f514
sub eax, 1
jne 0x1001f524
shl ecx, 0x10
jmp 0x1001f524
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
add eax, ecx
push eax
mov edx, ebp
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x3f1c], eax
call fcn.1001da70
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
test al, al
je case.0x1001ec4e.0
cmp byte [esp + 0x2f68], 0
je 0x1001f601
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.1001da70
cmp byte [esp + 0x2fb8], 0
je 0x1001f5e1
push 1
push dword [esp + 0x2fa0]
lea eax, [esp + 0x2f98]
push dword [esp + 0x2fa0]
lea edx, [esp + 0x1ec]
push eax
lea ecx, [esp + 0x1e8]
call fcn.1001d530
mov byte [esp + 0x2f6b], 1
mov byte [esp + 0x2f68], 0
mov byte [esp + 0x2f69], 0
mov byte [esp + 0x2fb8], 0
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x23], 1
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
mov eax, dword [esp + 0x64]
cmp eax, 0x10
jg 0x10023812
inc eax
cmp eax, dword [esp + 0xa4]
jb 0x1001f647
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x1001f645
cmp dword [eax], 0
jne 0x1001f645
mov dword [eax], 0x82
xor eax, eax
imul eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
add ecx, eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x14], ecx
cmp eax, dword [esi]
jne 0x1001f67a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001f676
cmp dword [eax], 0
jne 0x1001f676
mov dword [eax], 0xa1
xor eax, eax
jmp 0x1001f69e
cmp dword [eax - 4], 2
je 0x1001f696
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001f692
cmp dword [eax], 0
jne 0x1001f692
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1001f69e
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
mov ebx, dword [esp + 0x44]
cmp byte [ebx + 8], 0
mov ebx, dword [esp + 0x70]
je 0x1001f6d9
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 0x268]
test ecx, ecx
je 0x1001f6d5
push eax
call fcn.1000a770
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1001f6d0
mov eax, dword [eax]
jmp 0x1001f6d9
or eax, 0xffffffff
jmp 0x1001f6d9
mov ecx, dword [esp + 0x14]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
cmp dl, 0x1d
je 0x1001f79b
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 0x234]
add ecx, eax
mov eax, dword [esp + 0x24]
cmp ecx, dword [eax + 0x22c]
jae 0x10023812
mov eax, dword [eax + 0x23c]
lea edx, [ecx*4]
mov ecx, dword [edx + eax]
mov eax, dword [esp + 0x14]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x24]
cmp byte [eax + 0x30], 0
je 0x1001f76e
mov eax, dword [eax + 0x264]
test eax, eax
je 0x1001f746
test ecx, ecx
je 0x1001f73e
mov eax, dword [eax + edx]
add eax, ecx
mov ecx, dword [esp + 0x14]
jmp 0x1001f77c
mov ecx, dword [esp + 0x14]
xor eax, eax
jmp 0x1001f77c
mov eax, dword [esp + 0x24]
mov dword [esp + 0x60], 0
mov eax, dword [eax + 0x260]
test eax, eax
cmovs eax, dword [esp + 0x60]
add eax, ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x24]
jmp 0x1001f772
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 0x23c]
mov eax, dword [edx + eax + 4]
inc dword [esp + 0x64]
mov edx, 8
mov dword [esp + 0x10], esi
mov dword [ecx + edx], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 4]
mov dword [ecx + 0xc], eax
jmp 0x1001eb3c
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0x238]
add ecx, eax
cmp ecx, dword [edx + 0x230]
jae 0x10023812
mov eax, dword [edx + 0x240]
mov edx, dword [esp + 0x14]
inc dword [esp + 0x64]
mov eax, dword [eax + ecx*4]
mov dword [edx + 0xc], eax
mov dword [edx + 4], eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x240]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, edx
mov dword [ecx + 8], eax
jmp 0x1001eb3c
mov edx, dword [esp + 0x64]
cmp edx, 1
jl 0x10023812
dec edx
mov eax, edx
mov dword [esp + 0x64], edx
cmp edx, dword [esp + 0xa4]
jb 0x1001f817
mov edx, dword [esp + 0xa0]
test edx, edx
je 0x1001f815
cmp dword [edx], 0
jne 0x1001f815
mov dword [edx], 0x82
xor eax, eax
mov ecx, dword [esp + 0x9c]
imul ecx, eax
add ecx, dword [esp + 0x74]
mov dword [esp + 0x14], ecx
jmp 0x1001eb38
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x1001f83e
mov dl, byte [eax]
inc eax
mov dword [ecx + 0xc], eax
jmp 0x1001f851
mov eax, dword [ecx]
test eax, eax
je 0x1001f84f
cmp dword [eax], 0
jne 0x1001f84f
mov dword [eax], 0x55
xor dl, dl
movzx ecx, dl
mov byte [esp + 0x37], dl
lea eax, [ecx - 8]
cmp eax, 0x1d
ja case.0x1001f86b.9
movzx eax, byte [eax + 0x10023ffc]
jmp dword [eax*4 + 0x10023fe4]
push 0
push 0x1013c064
jmp 0x1001f8d8
push 0
push 0x1013c058
lea eax, [esp + 0x1e0]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f24]
push eax
lea edx, [esp + 0x3f24]
call fcn.1001e100
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x3f18]
mov ebp, dword [esp + 0x3f14]
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebp
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
push 0
push 0x1013c04c
jmp 0x1001f8d8
push 1
push 0x1013c040
lea eax, [esp + 0x1e0]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f24]
push eax
lea edx, [esp + 0x3f24]
call fcn.1001e100
mov edi, dword [esp + 0x3f18]
mov ebp, dword [esp + 0x3f14]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebp
jmp 0x1001eb3c
mov eax, dword [esp + 0x44]
cmp byte [eax + 9], 0
jne case.0x1001f966.0
cmp dl, 0x26
jae case.0x1001f966.0
mov al, byte [eax + 8]
test al, al
je 0x1001f95d
cmp dword [esp + 0x5c], 0
jle 0x1001f95d
cmp dl, 0x11
je 0x1001f95d
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x5c], 0
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
cmp ecx, 0x21
ja case.0x1001f966.0
jmp dword [ecx*4 + 0x1002401c]
test al, al
je case.0x1001f966.0
mov eax, dword [esp + 0x10]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
mov eax, edx
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x1001f9a5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001f9a1
cmp dword [eax], 0
jne 0x1001f9a1
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor ebp, ebp
jmp 0x1001f9c9
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x1001f9b9
sub eax, 1
jne 0x1001f9c9
shl ebp, 0x10
jmp 0x1001f9c9
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 0x1001f9f7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001f9ed
cmp dword [eax], 0
jne 0x1001f9ed
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x1001fa24
mov eax, dword [ecx + 0x14]
mov esi, dword [ecx + 0x10]
mov dword [esp + 0x28], esi
sub eax, 1
je 0x1001fa10
sub eax, 1
jne 0x1001fa24
shl esi, 0x10
jmp 0x1001fa20
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov dword [esp + 0x28], esi
mov eax, edx
sub eax, ecx
sar eax, 3
cmp eax, 4
ja 0x1001fa4c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001fa48
cmp dword [eax], 0
jne 0x1001fa48
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x1001fa71
mov eax, dword [ecx + 0x24]
mov edi, dword [ecx + 0x20]
sub eax, 1
je 0x1001fa61
sub eax, 1
jne 0x1001fa71
shl edi, 0x10
jmp 0x1001fa71
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, edx
sub eax, ecx
sar eax, 3
cmp eax, 1
ja 0x1001fa99
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001fa95
cmp dword [eax], 0
jne 0x1001fa95
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1001fabe
mov eax, dword [ecx + 0xc]
mov esi, dword [ecx + 8]
sub eax, 1
je 0x1001faae
sub eax, 1
jne 0x1001fabe
shl esi, 0x10
jmp 0x1001fabe
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
sub edx, ecx
sar edx, 3
cmp edx, 2
jae 0x1001fadc
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001faf4
cmp dword [eax], 0
jne 0x1001faf4
mov dword [eax], 0x82
jmp 0x1001faf4
mov eax, dword [esp + 0x28]
sub eax, esi
sub eax, ebp
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [eax + 0x14], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xc]
mov esi, dword [eax]
mov eax, ecx
sub eax, esi
sar eax, 3
cmp eax, 3
ja 0x1001fb25
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001fb21
cmp dword [eax], 0
jne 0x1001fb21
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1001fb4a
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
sub eax, 1
je 0x1001fb3a
sub eax, 1
jne 0x1001fb4a
shl edx, 0x10
jmp 0x1001fb4a
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
sub ecx, esi
sar ecx, 3
cmp ecx, 4
jae 0x1001fb6c
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x10]
test eax, eax
je 0x1001fb82
cmp dword [eax], 0
jne 0x1001fb82
mov dword [eax], 0x82
jmp 0x1001fb82
sub edi, edx
sub edi, dword [esp + 0x28]
mov dword [esi + 0x20], edi
mov esi, dword [esp + 0x10]
mov eax, dword [esi]
mov dword [eax + 0x24], 0
cmp byte [esp + 0x37], 1
mov ebp, dword [esp + 0x24]
mov eax, dword [ebp + 0x20]
jne 0x1001fb94
mov eax, dword [eax]
jmp 0x1001fb97
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0xe4]
push eax
lea eax, [esp + 0x27]
push eax
push dword [esp + 0x3f24]
lea eax, [esp + 0xd0]
cmovne eax, edx
mov edx, ebx
push eax
call fcn.1001dee0
cmp byte [ebp + 0x224], 0
jne 0x10023959
mov eax, dword [esi]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1001fc0d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001fc09
cmp dword [eax], 0
jne 0x1001fc09
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1001fc39
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1001fc29
sub eax, 1
jne 0x1001fc39
shl edi, 0x10
jmp 0x1001fc39
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1001fc94
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001fc55
cmp dword [eax], 0
jne 0x1001fc55
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor esi, esi
mov eax, dword [ebx + 0x10]
mov edi, dword [esp + 0x18]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1001fdb0
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1001eb3c
cmp dword [eax], 0
mov edi, dword [esp + 0x18]
jne 0x1001eb3c
mov dword [eax], 0x82
jmp 0x1001eb3c
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1001fcae
sub eax, 1
jne 0x1001fcbe
shl esi, 0x10
jmp 0x1001fcbe
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
test esi, esi
je 0x1001fc55
test edi, edi
je 0x1001fc55
mov esi, 1
jmp 0x1001fc57
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1001fcf6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001fcf2
cmp dword [eax], 0
jne 0x1001fcf2
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1001fd22
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1001fd12
sub eax, 1
jne 0x1001fd22
shl edi, 0x10
jmp 0x1001fd22
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1001fd40
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001fd6e
cmp dword [eax], 0
jne 0x1001fd6e
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
jmp 0x1001fd6e
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1001fd5a
sub eax, 1
jne 0x1001fd6a
shl esi, 0x10
jmp 0x1001fd6a
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
test esi, esi
jne 0x1001fd76
test edi, edi
jne 0x1001fd76
xor esi, esi
jmp 0x1001fd7b
mov esi, 1
mov eax, dword [ebx + 0x10]
mov edi, dword [esp + 0x18]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1001fdb0
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1001eb3c
cmp dword [eax], 0
jne 0x1001eb3c
mov dword [eax], 0x82
jmp 0x1001eb3c
mov dword [ecx], esi
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1001eb3c
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xc]
mov esi, dword [eax]
cmp ecx, esi
jne 0x1001fdf6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001fdf2
cmp dword [eax], 0
jne 0x1001fdf2
mov dword [eax], 0xa1
mov esi, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor edx, edx
jmp 0x1001fe22
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1001fe12
sub eax, 1
jne 0x1001fe22
shl edx, 0x10
jmp 0x1001fe22
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [esi + eax*8]
mov esi, dword [esp + 0x10]
cmp ecx, eax
jne 0x1001fe5b
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001eb3c
cmp dword [eax], 0
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jne 0x1001eb3c
mov dword [eax], 0x82
jmp 0x1001eb3c
xor eax, eax
test edx, edx
sete al
mov dword [ecx], eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1001eb3c
test al, al
je case.0x1001f966.0
mov eax, dword [esp + 0x24]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov eax, dword [eax + 4]
mov dword [esp + 0x50], eax
cmp ecx, edx
jne 0x100236a2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001feb4
cmp dword [eax], 0
jne 0x1001feb4
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x100236d6
mov esi, dword [esp + 0x10]
test al, al
je 0x1001ee03
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esi]
jne 0x1001feea
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001fee6
cmp dword [eax], 0
jne 0x1001fee6
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1001ff14
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1001ff04
sub eax, 1
jne 0x1001ff14
shl ecx, 0x10
jmp 0x1001ff14
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x24]
mov dword [eax + 4], ecx
mov edx, dword [ebx + 0xc]
cmp edx, dword [esi]
jne 0x1001ff3b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001ff37
cmp dword [eax], 0
jne 0x1001ff37
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1001ff65
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1001ff55
sub eax, 1
jne 0x1001ff65
shl ecx, 0x10
jmp 0x1001ff65
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x24]
mov dword [eax], ecx
mov ecx, dword [ebx + 0xc]
mov esi, dword [esi]
cmp ecx, esi
jne 0x1001ff93
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001ff8f
cmp dword [eax], 0
jne 0x1001ff8f
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1001ffbd
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1001ffad
sub eax, 1
jne 0x1001ffbd
shl edx, 0x10
jmp 0x1001ffbd
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
cmp ecx, esi
jne 0x1001ffd7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1001ffd3
cmp dword [eax], 0
jne 0x1001ffd3
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10020001
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1001fff1
sub eax, 1
jne 0x10020001
shl ecx, 0x10
jmp 0x10020001
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x24]
mov byte [esp + 0x23], 1
mov eax, dword [esi + 0x20]
add dword [eax], ecx
mov eax, dword [esi + 0x20]
add dword [eax + 4], edx
cmp byte [esi + 0x2f], 0
jne 0x10023959
cmp byte [esp + 0x2f], 0
mov esi, dword [esp + 0x10]
je 0x1001ee03
mov eax, dword [esi]
add ebp, ecx
mov ecx, dword [esp + 0x14]
add edi, edx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x3f14], ebp
mov dword [esp + 0x18], edi
mov dword [esp + 0x3f18], edi
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [eax]
jne 0x100200cd
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020073
cmp dword [eax], 0
jne 0x10020073
mov dword [eax], 0xa1
mov edi, dword [ebx + 0x10]
xor ecx, ecx
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
mov eax, ecx
lea ecx, [edi*8]
mov edi, dword [esp + 0x18]
add ecx, ebp
mov ebp, dword [esp + 0x1c]
cdq
xor eax, edx
sub eax, edx
cmp esi, ecx
jne 0x100217bb
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1001eb3c
cmp dword [eax], 0
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
jne 0x1001eb3c
mov dword [eax], 0x82
jmp 0x1001eb3c
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x100200e7
sub eax, 1
jne 0x100200f7
shl ecx, 0x10
jmp 0x100200f7
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edi, dword [ebx + 0x10]
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
cmp ecx, 0x80000001
jge 0x1002007e
lea eax, [edi*8]
add eax, ebp
cmp esi, eax
jne 0x10020148
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021ca9
cmp dword [eax], 0
mov esi, dword [esp + 0x10]
jne 0x10021cad
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
jmp 0x1001eb3c
mov dword [esi], 0x7fffffff
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1001eb3c
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1002019a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020196
cmp dword [eax], 0
jne 0x10020196
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x100201c6
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x100201b6
sub eax, 1
jne 0x100201c6
shl edi, 0x10
jmp 0x100201c6
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x100201e6
mov eax, dword [ebx + 4]
test eax, eax
je 0x100201e2
cmp dword [eax], 0
jne 0x100201e2
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor esi, esi
jmp 0x10020210
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x10020200
sub eax, 1
jne 0x10020210
shl esi, 0x10
jmp 0x10020210
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x10020223
mov edi, dword [esp + 0x18]
jmp 0x1001fc69
lea eax, [esi + edi]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov dword [ecx], eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1001eb3c
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x10020270
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002026c
cmp dword [eax], 0
jne 0x1002026c
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1002029c
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1002028c
sub eax, 1
jne 0x1002029c
shl edi, 0x10
jmp 0x1002029c
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x100202bc
mov eax, dword [ebx + 4]
test eax, eax
je 0x100202b8
cmp dword [eax], 0
jne 0x100202b8
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor esi, esi
jmp 0x100202e6
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x100202d6
sub eax, 1
jne 0x100202e6
shl esi, 0x10
jmp 0x100202e6
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x100202f9
mov edi, dword [esp + 0x18]
jmp 0x1001fc69
sub esi, edi
mov edi, dword [esp + 0x18]
mov dword [ecx], esi
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1001eb3c
test al, al
je 0x100203d5
cmp byte [esp + 0x48], 0
je 0x100203d5
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x10020355
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020351
cmp dword [eax], 0
jne 0x10020351
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x1002037c
cmp dword [eax - 4], 2
je 0x10020374
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020370
cmp dword [eax], 0
jne 0x10020370
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x1002037c
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, ecx
jne 0x100203a0
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020395
cmp dword [eax], 0
jne 0x10020395
mov dword [eax], 0xa1
xor ecx, ecx
mov byte [esp + 0x48], cl
jmp 0x1002046c
cmp dword [eax - 4], 2
je 0x100203c3
mov eax, dword [ebx + 4]
test eax, eax
je 0x100203b8
cmp dword [eax], 0
jne 0x100203b8
mov dword [eax], 0xa0
xor ecx, ecx
mov byte [esp + 0x48], cl
jmp 0x1002046c
add eax, 0xfffffff8
mov byte [esp + 0x48], 0
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
jmp 0x1002046c
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xc]
mov esi, dword [eax]
cmp ecx, esi
jne 0x100203fe
mov eax, dword [ebx + 4]
test eax, eax
je 0x100203fa
cmp dword [eax], 0
jne 0x100203fa
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x10020428
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x10020418
sub eax, 1
jne 0x10020428
shl edx, 0x10
jmp 0x10020428
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
cmp ecx, esi
jne 0x10020442
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002043e
cmp dword [eax], 0
jne 0x1002043e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1002046c
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1002045c
sub eax, 1
jne 0x1002046c
shl ecx, 0x10
jmp 0x1002046c
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.10009870
mov ecx, dword [esp + 0x10]
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 0xc]
mov ecx, dword [ecx]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x100217bb
mov esi, dword [esp + 0x10]
jmp 0x1001fe30
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [eax]
jne 0x100204e3
mov eax, dword [ebx + 4]
test eax, eax
je 0x100204ae
cmp dword [eax], 0
jne 0x100204ae
mov dword [eax], 0xa1
mov eax, dword [ebx + 0x10]
xor ecx, ecx
mov esi, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
lea eax, [esi + eax*8]
mov esi, dword [esp + 0x10]
cmp edx, eax
je 0x1001fe30
neg ecx
mov dword [edx], ecx
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1001eb3c
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x100204fd
sub eax, 1
jne 0x1002050d
shl ecx, 0x10
jmp 0x1002050d
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [ebx + 0x10]
mov esi, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
cmp ecx, 0x80000001
jge 0x100204b9
lea eax, [esi + eax*8]
cmp edx, eax
jne 0x1002054c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021ca9
mov esi, dword [esp + 0x10]
cmp dword [eax], 0
jne 0x10021cad
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
jmp 0x1001eb3c
mov dword [edx], 0x7fffffff
jmp 0x10021b23
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x10020580
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002057c
cmp dword [eax], 0
jne 0x1002057c
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x100205ac
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1002059c
sub eax, 1
jne 0x100205ac
shl edi, 0x10
jmp 0x100205ac
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x100205cc
mov eax, dword [ebx + 4]
test eax, eax
je 0x100205c8
cmp dword [eax], 0
jne 0x100205c8
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor esi, esi
jmp 0x100205f6
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x100205e6
sub eax, 1
jne 0x100205f6
shl esi, 0x10
jmp 0x100205f6
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x10020609
mov edi, dword [esp + 0x18]
jmp 0x1001fc69
xor eax, eax
cmp esi, edi
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
sete al
mov dword [ecx], eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1001eb3c
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test al, al
je 0x1001eb3c
mov eax, dword [ebx + 0xc]
mov ecx, esi
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x10020665
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020661
cmp dword [eax], 0
jne 0x10020661
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1002068c
cmp dword [eax - 4], 2
je 0x10020684
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020680
cmp dword [eax], 0
jne 0x10020680
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1002068c
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, ecx
jne 0x100206ac
mov eax, dword [ebx + 4]
test eax, eax
je 0x100206a8
cmp dword [eax], 0
jne 0x100206a8
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x100206d3
cmp dword [eax - 4], 2
je 0x100206cb
mov eax, dword [ebx + 4]
test eax, eax
je 0x100206c7
cmp dword [eax], 0
jne 0x100206c7
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x100206d3
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov edx, dword [ebx + 0xc]
xor eax, eax
mov ebp, edx
mov dword [esp + 0x28], edi
sub ebp, ecx
mov dword [esp + 0x4c], eax
sar ebp, 3
sub ebp, edi
mov dword [esp + 0x5c], eax
mov dword [esp + 0x40], ebp
cmp esi, 0x1c
ja case.0x10020701.4
movzx eax, byte [esi + 0x100240e4]
jmp dword [eax*4 + 0x100240a4]
cmp edi, 3
jne 0x10023812
cmp byte [esp + 0x2f], 0
je 0x10020736
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x1d4], 0
je 0x10023812
cmp dword [eax + 0x1d8], 7
jne 0x10023812
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x1002075b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020755
cmp dword [eax], 0
jne 0x10020755
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ebp, dword [esp + 0x1c]
jmp 0x10020772
mov ebp, dword [esp + 0x1c]
mov dword [edx], ebp
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov edx, dword [ebx + 0xc]
mov esi, dword [esp + 0x10]
mov ecx, dword [ebx + 0x10]
mov edi, dword [esp + 0x18]
mov eax, dword [esi]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x100207a9
mov eax, dword [ebx + 4]
test eax, eax
je 0x100207b9
cmp dword [eax], 0
jne 0x100207b9
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov dword [esp + 0x4c], 2
jmp 0x1001eb3c
mov dword [edx], edi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], 2
jmp 0x1001eb3c
test edi, edi
jne 0x10023812
cmp byte [esp + 0x2f], 0
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
je 0x1001eb3c
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0xc]
movsx eax, word [ecx + 0x16]
movsx edx, word [ecx + 0x3a]
add eax, 6
add eax, edx
cmp eax, dword [ecx + 4]
jbe 0x1002081a
push 0
mov edx, 6
call fcn.10009f50
test eax, eax
jne 0x10023959
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [edx + 0x1d4], 1
mov dword [edx + 0x1d8], 0
jmp 0x1001eb3c
test edi, edi
jne 0x10023812
cmp byte [esp + 0x2f], 0
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
je 0x1001eb3c
mov edx, dword [esp + 0x24]
cmp dword [edx + 0x1d4], 0
je 0x10023812
mov esi, dword [edx + 0x1d8]
lea eax, [esi + 1]
mov dword [edx + 0x1d8], eax
lea eax, [esi - 1]
cmp eax, 5
ja 0x10021ca9
mov ecx, dword [edx + 0xc]
movsx eax, word [ecx + 0x16]
movsx edx, word [ecx + 0x3a]
inc eax
add eax, edx
cmp eax, dword [ecx + 4]
jbe 0x100208bd
push 0
mov edx, 1
call fcn.10009f50
test eax, eax
jne 0x10023812
lea eax, [esi - 3]
cmp esi, 3
jg 0x100208c7
mov eax, esi
mov ebp, dword [esp + 0x1c]
add eax, eax
mov edi, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x11c], ebp
mov dword [esp + eax*4 + 0x120], edi
cmp esi, 3
je 0x100208ed
cmp esi, 6
jne 0x10021ca9
push dword [esp + 0x138]
mov edx, dword [esp + 0x128]
lea ecx, [esp + 0x1dc]
push dword [esp + 0x138]
push dword [esp + 0x138]
push dword [esp + 0x138]
push dword [esp + 0x138]
call fcn.1001dbf0
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1001eb3c
cmp edi, 1
jne 0x10023812
cmp byte [esp + 0x2f], 0
je 0x10020990
mov eax, dword [esp + 0x68]
xorps xmm0, xmm0
movups xmmword [esp + 0xa8], xmm0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xf8], 0
movq qword [esp + 0xb8], xmm0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xa8], eax
mov byte [esp + 0xac], 0
mov byte [esp + 0xad], 1
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], 1
jmp 0x1001eb3c
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov dword [ebx + 0xc], ecx
mov ecx, dword [esp + 0x14]
jmp 0x1001eb3c
mov eax, dword [esp + 0x24]
mov edi, dword [eax + 0x284]
mov dword [esp + 0x38], edi
test edi, edi
je 0x10023812
xor eax, eax
cmp esi, 0x12
sete al
add eax, 0xfffffff3
add esi, eax
mov eax, dword [edi]
imul eax, esi
mov dword [esp + 0x4c], esi
cmp dword [esp + 0x28], eax
jne 0x10023812
lea eax, [esi + ebp]
mov dword [esp + 0x30], eax
test esi, esi
je 0x10020b45
mov dword [esp + 0x3c], esi
nop
sub edx, ecx
sar edx, 3
cmp ebp, edx
jb 0x10020a2f
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020a2b
cmp dword [eax], 0
jne 0x10020a2b
mov dword [eax], 0x82
xor esi, esi
jmp 0x10020a55
mov eax, dword [ecx + ebp*8 + 4]
mov esi, dword [ecx + ebp*8]
sub eax, 1
je 0x10020a45
sub eax, 1
jne 0x10020a55
shl esi, 0x10
jmp 0x10020a55
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp dword [edi], 1
jbe 0x10020af1
mov ecx, dword [esp + 0x30]
mov edi, 1
lea ebp, [edi + 3]
nop word [eax + eax]
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, edx
sar eax, 3
cmp ecx, eax
jb 0x10020a98
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020a94
cmp dword [eax], 0
jne 0x10020a94
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10020ac2
mov eax, dword [esp + 0x30]
mov ecx, dword [edx + ecx*8]
mov eax, dword [edx + eax*8 + 4]
sub eax, 1
je 0x10020ab2
sub eax, 1
jne 0x10020ac2
shl ecx, 0x10
jmp 0x10020ac2
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x38]
mov edx, dword [edx + 0x88]
mov edx, dword [edx + ebp]
call fcn.10009400
mov ecx, dword [esp + 0x30]
add esi, eax
mov eax, dword [esp + 0x38]
inc ecx
inc edi
mov dword [esp + 0x30], ecx
add ebp, 4
cmp edi, dword [eax]
jb 0x10020a70
mov ebp, dword [esp + 0x40]
mov edi, eax
mov eax, dword [esp + 0x10]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
mov eax, edx
sub eax, ecx
sar eax, 3
cmp ebp, eax
jbe 0x10020b1d
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x10]
test eax, eax
je 0x10020b33
cmp dword [eax], 0
jne 0x10020b33
mov dword [eax], 0x82
jmp 0x10020b2e
mov dword [ecx + ebp*8], esi
mov esi, dword [esp + 0x10]
mov eax, dword [esi]
mov dword [eax + ebp*8 + 4], 0
mov ecx, dword [esi]
mov edx, dword [ebx + 0xc]
inc ebp
sub dword [esp + 0x3c], 1
mov dword [esp + 0x40], ebp
jne 0x10020a10
jmp 0x10020b49
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov eax, edx
sub ebp, dword [esp + 0x4c]
sub eax, ecx
sar eax, 3
cmp ebp, eax
jbe 0x10020b87
mov eax, dword [ebx + 4]
test eax, eax
je 0x10022e75
cmp dword [eax], 0
jne 0x10022e75
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0xa1
jmp 0x1001eb3c
mov edi, dword [esp + 0x18]
lea eax, [ebp*8]
mov ebp, dword [esp + 0x1c]
sub edx, eax
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], edx
jmp 0x1001eb3c
mov ebp, dword [esp + 0x24]
mov esi, dword [ebp + 0x284]
cmp edi, 1
jne 0x10023812
test esi, esi
je 0x10023812
cmp edx, ecx
jne 0x10020bd9
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020bd5
cmp dword [eax], 0
jne 0x10020bd5
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10020c05
cmp dword [edx - 4], 2
je 0x10020bf5
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020bf1
cmp dword [eax], 0
jne 0x10020bf1
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x10020c05
lea eax, [edx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x10023812
mov edx, dword [esi]
lea eax, [edx + ecx]
cmp eax, dword [ebp + 0x28c]
ja 0x10023812
lea eax, [edx*4]
push eax
mov eax, dword [ebp + 0x288]
push dword [esi + 0x88]
lea eax, [eax + ecx*4]
push eax
call fcn.10101750
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1001eb3c
cmp edi, 2
jne 0x10023812
cmp edx, ecx
jne 0x10020c74
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020c70
cmp dword [eax], 0
jne 0x10020c70
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x10020ca0
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [edx]
sub eax, 1
je 0x10020c90
sub eax, 1
jne 0x10020ca0
shl edi, 0x10
jmp 0x10020ca0
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp edx, ecx
jne 0x10020cc0
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020cbc
cmp dword [eax], 0
jne 0x10020cbc
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x10020cea
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x10020cda
sub eax, 1
jne 0x10020cea
shl esi, 0x10
jmp 0x10020cea
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x10020d23
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020d36
cmp dword [eax], 0
jne 0x10020d36
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov dword [esp + 0x4c], 1
jmp 0x1001eb3c
lea eax, [esi + edi]
mov dword [edx], eax
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], 1
jmp 0x1001eb3c
cmp edi, 2
jne 0x10023812
cmp edx, ecx
jne 0x10020d7c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020d78
cmp dword [eax], 0
jne 0x10020d78
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x10020da8
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [edx]
sub eax, 1
je 0x10020d98
sub eax, 1
jne 0x10020da8
shl edi, 0x10
jmp 0x10020da8
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp edx, ecx
jne 0x10020dc8
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020dc4
cmp dword [eax], 0
jne 0x10020dc4
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x10020df2
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x10020de2
sub eax, 1
jne 0x10020df2
shl esi, 0x10
jmp 0x10020df2
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x10020e1b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020d36
cmp dword [eax], 0
jne 0x10020d36
mov dword [eax], 0x82
jmp 0x10020d36
sub esi, edi
mov dword [edx], esi
jmp 0x10020d28
cmp edi, 2
jne 0x10023812
cmp edx, ecx
jne 0x10020e4d
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020e49
cmp dword [eax], 0
jne 0x10020e49
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x10020e79
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov esi, dword [edx]
sub eax, 1
je 0x10020e69
sub eax, 1
jne 0x10020e79
shl esi, 0x10
jmp 0x10020e79
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp edx, ecx
jne 0x10020e93
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020e8f
cmp dword [eax], 0
jne 0x10020e8f
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10020ebd
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10020ead
sub eax, 1
jne 0x10020ebd
shl ecx, 0x10
jmp 0x10020ebd
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, esi
call fcn.10009400
mov ecx, dword [esp + 0x10]
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 0xc]
mov ecx, dword [ecx]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x10020ef6
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020d36
cmp dword [eax], 0
jne 0x10020d36
mov dword [eax], 0x82
jmp 0x10020d36
mov dword [esi], eax
jmp 0x10020d28
cmp edi, 2
jne 0x10023812
cmp edx, ecx
jne 0x10020f26
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020f22
cmp dword [eax], 0
jne 0x10020f22
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x10020f52
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov esi, dword [edx]
sub eax, 1
je 0x10020f42
sub eax, 1
jne 0x10020f52
shl esi, 0x10
jmp 0x10020f52
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp edx, ecx
jne 0x10020f6c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020f68
cmp dword [eax], 0
jne 0x10020f68
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10020f96
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10020f86
sub eax, 1
jne 0x10020f96
shl ecx, 0x10
jmp 0x10020f96
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test esi, esi
je 0x10023812
mov edx, esi
call fcn.10009870
jmp 0x10020ec4
cmp edi, 2
jne 0x10023812
mov ebp, dword [esp + 0x24]
cmp dword [ebp + 0x284], 0
je 0x10023812
cmp edx, ecx
jne 0x10020fde
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020fda
cmp dword [eax], 0
jne 0x10020fda
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1002100a
cmp dword [edx - 4], 2
je 0x10020ffa
mov eax, dword [ebx + 4]
test eax, eax
je 0x10020ff6
cmp dword [eax], 0
jne 0x10020ff6
mov dword [eax], 0xa0
xor esi, esi
jmp 0x1002100a
lea eax, [edx - 8]
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
test esi, esi
js 0x10023812
cmp esi, dword [ebp + 0x28c]
jae 0x10023812
mov eax, dword [esp + 0x10]
mov edx, dword [ebx + 0xc]
cmp edx, dword [eax]
jne 0x10021053
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021033
cmp dword [eax], 0
jne 0x10021033
mov dword [eax], 0xa1
mov eax, dword [ebp + 0x288]
xor ecx, ecx
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov dword [eax + esi*4], ecx
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1001eb3c
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10021089
sub eax, 1
jne 0x10021099
mov eax, dword [ebp + 0x288]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
shl ecx, 0x10
mov dword [eax + esi*4], ecx
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1001eb3c
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [ebp + 0x288]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov dword [eax + esi*4], ecx
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1001eb3c
cmp edi, 1
jne 0x10023812
mov ebp, dword [esp + 0x24]
cmp dword [ebp + 0x284], 0
je 0x10023812
cmp edx, ecx
jne 0x100210eb
mov eax, dword [ebx + 4]
test eax, eax
je 0x100210e7
cmp dword [eax], 0
jne 0x100210e7
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10021117
cmp dword [edx - 4], 2
je 0x10021107
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021103
cmp dword [eax], 0
jne 0x10021103
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x10021117
lea eax, [edx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x10023812
cmp ecx, dword [ebp + 0x28c]
jae 0x10023812
mov eax, dword [ebp + 0x288]
mov esi, dword [eax + ecx*4]
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x10020e1d
jmp 0x10020ed7
cmp edi, 4
jne 0x10023812
cmp edx, ecx
jne 0x10021177
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002116d
cmp dword [eax], 0
jne 0x1002116d
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x30], 0
jmp 0x100211b3
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
sub eax, 1
je 0x1002119d
sub eax, 1
mov eax, dword [edx]
je 0x10021194
mov dword [esp + 0x30], eax
jmp 0x100211b3
shl eax, 0x10
mov dword [esp + 0x30], eax
jmp 0x100211b3
mov ebp, dword [edx]
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov dword [esp + 0x30], ebp
cmp edx, ecx
jne 0x100211d3
mov eax, dword [ebx + 4]
test eax, eax
je 0x100211cf
cmp dword [eax], 0
jne 0x100211cf
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor ebp, ebp
jmp 0x100211fd
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ebp, dword [edx]
sub eax, 1
je 0x100211ed
sub eax, 1
jne 0x100211fd
shl ebp, 0x10
jmp 0x100211fd
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp edx, ecx
jne 0x1002121d
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021219
cmp dword [eax], 0
jne 0x10021219
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x10021247
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x10021237
sub eax, 1
jne 0x10021247
shl esi, 0x10
jmp 0x10021247
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp edx, ecx
jne 0x10021267
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021263
cmp dword [eax], 0
jne 0x10021263
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor edi, edi
jmp 0x10021291
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edi, dword [edx]
sub eax, 1
je 0x10021281
sub eax, 1
jne 0x10021291
shl edi, 0x10
jmp 0x10021291
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
je 0x10020ed7
cmp ebp, dword [esp + 0x30]
cmovle esi, edi
mov dword [edx], esi
jmp 0x10020d28
test edi, edi
jne 0x10023812
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x218]
mov ecx, dword [edx + 0x288]
mov eax, ecx
shl eax, 0xd
movzx esi, cx
xor ecx, eax
mov eax, ecx
inc esi
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor eax, ecx
mov dword [edx + 0x288], eax
jmp 0x1002112c
mov ebp, dword [esp + 0x28]
test ebp, ebp
js 0x10023812
test esi, esi
js 0x10023812
cmp ebp, 3
jle 0x1002130d
mov ebp, 3
mov dword [esp + 0x5c], ebp
jmp 0x1002131e
mov edi, dword [esp + 0x18]
mov dword [esp + 0x5c], ebp
cmp ebp, 1
jl 0x1001eb30
lea edi, [esp + ebp*4 + 0x78]
cmp edx, ecx
jne 0x10021345
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021341
cmp dword [eax], 0
jne 0x10021341
mov dword [eax], 0xa1
mov eax, dword [esp + 0x10]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x1002136f
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x1002135f
sub eax, 1
jne 0x1002136f
shl esi, 0x10
jmp 0x1002136f
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov dword [edi], esi
sub edi, 4
sub ebp, 1
jne 0x10021322
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1001eb3c
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test al, al
je 0x1001eb3c
mov edx, dword [esp + 0x4c]
test edx, edx
jle 0x100213b0
dec edx
mov dword [esp + 0x4c], edx
jmp 0x1001eb3c
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x10023812
mov esi, dword [esp + eax*4 + 0x78]
dec eax
mov dword [esp + 0x5c], eax
mov edx, dword [ebx + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x10]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x10021a4f
mov esi, dword [esp + 0x10]
jmp 0x1001fe30
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
cmp eax, dword [esi]
jne 0x10021413
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1001eb3c
cmp dword [eax], 0
jne 0x1001eb3c
mov dword [eax], 0xa1
jmp 0x1001eb3c
mov ecx, dword [esp + 0x14]
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x10021448
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021444
cmp dword [eax], 0
jne 0x10021444
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1002146f
cmp dword [eax - 4], 2
je 0x10021467
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021463
cmp dword [eax], 0
jne 0x10021463
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1002146f
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov edx, dword [ebx + 0xc]
cmp edx, ecx
jne 0x1002148c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021488
cmp dword [eax], 0
jne 0x10021488
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100214b6
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100214a6
sub eax, 1
jne 0x100214b6
shl ecx, 0x10
jmp 0x100214b6
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp esi, 0x1f
ja 0x1001eb34
mov dword [esp + esi*4 + 0x158], ecx
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1001eb3c
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
cmp eax, dword [esi]
jne 0x100214fe
mov eax, dword [ebx + 4]
test eax, eax
je 0x100214f0
cmp dword [eax], 0
jne 0x100214f0
mov dword [eax], 0xa1
xor eax, eax
mov esi, dword [esp + eax*4 + 0x158]
jmp 0x100213c5
cmp dword [eax - 4], 2
je 0x10021524
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021516
cmp dword [eax], 0
jne 0x10021516
mov dword [eax], 0xa0
xor eax, eax
mov esi, dword [esp + eax*4 + 0x158]
jmp 0x100213c5
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x10021cad
cmp eax, 0x20
jge 0x10021cad
mov esi, dword [esp + eax*4 + 0x158]
jmp 0x100213c5
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x10021578
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002156e
cmp dword [eax], 0
jne 0x1002156e
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x30], 0
jmp 0x100215b4
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
sub eax, 1
je 0x1002159e
sub eax, 1
mov eax, dword [ecx]
je 0x10021595
mov dword [esp + 0x30], eax
jmp 0x100215b4
shl eax, 0x10
mov dword [esp + 0x30], eax
jmp 0x100215b4
mov ebp, dword [ecx]
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov dword [esp + 0x30], ebp
cmp ecx, edx
jne 0x100215d4
mov eax, dword [ebx + 4]
test eax, eax
je 0x100215d0
cmp dword [eax], 0
jne 0x100215d0
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor ebp, ebp
jmp 0x100215fe
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x100215ee
sub eax, 1
jne 0x100215fe
shl ebp, 0x10
jmp 0x100215fe
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp ecx, edx
jne 0x1002161e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002161a
cmp dword [eax], 0
jne 0x1002161a
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor esi, esi
jmp 0x10021648
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x10021638
sub eax, 1
jne 0x10021648
shl esi, 0x10
jmp 0x10021648
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp ecx, edx
jne 0x10021668
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021664
cmp dword [eax], 0
jne 0x10021664
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor edi, edi
jmp 0x10021692
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x10021682
sub eax, 1
jne 0x10021692
shl edi, 0x10
jmp 0x10021692
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x100216a9
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
jmp 0x1002009e
cmp ebp, dword [esp + 0x30]
cmovle esi, edi
mov dword [ecx], esi
jmp 0x1002014e
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x218]
mov ecx, dword [edx + 0x288]
mov eax, ecx
shl eax, 0xd
movzx esi, cx
xor ecx, eax
mov eax, ecx
inc esi
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor eax, ecx
mov dword [edx + 0x288], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
je 0x10020525
mov dword [edx], esi
jmp 0x10021b23
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1002172d
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021729
cmp dword [eax], 0
jne 0x10021729
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor esi, esi
jmp 0x10021759
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x10021749
sub eax, 1
jne 0x10021759
shl esi, 0x10
jmp 0x10021759
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp ecx, edx
jne 0x10021773
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002176f
cmp dword [eax], 0
jne 0x1002176f
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1002179d
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1002178d
sub eax, 1
jne 0x1002179d
shl ecx, 0x10
jmp 0x1002179d
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, esi
call fcn.10009400
mov ecx, dword [esp + 0x10]
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 0xc]
mov ecx, dword [ecx]
lea ecx, [ecx + edx*8]
cmp esi, ecx
je 0x10020525
mov dword [esi], eax
jmp 0x10021b23
mov esi, dword [esp + 0x10]
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
mov dword [esp + 0x30], edx
cmp ecx, edx
jne 0x10021826
mov eax, dword [ebx + 4]
test eax, eax
je 0x100217e5
cmp dword [eax], 0
jne 0x100217e5
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor edi, edi
mov eax, dword [ebx + 0x10]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x100218b3
mov eax, dword [ebx + 4]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1001eb3c
cmp dword [eax], 0
jne 0x1001eb3c
mov dword [eax], 0x82
jmp 0x1001eb3c
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov dword [esp + 0x38], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x10021844
sub eax, 1
jne 0x1002185c
shl ebp, 0x10
jmp 0x10021854
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov dword [esp + 0x38], ecx
mov dword [esp + 0x30], edx
test ebp, ebp
jle 0x100217eb
mov eax, ebp
mov esi, ebp
sar eax, 1
mov ecx, ebp
cmp ebp, 0xa
cmovge esi, eax
mov edx, esi
call fcn.10009870
lea edi, [esi + 1]
add edi, eax
sar edi, 1
cmp edi, esi
je 0x100218a2
mov edx, edi
mov ecx, ebp
mov esi, edi
call fcn.10009870
inc edi
add edi, eax
sar edi, 1
cmp edi, esi
jne 0x10021880
mov esi, dword [esp + 0x10]
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
jmp 0x100217ed
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x10]
jmp 0x100217ed
mov ebp, dword [esp + 0x1c]
mov dword [ecx], edi
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1001eb3c
mov eax, dword [esp + 0x10]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
cmp edx, ecx
jne 0x100218fd
mov eax, dword [ebx + 4]
test eax, eax
je 0x100218f9
cmp dword [eax], 0
jne 0x100218f9
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x10021929
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov esi, dword [edx]
sub eax, 1
je 0x10021919
sub eax, 1
jne 0x10021929
shl esi, 0x10
jmp 0x10021929
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x10021952
mov eax, dword [ebx + 4]
test eax, eax
je 0x100213c8
cmp dword [eax], 0
jne 0x100213c8
mov dword [eax], 0x82
jmp 0x100213c5
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x100213c5
mov eax, dword [esp + 0x10]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
cmp edx, ecx
jne 0x10021990
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002198c
cmp dword [eax], 0
jne 0x1002198c
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x100219bc
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [edx]
sub eax, 1
je 0x100219ac
sub eax, 1
jne 0x100219bc
shl edi, 0x10
jmp 0x100219bc
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp edx, ecx
jne 0x100219dc
mov eax, dword [ebx + 4]
test eax, eax
je 0x100219d8
cmp dword [eax], 0
jne 0x100219d8
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x10021a06
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x100219f6
sub eax, 1
jne 0x10021a06
shl esi, 0x10
jmp 0x10021a06
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x10021a24
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021a37
cmp dword [eax], 0
jne 0x10021a37
mov dword [eax], 0x82
jmp 0x10021a34
mov dword [edx], edi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov edx, dword [ebx + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x10]
mov edi, dword [esp + 0x18]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
je 0x1001fc69
mov dword [edx], esi
jmp 0x10021b23
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x10021a7c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021a78
cmp dword [eax], 0
jne 0x10021a78
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x10021aa3
cmp dword [eax - 4], 2
je 0x10021a9b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021a97
cmp dword [eax], 0
jne 0x10021a97
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x10021aa3
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov esi, dword [ebx + 0xc]
mov eax, esi
sub eax, ecx
sar eax, 3
test eax, eax
je 0x1001eb34
test edx, edx
jns 0x10021abe
lea edi, [eax - 1]
jmp 0x10021adf
cmp edx, eax
jb 0x10021ada
xor edi, edi
mov eax, dword [ecx + edi*8 + 4]
mov edx, dword [ecx + edi*8]
sub eax, 1
je 0x10021aff
sub eax, 1
jne 0x10021b0f
shl edx, 0x10
jmp 0x10021b0f
mov edi, eax
sub edi, edx
dec edi
cmp edi, eax
jb 0x10021ac4
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021afb
cmp dword [eax], 0
jne 0x10021afb
mov dword [eax], 0x82
mov ecx, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
xor edx, edx
jmp 0x10021b0f
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [ebx + 0x10]
mov edi, dword [esp + 0x18]
lea eax, [ecx + eax*8]
cmp esi, eax
je 0x1001fc69
mov dword [esi], edx
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1001eb3c
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
mov ecx, dword [esi]
cmp eax, ecx
jne 0x10021b64
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021b60
cmp dword [eax], 0
jne 0x10021b60
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x10021b8b
cmp dword [eax - 4], 2
je 0x10021b83
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021b7f
cmp dword [eax], 0
jne 0x10021b7f
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x10021b8b
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, ecx
jne 0x10021bbd
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021ba4
cmp dword [eax], 0
jne 0x10021ba4
mov dword [eax], 0xa1
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 2
jmp 0x1001eb3c
cmp dword [eax - 4], 2
je 0x10021bee
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021bd5
cmp dword [eax], 0
jne 0x10021bd5
mov dword [eax], 0xa0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 2
jmp 0x1001eb3c
add eax, 0xfffffff8
mov dword [esp + 0x38], 0
mov dword [ebx + 0xc], eax
mov dword [esp + 0x30], 2
mov ecx, dword [eax]
mov dword [esp + 0x3c], ecx
cmp ecx, 2
jl 0x10021cad
sub eax, dword [esi]
sar eax, 3
cmp ecx, eax
jbe 0x10021c2c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021cad
jmp 0x10020534
test edx, edx
jns 0x10021c41
neg edx
mov eax, edx
cdq
idiv ecx
mov edi, edx
neg edi
mov dword [esp + 0x40], edi
jmp 0x10021c4c
mov eax, edx
cdq
idiv ecx
mov edi, edx
mov dword [esp + 0x40], edx
test edi, edi
je 0x10021cad
or ebp, 0xffffffff
lea ebx, [edi*8]
mov dword [esp + 0x60], ebx
lea eax, [ecx*8]
mov ebx, ecx
mov dword [esp + 0x54], eax
or edx, ebp
mov dword [esp + 0x28], ebx
lea esi, [ebp - 7]
mov ecx, dword [esp + 0x50]
mov edi, dword [ecx]
cmp ebp, edx
jne 0x10021c97
inc ebp
mov edx, ebp
lea esi, [ebp*8]
mov ecx, dword [esi + edi]
mov dword [esp + 0x38], ecx
mov ecx, dword [esi + edi + 4]
mov dword [esp + 0x30], ecx
add edx, dword [esp + 0x40]
add esi, dword [esp + 0x60]
cmp edx, ebx
jl 0x10021cbe
sub edx, ebx
sub esi, eax
jmp 0x10021cc6
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1001eb3c
test edx, edx
jns 0x10021cc6
add edx, ebx
add esi, eax
sub dword [esp + 0x3c], 1
mov eax, dword [edi + esi]
mov ecx, dword [edi + esi + 4]
mov ebx, dword [esp + 0x38]
mov dword [edi + esi], ebx
mov ebx, dword [esp + 0x30]
mov dword [edi + esi + 4], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x30], ecx
jne 0x10021c74
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1001eb3c
test al, al
je case.0x1001f966.0
cmp byte [esp + 0x2f], 0
je case.0x1001f966.0
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x10021d48
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021d44
cmp dword [eax], 0
jne 0x10021d44
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x10021d76
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
mov dword [esp + 0x18], edi
sub eax, 1
je 0x10021d66
sub eax, 1
jne 0x10021d7a
shl edi, 0x10
jmp 0x10021d76
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov dword [esp + 0x18], edi
mov dword [esp + 0x3f18], edi
cmp ecx, edx
jne 0x10021d9b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021d97
cmp dword [eax], 0
jne 0x10021d97
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10021dc9
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
mov dword [esp + 0x1c], esi
sub eax, 1
je 0x10021db9
sub eax, 1
jne 0x10021dcd
shl esi, 0x10
jmp 0x10021dc9
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0x24]
mov dword [esp + 0x3f14], esi
mov dword [eax + 0x1d4], 0
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
mov esi, dword [esp + 0x10]
test al, al
je 0x1001ee07
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esi]
jne 0x10021e21
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021e1d
cmp dword [eax], 0
jne 0x10021e1d
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10021e4b
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x10021e3b
sub eax, 1
jne 0x10021e4b
shl ecx, 0x10
jmp 0x10021e4b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x24]
mov dword [eax], ecx
mov eax, dword [edx + 0x24]
mov dword [eax + 4], 0
mov edx, dword [ebx + 0xc]
cmp edx, dword [esi]
jne 0x10021e7b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10021e77
cmp dword [eax], 0
jne 0x10021e77
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10021ea5
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10021e95
sub eax, 1
jne 0x10021ea5
shl ecx, 0x10
jmp 0x10021ea5
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x24]
mov byte [esp + 0x23], 1
mov eax, dword [edx + 0x20]
add dword [eax], ecx
cmp byte [edx + 0x2f], 0
jne 0x10023959
cmp byte [esp + 0x2f], 0
je 0x1001ee03
mov eax, dword [esi]
add ebp, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x3f14], ebp
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
test al, al
je 0x10023aec
test ah, ah
jne 0x10023aec
cmp byte [esp + 0x2f68], ah
je 0x10021f6b
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.1001da70
cmp byte [esp + 0x2fb8], 0
je 0x10021f53
push 1
push dword [esp + 0x2fa0]
lea eax, [esp + 0x2f98]
push dword [esp + 0x2fa0]
lea edx, [esp + 0x1ec]
push eax
lea ecx, [esp + 0x1e8]
call fcn.1001d530
mov byte [esp + 0x2f68], 0
mov byte [esp + 0x2f69], 0
mov byte [esp + 0x2fb8], 0
cmp byte [esp + 0x1ec], 0
mov eax, dword [esp + 0x2f74]
mov dword [esp + 0x2fb0], ebp
mov dword [esp + 0x2fa0], ebp
mov dword [esp + 0x2fb4], edi
mov dword [esp + 0x2fa4], edi
mov byte [esp + 0x2f6b], 1
je 0x10021fa6
cmp byte [eax + 5], 0
je 0x10021fca
mov edx, dword [esp + 0x2f6c]
lea ecx, [esp + 0x1e0]
push 0
push dword [esp + 0x2f7c]
push eax
push dword [esp + 0x2f7c]
call fcn.1001cb80
mov edx, dword [esp + 0x64]
lea esi, [esp + 0x1e0]
mov eax, dword [esp + 0x68]
xorps xmm0, xmm0
mov byte [esp + 0x2f], 1
mov ecx, 0x3c7
mov dword [esp + 0xd8], 0
lea edi, [esp + 0x10fc]
mov dword [esp + 0xf8], 0
movq qword [esp + 0xb8], xmm0
mov dword [esp + 0xc0], 0
movups xmmword [esp + 0xa8], xmm0
mov dword [esp + 0xa8], eax
mov byte [esp + 0xac], 0
mov byte [esp + 0xad], 1
rep movsd dword es:[edi], dword [esi]
test edx, edx
jle 0x10022089
mov ebp, dword [esp + 0xa0]
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x9c]
mov esi, dword [esp + 0x74]
lea ebx, [edx - 1]
cmp ebx, eax
jb 0x1002206f
test ebp, ebp
je 0x1002206d
cmp dword [ebp], 0
jne 0x1002206d
mov dword [ebp], 0x82
xor ebx, ebx
imul ebx, ecx
dec edx
add ebx, esi
mov dword [esp + 0x14], ebx
test edx, edx
jg 0x10022055
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x64], edx
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [ecx + 4]
mov dword [ecx + 0xc], eax
mov esi, dword [esp + 0x10]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
sub eax, dword [esi]
sar eax, 3
cmp eax, 1
jbe 0x100220c4
cmp byte [esp + 0xac], 0
jne 0x1001ee07
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x23]
push 0
push eax
push dword [esp + 0x3f24]
lea eax, [esp + 0xd0]
mov edx, ebx
push eax
call fcn.1001dee0
mov eax, dword [esp + 0x24]
cmp byte [eax + 0x224], 0
jne 0x10023959
mov eax, dword [esp + 0x28]
cmp al, 0x13
jne 0x10022129
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0xa8]
add eax, dword [esp + 0xf8]
mov edx, dword [esp + 0x14]
push eax
call fcn.1001de60
mov eax, dword [esi]
mov ecx, edx
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
push 0xf1c
lea eax, [esp + 0x2fe4]
push 0
push eax
call fcn.101010f0
mov ecx, dword [esp + 0x50]
add esp, 0xc
mov edx, dword [esp + 0x14]
xorps xmm0, xmm0
mov dword [esp + 0x2fe0], ecx
movlpd qword [esp + 0x140], xmm0
mov al, byte [ecx + 0xb8]
mov byte [esp + 0x2fed], al
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x2ff0], eax
lea eax, [esp + 0x2018]
mov dword [esp + 0x2fe4], eax
lea eax, [esp + 0x2f34]
mov dword [esp + 0x2fe8], eax
lea eax, [ecx + 4]
mov dword [esp + 0x13c], eax
lea ecx, [esp + 0x13c]
mov eax, dword [esp + 0xd8]
add eax, dword [esp + 0xf8]
push eax
movlpd qword [esp + 0x14c], xmm0
movlpd qword [esp + 0x154], xmm0
call fcn.1001de60
push 0
push 0
lea eax, [esp + 0x144]
push eax
lea eax, [esp + 0xd0]
push eax
lea edx, [esp + 0xf4]
lea ecx, [esp + 0x2ff0]
call fcn.1001cb80
mov eax, dword [esi]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
mov edx, dword [esi]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x1002224e
cmp byte [esp + 0x23], 0
jne 0x1002224e
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1002222c
sub eax, 1
jne 0x1002223c
shl ecx, 0x10
jmp 0x1002223c
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x94]
add eax, ecx
mov ecx, dword [esp + 0x3f1c]
mov dword [ecx], eax
mov ebp, dword [esp + 0x24]
mov byte [esp + 0x23], 1
cmp byte [ebp + 0x224], 0
jne 0x10023959
mov ecx, dword [ebx + 0xc]
mov esi, dword [esi]
cmp ecx, esi
jne 0x10022289
mov eax, dword [ebx + 4]
test eax, eax
je 0x10022285
cmp dword [eax], 0
jne 0x10022285
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x100222b3
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x100222a3
sub eax, 1
jne 0x100222b3
shl edx, 0x10
jmp 0x100222b3
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
add edi, edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x3f18], edi
cmp ecx, esi
jne 0x100222da
mov eax, dword [ebx + 4]
test eax, eax
je 0x100222d6
cmp dword [eax], 0
jne 0x100222d6
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10022304
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100222f4
sub eax, 1
jne 0x10022304
shl ecx, 0x10
jmp 0x10022304
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x1c]
add esi, ecx
cmp dword [ebp + 0x1d4], 0
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3f14], esi
jne 0x10021de2
cmp byte [esp + 0x2f68], 0
je 0x1002239f
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.1001da70
cmp byte [esp + 0x2fb8], 0
je 0x10022387
push 1
push dword [esp + 0x2fa0]
lea eax, [esp + 0x2f98]
push dword [esp + 0x2fa0]
lea edx, [esp + 0x1ec]
push eax
lea ecx, [esp + 0x1e8]
call fcn.1001d530
mov byte [esp + 0x2f68], 0
mov byte [esp + 0x2f69], 0
mov byte [esp + 0x2fb8], 0
cmp byte [esp + 0x1ec], 0
mov eax, dword [esp + 0x2f74]
mov dword [esp + 0x2fb0], esi
mov dword [esp + 0x2fa0], esi
mov dword [esp + 0x2fb4], edi
mov dword [esp + 0x2fa4], edi
mov byte [esp + 0x2f6b], 1
je 0x100223da
cmp byte [eax + 5], 0
je 0x100223fe
mov edx, dword [esp + 0x2f6c]
lea ecx, [esp + 0x1e0]
push 0
push dword [esp + 0x2f7c]
push eax
push dword [esp + 0x2f7c]
call fcn.1001cb80
mov ebp, dword [esp + 0x1c]
lea esi, [esp + 0x1e0]
mov ecx, 0x3c7
lea edi, [esp + 0x10fc]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
mov edx, dword [ecx]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x10022481
cmp byte [esp + 0x23], 0
jne 0x10022481
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1002245b
sub eax, 1
jne 0x1002246b
shl ecx, 0x10
jmp 0x1002246b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x94]
add eax, ecx
mov ecx, dword [esp + 0x3f1c]
mov dword [ecx], eax
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x24]
mov byte [esp + 0x23], 1
cmp byte [ebp + 0x224], 0
jne 0x10023959
mov edx, dword [ebx + 0xc]
cmp edx, dword [ecx]
jne 0x100224b4
mov eax, dword [ebx + 4]
test eax, eax
je 0x100224b0
cmp dword [eax], 0
jne 0x100224b0
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100224de
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100224ce
sub eax, 1
jne 0x100224de
shl ecx, 0x10
jmp 0x100224de
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x1c]
add esi, ecx
cmp dword [ebp + 0x1d4], 0
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3f14], esi
jne 0x10021de2
cmp byte [esp + 0x2f68], 0
je 0x10022579
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.1001da70
cmp byte [esp + 0x2fb8], 0
je 0x10022561
push 1
push dword [esp + 0x2fa0]
lea eax, [esp + 0x2f98]
push dword [esp + 0x2fa0]
lea edx, [esp + 0x1ec]
push eax
lea ecx, [esp + 0x1e8]
call fcn.1001d530
mov byte [esp + 0x2f68], 0
mov byte [esp + 0x2f69], 0
mov byte [esp + 0x2fb8], 0
cmp byte [esp + 0x1ec], 0
mov eax, dword [esp + 0x2f74]
mov dword [esp + 0x2fb0], esi
mov dword [esp + 0x2fa0], esi
mov dword [esp + 0x2fb4], edi
mov dword [esp + 0x2fa4], edi
mov byte [esp + 0x2f6b], 1
je 0x100225b8
cmp byte [eax + 5], 0
je 0x100223fe
mov edx, dword [esp + 0x2f6c]
lea ecx, [esp + 0x1e0]
push 0
push dword [esp + 0x2f7c]
push eax
push dword [esp + 0x2f7c]
call fcn.1001cb80
mov ebp, dword [esp + 0x1c]
lea esi, [esp + 0x1e0]
mov ecx, 0x3c7
lea edi, [esp + 0x10fc]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
mov edx, dword [esp + 0x10]
xor edi, edi
mov eax, dword [ebx + 0xc]
sub eax, dword [edx]
sar eax, 3
mov dword [esp + 0x38], eax
cmp eax, 6
jbe 0x10022713
lea ebp, [edi + 6]
nop dword [eax]
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [edx]
sub eax, edx
sar eax, 3
cmp edi, eax
jb 0x1002265f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002265b
cmp dword [eax], 0
jne 0x1002265b
mov dword [eax], 0x82
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
xor esi, esi
jmp 0x10022685
mov eax, dword [edx + edi*8 + 4]
mov esi, dword [edx + edi*8]
sub eax, 1
je 0x10022675
sub eax, 1
jne 0x10022685
shl esi, 0x10
jmp 0x10022685
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
add dword [esp + 0x1c], esi
lea eax, [ebp - 5]
mov esi, dword [esp + 0x1c]
sub ecx, edx
sar ecx, 3
mov dword [esp + 0x3f14], esi
cmp eax, ecx
jb 0x100226b6
mov eax, dword [ebx + 4]
test eax, eax
je 0x100226b2
cmp dword [eax], 0
jne 0x100226b2
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100226dd
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x100226cd
sub eax, 1
jne 0x100226dd
shl ecx, 0x10
jmp 0x100226dd
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x18]
mov edx, esi
add eax, ecx
lea ecx, [esp + 0x1d8]
push eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x3f1c], eax
call fcn.1001da70
mov eax, dword [esp + 0x38]
add ebp, 2
mov edx, dword [esp + 0x10]
add edi, 2
cmp ebp, eax
jb 0x10022630
mov ebp, dword [esp + 0x1c]
cmp edi, eax
jae 0x10022982
add edi, 2
mov esi, dword [ebx + 0xc]
lea eax, [edi - 2]
mov edx, dword [edx]
mov ecx, esi
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x10022754
mov eax, dword [ebx + 4]
test eax, eax
je 0x10022750
cmp dword [eax], 0
jne 0x10022750
mov dword [eax], 0x82
mov eax, dword [esp + 0x10]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1002277b
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x1002276b
sub eax, 1
jne 0x1002277b
shl ecx, 0x10
jmp 0x1002277b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [ecx + ebp]
mov ecx, esi
sub ecx, edx
mov dword [esp + 0x3c], eax
sar ecx, 3
lea eax, [edi - 1]
cmp eax, ecx
jb 0x100227af
mov eax, dword [ebx + 4]
test eax, eax
je 0x100227ab
cmp dword [eax], 0
jne 0x100227ab
mov dword [eax], 0x82
mov eax, dword [esp + 0x10]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x100227d6
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x100227c6
sub eax, 1
jne 0x100227d6
shl ecx, 0x10
jmp 0x100227d6
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x18]
mov eax, esi
sub eax, edx
add ebp, ecx
sar eax, 3
mov dword [esp + 0x54], ebp
cmp edi, eax
jb 0x1002280a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10022806
cmp dword [eax], 0
jne 0x10022806
mov dword [eax], 0x82
mov eax, dword [esp + 0x10]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10022830
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x10022820
sub eax, 1
jne 0x10022830
shl ecx, 0x10
jmp 0x10022830
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x3c]
add eax, ecx
mov ecx, esi
sub ecx, edx
mov dword [esp + 0x40], eax
sar ecx, 3
lea eax, [edi + 1]
cmp eax, ecx
jb 0x10022867
mov eax, dword [ebx + 4]
test eax, eax
je 0x10022863
cmp dword [eax], 0
jne 0x10022863
mov dword [eax], 0x82
mov eax, dword [esp + 0x10]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1002288e
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1002287e
sub eax, 1
jne 0x1002288e
shl ecx, 0x10
jmp 0x1002288e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add ebp, ecx
lea eax, [edi + 2]
mov ecx, esi
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x100228bd
mov eax, dword [ebx + 4]
test eax, eax
je 0x100228b9
cmp dword [eax], 0
jne 0x100228b9
mov dword [eax], 0x82
mov eax, dword [esp + 0x10]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x100228e4
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x100228d4
sub eax, 1
jne 0x100228e4
shl ecx, 0x10
jmp 0x100228e4
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x40]
sub esi, edx
add eax, ecx
sar esi, 3
mov dword [esp + 0x1c], eax
lea eax, [edi + 3]
cmp eax, esi
jb 0x10022910
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002290c
cmp dword [eax], 0
jne 0x1002290c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10022937
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x10022927
sub eax, 1
jne 0x10022937
shl ecx, 0x10
jmp 0x10022937
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x3c]
lea esi, [ecx + ebp]
push esi
push dword [esp + 0x20]
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x20], esi
push ebp
push dword [esp + 0x4c]
push dword [esp + 0x64]
call fcn.1001dbf0
mov ebp, dword [esp + 0x1c]
add edi, 6
mov edx, dword [esp + 0x10]
mov dword [esp + 0x3f14], ebp
mov dword [esp + 0x3f18], esi
lea eax, [edi - 2]
cmp eax, dword [esp + 0x38]
jb 0x10022722
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
mov esi, dword [esp + 0x10]
mov edi, dword [ebx + 0xc]
sub edi, dword [esi]
sar edi, 3
mov ecx, edi
and ecx, 0xfffffffd
sub edi, ecx
mov dword [esp + 0x54], ecx
cmp edi, ecx
jae 0x10022e70
mov esi, dword [esp + 0x1c]
lea eax, [edi + 3]
lea ebp, [edi + 2]
mov dword [esp + 0x28], eax
lea edx, [edi + 1]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x30], edx
mov eax, ecx
sub eax, edi
test al, 1
je 0x10022a37
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x10022a00
mov eax, dword [ebx + 4]
test eax, eax
je 0x100229fc
cmp dword [eax], 0
jne 0x100229fc
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10022a26
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10022a16
sub eax, 1
jne 0x10022a26
shl ecx, 0x10
jmp 0x10022a26
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
inc edx
inc ebp
add esi, ecx
mov dword [esp + 0x30], edx
inc edi
mov dword [esp + 0x38], ebp
inc dword [esp + 0x28]
mov edx, dword [ebx + 0xc]
mov eax, edx
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x10]
mov ecx, dword [esi]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x10022a6a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10022a66
cmp dword [eax], 0
jne 0x10022a66
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [esi]
xor esi, esi
jmp 0x10022a90
mov eax, dword [ecx + edi*8 + 4]
mov esi, dword [ecx + edi*8]
sub eax, 1
je 0x10022a80
sub eax, 1
jne 0x10022a90
shl esi, 0x10
jmp 0x10022a90
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov ebp, dword [esp + 0x18]
mov eax, edx
sub eax, ecx
add ebp, esi
mov esi, dword [esp + 0x30]
sar eax, 3
cmp esi, eax
jb 0x10022ac4
mov eax, dword [ebx + 4]
test eax, eax
je 0x10022ac0
cmp dword [eax], 0
jne 0x10022ac0
mov dword [eax], 0x82
mov eax, dword [esp + 0x10]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x10022aea
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x10022ada
sub eax, 1
jne 0x10022aea
shl esi, 0x10
jmp 0x10022aea
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [esp + 0x3c]
add eax, esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
mov eax, edx
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x10022b22
mov eax, dword [ebx + 4]
test eax, eax
je 0x10022b1e
cmp dword [eax], 0
jne 0x10022b1e
mov dword [eax], 0x82
mov eax, dword [esp + 0x10]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x10022b48
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x10022b38
sub eax, 1
jne 0x10022b48
shl esi, 0x10
jmp 0x10022b48
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [esp + 0x28]
sub edx, ecx
sar edx, 3
add esi, ebp
cmp eax, edx
jb 0x10022b6d
mov eax, dword [ebx + 4]
test eax, eax
je 0x10022b69
cmp dword [eax], 0
jne 0x10022b69
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10022b94
lea ecx, [ecx + eax*8]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x10022b84
sub eax, 1
jne 0x10022b94
shl ecx, 0x10
jmp 0x10022b94
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x3c]
lea eax, [esi + ecx]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x20], eax
push esi
mov esi, dword [esp + 0x28]
push esi
push ebp
call fcn.1001dbf0
mov edx, dword [esp + 0x30]
add edi, 4
mov ebp, dword [esp + 0x38]
add edx, 4
add dword [esp + 0x28], 4
add ebp, 4
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3f14], esi
mov dword [esp + 0x3f18], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], ebp
cmp edi, ecx
jb 0x100229d0
jmp 0x10022e6c
mov esi, dword [esp + 0x10]
mov edi, dword [ebx + 0xc]
sub edi, dword [esi]
sar edi, 3
mov ecx, edi
and ecx, 0xfffffffd
sub edi, ecx
mov dword [esp + 0x60], ecx
cmp edi, ecx
jae 0x10022e70
lea eax, [edi + 3]
lea ebp, [edi + 2]
mov dword [esp + 0x28], eax
lea edx, [edi + 1]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x38], edx
nop dword [eax]
mov eax, ecx
sub eax, edi
test al, 1
je 0x10022ca1
mov eax, dword [ebx + 0xc]
mov ecx, dword [esi]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x10022c5c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10022c58
cmp dword [eax], 0
jne 0x10022c58
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10022c82
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10022c72
sub eax, 1
jne 0x10022c82
shl ecx, 0x10
jmp 0x10022c82
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x18]
inc edx
add esi, ecx
mov dword [esp + 0x38], edx
inc ebp
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x10]
inc edi
inc dword [esp + 0x28]
mov dword [esp + 0x30], ebp
jmp 0x10022ca9
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
mov edx, dword [ebx + 0xc]
mov eax, edx
mov ecx, dword [esi]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x10022cd4
mov eax, dword [ebx + 4]
test eax, eax
je 0x10022cd0
cmp dword [eax], 0
jne 0x10022cd0
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [esi]
xor esi, esi
jmp 0x10022cfa
mov eax, dword [ecx + edi*8 + 4]
mov esi, dword [ecx + edi*8]
sub eax, 1
je 0x10022cea
sub eax, 1
jne 0x10022cfa
shl esi, 0x10
jmp 0x10022cfa
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov ebp, dword [esp + 0x1c]
mov eax, edx
sub eax, ecx
add ebp, esi
mov esi, dword [esp + 0x38]
sar eax, 3
mov dword [esp + 0x54], ebp
cmp esi, eax
jb 0x10022d32
mov eax, dword [ebx + 4]
test eax, eax
je 0x10022d2e
cmp dword [eax], 0
jne 0x10022d2e
mov dword [eax], 0x82
mov eax, dword [esp + 0x10]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x10022d58
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x10022d48
sub eax, 1
jne 0x10022d58
shl esi, 0x10
jmp 0x10022d58
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, edx
add ebp, esi
mov esi, dword [esp + 0x30]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x10022d88
mov eax, dword [ebx + 4]
test eax, eax
je 0x10022d84
cmp dword [eax], 0
jne 0x10022d84
mov dword [eax], 0x82
mov eax, dword [esp + 0x10]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x10022dae
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x10022d9e
sub eax, 1
jne 0x10022dae
shl esi, 0x10
jmp 0x10022dae
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [esp + 0x3c]
sub edx, ecx
add eax, esi
sar edx, 3
mov esi, dword [esp + 0x28]
mov dword [esp + 0x18], eax
cmp esi, edx
jb 0x10022ddb
mov eax, dword [ebx + 4]
test eax, eax
je 0x10022dd7
cmp dword [eax], 0
jne 0x10022dd7
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10022e03
mov eax, dword [ecx + esi*8 + 4]
lea ecx, [ecx + esi*8]
mov ecx, dword [ecx]
sub eax, 1
je 0x10022df3
sub eax, 1
jne 0x10022e03
shl ecx, 0x10
jmp 0x10022e03
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x54]
lea eax, [ecx + ebp]
mov ecx, dword [esp + 0x18]
push ecx
push eax
push ecx
push ebp
push dword [esp + 0x4c]
lea ecx, [esp + 0x1ec]
mov dword [esp + 0x30], eax
call fcn.1001dbf0
mov edx, dword [esp + 0x38]
add esi, 4
mov ebp, dword [esp + 0x30]
add edi, 4
mov eax, dword [esp + 0x1c]
add edx, 4
mov ecx, dword [esp + 0x60]
add ebp, 4
mov dword [esp + 0x3f14], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x3f18], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x30], ebp
cmp edi, ecx
jb 0x10022c30
mov esi, dword [esp + 0x10]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1001eb3c
mov esi, dword [esp + 0x10]
mov ebp, dword [ebx + 0xc]
sub ebp, dword [esi]
sar ebp, 3
cmp dl, 0x1f
mov eax, ebp
sete byte [esp + 0x37]
and eax, 0xfffffffd
sub ebp, eax
mov dword [esp + 0x40], eax
cmp ebp, eax
jae 0x10023332
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [ebx + 0xc]
mov ecx, edx
mov eax, dword [eax]
sub ecx, eax
sar ecx, 3
cmp byte [esp + 0x37], 0
je 0x100230eb
cmp ebp, ecx
jb 0x10022eef
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10022eeb
cmp dword [ecx], 0
jne 0x10022eeb
mov eax, dword [esp + 0x10]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10022f15
mov ecx, dword [eax + ebp*8 + 4]
mov esi, dword [eax + ebp*8]
sub ecx, 1
je 0x10022f05
sub ecx, 1
jne 0x10022f15
shl esi, 0x10
jmp 0x10022f15
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
mov ecx, dword [esp + 0x1c]
add ecx, esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], ecx
lea edi, [ebp + 1]
mov ecx, edx
mov dword [esp + 0x54], edi
sub ecx, eax
sar ecx, 3
cmp edi, ecx
jb 0x10022f54
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10022f50
cmp dword [ecx], 0
jne 0x10022f50
mov eax, dword [esp + 0x10]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10022f7a
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x10022f6a
sub ecx, 1
jne 0x10022f7a
shl esi, 0x10
jmp 0x10022f7a
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
mov ecx, dword [esp + 0x30]
lea edi, [ebp + 2]
add ecx, esi
mov dword [esp + 0x28], ecx
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp edi, ecx
jb 0x10022fb1
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10022fad
cmp dword [ecx], 0
jne 0x10022fad
mov eax, dword [esp + 0x10]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10022fd7
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x10022fc7
sub ecx, 1
jne 0x10022fd7
shl esi, 0x10
jmp 0x10022fd7
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
mov ecx, dword [esp + 0x18]
lea edi, [ebp + 3]
add ecx, esi
mov dword [esp + 0x38], ecx
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp edi, ecx
jb 0x1002300e
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1002300a
cmp dword [ecx], 0
jne 0x1002300a
mov eax, dword [esp + 0x10]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10023034
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x10023024
sub ecx, 1
jne 0x10023034
shl esi, 0x10
jmp 0x10023034
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
mov edi, dword [esp + 0x38]
lea ecx, [edi + esi]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x40]
sub ecx, ebp
cmp ecx, 5
jne 0x100230d9
sub edx, eax
lea esi, [ebp + 4]
sar edx, 3
cmp esi, edx
jb 0x10023085
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002306c
cmp dword [eax], 0
jne 0x1002306c
mov dword [eax], 0x82
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov ebp, dword [esp + 0x54]
add eax, ecx
mov dword [esp + 0x1c], eax
mov byte [esp + 0x37], cl
jmp 0x100232ed
mov ecx, dword [eax + esi*8]
mov eax, dword [eax + esi*8 + 4]
sub eax, 1
je 0x100230b1
sub eax, 1
jne 0x100230c1
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x54]
shl ecx, 0x10
add eax, ecx
mov byte [esp + 0x37], 0
mov dword [esp + 0x1c], eax
jmp 0x100232ed
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x54]
add eax, ecx
mov dword [esp + 0x1c], eax
mov byte [esp + 0x37], 0
jmp 0x100232ed
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x37], 0
jmp 0x100232ed
mov dword [esp + 0x30], esi
cmp ebp, ecx
jb 0x10023112
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1002310e
cmp dword [ecx], 0
jne 0x1002310e
mov eax, dword [esp + 0x10]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10023138
mov ecx, dword [eax + ebp*8 + 4]
mov esi, dword [eax + ebp*8]
sub ecx, 1
je 0x10023128
sub ecx, 1
jne 0x10023138
shl esi, 0x10
jmp 0x10023138
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
lea ecx, [esi + edi]
mov dword [esp + 0x3c], ecx
lea edi, [ebp + 1]
mov ecx, edx
mov dword [esp + 0x54], edi
sub ecx, eax
sar ecx, 3
cmp edi, ecx
jb 0x10023170
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1002316c
cmp dword [ecx], 0
jne 0x1002316c
mov eax, dword [esp + 0x10]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10023196
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x10023186
sub ecx, 1
jne 0x10023196
shl esi, 0x10
jmp 0x10023196
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
mov ecx, dword [esp + 0x1c]
lea edi, [ebp + 2]
add ecx, esi
mov dword [esp + 0x28], ecx
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp edi, ecx
jb 0x100231cd
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x100231c9
cmp dword [ecx], 0
jne 0x100231c9
mov eax, dword [esp + 0x10]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x100231f3
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x100231e3
sub ecx, 1
jne 0x100231f3
shl esi, 0x10
jmp 0x100231f3
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
mov ecx, dword [esp + 0x3c]
lea edi, [ebp + 3]
add ecx, esi
mov dword [esp + 0x38], ecx
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp edi, ecx
jb 0x1002322a
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10023226
cmp dword [ecx], 0
jne 0x10023226
mov eax, dword [esp + 0x10]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10023250
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x10023240
sub ecx, 1
jne 0x10023250
shl esi, 0x10
jmp 0x10023250
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
mov ecx, dword [esp + 0x28]
add ecx, esi
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x40]
sub ecx, ebp
cmp ecx, 5
jne 0x100232e0
sub edx, eax
lea esi, [ebp + 4]
sar edx, 3
cmp esi, edx
jb 0x1002329a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10023287
cmp dword [eax], 0
jne 0x10023287
mov dword [eax], 0x82
mov edi, dword [esp + 0x38]
xor ecx, ecx
mov ebp, dword [esp + 0x54]
lea eax, [edi + ecx]
mov dword [esp + 0x18], eax
jmp 0x100232e8
mov ecx, dword [eax + esi*8]
mov eax, dword [eax + esi*8 + 4]
sub eax, 1
je 0x100232bf
sub eax, 1
jne 0x100232cf
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x54]
shl ecx, 0x10
lea eax, [edi + ecx]
mov dword [esp + 0x18], eax
jmp 0x100232e8
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x54]
lea eax, [edi + ecx]
mov dword [esp + 0x18], eax
jmp 0x100232e8
mov edi, dword [esp + 0x38]
mov dword [esp + 0x18], edi
mov byte [esp + 0x37], 1
push dword [esp + 0x18]
mov esi, dword [esp + 0x20]
lea ecx, [esp + 0x1dc]
mov edx, dword [esp + 0x34]
push esi
push edi
push dword [esp + 0x34]
push dword [esp + 0x4c]
call fcn.1001dbf0
mov edi, dword [esp + 0x18]
add ebp, 4
mov dword [esp + 0x3f14], esi
mov dword [esp + 0x3f18], edi
cmp ebp, dword [esp + 0x40]
jb 0x10022eb1
mov esi, dword [esp + 0x10]
mov eax, dword [esi]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1001eb3c
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
mov esi, dword [esp + 0x14]
cmp edx, ecx
jae 0x1002335d
mov al, byte [edx]
inc edx
mov dword [esi + 0xc], edx
movzx esi, al
jmp 0x10023376
mov eax, dword [esi]
test eax, eax
je 0x10023374
cmp dword [eax], 0
jne 0x10023374
mov dword [eax], 0x55
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor esi, esi
cmp edx, ecx
jae 0x1002338b
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x14]
mov dword [edx + 0xc], eax
movzx eax, cl
jmp 0x100233a2
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
test eax, eax
je 0x100233a0
cmp dword [eax], 0
jne 0x100233a0
mov dword [eax], 0x55
xor eax, eax
mov ecx, dword [ebx + 0x10]
shl esi, 8
movsx edx, si
mov esi, dword [ebx + 0xc]
or edx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x14]
cmp esi, eax
jne 0x100233ca
mov esi, dword [esp + 0x10]
jmp 0x1001fe34
mov dword [esi], edx
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1001eb38
cmp dl, 0xf6
ja 0x10023424
add esi, 0xffffff75
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x10023474
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1001eb3c
cmp dword [eax], 0
jne 0x1001eb3c
mov dword [eax], 0x82
jmp 0x1001eb3c
mov eax, dword [esp + 0x28]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
cmp al, 0xfa
ja 0x10023491
shl esi, 8
cmp edx, ecx
jae 0x10023451
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x14]
mov dword [edx + 0xc], eax
movzx eax, cl
add eax, 0xffff096c
add esi, eax
jmp 0x100233ea
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
test eax, eax
je 0x10023466
cmp dword [eax], 0
jne 0x10023466
mov dword [eax], 0x55
xor eax, eax
mov eax, 0xffff096c
add esi, eax
jmp 0x100233ea
mov ecx, dword [esp + 0x14]
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x10]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1001eb3c
cmp al, 0xfe
ja 0x10023501
shl esi, 8
cmp edx, ecx
jae 0x100234ad
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x14]
mov dword [edx + 0xc], eax
movzx eax, cl
jmp 0x100234c4
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
test eax, eax
je 0x100234c2
cmp dword [eax], 0
jne 0x100234c2
mov dword [eax], 0x55
xor eax, eax
mov ecx, dword [ebx + 0x10]
mov edx, 0xfa94
sub edx, eax
mov eax, dword [esp + 0x10]
sub edx, esi
mov esi, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp esi, eax
je 0x100233fd
mov ecx, dword [esp + 0x14]
mov dword [esi], edx
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x10]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1001eb3c
mov edi, dword [esp + 0x14]
cmp edx, ecx
jae 0x10023514
mov al, byte [edx]
inc edx
mov dword [edi + 0xc], edx
movzx esi, al
jmp 0x1002352d
mov eax, dword [edi]
test eax, eax
je 0x1002352b
cmp dword [eax], 0
jne 0x1002352b
mov dword [eax], 0x55
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor esi, esi
cmp edx, ecx
jae 0x1002353c
mov al, byte [edx]
inc edx
mov dword [edi + 0xc], edx
movzx ebp, al
jmp 0x10023555
mov eax, dword [edi]
test eax, eax
je 0x10023553
cmp dword [eax], 0
jne 0x10023553
mov dword [eax], 0x55
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor ebp, ebp
cmp edx, ecx
jae 0x10023564
mov al, byte [edx]
inc edx
mov dword [edi + 0xc], edx
movzx edi, al
jmp 0x1002357d
mov eax, dword [edi]
test eax, eax
je 0x1002357b
cmp dword [eax], 0
jne 0x1002357b
mov dword [eax], 0x55
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor edi, edi
cmp edx, ecx
jae 0x10023592
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x14]
mov dword [edx + 0xc], eax
movzx eax, cl
jmp 0x100235a9
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
test eax, eax
je 0x100235a7
cmp dword [eax], 0
jne 0x100235a7
mov dword [eax], 0x55
xor eax, eax
shl esi, 8
or esi, ebp
shl esi, 8
or esi, edi
shl esi, 8
or esi, eax
mov eax, dword [esp + 0x44]
cmp byte [eax + 8], 0
je 0x1002363b
cmp esi, 0x7d00
jg 0x100235d6
cmp esi, 0xffff8300
jge 0x100235eb
mov ecx, dword [esp + 0x48]
test cl, cl
movzx eax, cl
mov ecx, 1
cmove eax, ecx
mov byte [esp + 0x48], al
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x1002362d
mov eax, dword [ebx + 4]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1001eb3c
cmp dword [eax], 0
jne 0x1001eb3c
mov dword [eax], 0x82
jmp 0x1001eb3c
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 2
jmp 0x10023689
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x1002367d
mov eax, dword [ebx + 4]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1001eb3c
cmp dword [eax], 0
jne 0x1001eb3c
mov dword [eax], 0x82
jmp 0x1001eb3c
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1001eb3c
cmp dword [ecx - 4], 2
je 0x100236ca
mov eax, dword [ebx + 4]
test eax, eax
je 0x100236c0
cmp dword [eax], 0
jne 0x100236c0
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x100236d6
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
cmp ecx, edx
jne 0x100236fc
mov eax, dword [ebx + 4]
test eax, eax
je 0x100236f2
cmp dword [eax], 0
jne 0x100236f2
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x48], 0
jmp 0x10023730
cmp dword [ecx - 4], 2
je 0x10023724
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002371a
cmp dword [eax], 0
jne 0x1002371a
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x48], 0
jmp 0x10023730
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx]
mov dword [esp + 0x48], eax
cmp ecx, edx
jne 0x10023750
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002374c
cmp dword [eax], 0
jne 0x1002374c
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1002377a
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1002376a
sub eax, 1
jne 0x1002377a
shl edi, 0x10
jmp 0x1002377a
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1002379a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10023796
cmp dword [eax], 0
jne 0x10023796
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor esi, esi
jmp 0x100237c4
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x100237b4
sub eax, 1
jne 0x100237c4
shl esi, 0x10
jmp 0x100237c4
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp ecx, edx
jne 0x100237de
mov eax, dword [ebx + 4]
test eax, eax
je 0x100237da
cmp dword [eax], 0
jne 0x100237da
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10023808
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x100237f8
sub eax, 1
jne 0x10023808
shl ebp, 0x10
jmp 0x10023808
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp byte [esp + 0x3f10], 0
je 0x1002381c
mov eax, 0x12
jmp 0x10023e3b
mov edx, dword [esp + 0x24]
cmp byte [edx + 0x2f], 0
je 0x10023830
mov eax, 0x12
jmp 0x10023e3b
cmp dword [edx + 0x244], 0
mov ecx, dword [esp + 0x50]
jne 0x10023853
mov eax, dword [ecx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x10023853
mov eax, 0x12
jmp 0x10023e3b
mov eax, dword [edx + 0x20]
add esi, dword [eax]
mov eax, dword [ecx + 0x80]
cmp dword [eax + 0x34], 0
je 0x1002386a
mov eax, dword [esp + 0x28]
jmp 0x10023890
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
call fcn.1001a710
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x48], eax
call fcn.1001a710
mov edx, dword [esp + 0x24]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x48], 0
jl 0x10023812
test eax, eax
js 0x10023812
cmp byte [edx + 0x2e], 0
je 0x10023962
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 + 0x50], eax
call fcn.1000a490
test eax, eax
jne 0x10023e3b
mov ecx, dword [esp + 0x50]
sub esi, ebp
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x28]
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, esi
shr eax, 0x1f
sub esi, eax
mov dword [ecx + 0x20], edx
mov edx, dword [esp + 0x50]
mov eax, edi
shr eax, 0x1f
add esi, 0x8000
sub edi, eax
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
add edi, 0x8000
sar esi, 0x10
mov dword [ecx + 0x28], esi
sar edi, 0x10
mov dword [ecx + 0x2c], edi
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 + 0x78]
jmp 0x10023e3b
mov ecx, dword [edx + 0xc]
call fcn.1000a5e0
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x7c]
mov ecx, dword [esp + 0x24]
push eax
call fcn.1001c5f0
test eax, eax
jne 0x10023e3b
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x20]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x6c], eax
mov eax, dword [edx + 0x24]
lea edx, [esp + 0x7c]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x60]
push eax
push 0
push 0
push 1
push dword [esp + 0x3f1c]
mov dword [esp + 0x54], ecx
push dword [esp + 0xac]
mov ecx, dword [esp + 0x5c]
call fcn.1001e5a0
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x24]
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 0x10023a0c
mov eax, dword [ecx]
lea edx, [esp + 0x54]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 4]
call eax
mov edx, dword [esp + 0x24]
cmp byte [esp + 0x23], 0
jne 0x10023a33
mov eax, dword [edx + 0x20]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x6c], eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], eax
mov eax, dword [edx + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [eax], 0
mov eax, dword [edx + 0x20]
mov edx, dword [esp + 0x28]
mov dword [eax + 4], 0
lea eax, [esp + 0x7c]
push eax
call fcn.1001c5f0
test eax, eax
jne 0x10023e3b
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x60]
push eax
push edi
sub esi, ebp
lea edx, [esp + 0x84]
push esi
push 1
push dword [esp + 0x3f1c]
push dword [esp + 0xac]
call fcn.1001e5a0
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
mov ebp, dword [esp + 0x24]
sub eax, ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], ecx
mov eax, dword [ebp + 4]
mov eax, dword [eax + 0x80]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x10023ac3
mov eax, dword [ecx]
lea edx, [esp + 0x54]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 4]
call eax
mov eax, dword [ebp + 0x20]
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 4], ecx
mov eax, dword [ebp + 0x24]
mov ecx, dword [esp + 0x40]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x78]
jmp 0x10023e3b
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
je 0x10023b01
cmp eax, 5
jne 0x10023b58
cmp byte [esp + 0x23], 0
jne 0x10023b58
test eax, eax
jne 0x10023b22
mov eax, dword [ebx + 4]
test eax, eax
je 0x10023b1e
cmp dword [eax], 0
jne 0x10023b1e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10023b46
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10023b36
sub eax, 1
jne 0x10023b46
shl ecx, 0x10
jmp 0x10023b46
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x94]
add eax, ecx
mov ecx, dword [esp + 0x3f1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x24]
cmp byte [eax + 0x224], 0
jne 0x10023959
cmp byte [esp + 0x2f68], 0
je 0x10023bee
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.1001da70
cmp byte [esp + 0x2fb8], 0
je 0x10023bce
push 1
push dword [esp + 0x2fa0]
lea eax, [esp + 0x2f98]
push dword [esp + 0x2fa0]
lea edx, [esp + 0x1ec]
push eax
lea ecx, [esp + 0x1e8]
call fcn.1001d530
mov byte [esp + 0x2f6b], 1
mov byte [esp + 0x2f68], 0
mov byte [esp + 0x2f69], 0
mov byte [esp + 0x2fb8], 0
mov eax, dword [esp + 0x44]
cmp byte [eax + 9], 0
jne 0x10023959
cmp byte [eax + 8], 0
jne 0x10023959
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x10023959
cmp byte [esp + 0x3f10], 0
je 0x10023c30
mov eax, 0x12
jmp 0x10023e3b
cmp ecx, edx
jne 0x10023c56
mov eax, dword [ebx + 4]
test eax, eax
je 0x10023c4c
cmp dword [eax], 0
jne 0x10023c4c
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x40], 0
jmp 0x10023c8a
cmp dword [ecx - 4], 2
je 0x10023c7e
mov eax, dword [ebx + 4]
test eax, eax
je 0x10023c74
cmp dword [eax], 0
jne 0x10023c74
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x40], 0
jmp 0x10023c8a
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx]
mov dword [esp + 0x40], eax
cmp ecx, edx
jne 0x10023caa
mov eax, dword [ebx + 4]
test eax, eax
je 0x10023ca6
cmp dword [eax], 0
jne 0x10023ca6
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor ebp, ebp
jmp 0x10023cd4
cmp dword [ecx - 4], 2
je 0x10023ccc
mov eax, dword [ebx + 4]
test eax, eax
je 0x10023cc8
cmp dword [eax], 0
jne 0x10023cc8
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor ebp, ebp
jmp 0x10023cd4
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov ebp, dword [ecx]
cmp ecx, edx
jne 0x10023cf4
mov eax, dword [ebx + 4]
test eax, eax
je 0x10023cf0
cmp dword [eax], 0
jne 0x10023cf0
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x10023d1e
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x10023d0e
sub eax, 1
jne 0x10023d1e
shl edi, 0x10
jmp 0x10023d1e
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x10023d38
mov eax, dword [ebx + 4]
test eax, eax
je 0x10023d34
cmp dword [eax], 0
jne 0x10023d34
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10023d62
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10023d52
sub eax, 1
jne 0x10023d62
shl esi, 0x10
jmp 0x10023d62
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x7c]
mov ecx, dword [esp + 0x24]
push eax
call fcn.1001c530
test eax, eax
jne 0x10023e3b
lea eax, [esp + 0x54]
push eax
push edi
mov edi, dword [esp + 0x4c]
lea edx, [esp + 0x84]
push esi
push 1
push dword [esp + 0x3f1c]
mov ecx, edi
push dword [esp + 0xac]
call fcn.1001e5a0
mov eax, dword [esp + 0x84]
lea edx, [esp + 0x80]
mov esi, dword [esp + 0x24]
sub eax, dword [esp + 0x80]
push eax
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x258]
call eax
lea eax, [esp + 0x7c]
mov edx, ebp
push eax
mov ecx, esi
call fcn.1001c530
test eax, eax
jne 0x10023e3b
lea eax, [esp + 0x54]
mov ecx, edi
push eax
push 0
push 0
push 1
push dword [esp + 0x3f1c]
lea edx, [esp + 0x90]
push dword [esp + 0xac]
call fcn.1001e5a0
mov eax, dword [esp + 0x84]
lea edx, [esp + 0x80]
sub eax, dword [esp + 0x80]
mov ecx, dword [esi + 4]
push eax
mov eax, dword [esi + 0x258]
call eax
mov eax, dword [esp + 0x78]
jmp 0x10023e3b
mov dword [ebx + 8], ebp
mov eax, dword [edi + 8]
mov edx, ebx
mov ecx, edi
call eax
xor ebx, ebx
lea eax, [ebx + 0x40]
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x10023e4a
cmp dword [ecx], 0
jne 0x10023e4a
mov dword [ecx], eax
mov edx, dword [esp + 0x2f50]
mov dword [esp + 0x2f40], 0
mov dword [esp + 0x2f48], 0
mov dword [esp + 0x2f4c], 0
test edx, edx
je 0x10023e84
mov eax, dword [esp + 0x2f34]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x2f50], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
test edx, edx
je 0x10023ec9
mov eax, dword [esp + 0xc4]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov edx, dword [esp + 0x100]
mov dword [esp + 0xe0], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
test edx, edx
je 0x10023f0e
mov eax, dword [esp + 0xe4]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x100], 0
test eax, eax
je 0x10023f31
mov edx, eax
mov eax, dword [esp + 0x104]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
test ebx, ebx
je 0x10023f55
mov edx, dword [ebx + 8]
mov edi, dword [ebx]
test edx, edx
je 0x10023f45
mov eax, dword [edi + 8]
mov ecx, edi
call eax
mov dword [ebx + 8], 0
mov edx, ebx
mov eax, dword [edi + 8]
mov ecx, edi
call eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3ef4
ret 0x18