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

Disassembly:
mov eax, 0x3ef4
call fcn.10160990
push ebx
push ebp
push esi
mov esi, ecx
mov dword [esp + 0x74], 0x1312d00
xor eax, eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x68], eax
mov ebp, edx
push edi
mov eax, dword [esi + 0xb0]
lea ebx, [esi + 4]
mov ecx, dword [esi + 0x34]
mov edi, dword [esi]
mov dword [esp + 0x30], eax
mov eax, dword [eax + 0x218]
push 0x80
mov dword [esp + 0x68], ebx
mov dword [esp + 0x9c], ecx
mov eax, dword [eax + 0x220]
shl eax, 0x10
mov dword [esp + 0x98], eax
xor eax, eax
push eax
mov dword [esp + 0x60], eax
mov byte [esp + 0x64], al
mov byte [esp + 0x3f], al
mov dword [esp + 0x68], eax
lea eax, [esp + 0x160]
push eax
call fcn.101618e0
xor eax, eax
mov dword [esp + 0x98], 0
add esp, 0xc
mov dword [esp + 0x70], 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 + 0x90], 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.101618e0
mov eax, dword [esp + 0x3f14]
add esp, 0xc
movaps xmm0, xmmword [0x101ecfc0]
mov dword [esp + 0x1d8], esi
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x2f34], edi
mov dword [esp + 0x2f38], ebx
push 0xf1c
lea eax, [esp + 0x201c]
mov dword [esp + 0x2f50], 0
push 0
push eax
movups xmmword [esp + 0x2f48], xmm0
mov dword [esp + 0x2f5c], 0
call fcn.101618e0
mov eax, dword [esp + 0xa4]
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.101618e0
mov eax, dword [esp + 0xa4]
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.101618e0
mov ecx, dword [esp + 0xa4]
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 dword [esp + 0x2f60], eax
lea eax, [esp + 0xe4]
mov ecx, dword [ecx + 4]
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 + 0x1c], 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 0x1006134d
test esi, esi
jmp 0x10061351
mov esi, ebx
test ebx, ebx
jns 0x10061355
neg esi
mov ecx, dword [esp + 0x30]
lea eax, [esi + esi]
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x3f1c]
mov dword [esp + 0x2f88], eax
mov dword [esp + 0x2f8c], 0x199a
cmp byte [edx + 9], 0
mov byte [esp + 0x2f6b], 1
mov byte [esp + 0x2f68], 0
setne byte [esp + 0x2b]
mov byte [esp + 0x2f69], 0
mov byte [esp + 0x2fb8], 0
mov eax, dword [ecx + 0x218]
mov eax, dword [eax + 0x21c]
shl eax, 0x10
mov dword [esi], eax
cmp byte [edx + 9], 0
je 0x100613c7
mov eax, dword [ecx + 0x214]
mov esi, dword [eax + 0x614]
jmp 0x100613cc
mov esi, 0x30
mov eax, dword [edi + 4]
mov edx, 0x14
mov ecx, edi
mov dword [esp + 0x68], esi
call eax
mov ebx, eax
mov dword [esp + 0x74], ebx
test ebx, ebx
je 0x100663d1
mov eax, dword [esp + 0x64]
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 0x100663c1
je 0x1006150b
cmp esi, 0xfffffff
jg 0x100663c1
mov eax, dword [edi + 4]
lea edx, [esi*8]
mov ecx, edi
call eax
mov esi, eax
mov ecx, 0x40
xor eax, eax
test esi, esi
cmovne ecx, eax
mov eax, esi
je 0x1006146a
mov edx, dword [esp + 0x68]
test edx, edx
jle 0x1006146a
lea eax, [edx*8]
push eax
push 0
push esi
call fcn.101618e0
lea edi, [ebx + 8]
add esp, 0xc
mov dword [edi], esi
mov eax, esi
mov dword [esp + 0x20], edi
jmp 0x1006147f
mov dword [ebx + 8], eax
lea edx, [ebx + 8]
mov dword [esp + 0x20], edx
test ecx, ecx
jne 0x100663c8
lea edi, [ebx + 8]
mov esi, dword [esp + 0x68]
mov dword [ebx + 0x10], esi
lea ecx, [esp + 0x104]
mov esi, 0x11
mov dword [ebx + 0xc], eax
mov edx, esi
call fcn.1005da30
mov ecx, dword [esp + 0x118]
test al, al
mov eax, dword [esp + 0x120]
mov edx, eax
cmovne ecx, esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x14], edx
cmp dword [ecx], 0
jne 0x10065f09
movups xmm0, xmmword [ebp]
mov ebp, dword [esp + 0x3f14]
xor ecx, ecx
mov esi, dword [esp + 0x1c]
movups xmmword [eax], xmm0
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x7c], edi
mov dword [esp + 0xa4], eax
mov dword [esp + 0x24], ebp
jmp 0x1006152e
lea edi, [ebx + 8]
xor eax, eax
mov dword [esp + 0x20], edi
mov dword [edi], eax
jmp 0x10061483
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
jmp 0x1006152e
mov edi, dword [esp + 0x20]
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 8]
jb 0x1006154b
test ecx, ecx
mov edx, 0xb
mov eax, 0xe
cmove edx, eax
mov dword [esp + 0x2c], edx
jmp 0x1006157a
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
mov dl, cl
mov dword [esp + 0x2c], edx
cmp cl, 0xb
je 0x10061561
cmp cl, 0xe
jne 0x10061576
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 + 0x2c], edx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
mov al, byte [eax + 8]
mov ah, byte [esp + 0x37]
test al, al
je 0x10061624
test ah, ah
jne 0x100615c7
cmp dl, 1
je 0x100615c7
cmp dl, 3
je 0x100615c7
cmp dl, 0xd
je 0x100615c7
cmp dl, 0xa
je 0x100615c7
cmp dl, 0xb
je 0x100615c7
cmp dl, 0xc
je 0x100615c7
cmp dl, 0xe
je 0x100615c7
cmp dl, 0x20
jae 0x100615c7
mov eax, dword [edi]
mov edx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1006152e
cmp dword [esp + 0x60], 0
mov edi, dword [esp + 0x20]
jle 0x100615fd
cmp dl, 0xa
je 0x100615fd
cmp dl, 0xb
je 0x100615fd
cmp dl, 0xc
je 0x100615fd
mov ebx, dword [esp + 0x60]
cmp dl, 0x20
mov dword [esp + 0x50], 0
cmovb ebx, dword [esp + 0x50]
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x74]
cmp byte [esp + 0x5c], 0
je 0x10061624
cmp dl, 0x20
jae 0x10061624
mov ecx, dword [esp + 0x5c]
cmp dl, 0xc
movzx ecx, cl
mov dword [esp + 0x50], 0
cmovne ecx, dword [esp + 0x50]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x64]
cmp dword [ecx], 0
mov ecx, dword [esp + 0x18]
jne 0x10065f09
sub dword [esp + 0x78], 1
je 0x10065dc0
movzx edx, dl
cmp edx, 0x1f
ja case.default.0x1006164c
jmp dword [edx*4 + 0x10066500]
mov edx, dword [esp + 0x44]
cmp byte [edx + 9], 0
je case.0x1006164c.0
cmp byte [edx + 0x5d], 0
jne 0x10065dc0
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x10061693
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061680
cmp dword [eax], 0
jne 0x10061680
mov dword [eax], 0xa1
xor eax, eax
mov dword [edx + 0x78], eax
mov eax, dword [edi]
mov edx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1006152e
cmp dword [eax - 4], 2
je 0x100616be
mov eax, dword [ebx + 4]
test eax, eax
je 0x100616ab
cmp dword [eax], 0
jne 0x100616ab
mov dword [eax], 0xa0
xor eax, eax
mov dword [edx + 0x78], eax
mov eax, dword [edi]
mov edx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1006152e
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js case.0x1006164c.0
mov dword [edx + 0x78], eax
mov eax, dword [edi]
mov edx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1006152e
mov edx, dword [esp + 0x44]
cmp byte [edx + 9], 0
je case.0x1006164c.0
cmp dword [edx + 0x60], 0
je 0x10065dc0
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 0x10061738
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 + 0x6c], eax
test eax, eax
jne 0x10065f09
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x10061755
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10061751
cmp dword [ecx], 0
jne 0x10061751
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x10061779
cmp dword [eax - 4], 2
je 0x10061771
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006176d
cmp dword [eax], 0
jne 0x1006176d
mov dword [eax], 0xa0
xor eax, eax
jmp 0x10061779
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x68]
ja 0x10065dc0
push eax
mov edx, ebx
mov ecx, esi
call fcn.10060db0
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov byte [eax + 0x5d], 1
jmp 0x1006152e
test al, al
jne 0x100617bb
cmp byte [esp + 0xac], al
jne case.0x1006164c.0
xor eax, eax
jmp 0x100617c5
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 4]
push eax
lea eax, [esp + 0x2f]
push eax
lea eax, [esp + 0xec]
push dword [esp + 0x3f24]
mov ecx, dword [esp + 0x50]
mov edx, ebx
push eax
call fcn.100608b0
mov eax, dword [esp + 0x30]
cmp byte [eax + 0x224], 0
jne 0x10065f09
mov eax, dword [edi]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xc], eax
jmp 0x1006152e
test al, al
jne 0x1006182a
cmp byte [esp + 0xac], al
jne case.0x1006164c.0
xor eax, eax
push eax
lea eax, [esp + 0x2f]
push eax
lea eax, [esp + 0xcc]
jmp 0x100617d2
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
push eax
lea eax, [esp + 0x2f]
push eax
lea eax, [esp + 0xcc]
jmp 0x100617d2
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x1006188e
cmp byte [esp + 0x2b], 0
jne 0x1006188e
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1006186c
sub eax, 1
jne 0x1006187c
shl ecx, 0x10
jmp 0x1006187c
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 + 0x30]
mov byte [esp + 0x2b], 1
cmp byte [eax + 0x224], 0
jne 0x10065f09
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x100618d1
mov eax, dword [ebx + 4]
test eax, eax
je 0x100618bd
cmp dword [eax], 0
jne 0x100618bd
mov dword [eax], 0xa1
xor ecx, ecx
add esi, ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3f18], esi
jmp 0x10064bf6
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100618fb
sub eax, 1
jne 0x1006190b
shl ecx, 0x10
add esi, ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3f18], esi
jmp 0x10064bf6
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add esi, ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3f18], esi
jmp 0x10064bf6
mov ebp, dword [ebx + 0xc]
sub ebp, dword [edi]
xor edi, edi
sar ebp, 3
test ebp, ebp
je 0x10061a0c
nop
mov esi, dword [esp + 0x20]
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [esi]
sub eax, edx
sar eax, 3
cmp edi, eax
jb 0x1006195f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006195b
cmp dword [eax], 0
jne 0x1006195b
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
xor esi, esi
jmp 0x10061985
mov eax, dword [edx + edi*8 + 4]
mov esi, dword [edx + edi*8]
sub eax, 1
je 0x10061975
sub eax, 1
jne 0x10061985
shl esi, 0x10
jmp 0x10061985
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [esp + 0x24]
sub ecx, edx
add eax, esi
sar ecx, 3
mov dword [esp + 0x24], eax
mov dword [esp + 0x3f14], eax
lea eax, [edi + 1]
cmp eax, ecx
jb 0x100619b8
mov eax, dword [ebx + 4]
test eax, eax
je 0x100619b4
cmp dword [eax], 0
jne 0x100619b4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100619df
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x100619cf
sub eax, 1
jne 0x100619df
shl ecx, 0x10
jmp 0x100619df
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
add esi, ecx
push esi
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x20], esi
mov dword [esp + 0x3f1c], esi
call fcn.10060440
add edi, 2
cmp edi, ebp
jb 0x10061930
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [edi]
mov dword [ebx + 0xc], eax
jmp 0x1006152e
mov eax, dword [esp + 0x20]
mov edi, dword [ebx + 0xc]
sub edi, dword [eax]
sar edi, 3
cmp byte [esp + 0x2c], 6
sete dl
xor esi, esi
test edi, edi
je 0x1006552e
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x10061a68
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061a64
cmp dword [eax], 0
jne 0x10061a64
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061a8e
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10061a7e
sub eax, 1
jne 0x10061a8e
shl ecx, 0x10
jmp 0x10061a8e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
test dl, dl
je 0x10061aa1
add ebp, ecx
mov dword [esp + 0x3f14], ebp
jmp 0x10061aae
add eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x3f18], eax
xor dl, 1
lea ecx, [esp + 0x1d8]
mov byte [esp + 0x43], dl
mov edx, ebp
push eax
call fcn.10060440
mov dl, byte [esp + 0x43]
inc esi
mov eax, dword [esp + 0x20]
cmp esi, edi
jb 0x10061a44
mov dword [esp + 0x24], ebp
jmp 0x1006552e
mov eax, dword [ebx + 0xc]
xor ebp, ebp
sub eax, dword [edi]
sar eax, 3
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ebp
cmp eax, 6
jb 0x10061d6d
lea edi, [ebp + 2]
nop dword [eax]
mov ecx, dword [esp + 0x20]
mov esi, dword [ebx + 0xc]
mov eax, esi
mov edx, dword [ecx]
sub eax, edx
sar eax, 3
cmp ebp, eax
jb 0x10061b2f
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061b2b
cmp dword [eax], 0
jne 0x10061b2b
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [ecx]
xor ecx, ecx
jmp 0x10061b56
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x10061b46
sub eax, 1
jne 0x10061b56
shl ecx, 0x10
jmp 0x10061b56
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x24]
add eax, ecx
mov ecx, esi
sub ecx, edx
mov dword [esp + 0x48], eax
sar ecx, 3
lea eax, [edi - 1]
cmp eax, ecx
jb 0x10061b8e
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061b8a
cmp dword [eax], 0
jne 0x10061b8a
mov ebp, dword [esp + 0x20]
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [ebp]
xor ecx, ecx
jmp 0x10061bb5
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x10061ba5
sub eax, 1
jne 0x10061bb5
shl ecx, 0x10
jmp 0x10061bb5
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x1c]
mov eax, esi
sub eax, edx
add ebp, ecx
sar eax, 3
mov dword [esp + 0x50], ebp
cmp edi, eax
jb 0x10061be9
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061be5
cmp dword [eax], 0
jne 0x10061be5
mov dword [eax], 0x82
mov eax, dword [esp + 0x20]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10061c0f
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x10061bff
sub eax, 1
jne 0x10061c0f
shl ecx, 0x10
jmp 0x10061c0f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x48]
add eax, ecx
mov ecx, esi
sub ecx, edx
mov dword [esp + 0x4c], eax
sar ecx, 3
lea eax, [edi + 1]
cmp eax, ecx
jb 0x10061c46
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061c42
cmp dword [eax], 0
jne 0x10061c42
mov dword [eax], 0x82
mov eax, dword [esp + 0x20]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10061c6d
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x10061c5d
sub eax, 1
jne 0x10061c6d
shl ecx, 0x10
jmp 0x10061c6d
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 0x10061c9c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061c98
cmp dword [eax], 0
jne 0x10061c98
mov dword [eax], 0x82
mov eax, dword [esp + 0x20]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10061cc3
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x10061cb3
sub eax, 1
jne 0x10061cc3
shl ecx, 0x10
jmp 0x10061cc3
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x4c]
sub esi, edx
add eax, ecx
sar esi, 3
mov dword [esp + 0x24], eax
lea eax, [edi + 3]
cmp eax, esi
jb 0x10061cef
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061ceb
cmp dword [eax], 0
jne 0x10061ceb
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061d16
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x10061d06
sub eax, 1
jne 0x10061d16
shl ecx, 0x10
jmp 0x10061d16
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x24]
lea eax, [ecx + ebp]
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x1d8]
push eax
push esi
push ebp
push dword [esp + 0x58]
mov dword [esp + 0x2c], eax
push dword [esp + 0x60]
call fcn.100605c0
mov ebp, dword [esp + 0x3c]
add edi, 6
add ebp, 6
mov dword [esp + 0x3f14], esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x3f18], esi
lea eax, [edi + 4]
mov dword [esp + 0x3c], ebp
cmp eax, dword [esp + 0x38]
jbe 0x10061b00
mov edi, dword [esp + 0x20]
cmp byte [esp + 0x2c], 0x18
jne 0x10061e59
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov esi, dword [edi]
sub eax, esi
sar eax, 3
cmp ebp, eax
jb 0x10061da4
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061da0
cmp dword [eax], 0
jne 0x10061da0
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x10061dca
mov eax, dword [esi + ebp*8 + 4]
mov edx, dword [esi + ebp*8]
sub eax, 1
je 0x10061dba
sub eax, 1
jne 0x10061dca
shl edx, 0x10
jmp 0x10061dca
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x24]
sub ecx, esi
add eax, edx
sar ecx, 3
mov dword [esp + 0x24], eax
mov dword [esp + 0x3f14], eax
lea eax, [ebp + 1]
cmp eax, ecx
jb 0x10061dfd
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061df9
cmp dword [eax], 0
jne 0x10061df9
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061e23
mov ecx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
sub eax, 1
je 0x10061e13
sub eax, 1
jne 0x10061e23
shl ecx, 0x10
jmp 0x10061e23
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
add esi, ecx
push esi
mov edx, ebp
mov dword [esp + 0x20], esi
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x3f1c], esi
call fcn.10060440
mov eax, dword [edi]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xc], eax
jmp 0x1006152e
mov eax, dword [edi]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xc], eax
jmp 0x1006152e
test al, al
je case.0x1006164c.0
cmp byte [esp + 0x2f68], 0
je 0x10061ef8
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.10060440
cmp byte [esp + 0x2fb8], 0
je 0x10061ed8
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.1005fee0
mov byte [esp + 0x2f6b], 1
mov byte [esp + 0x2f68], 0
mov byte [esp + 0x2f69], 0
mov byte [esp + 0x2fb8], 0
mov eax, dword [edi]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x2b], 1
mov dword [ebx + 0xc], eax
jmp 0x1006152e
cmp ecx, 0x10
jg 0x10065dc0
lea eax, [ecx + 1]
cmp eax, dword [esp + 0x9c]
jb 0x10061f3c
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x10061f3a
cmp dword [eax], 0
jne 0x10061f3a
mov dword [eax], 0x82
xor eax, eax
imul eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x70]
add edx, eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x14], edx
cmp eax, dword [edi]
jne 0x10061f6b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061f67
cmp dword [eax], 0
jne 0x10061f67
mov dword [eax], 0xa1
xor eax, eax
jmp 0x10061f8f
cmp dword [eax - 4], 2
je 0x10061f87
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061f83
cmp dword [eax], 0
jne 0x10061f83
mov dword [eax], 0xa0
xor eax, eax
jmp 0x10061f8f
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x44]
cmp byte [ecx + 8], 0
je 0x10061fbc
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx + 0x268]
test ecx, ecx
je 0x10061fbc
push eax
call fcn.1004d5a0
mov edx, dword [esp + 0x14]
test eax, eax
je 0x10061fb9
mov eax, dword [eax]
jmp 0x10061fbc
or eax, 0xffffffff
cmp byte [esp + 0x2c], 0x1d
xorps xmm0, xmm0
mov ecx, dword [esp + 0x30]
movups xmmword [edx], xmm0
je 0x10062085
mov ecx, dword [ecx + 0x234]
add ecx, eax
mov eax, dword [esp + 0x30]
cmp ecx, dword [eax + 0x22c]
jae 0x10065dc0
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 + 0x30]
cmp byte [eax + 0x30], 0
je 0x10062053
mov eax, dword [eax + 0x264]
test eax, eax
je 0x1006202b
test ecx, ecx
je 0x10062023
mov eax, dword [eax + edx]
add eax, ecx
mov ecx, dword [esp + 0x14]
jmp 0x10062061
mov ecx, dword [esp + 0x14]
xor eax, eax
jmp 0x10062061
mov eax, dword [esp + 0x30]
mov dword [esp + 0x50], 0
mov eax, dword [eax + 0x260]
test eax, eax
cmovs eax, dword [esp + 0x50]
add eax, ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x30]
jmp 0x10062057
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 0x23c]
mov eax, dword [edx + eax + 4]
mov edx, 8
mov dword [esp + 0x20], edi
mov dword [ecx + edx], eax
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x18], ecx
mov eax, dword [edx + 4]
mov dword [edx + 0xc], eax
jmp 0x1006152e
mov ecx, dword [ecx + 0x238]
add ecx, eax
mov eax, dword [esp + 0x30]
cmp ecx, dword [eax + 0x230]
jae 0x10065dc0
mov eax, dword [eax + 0x240]
mov eax, dword [eax + ecx*4]
mov dword [edx + 0xc], eax
mov dword [edx + 4], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x240]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, dword [esp + 0x18]
inc ecx
mov dword [edx + 8], eax
mov dword [esp + 0x18], ecx
jmp 0x1006152e
cmp ecx, 1
jl 0x10065dc0
dec ecx
mov eax, ecx
mov dword [esp + 0x18], ecx
cmp ecx, dword [esp + 0x9c]
jb 0x100620fc
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x100620fa
cmp dword [eax], 0
jne 0x100620fa
mov dword [eax], 0x82
xor eax, eax
mov edx, dword [esp + 0xa0]
imul edx, eax
add edx, dword [esp + 0x70]
mov dword [esp + 0x14], edx
jmp 0x1006152e
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 8]
jae 0x10062127
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
jmp 0x1006213a
mov eax, dword [edx]
test eax, eax
je 0x10062138
cmp dword [eax], 0
jne 0x10062138
mov dword [eax], 0x55
xor cl, cl
movzx eax, cl
add eax, 0xfffffff8
mov byte [esp + 0x43], cl
cmp eax, 0x1d
ja case.0x10062154.9
movzx eax, byte [eax + 0x10066598]
jmp dword [eax*4 + 0x10066580]
push 0
push 0x1019df00
jmp 0x100621c1
push 0
push 0x1019dda4
lea eax, [esp + 0x1e0]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f24]
push eax
lea edx, [esp + 0x3f24]
call fcn.10060ad0
mov esi, dword [esp + 0x3f18]
mov ebp, dword [esp + 0x3f14]
mov eax, dword [edi]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], ebp
mov dword [ebx + 0xc], eax
jmp 0x1006152e
push 0
push 0x1019df2c
jmp 0x100621c1
push 1
push 0x1019e0c4
lea eax, [esp + 0x1e0]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f24]
push eax
lea edx, [esp + 0x3f24]
call fcn.10060ad0
mov esi, dword [esp + 0x3f18]
mov ebp, dword [esp + 0x3f14]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], ebp
jmp 0x1006152e
mov eax, dword [esp + 0x44]
cmp byte [eax + 9], 0
jne case.0x1006224e.0
cmp cl, 0x26
jae case.0x1006224e.0
mov al, byte [eax + 8]
test al, al
je 0x10062242
cmp dword [esp + 0x60], 0
jle 0x10062242
cmp cl, 0x11
je 0x10062242
mov eax, dword [edi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x60], 0
mov dword [ebx + 0xc], eax
jmp 0x1006152e
movzx ecx, cl
cmp ecx, 0x21
ja case.0x1006224e.0
jmp dword [ecx*4 + 0x100665b8]
test al, al
je case.0x1006224e.0
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x10062281
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006227d
cmp dword [eax], 0
jne 0x1006227d
mov dword [eax], 0x82
xor esi, esi
jmp 0x100622a5
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x10062295
sub eax, 1
jne 0x100622a5
shl esi, 0x10
jmp 0x100622a5
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
sub eax, ecx
sar eax, 3
cmp eax, 2
ja 0x100622ca
mov eax, dword [ebx + 4]
test eax, eax
je 0x100622c6
cmp dword [eax], 0
jne 0x100622c6
mov dword [eax], 0x82
xor edi, edi
jmp 0x100622ef
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, 1
je 0x100622df
sub eax, 1
jne 0x100622ef
shl edi, 0x10
jmp 0x100622ef
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov ebp, dword [esp + 0x20]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp]
sub eax, ecx
sar eax, 3
cmp eax, 4
ja 0x10062319
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062315
cmp dword [eax], 0
jne 0x10062315
mov dword [eax], 0x82
xor edx, edx
jmp 0x1006233e
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x20]
sub eax, 1
je 0x1006232e
sub eax, 1
jne 0x1006233e
shl edx, 0x10
jmp 0x1006233e
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [ebx + 0xc]
mov ebp, dword [ebp]
sub eax, ebp
sar eax, 3
cmp eax, 1
ja 0x10062364
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062360
cmp dword [eax], 0
jne 0x10062360
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10062389
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub eax, 1
je 0x10062379
sub eax, 1
jne 0x10062389
shl ecx, 0x10
jmp 0x10062389
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x20]
mov ebp, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ebp
sar eax, 3
cmp eax, 2
jae 0x100623b0
mov eax, dword [ebx + 4]
test eax, eax
je 0x100623c6
cmp dword [eax], 0
jne 0x100623c6
mov dword [eax], 0x82
jmp 0x100623c6
mov eax, edi
sub eax, ecx
sub eax, esi
mov dword [ebp + 0x10], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [eax + 0x14], 0
mov eax, dword [esp + 0x20]
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, esi
sar eax, 3
cmp eax, 3
ja 0x100623ef
mov eax, dword [ebx + 4]
test eax, eax
je 0x100623eb
cmp dword [eax], 0
jne 0x100623eb
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10062414
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
sub eax, 1
je 0x10062404
sub eax, 1
jne 0x10062414
shl ecx, 0x10
jmp 0x10062414
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x20]
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, esi
sar eax, 3
cmp eax, 4
jae 0x1006243b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006244f
cmp dword [eax], 0
jne 0x1006244f
mov dword [eax], 0x82
jmp 0x1006244f
mov eax, dword [esp + 0x20]
sub edx, ecx
sub edx, edi
mov dword [esi + 0x20], edx
mov eax, dword [eax]
mov dword [eax + 0x24], 0
cmp byte [esp + 0x43], 1
mov ebp, dword [esp + 0x30]
mov eax, dword [ebp + 0x20]
jne 0x10062461
mov eax, dword [eax]
jmp 0x10062464
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0xe4]
push eax
lea eax, [esp + 0x2f]
push eax
push dword [esp + 0x3f24]
lea eax, [esp + 0xd0]
cmovne eax, edx
mov edx, ebx
push eax
call fcn.100608b0
cmp byte [ebp + 0x224], 0
jne 0x10065f09
mov ebp, dword [esp + 0x24]
jmp 0x10064cf4
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x100624c1
mov eax, dword [ebx + 4]
test eax, eax
je 0x100624bd
cmp dword [eax], 0
jne 0x100624bd
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100624eb
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x100624db
sub eax, 1
jne 0x100624eb
shl edx, 0x10
jmp 0x100624eb
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x10062548
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062504
cmp dword [eax], 0
jne 0x10062504
mov dword [eax], 0xa1
xor edx, edx
mov ecx, dword [ebx + 0x10]
mov eax, dword [edi]
mov esi, dword [ebx + 0xc]
lea eax, [eax + ecx*8]
cmp esi, eax
jne 0x10065a5a
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1006152e
cmp dword [eax], 0
jne 0x1006152e
mov dword [eax], 0x82
mov esi, dword [esp + 0x1c]
jmp 0x1006152e
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x10062562
sub eax, 1
jne 0x10062572
shl ecx, 0x10
jmp 0x10062572
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
je 0x10062504
test edx, edx
je 0x10062504
mov edx, 1
jmp 0x10062506
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1006259e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006259a
cmp dword [eax], 0
jne 0x1006259a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100625c8
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x100625b8
sub eax, 1
jne 0x100625c8
shl edx, 0x10
jmp 0x100625c8
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x100625e3
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062615
cmp dword [eax], 0
jne 0x10062615
mov dword [eax], 0xa1
jmp 0x10062615
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x100625fd
sub eax, 1
jne 0x1006260d
shl ecx, 0x10
jmp 0x1006260d
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
jne 0x1006257a
test edx, edx
jne 0x1006257a
jmp 0x10062504
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1006263f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006263b
cmp dword [eax], 0
jne 0x1006263b
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10062669
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x10062659
sub eax, 1
jne 0x10062669
shl edx, 0x10
jmp 0x10062669
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [ebx + 0x10]
mov eax, dword [edi]
mov esi, dword [ebx + 0xc]
lea eax, [eax + ecx*8]
cmp esi, eax
je 0x10062519
mov ecx, dword [esp + 0x18]
xor eax, eax
test edx, edx
mov edx, dword [esp + 0x14]
sete al
mov dword [esi], eax
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x1c]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1006152e
test al, al
je case.0x1006224e.0
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 4]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x10065c70
mov eax, dword [ebx + 4]
test eax, eax
je 0x100626d5
cmp dword [eax], 0
jne 0x100626d5
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10065c94
test al, al
je case.0x1006224e.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x10062701
mov eax, dword [ebx + 4]
test eax, eax
je 0x100626fd
cmp dword [eax], 0
jne 0x100626fd
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1006272b
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1006271b
sub eax, 1
jne 0x1006272b
shl ecx, 0x10
jmp 0x1006272b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x30]
mov eax, dword [esi + 0x24]
mov dword [eax + 4], ecx
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x10062752
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006274e
cmp dword [eax], 0
jne 0x1006274e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1006277c
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1006276c
sub eax, 1
jne 0x1006277c
shl ecx, 0x10
jmp 0x1006277c
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esi + 0x24]
mov dword [eax], ecx
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1006279e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006279a
cmp dword [eax], 0
jne 0x1006279a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100627c8
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x100627b8
sub eax, 1
jne 0x100627c8
shl edx, 0x10
jmp 0x100627c8
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x100627e5
mov eax, dword [ebx + 4]
test eax, eax
je 0x100627e1
cmp dword [eax], 0
jne 0x100627e1
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1006280f
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x100627ff
sub eax, 1
jne 0x1006280f
shl ecx, 0x10
jmp 0x1006280f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x30]
mov byte [esp + 0x2b], 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 0x10065f09
cmp byte [esp + 0x37], 0
mov esi, dword [esp + 0x1c]
je 0x10064cfc
mov eax, dword [edi]
add ebp, ecx
mov ecx, dword [esp + 0x18]
add esi, edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x3f14], ebp
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3f18], esi
mov dword [ebx + 0xc], eax
jmp 0x1006152e
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x100628e3
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062881
cmp dword [eax], 0
jne 0x10062881
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 + 0x20]
add ecx, ebp
mov ebp, dword [esp + 0x24]
cdq
xor eax, edx
sub eax, edx
cmp esi, ecx
jne 0x10062c96
mov esi, dword [esp + 0x1c]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1006152e
cmp dword [eax], 0
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
jne 0x1006152e
mov dword [eax], 0x82
jmp 0x1006152e
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x100628fd
sub eax, 1
jne 0x1006290d
shl ecx, 0x10
jmp 0x1006290d
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 0x1006288c
lea eax, [edi*8]
mov edi, dword [esp + 0x20]
add eax, ebp
mov ebp, dword [esp + 0x24]
cmp esi, eax
jne 0x1006295e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006450c
cmp dword [eax], 0
jne 0x1006450c
mov dword [eax], 0x82
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1006152e
mov ecx, dword [esp + 0x18]
mov dword [esi], 0x7fffffff
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x1c]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1006152e
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1006299c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062998
cmp dword [eax], 0
jne 0x10062998
mov dword [eax], 0xa1
xor esi, esi
jmp 0x100629c6
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x100629b6
sub eax, 1
jne 0x100629c6
shl esi, 0x10
jmp 0x100629c6
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x100629e3
mov eax, dword [ebx + 4]
test eax, eax
je 0x100629df
cmp dword [eax], 0
jne 0x100629df
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10062a0d
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x100629fd
sub eax, 1
jne 0x10062a0d
shl edx, 0x10
jmp 0x10062a0d
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx + 0x10]
mov edi, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edi, eax
jne 0x10062a4f
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1006152e
cmp dword [eax], 0
jne 0x1006152e
mov dword [eax], 0x82
jmp 0x1006152e
mov ecx, dword [esp + 0x18]
lea eax, [edx + esi]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [edi], eax
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x20]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1006152e
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x10062a94
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062a90
cmp dword [eax], 0
jne 0x10062a90
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10062abe
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x10062aae
sub eax, 1
jne 0x10062abe
shl esi, 0x10
jmp 0x10062abe
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x10062adb
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062ad7
cmp dword [eax], 0
jne 0x10062ad7
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10062b05
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x10062af5
sub eax, 1
jne 0x10062b05
shl edx, 0x10
jmp 0x10062b05
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx + 0x10]
mov edi, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edi, eax
je 0x10062a20
mov ecx, dword [esp + 0x18]
sub edx, esi
mov esi, dword [esp + 0x1c]
mov dword [edi], edx
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1006152e
test al, al
je 0x10062bf0
cmp byte [esp + 0x5c], 0
je 0x10062bf0
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x10062b73
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062b6f
cmp dword [eax], 0
jne 0x10062b6f
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10062b97
cmp dword [eax - 4], 2
je 0x10062b8f
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062b8b
cmp dword [eax], 0
jne 0x10062b8b
mov dword [eax], 0xa0
xor edx, edx
jmp 0x10062b97
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x10062bbb
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062bb0
cmp dword [eax], 0
jne 0x10062bb0
mov dword [eax], 0xa1
xor ecx, ecx
mov byte [esp + 0x5c], cl
jmp 0x10062c7e
cmp dword [eax - 4], 2
je 0x10062bde
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062bd3
cmp dword [eax], 0
jne 0x10062bd3
mov dword [eax], 0xa0
xor ecx, ecx
mov byte [esp + 0x5c], cl
jmp 0x10062c7e
add eax, 0xfffffff8
mov byte [esp + 0x5c], 0
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
jmp 0x10062c7e
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x10062c0d
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062c09
cmp dword [eax], 0
jne 0x10062c09
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10062c37
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x10062c27
sub eax, 1
jne 0x10062c37
shl edx, 0x10
jmp 0x10062c37
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x10062c54
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062c50
cmp dword [eax], 0
jne 0x10062c50
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10062c7e
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x10062c6e
sub eax, 1
jne 0x10062c7e
shl ecx, 0x10
jmp 0x10062c7e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.1004c6d0
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
je 0x10062519
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esi], eax
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x1c]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1006152e
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x10062d09
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062cd0
cmp dword [eax], 0
jne 0x10062cd0
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]
cmp edx, eax
je 0x10062519
mov esi, dword [esp + 0x1c]
neg ecx
mov dword [edx], ecx
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1006152e
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x10062d23
sub eax, 1
jne 0x10062d33
shl ecx, 0x10
jmp 0x10062d33
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 0x10062cdb
lea eax, [esi + eax*8]
cmp edx, eax
jne 0x10062d76
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064508
cmp dword [eax], 0
jne 0x10064508
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
mov esi, dword [esp + 0x1c]
jmp 0x1006152e
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [edx], 0x7fffffff
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x14]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1006152e
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x10062db8
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062db4
cmp dword [eax], 0
jne 0x10062db4
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10062de2
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x10062dd2
sub eax, 1
jne 0x10062de2
shl esi, 0x10
jmp 0x10062de2
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x10062dff
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062dfb
cmp dword [eax], 0
jne 0x10062dfb
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10062e29
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x10062e19
sub eax, 1
jne 0x10062e29
shl edx, 0x10
jmp 0x10062e29
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx + 0x10]
mov edi, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edi, eax
je 0x10062a20
mov ecx, dword [esp + 0x18]
xor eax, eax
cmp edx, esi
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
sete al
mov dword [edi], eax
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x20]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1006152e
mov ecx, dword [esp + 0x18]
test al, al
je 0x1006152e
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x10062e95
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062e91
cmp dword [eax], 0
jne 0x10062e91
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10062eb9
cmp dword [eax - 4], 2
je 0x10062eb1
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062ead
cmp dword [eax], 0
jne 0x10062ead
mov dword [eax], 0xa0
xor esi, esi
jmp 0x10062eb9
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x10062ed6
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062ed2
cmp dword [eax], 0
jne 0x10062ed2
mov dword [eax], 0xa1
xor edi, edi
jmp 0x10062efa
cmp dword [eax - 4], 2
je 0x10062ef2
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062eee
cmp dword [eax], 0
jne 0x10062eee
mov dword [eax], 0xa0
xor edi, edi
jmp 0x10062efa
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx + 0xc]
mov ebp, ecx
mov dword [esp + 0x38], edi
mov edx, dword [eax]
sub ebp, edx
sar ebp, 3
xor eax, eax
sub ebp, edi
mov dword [esp + 0x58], eax
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x60], eax
cmp esi, 0x1c
ja case.0x10062f2e.4
movzx eax, byte [esi + 0x10066680]
jmp dword [eax*4 + 0x10066640]
cmp edi, 3
jne 0x10065dc0
cmp byte [esp + 0x37], 0
je 0x10062f63
mov eax, dword [esp + 0x30]
cmp dword [eax + 0x1d4], 0
je 0x10065dc0
cmp dword [eax + 0x1d8], 7
jne 0x10065dc0
mov eax, dword [ebx + 0x10]
mov ebp, dword [esp + 0x24]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x10062f85
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062f95
cmp dword [eax], 0
jne 0x10062f95
mov dword [eax], 0x82
jmp 0x10062f95
mov dword [ecx], ebp
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov edi, dword [esp + 0x20]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov esi, dword [esp + 0x1c]
mov eax, dword [edi]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x10062fd3
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062fe3
cmp dword [eax], 0
jne 0x10062fe3
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
mov dword [esp + 0x58], 2
jmp 0x1006152e
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x58], 2
jmp 0x1006152e
test edi, edi
jne 0x10065dc0
cmp byte [esp + 0x37], 0
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
je 0x1006152e
mov eax, dword [esp + 0x30]
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 0x1006304c
push 0
mov edx, 6
call fcn.1004cda0
test eax, eax
jne 0x10065f09
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [ecx + 0x1d4], 1
mov dword [ecx + 0x1d8], 0
mov ecx, dword [esp + 0x18]
jmp 0x1006152e
test edi, edi
jne 0x10065dc0
cmp byte [esp + 0x37], 0
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
je 0x1006152e
mov ecx, dword [esp + 0x30]
cmp dword [ecx + 0x1d4], 0
je 0x10065dc0
mov esi, dword [ecx + 0x1d8]
lea eax, [esi + 1]
mov dword [ecx + 0x1d8], eax
lea eax, [esi - 1]
cmp eax, 5
ja 0x10064500
mov ecx, dword [ecx + 0xc]
movsx eax, word [ecx + 0x16]
movsx edx, word [ecx + 0x3a]
inc eax
add eax, edx
cmp eax, dword [ecx + 4]
jbe 0x100630f7
push 0
mov edx, 1
call fcn.1004cda0
test eax, eax
jne 0x10065dc0
lea eax, [esi - 3]
cmp esi, 3
jg 0x10063101
mov eax, esi
mov ebp, dword [esp + 0x24]
add eax, eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x11c], ebp
mov dword [esp + eax*4 + 0x120], ecx
cmp esi, 3
je 0x10063127
cmp esi, 6
jne 0x10064504
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.100605c0
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1006152e
cmp edi, 1
jne 0x10065dc0
cmp byte [esp + 0x37], 0
je 0x100631d2
mov eax, dword [esp + 0x64]
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 ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x58], 1
jmp 0x1006152e
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xc], edx
mov edx, dword [esp + 0x14]
jmp 0x1006152e
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x284]
mov dword [esp + 0x2c], ecx
test ecx, ecx
je 0x10065dc0
xor eax, eax
cmp esi, 0x12
sete al
lea edx, [eax - 0xd]
mov eax, dword [ecx]
add edx, esi
imul eax, edx
mov dword [esp + 0x58], edx
cmp edi, eax
jne 0x10065dc0
lea edi, [edx + ebp]
test edx, edx
je 0x10063380
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x20]
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, esi
sar eax, 3
cmp ebp, eax
jb 0x1006327a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063276
cmp dword [eax], 0
jne 0x10063276
mov dword [eax], 0x82
xor esi, esi
jmp 0x100632a0
mov eax, dword [esi + ebp*8 + 4]
mov esi, dword [esi + ebp*8]
sub eax, 1
je 0x10063290
sub eax, 1
jne 0x100632a0
shl esi, 0x10
jmp 0x100632a0
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp dword [ecx], 1
jbe 0x10063333
mov ebp, 1
mov dword [esp + 0x3c], 4
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, edx
sar eax, 3
cmp edi, eax
jb 0x100632de
mov eax, dword [ebx + 4]
test eax, eax
je 0x100632da
cmp dword [eax], 0
jne 0x100632da
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10063304
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x100632f4
sub eax, 1
jne 0x10063304
shl ecx, 0x10
jmp 0x10063304
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
mov edx, dword [edx + 0x88]
mov edx, dword [edx + eax]
call fcn.10044010
mov ecx, dword [esp + 0x2c]
inc ebp
add dword [esp + 0x3c], 4
add esi, eax
inc edi
cmp ebp, dword [ecx]
jb 0x100632b6
mov ebp, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp ebp, eax
jbe 0x10063359
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006336a
cmp dword [eax], 0
jne 0x1006336a
mov dword [eax], 0x82
jmp 0x1006336a
mov eax, dword [esp + 0x20]
mov dword [ecx + ebp*8], esi
mov eax, dword [eax]
mov dword [eax + ebp*8 + 4], 0
mov ecx, dword [esp + 0x2c]
inc ebp
sub edx, 1
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], edx
jne 0x10063252
mov edi, dword [esp + 0x20]
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [esp + 0x38]
sub edx, dword [esp + 0x58]
sub eax, dword [edi]
sar eax, 3
cmp edx, eax
jbe 0x100633c1
mov eax, dword [ebx + 4]
test eax, eax
je 0x100633cd
cmp dword [eax], 0
jne 0x100633cd
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [eax], 0xa1
jmp 0x1006152e
lea eax, [edx*8]
sub ecx, eax
mov dword [ebx + 0xc], ecx
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1006152e
mov ebp, dword [esp + 0x30]
mov esi, dword [ebp + 0x284]
cmp edi, 1
jne 0x10065dc0
test esi, esi
je 0x10065dc0
cmp ecx, edx
jne 0x10063417
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063413
cmp dword [eax], 0
jne 0x10063413
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10063443
cmp dword [ecx - 4], 2
je 0x10063433
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006342f
cmp dword [eax], 0
jne 0x1006342f
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x10063443
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x10065dc0
mov edx, dword [esi]
lea eax, [edx + ecx]
cmp eax, dword [ebp + 0x28c]
ja 0x10065dc0
lea eax, [edx*4]
push eax
mov eax, dword [ebp + 0x288]
push dword [esi + 0x88]
lea eax, [eax + ecx*4]
push eax
call fcn.10161360
mov ebp, dword [esp + 0x30]
add esp, 0xc
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1006152e
cmp edi, 2
jne 0x10065dc0
cmp ecx, edx
jne 0x100634b0
mov eax, dword [ebx + 4]
test eax, eax
je 0x100634ac
cmp dword [eax], 0
jne 0x100634ac
mov dword [eax], 0xa1
xor esi, esi
jmp 0x100634da
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x100634ca
sub eax, 1
jne 0x100634da
shl esi, 0x10
jmp 0x100634da
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov ebp, dword [esp + 0x20]
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [ebp]
jne 0x100634fc
mov eax, dword [ebx + 4]
test eax, eax
je 0x100634f8
cmp dword [eax], 0
jne 0x100634f8
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10063526
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x10063516
sub eax, 1
jne 0x10063526
shl edx, 0x10
jmp 0x10063526
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebp]
mov edi, dword [ebx + 0xc]
lea eax, [eax + ecx*8]
cmp edi, eax
jne 0x10063569
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006357c
cmp dword [eax], 0
jne 0x1006357c
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
mov dword [esp + 0x58], 1
jmp 0x1006152e
lea eax, [edx + esi]
mov dword [edi], eax
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x58], 1
jmp 0x1006152e
cmp edi, 2
jne 0x10065dc0
cmp ecx, edx
jne 0x100635c0
mov eax, dword [ebx + 4]
test eax, eax
je 0x100635bc
cmp dword [eax], 0
jne 0x100635bc
mov dword [eax], 0xa1
xor esi, esi
jmp 0x100635ea
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x100635da
sub eax, 1
jne 0x100635ea
shl esi, 0x10
jmp 0x100635ea
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov ebp, dword [esp + 0x20]
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [ebp]
jne 0x1006360c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063608
cmp dword [eax], 0
jne 0x10063608
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10063636
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x10063626
sub eax, 1
jne 0x10063636
shl edx, 0x10
jmp 0x10063636
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebp]
mov edi, dword [ebx + 0xc]
lea eax, [eax + ecx*8]
cmp edi, eax
jne 0x10063665
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006357c
cmp dword [eax], 0
jne 0x1006357c
mov dword [eax], 0x82
jmp 0x1006357c
sub edx, esi
mov dword [edi], edx
jmp 0x1006356e
cmp edi, 2
jne 0x10065dc0
cmp ecx, edx
jne 0x10063691
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006368d
cmp dword [eax], 0
jne 0x1006368d
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100636bb
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x100636ab
sub eax, 1
jne 0x100636bb
shl edx, 0x10
jmp 0x100636bb
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov edi, dword [esp + 0x20]
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x100636dc
mov eax, dword [ebx + 4]
test eax, eax
je 0x100636d8
cmp dword [eax], 0
jne 0x100636d8
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10063706
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x100636f6
sub eax, 1
jne 0x10063706
shl ecx, 0x10
jmp 0x10063706
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.10044010
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x10063749
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063759
cmp dword [eax], 0
jne 0x10063759
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
mov dword [esp + 0x58], 1
jmp 0x1006152e
mov dword [esi], eax
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x58], 1
jmp 0x1006152e
cmp edi, 2
jne 0x10065dc0
cmp ecx, edx
jne 0x10063799
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063795
cmp dword [eax], 0
jne 0x10063795
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100637c3
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x100637b3
sub eax, 1
jne 0x100637c3
shl edx, 0x10
jmp 0x100637c3
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov edi, dword [esp + 0x20]
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x100637e4
mov eax, dword [ebx + 4]
test eax, eax
je 0x100637e0
cmp dword [eax], 0
jne 0x100637e0
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1006380e
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x100637fe
sub eax, 1
jne 0x1006380e
shl ecx, 0x10
jmp 0x1006380e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test edx, edx
je 0x10065dc0
call fcn.1004c6d0
jmp 0x1006370b
cmp edi, 2
jne 0x10065dc0
mov ebp, dword [esp + 0x30]
cmp dword [ebp + 0x284], 0
je 0x10065dc0
cmp ecx, edx
jne 0x10063854
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063850
cmp dword [eax], 0
jne 0x10063850
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10063880
cmp dword [ecx - 4], 2
je 0x10063870
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006386c
cmp dword [eax], 0
jne 0x1006386c
mov dword [eax], 0xa0
xor edx, edx
jmp 0x10063880
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
test edx, edx
js 0x10065dc0
cmp edx, dword [ebp + 0x28c]
jae 0x10065dc0
mov edi, dword [esp + 0x20]
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x100638c9
mov eax, dword [ebx + 4]
test eax, eax
je 0x100638a9
cmp dword [eax], 0
jne 0x100638a9
mov dword [eax], 0xa1
mov eax, dword [ebp + 0x288]
xor ecx, ecx
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov dword [eax + edx*4], ecx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1006152e
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x100638ff
sub eax, 1
jne 0x1006390f
mov eax, dword [ebp + 0x288]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
shl ecx, 0x10
mov dword [eax + edx*4], ecx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1006152e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [ebp + 0x288]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov dword [eax + edx*4], ecx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1006152e
cmp edi, 1
jne 0x10065dc0
mov ebp, dword [esp + 0x30]
cmp dword [ebp + 0x284], 0
je 0x10065dc0
cmp ecx, edx
jne 0x10063961
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006395d
cmp dword [eax], 0
jne 0x1006395d
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1006398d
cmp dword [ecx - 4], 2
je 0x1006397d
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063979
cmp dword [eax], 0
jne 0x10063979
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1006398d
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x10065dc0
cmp ecx, dword [ebp + 0x28c]
jae 0x10065dc0
mov eax, dword [ebp + 0x288]
mov edi, dword [esp + 0x20]
mov edx, dword [ebx + 0xc]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebx + 0x10]
mov eax, dword [edi]
lea eax, [eax + ecx*8]
cmp edx, eax
je 0x1006371a
mov dword [edx], esi
jmp 0x1006374b
cmp edi, 4
jne 0x10065dc0
cmp ecx, edx
jne 0x100639e3
mov eax, dword [ebx + 4]
test eax, eax
je 0x100639df
cmp dword [eax], 0
jne 0x100639df
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10063a0d
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x100639fd
sub eax, 1
jne 0x10063a0d
shl ebp, 0x10
jmp 0x10063a0d
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov esi, dword [esp + 0x20]
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esi]
jne 0x10063a2e
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063a2a
cmp dword [eax], 0
jne 0x10063a2a
mov dword [eax], 0xa1
xor edi, edi
jmp 0x10063a58
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x10063a48
sub eax, 1
jne 0x10063a58
shl edi, 0x10
jmp 0x10063a58
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esi]
jne 0x10063a75
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063a71
cmp dword [eax], 0
jne 0x10063a71
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10063a9f
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x10063a8f
sub eax, 1
jne 0x10063a9f
shl edx, 0x10
jmp 0x10063a9f
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esi]
jne 0x10063abc
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063ab8
cmp dword [eax], 0
jne 0x10063ab8
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10063ae6
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x10063ad6
sub eax, 1
jne 0x10063ae6
shl esi, 0x10
jmp 0x10063ae6
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx + 0x10]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
mov ecx, dword [ebx + 0xc]
cmp ecx, eax
jne 0x10063b18
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006357c
cmp dword [eax], 0
jne 0x1006357c
mov dword [eax], 0x82
jmp 0x1006357c
cmp edi, ebp
cmovle edx, esi
mov dword [ecx], edx
jmp 0x1006356e
test edi, edi
jne 0x10065dc0
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
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 ecx, dword [ebx + 0x10]
mov eax, dword [edi]
mov edx, dword [ebx + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x100639b9
jmp 0x1006371a
test edi, edi
js 0x10065dc0
test esi, esi
js 0x10065dc0
cmp edi, 3
jle 0x10063b97
mov edi, 3
mov dword [esp + 0x60], edi
jmp 0x10063bb4
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x60], edi
cmp edi, 1
jl 0x1006152a
mov ebp, dword [esp + 0x20]
lea edx, [esp + edi*4 + 0x80]
nop
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebp]
jne 0x10063bde
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063bda
cmp dword [eax], 0
jne 0x10063bda
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10063c08
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10063bf8
sub eax, 1
jne 0x10063c08
shl ecx, 0x10
jmp 0x10063c08
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov dword [edx], ecx
sub edx, 4
sub edi, 1
jne 0x10063bc0
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1006152e
mov ecx, dword [esp + 0x18]
test al, al
je 0x1006152e
mov eax, dword [esp + 0x58]
test eax, eax
jle 0x10063c49
dec eax
mov dword [esp + 0x58], eax
jmp 0x1006152e
mov eax, dword [esp + 0x60]
test eax, eax
je 0x10065dc0
mov esi, dword [esp + eax*4 + 0x80]
dec eax
mov dword [esp + 0x60], eax
mov ecx, dword [ebx + 0x10]
mov eax, dword [edi]
mov edx, dword [ebx + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
je 0x10062519
mov ecx, dword [esp + 0x18]
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1006152e
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x10063cbf
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1006152e
cmp dword [eax], 0
jne 0x1006152e
mov dword [eax], 0xa1
jmp 0x1006152e
mov ecx, dword [esp + 0x18]
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
jmp 0x1006152e
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x10063ceb
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063ce7
cmp dword [eax], 0
jne 0x10063ce7
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10063d0f
cmp dword [eax - 4], 2
je 0x10063d07
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063d03
cmp dword [eax], 0
jne 0x10063d03
mov dword [eax], 0xa0
xor esi, esi
jmp 0x10063d0f
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x10063d2c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063d28
cmp dword [eax], 0
jne 0x10063d28
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10063d56
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10063d46
sub eax, 1
jne 0x10063d56
shl ecx, 0x10
jmp 0x10063d56
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x14]
cmp esi, 0x1f
ja 0x10062951
mov dword [esp + esi*4 + 0x158], ecx
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1006152e
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x10063d9e
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063d90
cmp dword [eax], 0
jne 0x10063d90
mov dword [eax], 0xa1
xor eax, eax
mov esi, dword [esp + eax*4 + 0x158]
jmp 0x10063c61
cmp dword [eax - 4], 2
je 0x10063dc4
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063db6
cmp dword [eax], 0
jne 0x10063db6
mov dword [eax], 0xa0
xor eax, eax
mov esi, dword [esp + eax*4 + 0x158]
jmp 0x10063c61
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x1006450c
cmp eax, 0x20
jge 0x1006450c
mov esi, dword [esp + eax*4 + 0x158]
jmp 0x10063c61
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [edi]
jne 0x10063e06
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063e02
cmp dword [eax], 0
jne 0x10063e02
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10063e31
add ebp, 0xfffffff8
mov dword [ebx + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x10063e21
sub eax, 1
jne 0x10063e31
shl ebp, 0x10
jmp 0x10063e31
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x10063e4e
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063e4a
cmp dword [eax], 0
jne 0x10063e4a
mov dword [eax], 0xa1
xor edi, edi
jmp 0x10063e78
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x10063e68
sub eax, 1
jne 0x10063e78
shl edi, 0x10
jmp 0x10063e78
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov esi, dword [esp + 0x20]
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esi]
jne 0x10063e99
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063e95
cmp dword [eax], 0
jne 0x10063e95
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10063ec3
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x10063eb3
sub eax, 1
jne 0x10063ec3
shl edx, 0x10
jmp 0x10063ec3
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esi]
jne 0x10063ee0
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063edc
cmp dword [eax], 0
jne 0x10063edc
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10063f0a
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x10063efa
sub eax, 1
jne 0x10063f0a
shl esi, 0x10
jmp 0x10063f0a
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx + 0x10]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
mov ecx, dword [ebx + 0xc]
cmp ecx, eax
jne 0x10063f2a
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
jmp 0x100628ac
cmp edi, ebp
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
cmovle edx, esi
mov esi, dword [esp + 0x1c]
mov dword [ecx], edx
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1006152e
mov eax, dword [esp + 0x30]
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 ecx, dword [ebx + 0x10]
mov eax, dword [edi]
mov edx, dword [ebx + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x10063c74
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064508
cmp dword [eax], 0
jne 0x10064508
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
mov esi, dword [esp + 0x1c]
jmp 0x1006152e
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x10063fe2
mov eax, dword [ebx + 4]
test eax, eax
je 0x10063fde
cmp dword [eax], 0
jne 0x10063fde
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1006400c
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x10063ffc
sub eax, 1
jne 0x1006400c
shl edx, 0x10
jmp 0x1006400c
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x10064029
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064025
cmp dword [eax], 0
jne 0x10064025
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10064053
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x10064043
sub eax, 1
jne 0x10064053
shl ecx, 0x10
jmp 0x10064053
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.10044010
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x10062c96
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064508
cmp dword [eax], 0
jne 0x10064508
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
mov esi, dword [esp + 0x1c]
jmp 0x1006152e
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [edi]
jne 0x100640d5
mov eax, dword [ebx + 4]
test eax, eax
je 0x100640af
cmp dword [eax], 0
jne 0x100640af
mov dword [eax], 0xa1
xor edi, edi
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov ebp, dword [esp + 0x24]
mov eax, dword [eax]
mov esi, dword [esp + 0x1c]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x1006413d
mov edi, dword [esp + 0x20]
jmp 0x100628b0
add ebp, 0xfffffff8
mov dword [ebx + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x100640f0
sub eax, 1
jne 0x10064100
shl ebp, 0x10
jmp 0x10064100
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
test ebp, ebp
jle 0x100640af
mov eax, ebp
mov esi, ebp
sar eax, 1
mov ecx, ebp
cmp ebp, 0xa
cmovge esi, eax
mov edx, esi
call fcn.1004c6d0
lea edi, [esi + 1]
add edi, eax
sar edi, 1
cmp edi, esi
je 0x100640b1
mov edx, edi
mov ecx, ebp
mov esi, edi
call fcn.1004c6d0
inc edi
add edi, eax
sar edi, 1
cmp edi, esi
jne 0x10064124
jmp 0x100640b1
mov ecx, dword [esp + 0x18]
mov dword [edx], edi
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1006152e
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1006417b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064177
cmp dword [eax], 0
jne 0x10064177
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100641a5
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x10064195
sub eax, 1
jne 0x100641a5
shl edx, 0x10
jmp 0x100641a5
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov ecx, dword [ebx + 0x10]
mov eax, dword [edi]
mov esi, dword [ebx + 0xc]
lea eax, [eax + ecx*8]
cmp esi, eax
jne 0x100641c8
mov eax, dword [ebx + 4]
test eax, eax
je 0x100641d8
cmp dword [eax], 0
jne 0x100641d8
mov dword [eax], 0x82
jmp 0x100641d8
mov dword [esi], edx
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov ecx, dword [ebx + 0x10]
mov eax, dword [edi]
mov esi, dword [ebx + 0xc]
lea eax, [eax + ecx*8]
cmp esi, eax
jne 0x10065c4f
jmp 0x10062519
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1006420d
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064209
cmp dword [eax], 0
jne 0x10064209
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10064237
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x10064227
sub eax, 1
jne 0x10064237
shl esi, 0x10
jmp 0x10064237
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x10064254
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064250
cmp dword [eax], 0
jne 0x10064250
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1006427e
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1006426e
sub eax, 1
jne 0x1006427e
shl edx, 0x10
jmp 0x1006427e
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx + 0x10]
mov edi, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edi, eax
jne 0x100642a5
mov eax, dword [ebx + 4]
test eax, eax
je 0x100642b5
cmp dword [eax], 0
jne 0x100642b5
mov dword [eax], 0x82
jmp 0x100642b5
mov dword [edi], esi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov edi, dword [esp + 0x20]
mov ecx, dword [ebx + 0x10]
mov esi, dword [ebx + 0xc]
mov eax, dword [edi]
lea eax, [eax + ecx*8]
cmp esi, eax
jne 0x10065c4f
jmp 0x10062519
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x100642ee
mov eax, dword [ebx + 4]
test eax, eax
je 0x100642ea
cmp dword [eax], 0
jne 0x100642ea
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10064312
cmp dword [eax - 4], 2
je 0x1006430a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064306
cmp dword [eax], 0
jne 0x10064306
mov dword [eax], 0xa0
xor edx, edx
jmp 0x10064312
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
mov esi, dword [edi]
sub eax, esi
mov ecx, dword [esp + 0x18]
sar eax, 3
test eax, eax
je 0x10061520
test edx, edx
jns 0x10064331
lea ecx, [eax - 1]
jmp 0x10064359
cmp edx, eax
jb 0x10064354
xor ecx, ecx
mov eax, dword [esi + ecx*8 + 4]
mov edx, dword [esi + ecx*8]
sub eax, 1
je 0x10064376
sub eax, 1
jne 0x100641d8
shl edx, 0x10
jmp 0x100641d8
mov ecx, eax
sub ecx, edx
dec ecx
cmp ecx, eax
jb 0x10064337
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006436f
cmp dword [eax], 0
jne 0x1006436f
mov dword [eax], 0x82
xor edx, edx
jmp 0x100641d8
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
jmp 0x100641d8
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x100643a8
mov eax, dword [ebx + 4]
test eax, eax
je 0x100643a4
cmp dword [eax], 0
jne 0x100643a4
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100643cc
cmp dword [eax - 4], 2
je 0x100643c4
mov eax, dword [ebx + 4]
test eax, eax
je 0x100643c0
cmp dword [eax], 0
jne 0x100643c0
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x100643cc
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x100643fe
mov eax, dword [ebx + 4]
test eax, eax
je 0x100643e5
cmp dword [eax], 0
jne 0x100643e5
mov dword [eax], 0xa1
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 2
jmp 0x1006152e
cmp dword [eax - 4], 2
je 0x1006442f
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064416
cmp dword [eax], 0
jne 0x10064416
mov dword [eax], 0xa0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 2
jmp 0x1006152e
add eax, 0xfffffff8
mov dword [esp + 0x2c], 0
mov dword [ebx + 0xc], eax
mov dword [esp + 0x38], 2
mov edx, dword [eax]
mov dword [esp + 0x3c], edx
cmp edx, 2
jl 0x10064508
sub eax, dword [edi]
sar eax, 3
cmp edx, eax
jbe 0x10064484
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064508
cmp dword [eax], 0
jne 0x10064508
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
jmp 0x1006152e
test ecx, ecx
jns 0x10064497
neg ecx
mov eax, ecx
mov ecx, dword [esp + 0x3c]
cdq
idiv ecx
neg edx
jmp 0x100644a0
mov eax, ecx
mov ecx, dword [esp + 0x3c]
cdq
idiv ecx
mov dword [esp + 0x48], edx
test edx, edx
je 0x10064508
or ebp, 0xffffffff
lea eax, [ecx*8]
mov ebx, ecx
mov dword [esp + 0x4c], eax
or esi, ebp
mov dword [esp + 0x50], ebx
lea edi, [ebp - 7]
cmp ebp, esi
jne 0x100644e8
mov eax, dword [esp + 0x20]
inc ebp
mov esi, ebp
mov eax, dword [eax]
lea edi, [ebp*8]
mov ecx, dword [edi + eax]
mov dword [esp + 0x2c], ecx
mov ecx, dword [edi + eax + 4]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x38], ecx
lea ecx, [edx*8]
add esi, edx
add edi, ecx
cmp esi, ebx
jl 0x10064519
sub esi, ebx
sub edi, eax
jmp 0x10064521
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1006152e
test esi, esi
jns 0x10064521
add esi, ebx
add edi, eax
sub dword [esp + 0x3c], 1
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x2c]
mov eax, dword [eax]
mov edx, dword [edi + eax + 4]
mov ecx, dword [edi + eax]
mov dword [edi + eax], ebx
mov ebx, dword [esp + 0x38]
mov dword [edi + eax + 4], ebx
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x2c], ecx
jne 0x100644c1
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1006152e
test al, al
je case.0x1006224e.0
cmp byte [esp + 0x37], 0
je case.0x1006224e.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x100645a9
mov eax, dword [ebx + 4]
test eax, eax
je 0x100645a5
cmp dword [eax], 0
jne 0x100645a5
mov dword [eax], 0xa1
xor esi, esi
jmp 0x100645d7
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 0x100645c7
sub eax, 1
jne 0x100645db
shl esi, 0x10
jmp 0x100645d7
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov dword [esp + 0x1c], esi
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x3f18], esi
cmp ecx, dword [edi]
jne 0x100645ff
mov eax, dword [ebx + 4]
test eax, eax
je 0x100645fb
cmp dword [eax], 0
jne 0x100645fb
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1006462d
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
mov dword [esp + 0x24], ebp
sub eax, 1
je 0x1006461d
sub eax, 1
jne 0x10064631
shl ebp, 0x10
jmp 0x1006462d
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov dword [esp + 0x24], ebp
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3f14], ebp
mov dword [eax + 0x1d4], 0
mov eax, dword [edi]
mov dword [ebx + 0xc], eax
jmp 0x1006152e
mov eax, dword [esp + 0x44]
cmp byte [eax + 8], 0
je case.0x1006164c.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1006467f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006467b
cmp dword [eax], 0
jne 0x1006467b
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100646a9
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x10064699
sub eax, 1
jne 0x100646a9
shl ecx, 0x10
jmp 0x100646a9
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x30]
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 [edi]
jne 0x100646d9
mov eax, dword [ebx + 4]
test eax, eax
je 0x100646d5
cmp dword [eax], 0
jne 0x100646d5
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10064703
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100646f3
sub eax, 1
jne 0x10064703
shl ecx, 0x10
jmp 0x10064703
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x30]
mov byte [esp + 0x2b], 1
mov eax, dword [edx + 0x20]
add dword [eax], ecx
cmp byte [edx + 0x2f], 0
jne 0x10065f09
cmp byte [esp + 0x37], 0
mov edx, dword [esp + 0x14]
je case.0x1006224e.0
mov eax, dword [edi]
add ebp, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x3f14], ebp
mov dword [ebx + 0xc], eax
jmp 0x1006152e
mov edi, dword [esp + 0x44]
cmp byte [edi + 8], 0
je 0x100660ab
test ah, ah
jne 0x100660ab
cmp byte [esp + 0x2f68], ah
je 0x100647d3
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.10060440
cmp byte [esp + 0x2fb8], 0
je 0x100647bb
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.1005fee0
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], esi
mov dword [esp + 0x2fa4], esi
mov byte [esp + 0x2f6b], 1
je 0x1006480e
cmp byte [eax + 5], 0
je 0x10064832
mov edx, dword [esp + 0x2f6c]
lea ecx, [esp + 0x1e0]
push 0
push dword [esp + 0x2f7c]
push eax
push dword [esp + 0x2f7c]
call fcn.1005f540
mov eax, dword [esp + 0x64]
lea esi, [esp + 0x1e0]
mov ecx, 0x3c7
mov byte [esp + 0x37], 1
lea edi, [esp + 0x10fc]
mov dword [esp + 0xd8], 0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x18]
xorps xmm0, xmm0
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
test ecx, ecx
jle 0x100648f2
mov ebx, dword [esp + 0xa4]
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
mov esi, dword [esp + 0x70]
nop dword [eax]
lea ebp, [ecx - 1]
cmp ebp, eax
jb 0x100648d8
test ebx, ebx
je 0x100648d6
cmp dword [ebx], 0
jne 0x100648d6
mov dword [ebx], 0x82
xor ebp, ebp
imul ebp, edx
dec ecx
add ebp, esi
mov dword [esp + 0x14], ebp
test ecx, ecx
jg 0x100648c0
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov eax, dword [edx + 4]
mov dword [edx + 0xc], eax
mov eax, dword [edi]
mov dword [ebx + 0xc], eax
jmp 0x1006152e
mov eax, dword [ebx + 0xc]
sub eax, dword [edi]
sar eax, 3
cmp eax, 1
jbe 0x10064929
cmp byte [esp + 0xac], 0
jne case.0x1006164c.0
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x2b]
push 0
push eax
push dword [esp + 0x3f24]
lea eax, [esp + 0xd0]
mov edx, ebx
push eax
call fcn.100608b0
mov eax, dword [esp + 0x30]
cmp byte [eax + 0x224], 0
jne 0x10065f09
cmp byte [esp + 0x2c], 0x13
jne 0x1006498f
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0xa8]
add eax, dword [esp + 0xf8]
mov edx, dword [esp + 0x14]
push eax
call fcn.10060830
mov eax, dword [edi]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xc], eax
jmp 0x1006152e
push 0xf1c
lea eax, [esp + 0x2fe4]
push 0
push eax
call fcn.101618e0
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 + 0x98]
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.10060830
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.1005f540
mov eax, dword [edi]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xc], eax
jmp 0x1006152e
mov eax, dword [ebx + 0xc]
mov edx, dword [edi]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x10064ab4
cmp byte [esp + 0x2b], 0
jne 0x10064ab4
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10064a92
sub eax, 1
jne 0x10064aa2
shl ecx, 0x10
jmp 0x10064aa2
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 + 0x30]
mov byte [esp + 0x2b], 1
cmp byte [eax + 0x224], 0
jne 0x10065f09
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x10064af7
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064ae3
cmp dword [eax], 0
jne 0x10064ae3
mov dword [eax], 0xa1
xor ecx, ecx
add esi, ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3f18], esi
jmp 0x10064ba2
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10064b21
sub eax, 1
jne 0x10064b31
shl ecx, 0x10
add esi, ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3f18], esi
jmp 0x10064ba2
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add esi, ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3f18], esi
jmp 0x10064ba2
mov eax, dword [ebx + 0xc]
mov edx, dword [edi]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x10064b8c
cmp byte [esp + 0x2b], 0
jne 0x10064b8c
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10064b6a
sub eax, 1
jne 0x10064b7a
shl ecx, 0x10
jmp 0x10064b7a
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 + 0x30]
mov byte [esp + 0x2b], 1
cmp byte [eax + 0x224], 0
jne 0x10065f09
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x10064bbf
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064bbb
cmp dword [eax], 0
jne 0x10064bbb
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10064be9
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10064bd9
sub eax, 1
jne 0x10064be9
shl ecx, 0x10
jmp 0x10064be9
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add ebp, ecx
mov dword [esp + 0x3f14], ebp
mov dword [esp + 0x24], ebp
mov eax, dword [esp + 0x30]
cmp dword [eax + 0x1d4], 0
jne 0x10064cfc
cmp byte [esp + 0x2f68], 0
je 0x10064c80
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.10060440
cmp byte [esp + 0x2fb8], 0
je 0x10064c68
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.1005fee0
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], esi
mov dword [esp + 0x2fa4], esi
mov byte [esp + 0x2f6b], 1
je 0x10064cbb
cmp byte [eax + 5], 0
je 0x10064cdf
mov edx, dword [esp + 0x2f6c]
lea ecx, [esp + 0x1e0]
push 0
push dword [esp + 0x2f7c]
push eax
push dword [esp + 0x2f7c]
call fcn.1005f540
mov ecx, 0x3c7
lea edi, [esp + 0x10fc]
lea esi, [esp + 0x1e0]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [edi]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xc], eax
jmp 0x1006152e
mov ebp, dword [ebx + 0xc]
xor esi, esi
sub ebp, dword [edi]
sar ebp, 3
mov dword [esp + 0x48], ebp
cmp ebp, 6
jbe 0x10064e11
lea edi, [esi + 6]
nop dword [eax + eax]
mov edx, dword [esp + 0x20]
mov eax, dword [ebx + 0xc]
mov ecx, dword [edx]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x10064d58
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064d54
cmp dword [eax], 0
jne 0x10064d54
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10064d7e
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10064d6e
sub eax, 1
jne 0x10064d7e
shl ecx, 0x10
jmp 0x10064d7e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x24]
mov edx, dword [edx]
add eax, ecx
mov ecx, dword [ebx + 0xc]
sub ecx, edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x3f14], eax
lea eax, [edi - 5]
sar ecx, 3
cmp eax, ecx
jb 0x10064db6
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064db2
cmp dword [eax], 0
jne 0x10064db2
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10064ddd
mov eax, dword [edx + esi*8 + 0xc]
mov ecx, dword [edx + esi*8 + 8]
sub eax, 1
je 0x10064dcd
sub eax, 1
jne 0x10064ddd
shl ecx, 0x10
jmp 0x10064ddd
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
add eax, ecx
push eax
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x3f1c], eax
call fcn.10060440
add edi, 2
add esi, 2
cmp edi, ebp
jb 0x10064d30
mov edi, dword [esp + 0x20]
cmp esi, ebp
mov ebp, dword [esp + 0x24]
jae 0x10065532
add esi, 2
mov ecx, dword [ebx + 0xc]
lea eax, [esi - 2]
mov edx, dword [edi]
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x10064e47
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064e43
cmp dword [eax], 0
jne 0x10064e43
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10064e6e
mov eax, dword [edx + esi*8 - 0xc]
mov ecx, dword [edx + esi*8 - 0x10]
sub eax, 1
je 0x10064e5e
sub eax, 1
jne 0x10064e6e
shl ecx, 0x10
jmp 0x10064e6e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [edi]
lea eax, [esi - 1]
add ebp, ecx
mov ecx, dword [ebx + 0xc]
sub ecx, edx
mov dword [esp + 0x4c], ebp
sar ecx, 3
cmp eax, ecx
jb 0x10064e9b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064e97
cmp dword [eax], 0
jne 0x10064e97
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10064ec2
mov eax, dword [edx + esi*8 - 4]
mov ecx, dword [edx + esi*8 - 8]
sub eax, 1
je 0x10064eb2
sub eax, 1
jne 0x10064ec2
shl ecx, 0x10
jmp 0x10064ec2
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov eax, dword [ebx + 0xc]
add edi, ecx
mov dword [esp + 0x50], edi
mov ecx, dword [edx]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x10064ef4
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064ef0
cmp dword [eax], 0
jne 0x10064ef0
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10064f1a
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10064f0a
sub eax, 1
jne 0x10064f1a
shl ecx, 0x10
jmp 0x10064f1a
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [edx]
lea eax, [esi + 1]
add ebp, ecx
mov ecx, dword [ebx + 0xc]
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x10064f43
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064f3f
cmp dword [eax], 0
jne 0x10064f3f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10064f6a
mov eax, dword [edx + esi*8 + 0xc]
mov ecx, dword [edx + esi*8 + 8]
sub eax, 1
je 0x10064f5a
sub eax, 1
jne 0x10064f6a
shl ecx, 0x10
jmp 0x10064f6a
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x20]
add edi, ecx
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
sub ecx, edx
sar ecx, 3
lea eax, [esi + 2]
cmp eax, ecx
jb 0x10064f97
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064f93
cmp dword [eax], 0
jne 0x10064f93
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10064fbe
mov eax, dword [edx + esi*8 + 0x14]
mov ecx, dword [edx + esi*8 + 0x10]
sub eax, 1
je 0x10064fae
sub eax, 1
jne 0x10064fbe
shl ecx, 0x10
jmp 0x10064fbe
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [ecx + ebp]
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
sub ecx, edx
sar ecx, 3
lea eax, [esi + 3]
cmp eax, ecx
jb 0x10064ff0
mov eax, dword [ebx + 4]
test eax, eax
je 0x10064fec
cmp dword [eax], 0
jne 0x10064fec
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10065017
mov eax, dword [edx + esi*8 + 0x1c]
mov ecx, dword [edx + esi*8 + 0x18]
sub eax, 1
je 0x10065007
sub eax, 1
jne 0x10065017
shl ecx, 0x10
jmp 0x10065017
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x4c]
lea eax, [edi + ecx]
push eax
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x1dc]
mov eax, dword [esp + 0x28]
push eax
push edi
push ebp
push dword [esp + 0x60]
call fcn.100605c0
mov eax, dword [esp + 0x1c]
add esi, 6
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x3f18], eax
lea eax, [esi - 2]
mov dword [esp + 0x3f14], ebp
cmp eax, dword [esp + 0x48]
jb 0x10064e20
jmp 0x1006552e
mov esi, dword [ebx + 0xc]
sub esi, dword [edi]
sar esi, 3
mov ecx, esi
and ecx, 0xfffffffd
sub esi, ecx
mov dword [esp + 0x50], ecx
cmp esi, ecx
jae 0x10065532
lea eax, [esi + 3]
lea edi, [esi + 2]
mov dword [esp + 0x2c], eax
lea edx, [esi + 1]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], edx
nop dword [eax]
sub ecx, esi
test cl, 1
je 0x10065106
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x100650cf
mov eax, dword [ebx + 4]
test eax, eax
je 0x100650cb
cmp dword [eax], 0
jne 0x100650cb
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100650f5
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x100650e5
sub eax, 1
jne 0x100650f5
shl ecx, 0x10
jmp 0x100650f5
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
inc edx
inc edi
add ebp, ecx
mov dword [esp + 0x38], edx
inc esi
mov dword [esp + 0x3c], edi
inc dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1006512e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006512a
cmp dword [eax], 0
jne 0x1006512a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10065154
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10065144
sub eax, 1
jne 0x10065154
shl ecx, 0x10
jmp 0x10065154
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
add edi, ecx
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x10065182
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006517e
cmp dword [eax], 0
jne 0x1006517e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100651a8
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10065198
sub eax, 1
jne 0x100651a8
shl ecx, 0x10
jmp 0x100651a8
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x3c]
lea eax, [ecx + ebp]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x100651db
mov eax, dword [ebx + 4]
test eax, eax
je 0x100651d7
cmp dword [eax], 0
jne 0x100651d7
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10065201
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x100651f1
sub eax, 1
jne 0x10065201
shl ecx, 0x10
jmp 0x10065201
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x20]
lea edx, [edi + ecx]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x1006522e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006522a
cmp dword [eax], 0
jne 0x1006522a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10065263
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1006524c
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x10065263
shl ecx, 0x10
jmp 0x10065263
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [edx + ecx]
push eax
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x1dc]
mov eax, dword [esp + 0x28]
push eax
push edx
push eax
push edi
mov edx, ebp
call fcn.100605c0
mov edx, dword [esp + 0x38]
add esi, 4
mov edi, dword [esp + 0x3c]
add edx, 4
add dword [esp + 0x2c], 4
add edi, 4
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x3f14], ebp
mov dword [esp + 0x3f18], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edi
cmp esi, ecx
jb 0x100650a0
jmp 0x1006552e
mov esi, dword [ebx + 0xc]
sub esi, dword [edi]
sar esi, 3
mov ecx, esi
and ecx, 0xfffffffd
sub esi, ecx
mov dword [esp + 0x50], ecx
cmp esi, ecx
jae 0x10065532
lea eax, [esi + 3]
lea edi, [esi + 2]
mov dword [esp + 0x2c], eax
lea edx, [esi + 1]
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edx
sub ecx, esi
test cl, 1
je 0x10065362
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x10065325
mov eax, dword [ebx + 4]
test eax, eax
je 0x10065321
cmp dword [eax], 0
jne 0x10065321
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006534b
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1006533b
sub eax, 1
jne 0x1006534b
shl ecx, 0x10
jmp 0x1006534b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x1c]
inc edx
inc edi
mov dword [esp + 0x3c], edx
add ebp, ecx
mov dword [esp + 0x38], edi
inc esi
inc dword [esp + 0x2c]
jmp 0x10065366
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1006538e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006538a
cmp dword [eax], 0
jne 0x1006538a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100653b4
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x100653a4
sub eax, 1
jne 0x100653b4
shl ecx, 0x10
jmp 0x100653b4
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
add edi, ecx
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x100653e2
mov eax, dword [ebx + 4]
test eax, eax
je 0x100653de
cmp dword [eax], 0
jne 0x100653de
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10065408
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x100653f8
sub eax, 1
jne 0x10065408
shl ecx, 0x10
jmp 0x10065408
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x20]
lea edx, [edi + ecx]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x38], eax
jb 0x10065435
mov eax, dword [ebx + 4]
test eax, eax
je 0x10065431
cmp dword [eax], 0
jne 0x10065431
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006546a
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10065453
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x1006546a
shl ecx, 0x10
jmp 0x1006546a
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [ecx + ebp]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x1006549b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10065497
cmp dword [eax], 0
jne 0x10065497
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100654d0
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100654b9
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x100654d0
shl ecx, 0x10
jmp 0x100654d0
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [edx + ecx]
mov ecx, dword [esp + 0x1c]
push ecx
push eax
push ecx
push edx
push ebp
mov edx, edi
mov dword [esp + 0x38], eax
lea ecx, [esp + 0x1ec]
call fcn.100605c0
mov edx, dword [esp + 0x3c]
add esi, 4
mov edi, dword [esp + 0x38]
add edx, 4
add dword [esp + 0x2c], 4
add edi, 4
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x3f14], ebp
mov dword [esp + 0x3f18], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], edi
cmp esi, ecx
jb 0x100652f6
mov edi, dword [esp + 0x20]
mov eax, dword [edi]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xc], eax
jmp 0x1006152e
mov eax, dword [esp + 0x20]
mov edi, dword [ebx + 0xc]
sub edi, dword [eax]
sar edi, 3
cmp byte [esp + 0x2c], 0x1f
mov eax, edi
sete dl
and eax, 0xfffffffd
sub edi, eax
mov dword [esp + 0x4c], eax
cmp edi, eax
jae 0x100659dc
lea eax, [edi + 4]
mov dword [esp + 0x2c], eax
lea ebp, [edi + 1]
lea eax, [edi + 3]
mov dword [esp + 0x38], eax
lea eax, [edi + 2]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
test dl, dl
je 0x1006579b
cmp edi, eax
jb 0x100655b7
mov eax, dword [ebx + 4]
test eax, eax
je 0x100655b3
cmp dword [eax], 0
jne 0x100655b3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100655dd
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100655cd
sub eax, 1
jne 0x100655dd
shl ecx, 0x10
jmp 0x100655dd
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x48], esi
mov dword [esp + 0x50], edx
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp ebp, eax
jb 0x10065613
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006560f
cmp dword [eax], 0
jne 0x1006560f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10065639
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x10065629
sub eax, 1
jne 0x10065639
shl ecx, 0x10
jmp 0x10065639
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x20]
lea esi, [edx + ecx]
mov edx, dword [esp + 0x3c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x10065668
mov eax, dword [ebx + 4]
test eax, eax
je 0x10065664
cmp dword [eax], 0
jne 0x10065664
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006568e
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1006567e
sub eax, 1
jne 0x1006568e
shl ecx, 0x10
jmp 0x1006568e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
add edx, ecx
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x38], eax
jb 0x100656be
mov eax, dword [ebx + 4]
test eax, eax
je 0x100656ba
cmp dword [eax], 0
jne 0x100656ba
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100656f3
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100656dc
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x100656f3
shl ecx, 0x10
jmp 0x100656f3
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [edx + ecx]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x4c]
sub eax, edi
cmp eax, 5
jne 0x1006578c
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x10065733
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006572f
cmp dword [eax], 0
jne 0x1006572f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10065768
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10065751
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x10065768
shl ecx, 0x10
jmp 0x10065768
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x3c]
add ecx, esi
inc dword [esp + 0x38]
inc eax
inc dword [esp + 0x2c]
inc edi
inc ebp
mov dword [esp + 0x3c], eax
xor al, al
mov dword [esp + 0x24], ecx
mov byte [esp + 0x43], al
jmp 0x10065982
xor al, al
mov dword [esp + 0x24], esi
mov byte [esp + 0x43], al
jmp 0x10065982
mov edx, dword [esp + 0x24]
mov dword [esp + 0x50], edx
cmp edi, eax
jb 0x100657bd
mov eax, dword [ebx + 4]
test eax, eax
je 0x100657b9
cmp dword [eax], 0
jne 0x100657b9
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100657e3
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100657d3
sub eax, 1
jne 0x100657e3
shl ecx, 0x10
jmp 0x100657e3
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [ecx + esi]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp ebp, eax
jb 0x10065812
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006580e
cmp dword [eax], 0
jne 0x1006580e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10065838
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x10065828
sub eax, 1
jne 0x10065838
shl ecx, 0x10
jmp 0x10065838
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x20]
lea esi, [ecx + edx]
mov edx, dword [esp + 0x3c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x10065867
mov eax, dword [ebx + 4]
test eax, eax
je 0x10065863
cmp dword [eax], 0
jne 0x10065863
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006588d
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1006587d
sub eax, 1
jne 0x1006588d
shl ecx, 0x10
jmp 0x1006588d
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x48]
add edx, ecx
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x38], eax
jb 0x100658bd
mov eax, dword [ebx + 4]
test eax, eax
je 0x100658b9
cmp dword [eax], 0
jne 0x100658b9
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100658f2
mov eax, dword [esp + 0x38]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100658db
sub eax, 1
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
jne 0x100658f2
shl ecx, 0x10
jmp 0x100658f2
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [esi + ecx]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x4c]
sub eax, edi
cmp eax, 5
jne 0x10065979
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x2c], eax
jb 0x1006592e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006592a
cmp dword [eax], 0
jne 0x1006592a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10065963
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1006594c
sub eax, 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
jne 0x10065963
shl ecx, 0x10
jmp 0x10065963
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
inc dword [esp + 0x3c]
add ecx, edx
inc dword [esp + 0x38]
inc edi
inc ebp
mov dword [esp + 0x1c], ecx
inc dword [esp + 0x2c]
jmp 0x1006597d
mov dword [esp + 0x1c], edx
mov byte [esp + 0x43], 1
push dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x1dc]
push eax
push edx
mov edx, dword [esp + 0x5c]
push esi
push dword [esp + 0x58]
call fcn.100605c0
add dword [esp + 0x3c], 4
add edi, 4
add dword [esp + 0x38], 4
add ebp, 4
add dword [esp + 0x2c], 4
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov dl, byte [esp + 0x43]
mov dword [esp + 0x3f14], eax
mov dword [esp + 0x3f18], esi
cmp edi, dword [esp + 0x4c]
jb 0x10065587
mov ebp, eax
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [edi]
mov dword [ebx + 0xc], eax
jmp 0x1006152e
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10065a09
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edx, cl
jmp 0x10065a1c
mov eax, dword [esi]
test eax, eax
je 0x10065a1a
cmp dword [eax], 0
jne 0x10065a1a
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10065a3a
mov cl, byte [eax]
inc eax
shl edx, 8
mov dword [esi + 0xc], eax
movzx eax, cl
movsx edx, dx
or edx, eax
jmp 0x10062506
mov eax, dword [esi]
test eax, eax
je 0x10065a4b
cmp dword [eax], 0
jne 0x10065a4b
mov dword [eax], 0x55
shl edx, 8
xor eax, eax
movsx edx, dx
or edx, eax
jmp 0x10062506
mov ecx, dword [esp + 0x18]
mov dword [esi], edx
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1006152e
cmp byte [esp + 0x2c], 0xf6
ja 0x10065aa0
lea esi, [edx - 0x8b]
mov ecx, dword [ebx + 0x10]
mov eax, dword [edi]
mov edx, dword [ebx + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x10065b30
jmp 0x10062519
cmp byte [esp + 0x2c], 0xfa
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
ja 0x10065ae8
shl edx, 8
cmp eax, ecx
jae 0x10065acb
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx eax, cl
lea esi, [eax - 0xf694]
add esi, edx
jmp 0x10065a88
mov eax, dword [esi]
test eax, eax
je 0x10065adc
cmp dword [eax], 0
jne 0x10065adc
mov dword [eax], 0x55
xor eax, eax
lea esi, [eax - 0xf694]
add esi, edx
jmp 0x10065a88
cmp byte [esp + 0x2c], 0xfe
ja 0x10065b51
shl edx, 8
cmp eax, ecx
jae 0x10065b01
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx eax, cl
jmp 0x10065b14
mov eax, dword [esi]
test eax, eax
je 0x10065b12
cmp dword [eax], 0
jne 0x10065b12
mov dword [eax], 0x55
xor eax, eax
mov ecx, dword [ebx + 0x10]
mov esi, 0xfa94
sub esi, eax
mov eax, dword [edi]
sub esi, edx
mov edx, dword [ebx + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
je 0x10062519
mov ecx, dword [esp + 0x18]
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1006152e
cmp eax, ecx
jae 0x10065b60
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edx, cl
jmp 0x10065b73
mov eax, dword [esi]
test eax, eax
je 0x10065b71
cmp dword [eax], 0
jne 0x10065b71
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10065b86
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edi, cl
jmp 0x10065b99
mov eax, dword [esi]
test eax, eax
je 0x10065b97
cmp dword [eax], 0
jne 0x10065b97
mov dword [eax], 0x55
xor edi, edi
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10065bac
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx esi, cl
jmp 0x10065bbf
mov eax, dword [esi]
test eax, eax
je 0x10065bbd
cmp dword [eax], 0
jne 0x10065bbd
mov dword [eax], 0x55
xor esi, esi
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x10065bde
mov ebp, dword [esp + 0x14]
mov cl, byte [eax]
inc eax
mov dword [ebp + 0xc], eax
mov ebp, dword [esp + 0x24]
movzx eax, cl
jmp 0x10065bf1
mov eax, dword [ecx]
test eax, eax
je 0x10065bef
cmp dword [eax], 0
jne 0x10065bef
mov dword [eax], 0x55
xor eax, eax
shl edx, 8
or edx, edi
shl edx, 8
or edx, esi
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x44]
cmp byte [eax + 8], 0
je 0x10065c38
cmp edx, 0x7d00
jg 0x10065c1a
cmp edx, 0xffff8300
jge 0x10065c2f
mov ecx, dword [esp + 0x5c]
test cl, cl
movzx eax, cl
mov ecx, 1
cmove eax, ecx
mov byte [esp + 0x5c], al
mov edi, dword [esp + 0x20]
jmp 0x10062506
mov edi, dword [esp + 0x20]
mov ecx, dword [ebx + 0x10]
mov esi, dword [ebx + 0xc]
mov eax, dword [edi]
lea eax, [eax + ecx*8]
cmp esi, eax
je 0x10062519
mov ecx, dword [esp + 0x18]
mov dword [esi], edx
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1006152e
cmp dword [eax - 4], 2
je 0x10065c8c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10065c88
cmp dword [eax], 0
jne 0x10065c88
mov dword [eax], 0xa0
xor edx, edx
jmp 0x10065c94
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x3c], edx
cmp eax, dword [ebx + 8]
jne 0x10065cb6
mov eax, dword [ebx + 4]
test eax, eax
je 0x10065cb2
cmp dword [eax], 0
jne 0x10065cb2
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10065cda
cmp dword [eax - 4], 2
je 0x10065cd2
mov eax, dword [ebx + 4]
test eax, eax
je 0x10065cce
cmp dword [eax], 0
jne 0x10065cce
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x10065cda
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x5c], ecx
cmp eax, dword [ebx + 8]
jne 0x10065cfc
mov eax, dword [ebx + 4]
test eax, eax
je 0x10065cf8
cmp dword [eax], 0
jne 0x10065cf8
mov dword [eax], 0xa1
xor edi, edi
jmp 0x10065d26
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10065d16
sub eax, 1
jne 0x10065d26
shl edi, 0x10
jmp 0x10065d26
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x10065d44
mov eax, dword [ebx + 4]
test eax, eax
je 0x10065d40
cmp dword [eax], 0
jne 0x10065d40
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10065d6e
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10065d5e
sub eax, 1
jne 0x10065d6e
shl esi, 0x10
jmp 0x10065d6e
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x10065d8c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10065d88
cmp dword [eax], 0
jne 0x10065d88
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10065db6
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10065da6
sub eax, 1
jne 0x10065db6
shl ebp, 0x10
jmp 0x10065db6
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp byte [esp + 0x3f10], 0
je 0x10065dca
mov eax, 0x12
jmp 0x100663d6
mov eax, dword [esp + 0x30]
cmp byte [eax + 0x2f], 0
je 0x10065dde
mov eax, 0x12
jmp 0x100663d6
cmp dword [eax + 0x244], 0
jne 0x10065e05
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x80]
cmp dword [eax + 0x34], 0
jne 0x10065e01
mov eax, 0x12
jmp 0x100663d6
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x20]
add esi, dword [eax]
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x80]
cmp dword [eax + 0x34], 0
jne 0x10065e3c
mov edx, ecx
mov ecx, dword [esp + 0x30]
call fcn.1005d0d0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x5c], eax
call fcn.1005d0d0
mov edx, eax
mov dword [esp + 0x3c], edx
cmp dword [esp + 0x5c], 0
jl 0x10065dc0
test edx, edx
js 0x10065dc0
mov eax, dword [esp + 0x30]
cmp byte [eax + 0x2e], 0
je 0x10065f12
mov eax, dword [eax + 8]
mov edx, 2
mov dword [esp + 0x7c], eax
mov eax, dword [eax + 0x9c]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x50], eax
call fcn.1004d2c0
test eax, eax
jne 0x100663d6
mov ecx, dword [esp + 0x50]
sub esi, ebp
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x3c]
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 + 0x7c]
mov dword [ecx + 0x80], 2
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x84], eax
mov dword [ecx + 0x48], 0x636f6d70
mov dword [edx + 0x54], 2
mov eax, dword [esp + 0x6c]
jmp 0x100663d6
mov ecx, dword [eax + 0xc]
call fcn.1004d410
mov edx, dword [esp + 0x5c]
lea eax, [esp + 0x84]
mov ecx, dword [esp + 0x30]
push eax
call fcn.1005ef60
test eax, eax
jne 0x100663d6
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0x20]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x78], eax
mov eax, dword [edx + 0x24]
lea edx, [esp + 0x84]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x74]
push eax
push 0
push 0
push 1
push dword [esp + 0x3f1c]
mov dword [esp + 0x60], ecx
push dword [esp + 0x3f1c]
mov ecx, dword [esp + 0x5c]
call fcn.10060fa0
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x30]
sub eax, ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x7c], ecx
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x80]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x10065fc5
mov eax, dword [ecx]
lea edx, [esp + 0x7c]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 4]
call eax
mov edx, dword [esp + 0x30]
cmp byte [esp + 0x2b], 0
jne 0x10065fec
mov eax, dword [edx + 0x20]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x78], eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], eax
mov eax, dword [edx + 0x20]
mov ecx, dword [esp + 0x30]
mov dword [eax], 0
mov eax, dword [edx + 0x20]
mov edx, dword [esp + 0x3c]
mov dword [eax + 4], 0
lea eax, [esp + 0x84]
push eax
call fcn.1005ef60
test eax, eax
jne 0x100663d6
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x74]
push eax
push edi
sub esi, ebp
lea edx, [esp + 0x8c]
push esi
push 1
push dword [esp + 0x3f1c]
push dword [esp + 0x3f1c]
call fcn.10060fa0
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
mov ebp, dword [esp + 0x30]
sub eax, ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x7c], ecx
mov eax, dword [ebp + 4]
mov eax, dword [eax + 0x80]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x10066082
mov eax, dword [ecx]
lea edx, [esp + 0x7c]
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 + 0x78]
mov dword [eax + 4], ecx
mov eax, dword [ebp + 0x24]
mov ecx, dword [esp + 0x4c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x6c]
jmp 0x100663d6
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
je 0x100660c0
cmp eax, 5
jne 0x10066117
cmp byte [esp + 0x2b], 0
jne 0x10066117
test eax, eax
jne 0x100660e1
mov eax, dword [ebx + 4]
test eax, eax
je 0x100660dd
cmp dword [eax], 0
jne 0x100660dd
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10066105
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100660f5
sub eax, 1
jne 0x10066105
shl ecx, 0x10
jmp 0x10066105
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 + 0x30]
cmp byte [eax + 0x224], 0
jne 0x10065f09
cmp byte [esp + 0x2f68], 0
je 0x100661a9
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.10060440
cmp byte [esp + 0x2fb8], 0
je 0x10066189
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.1005fee0
mov byte [esp + 0x2f6b], 1
mov byte [esp + 0x2f68], 0
mov byte [esp + 0x2f69], 0
mov byte [esp + 0x2fb8], 0
cmp byte [edi + 9], 0
jne 0x10065f09
cmp byte [edi + 8], 0
jne 0x10065f09
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x10065f09
cmp byte [esp + 0x3f10], 0
je 0x100661e7
mov eax, 0x12
jmp 0x100663d6
cmp ecx, edx
jne 0x10066201
mov eax, dword [ebx + 4]
test eax, eax
je 0x100661fd
cmp dword [eax], 0
jne 0x100661fd
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10066225
cmp dword [ecx - 4], 2
je 0x1006621d
mov eax, dword [ebx + 4]
test eax, eax
je 0x10066219
cmp dword [eax], 0
jne 0x10066219
mov dword [eax], 0xa0
xor edx, edx
jmp 0x10066225
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x10066243
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006623f
cmp dword [eax], 0
jne 0x1006623f
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10066267
cmp dword [eax - 4], 2
je 0x1006625f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006625b
cmp dword [eax], 0
jne 0x1006625b
mov dword [eax], 0xa0
xor ebp, ebp
jmp 0x10066267
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x10066285
mov eax, dword [ebx + 4]
test eax, eax
je 0x10066281
cmp dword [eax], 0
jne 0x10066281
mov dword [eax], 0xa1
xor edi, edi
jmp 0x100662af
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1006629f
sub eax, 1
jne 0x100662af
shl edi, 0x10
jmp 0x100662af
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x100662cd
mov eax, dword [ebx + 4]
test eax, eax
je 0x100662c9
cmp dword [eax], 0
jne 0x100662c9
mov dword [eax], 0xa1
xor esi, esi
jmp 0x100662f7
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x100662e7
sub eax, 1
jne 0x100662f7
shl esi, 0x10
jmp 0x100662f7
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x84]
push eax
call fcn.1005eea0
test eax, eax
jne 0x100663d6
lea eax, [esp + 0x7c]
push eax
push edi
mov edi, dword [esp + 0x4c]
lea edx, [esp + 0x8c]
push esi
push 1
push dword [esp + 0x3f1c]
mov ecx, edi
push dword [esp + 0x3f1c]
call fcn.10060fa0
mov eax, dword [esp + 0x8c]
lea edx, [esp + 0x88]
mov esi, dword [esp + 0x30]
sub eax, dword [esp + 0x88]
push eax
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x258]
call eax
lea eax, [esp + 0x84]
mov edx, ebp
push eax
mov ecx, esi
call fcn.1005eea0
test eax, eax
jne 0x100663d6
lea eax, [esp + 0x7c]
mov ecx, edi
push eax
push 0
push 0
push 1
push dword [esp + 0x3f1c]
lea edx, [esp + 0x98]
push dword [esp + 0x3f1c]
call fcn.10060fa0
mov eax, dword [esp + 0x8c]
lea edx, [esp + 0x88]
sub eax, dword [esp + 0x88]
mov ecx, dword [esi + 4]
push eax
mov eax, dword [esi + 0x258]
call eax
mov eax, dword [esp + 0x6c]
jmp 0x100663d6
mov dword [ebx + 8], 0
mov eax, dword [edi + 8]
mov edx, ebx
mov ecx, edi
call eax
xor ebx, ebx
lea eax, [ebx + 0x40]
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x100663e5
cmp dword [ecx], 0
jne 0x100663e5
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 0x1006641f
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 0x10066464
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 0x100664a9
mov eax, dword [esp + 0xe4]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x100], 0
test eax, eax
je 0x100664cc
mov edx, eax
mov eax, dword [esp + 0x104]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
test ebx, ebx
je 0x100664f0
mov edx, dword [ebx + 8]
mov edi, dword [ebx]
test edx, edx
je 0x100664e0
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