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

Disassembly:
mov eax, 0x3f04
call fcn.101a2b80
mov eax, dword [0x1020f0c0]
xor eax, esp
mov dword [esp + 0x3efc], eax
mov eax, dword [esp + 0x3f08]
push ebx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x3f10]
push ebp
mov dword [esp + 0x70], eax
mov ebp, edx
mov eax, dword [esp + 0x3f24]
push esi
mov esi, ecx
mov dword [esp + 0x5c], eax
xor eax, eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x64], eax
push edi
mov eax, dword [esi + 0xb0]
lea ebx, [esi + 4]
mov ecx, dword [esi + 0x34]
mov edi, dword [esi]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 0x218]
push 0x80
push 0
mov dword [esp + 0x6c], ebx
mov eax, dword [eax + 0x220]
shl eax, 0x10
mov dword [esp + 0x94], eax
lea eax, [esp + 0x3e90]
push eax
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x60], 0
mov byte [esp + 0x64], 0
mov byte [esp + 0x3f], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x88], 0x1312d00
call fcn.101a3ad0
xor eax, eax
mov dword [esp + 0x3e74], 0
add esp, 0xc
mov dword [esp + 0x6c], eax
xorps xmm0, xmm0
mov dword [esp + 0xfc], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd4], eax
push 0x2e08
push eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
lea eax, [esp + 0x140]
push eax
movq qword [esp + 0x3e6c], xmm0
movups xmmword [esp + 0x3e7c], xmm0
mov dword [esp + 0xec], edi
movq qword [esp + 0x3e8c], xmm0
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], 0x10
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0xa
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0xcc], edi
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], 0x14
mov dword [esp + 0xdc], 0xa
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], 0x14
mov dword [esp + 0xbc], 0xa
movlpd qword [esp + 0x110], xmm0
movlpd qword [esp + 0x118], xmm0
movlpd qword [esp + 0x120], xmm0
mov dword [esp + 0x10c], ebx
call fcn.101a3ad0
mov eax, dword [esp + 0x8c]
add esp, 0xc
mov dword [esp + 0x138], esi
mov dword [esp + 0x13c], eax
movaps xmm0, xmmword [0x10201380]
lea eax, [esp + 0x1f78]
push 0xf1c
push 0
push eax
mov dword [esp + 0x2ea0], edi
mov dword [esp + 0x2ea4], ebx
movups xmmword [esp + 0x2ea8], xmm0
mov dword [esp + 0x2eb8], 0
mov dword [esp + 0x2ebc], 0
call fcn.101a3ad0
mov eax, dword [esp + 0x9c]
add esp, 0xc
mov bl, byte [esi + 0xb8]
mov dword [esp + 0x1f88], eax
lea eax, [esp + 0x1f78]
mov dword [esp + 0x1f7c], eax
lea eax, [esp + 0x2e94]
push 0xf1c
mov dword [esp + 0x1f84], eax
lea eax, [esp + 0x1060]
push 0
push eax
mov byte [esp + 0x1f91], bl
mov dword [esp + 0x1f84], esi
call fcn.101a3ad0
mov eax, dword [esp + 0x9c]
add esp, 0xc
mov dword [esp + 0x106c], eax
lea eax, [esp + 0x1f78]
mov dword [esp + 0x1060], eax
lea eax, [esp + 0x2e94]
mov dword [esp + 0x1064], eax
lea eax, [esp + 0x140]
push 0xf1c
push 0
push eax
mov byte [esp + 0x1075], bl
mov dword [esp + 0x1068], esi
call fcn.101a3ad0
mov ecx, dword [esp + 0x9c]
lea eax, [esp + 0x1f84]
mov dword [esp + 0x150], eax
add esp, 0xc
mov dword [esp + 0x150], ecx
lea eax, [esp + 0x2e94]
mov dword [esp + 0x148], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0x2eb4], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 0x2eb8], eax
mov dword [esp + 0x2ebc], ecx
mov ecx, dword [esp + 0x78]
mov byte [esp + 0x14d], bl
mov dword [esp + 0x140], esi
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x2ec0], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x2ecc], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x2ed0], eax
lea eax, [esp + 0x100]
mov dword [esp + 0x2ed4], eax
mov eax, dword [esp + 0x3f28]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2ed8], eax
lea eax, [esi + 0xf0]
mov dword [esp + 0x2edc], eax
mov al, byte [esi + 0xb9]
mov esi, dword [esi + 0xe4]
mov byte [esp + 0x2eca], al
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2ec4], ecx
mov dword [esp + 0x2ee0], esi
mov ebx, dword [eax + 0xe8]
mov eax, ebx
cdq
mov ecx, eax
mov dword [esp + 0x2ee4], ebx
xor ecx, edx
sub ecx, edx
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x1005dd15
test esi, esi
jmp 0x1005dd19
mov esi, ebx
test ebx, ebx
jns 0x1005dd1d
neg esi
mov ecx, dword [esp + 0x2c]
lea eax, [esi + esi]
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x2ee8], eax
mov dword [esp + 0x2eec], 0x199a
cmp byte [edx + 9], 0
mov byte [esp + 0x2ecb], 1
mov byte [esp + 0x2ec8], 0
setne byte [esp + 0x27]
mov byte [esp + 0x2ec9], 0
mov byte [esp + 0x2f18], 0
mov eax, dword [ecx + 0x218]
mov eax, dword [eax + 0x21c]
shl eax, 0x10
mov dword [esi], eax
cmp byte [edx + 9], 0
je 0x1005dd8c
mov eax, dword [ecx + 0x214]
mov esi, dword [eax + 0x614]
jmp 0x1005dd91
mov esi, 0x30
mov eax, dword [edi + 4]
mov edx, 0x14
mov ecx, edi
mov dword [esp + 0x74], esi
call eax
mov ebx, eax
mov dword [esp + 0x70], ebx
test ebx, ebx
je 0x10062dba
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 0x10062daa
je 0x1005ded3
cmp esi, 0xfffffff
jg 0x10062daa
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 0x1005de2f
mov edx, dword [esp + 0x74]
test edx, edx
jle 0x1005de2f
lea eax, [edx*8]
push eax
push 0
push esi
call fcn.101a3ad0
lea edi, [ebx + 8]
add esp, 0xc
mov dword [edi], esi
mov eax, esi
mov dword [esp + 0x1c], edi
jmp 0x1005de44
mov dword [ebx + 8], eax
lea edx, [ebx + 8]
mov dword [esp + 0x1c], edx
test ecx, ecx
jne 0x10062db1
lea edi, [ebx + 8]
mov esi, dword [esp + 0x74]
mov dword [ebx + 0x10], esi
lea ecx, [esp + 0xe0]
mov esi, 0x11
mov dword [ebx + 0xc], eax
mov edx, esi
call fcn.1005a2f0
mov ecx, dword [esp + 0xf4]
test al, al
mov eax, dword [esp + 0xfc]
mov edx, eax
cmovne ecx, esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x10], edx
cmp dword [ecx], 0
jne 0x100628df
movups xmm0, xmmword [ebp]
mov ebp, dword [esp + 0x3f24]
xor ecx, ecx
mov esi, dword [esp + 0x18]
movups xmmword [eax], xmm0
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x84], edi
mov dword [esp + 0x94], eax
mov dword [esp + 0x20], ebp
jmp 0x1005def1
lea edi, [ebx + 8]
xor eax, eax
mov dword [esp + 0x1c], edi
mov dword [edi], eax
jmp 0x1005de48
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
jmp 0x1005def1
mov edi, dword [esp + 0x1c]
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 8]
jb 0x1005df0e
test ecx, ecx
mov edx, 0xb
mov eax, 0xe
cmove edx, eax
mov dword [esp + 0x28], edx
jmp 0x1005df3d
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
mov dl, cl
mov dword [esp + 0x28], edx
cmp cl, 0xb
je 0x1005df24
cmp cl, 0xe
jne 0x1005df39
mov ecx, dword [esp + 0x40]
movzx eax, dl
xor edx, edx
cmp byte [ecx + 9], dl
cmovne eax, edx
mov dl, al
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
mov al, byte [eax + 8]
mov ah, byte [esp + 0x33]
test al, al
je 0x1005dfe7
test ah, ah
jne 0x1005df8a
cmp dl, 1
je 0x1005df8a
cmp dl, 3
je 0x1005df8a
cmp dl, 0xd
je 0x1005df8a
cmp dl, 0xa
je 0x1005df8a
cmp dl, 0xb
je 0x1005df8a
cmp dl, 0xc
je 0x1005df8a
cmp dl, 0xe
je 0x1005df8a
cmp dl, 0x20
jae 0x1005df8a
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov dword [ebx + 0xc], eax
jmp 0x1005def1
cmp dword [esp + 0x5c], 0
mov edi, dword [esp + 0x1c]
jle 0x1005dfc0
cmp dl, 0xa
je 0x1005dfc0
cmp dl, 0xb
je 0x1005dfc0
cmp dl, 0xc
je 0x1005dfc0
mov ebx, dword [esp + 0x5c]
cmp dl, 0x20
mov dword [esp + 0x4c], 0
cmovb ebx, dword [esp + 0x4c]
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x70]
cmp byte [esp + 0x58], 0
je 0x1005dfe7
cmp dl, 0x20
jae 0x1005dfe7
mov ecx, dword [esp + 0x58]
cmp dl, 0xc
movzx ecx, cl
mov dword [esp + 0x4c], 0
cmovne ecx, dword [esp + 0x4c]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x64]
cmp dword [ecx], 0
mov ecx, dword [esp + 0x14]
jne 0x100628df
sub dword [esp + 0x7c], 1
je 0x10062790
movzx edx, dl
cmp edx, 0x1f
ja case.default.0x1005e00f
jmp dword [edx*4 + 0x10062ef4]
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1005e00f.0
cmp byte [edx + 0x5d], 0
jne 0x10062790
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e056
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e043
cmp dword [eax], 0
jne 0x1005e043
mov dword [eax], 0xa1
xor eax, eax
mov dword [edx + 0x78], eax
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov dword [ebx + 0xc], eax
jmp 0x1005def1
cmp dword [eax - 4], 2
je 0x1005e081
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e06e
cmp dword [eax], 0
jne 0x1005e06e
mov dword [eax], 0xa0
xor eax, eax
mov dword [edx + 0x78], eax
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov dword [ebx + 0xc], eax
jmp 0x1005def1
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js case.0x1005e00f.0
mov dword [edx + 0x78], eax
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov dword [ebx + 0xc], eax
jmp 0x1005def1
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1005e00f.0
cmp dword [edx + 0x60], 0
je 0x10062790
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 0x1005e0fb
mov ecx, dword [esp + 0x40]
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 + 0x68], eax
test eax, eax
jne 0x100628df
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e118
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1005e114
cmp dword [ecx], 0
jne 0x1005e114
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x1005e13c
cmp dword [eax - 4], 2
je 0x1005e134
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e130
cmp dword [eax], 0
jne 0x1005e130
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1005e13c
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x74]
ja 0x10062790
push eax
mov edx, ebx
mov ecx, esi
call fcn.1005d730
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov byte [eax + 0x5d], 1
jmp 0x1005def1
test al, al
jne 0x1005e17e
cmp byte [esp + 0x104], al
jne case.0x1005e00f.0
xor eax, eax
jmp 0x1005e188
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 4]
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0xc8]
push dword [esp + 0x68]
mov ecx, dword [esp + 0x4c]
mov edx, ebx
push eax
call fcn.1005d200
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x100628df
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005def1
test al, al
jne 0x1005e1ea
cmp byte [esp + 0x104], al
jne case.0x1005e00f.0
xor eax, eax
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0xa8]
jmp 0x1005e195
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0xa8]
jmp 0x1005e195
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x1005e24b
cmp byte [esp + 0x27], 0
jne 0x1005e24b
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005e22c
sub eax, 1
jne 0x1005e23c
shl ecx, 0x10
jmp 0x1005e23c
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x8c]
add eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [ecx], eax
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x27], 1
cmp byte [eax + 0x224], 0
jne 0x100628df
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005e28e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e27a
cmp dword [eax], 0
jne 0x1005e27a
mov dword [eax], 0xa1
xor ecx, ecx
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x100615bd
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005e2b8
sub eax, 1
jne 0x1005e2c8
shl ecx, 0x10
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x100615bd
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x100615bd
mov ebp, dword [ebx + 0xc]
sub ebp, dword [edi]
xor edi, edi
sar ebp, 3
test ebp, ebp
je 0x1005e3cc
nop dword [eax]
mov esi, dword [esp + 0x1c]
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [esi]
sub eax, edx
sar eax, 3
cmp edi, eax
jb 0x1005e31f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e31b
cmp dword [eax], 0
jne 0x1005e31b
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
xor esi, esi
jmp 0x1005e345
mov eax, dword [edx + edi*8 + 4]
mov esi, dword [edx + edi*8]
sub eax, 1
je 0x1005e335
sub eax, 1
jne 0x1005e345
shl esi, 0x10
jmp 0x1005e345
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [esp + 0x20]
sub ecx, edx
add eax, esi
sar ecx, 3
mov dword [esp + 0x20], eax
mov dword [esp + 0x3f24], eax
lea eax, [edi + 1]
cmp eax, ecx
jb 0x1005e378
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e374
cmp dword [eax], 0
jne 0x1005e374
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005e39f
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1005e38f
sub eax, 1
jne 0x1005e39f
shl ecx, 0x10
jmp 0x1005e39f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
add esi, ecx
push esi
lea ecx, [esp + 0x13c]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3f2c], esi
call fcn.1005cd80
add edi, 2
cmp edi, ebp
jb 0x1005e2f0
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [edi]
mov dword [ebx + 0xc], eax
jmp 0x1005def1
mov eax, dword [esp + 0x1c]
mov edi, dword [ebx + 0xc]
sub edi, dword [eax]
sar edi, 3
cmp byte [esp + 0x28], 6
sete dl
xor esi, esi
test edi, edi
je 0x10061eee
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1005e428
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e424
cmp dword [eax], 0
jne 0x1005e424
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005e44e
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1005e43e
sub eax, 1
jne 0x1005e44e
shl ecx, 0x10
jmp 0x1005e44e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x18]
test dl, dl
je 0x1005e461
add ebp, ecx
mov dword [esp + 0x3f24], ebp
jmp 0x1005e46e
add eax, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x3f28], eax
xor dl, 1
lea ecx, [esp + 0x138]
mov byte [esp + 0x3f], dl
mov edx, ebp
push eax
call fcn.1005cd80
mov dl, byte [esp + 0x3f]
inc esi
mov eax, dword [esp + 0x1c]
cmp esi, edi
jb 0x1005e404
mov dword [esp + 0x20], ebp
jmp 0x10061eee
mov eax, dword [ebx + 0xc]
xor ebp, ebp
sub eax, dword [edi]
sar eax, 3
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebp
cmp eax, 6
jb 0x1005e72c
lea edi, [ebp + 2]
nop dword [eax]
mov ecx, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov eax, esi
mov edx, dword [ecx]
sub eax, edx
sar eax, 3
cmp ebp, eax
jb 0x1005e4ef
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e4eb
cmp dword [eax], 0
jne 0x1005e4eb
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [ecx]
xor ecx, ecx
jmp 0x1005e516
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x1005e506
sub eax, 1
jne 0x1005e516
shl ecx, 0x10
jmp 0x1005e516
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x20]
add eax, ecx
mov ecx, esi
sub ecx, edx
mov dword [esp + 0x44], eax
sar ecx, 3
lea eax, [edi - 1]
cmp eax, ecx
jb 0x1005e54d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e549
cmp dword [eax], 0
jne 0x1005e549
mov edx, dword [esp + 0x1c]
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [edx]
xor ecx, ecx
jmp 0x1005e574
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x1005e564
sub eax, 1
jne 0x1005e574
shl ecx, 0x10
jmp 0x1005e574
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x18]
mov eax, esi
sub eax, edx
add ebp, ecx
sar eax, 3
mov dword [esp + 0x4c], ebp
cmp edi, eax
jb 0x1005e5a8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e5a4
cmp dword [eax], 0
jne 0x1005e5a4
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005e5ce
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1005e5be
sub eax, 1
jne 0x1005e5ce
shl ecx, 0x10
jmp 0x1005e5ce
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x44]
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 0x1005e605
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e601
cmp dword [eax], 0
jne 0x1005e601
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005e62c
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1005e61c
sub eax, 1
jne 0x1005e62c
shl ecx, 0x10
jmp 0x1005e62c
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 0x1005e65b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e657
cmp dword [eax], 0
jne 0x1005e657
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005e682
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x1005e672
sub eax, 1
jne 0x1005e682
shl ecx, 0x10
jmp 0x1005e682
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x48]
sub esi, edx
add eax, ecx
sar esi, 3
mov dword [esp + 0x20], eax
lea eax, [edi + 3]
cmp eax, esi
jb 0x1005e6ae
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e6aa
cmp dword [eax], 0
jne 0x1005e6aa
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005e6d5
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x1005e6c5
sub eax, 1
jne 0x1005e6d5
shl ecx, 0x10
jmp 0x1005e6d5
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x20]
lea eax, [ecx + ebp]
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x138]
push eax
push esi
push ebp
push dword [esp + 0x54]
mov dword [esp + 0x28], eax
push dword [esp + 0x5c]
call fcn.1005cf00
mov ebp, dword [esp + 0x38]
add edi, 6
add ebp, 6
mov dword [esp + 0x3f24], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x3f28], esi
lea eax, [edi + 4]
mov dword [esp + 0x38], ebp
cmp eax, dword [esp + 0x34]
jbe 0x1005e4c0
mov edi, dword [esp + 0x1c]
cmp byte [esp + 0x28], 0x18
jne 0x1005e818
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov esi, dword [edi]
sub eax, esi
sar eax, 3
cmp ebp, eax
jb 0x1005e763
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e75f
cmp dword [eax], 0
jne 0x1005e75f
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1005e789
mov eax, dword [esi + ebp*8 + 4]
mov edx, dword [esi + ebp*8]
sub eax, 1
je 0x1005e779
sub eax, 1
jne 0x1005e789
shl edx, 0x10
jmp 0x1005e789
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x20]
sub ecx, esi
add eax, edx
sar ecx, 3
mov dword [esp + 0x20], eax
mov dword [esp + 0x3f24], eax
lea eax, [ebp + 1]
cmp eax, ecx
jb 0x1005e7bc
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e7b8
cmp dword [eax], 0
jne 0x1005e7b8
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005e7e2
mov ecx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
sub eax, 1
je 0x1005e7d2
sub eax, 1
jne 0x1005e7e2
shl ecx, 0x10
jmp 0x1005e7e2
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x20]
add esi, ecx
push esi
mov edx, ebp
mov dword [esp + 0x1c], esi
lea ecx, [esp + 0x13c]
mov dword [esp + 0x3f2c], esi
call fcn.1005cd80
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005def1
mov eax, dword [edi]
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005def1
test al, al
je case.0x1005e00f.0
cmp byte [esp + 0x2ec8], 0
je 0x1005e8bb
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005cd80
cmp byte [esp + 0x2f18], 0
je 0x1005e89b
push 1
push dword [esp + 0x2f00]
lea eax, [esp + 0x2ef8]
push dword [esp + 0x2f00]
lea edx, [esp + 0x14c]
push eax
lea ecx, [esp + 0x148]
call fcn.1005c7f0
mov byte [esp + 0x2ecb], 1
mov byte [esp + 0x2ec8], 0
mov byte [esp + 0x2ec9], 0
mov byte [esp + 0x2f18], 0
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x27], 1
mov dword [ebx + 0xc], eax
jmp 0x1005def1
cmp ecx, 0x10
jg 0x10062790
lea eax, [ecx + 1]
cmp eax, dword [esp + 0x98]
jb 0x1005e8ff
mov eax, dword [esp + 0x94]
test eax, eax
je 0x1005e8fd
cmp dword [eax], 0
jne 0x1005e8fd
mov dword [eax], 0x82
xor eax, eax
imul eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x6c]
add edx, eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x10], edx
cmp eax, dword [edi]
jne 0x1005e92e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e92a
cmp dword [eax], 0
jne 0x1005e92a
mov dword [eax], 0xa1
xor eax, eax
jmp 0x1005e952
cmp dword [eax - 4], 2
je 0x1005e94a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e946
cmp dword [eax], 0
jne 0x1005e946
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1005e952
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x40]
cmp byte [ecx + 8], 0
je 0x1005e97f
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x268]
test ecx, ecx
je 0x1005e97f
push eax
call fcn.10049b90
mov edx, dword [esp + 0x10]
test eax, eax
je 0x1005e97c
mov eax, dword [eax]
jmp 0x1005e97f
or eax, 0xffffffff
cmp byte [esp + 0x28], 0x1d
xorps xmm0, xmm0
mov ecx, dword [esp + 0x2c]
movups xmmword [edx], xmm0
je 0x1005ea48
mov ecx, dword [ecx + 0x234]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x22c]
jae 0x10062790
mov eax, dword [eax + 0x23c]
lea edx, [ecx*4]
mov ecx, dword [edx + eax]
mov eax, dword [esp + 0x10]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x30], 0
je 0x1005ea16
mov eax, dword [eax + 0x264]
test eax, eax
je 0x1005e9ee
test ecx, ecx
je 0x1005e9e6
mov eax, dword [eax + edx]
add eax, ecx
mov ecx, dword [esp + 0x10]
jmp 0x1005ea24
mov ecx, dword [esp + 0x10]
xor eax, eax
jmp 0x1005ea24
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], 0
mov eax, dword [eax + 0x260]
test eax, eax
cmovs eax, dword [esp + 0x4c]
add eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x2c]
jmp 0x1005ea1a
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x23c]
mov eax, dword [edx + eax + 4]
mov edx, 8
mov dword [esp + 0x1c], edi
mov dword [ecx + edx], eax
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
mov eax, dword [edx + 4]
mov dword [edx + 0xc], eax
jmp 0x1005def1
mov ecx, dword [ecx + 0x238]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x230]
jae 0x10062790
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 + 0x2c]
mov eax, dword [eax + 0x240]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [edx + 8], eax
mov dword [esp + 0x14], ecx
jmp 0x1005def1
cmp ecx, 1
jl 0x10062790
dec ecx
mov eax, ecx
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x98]
jb 0x1005eabf
mov eax, dword [esp + 0x94]
test eax, eax
je 0x1005eabd
cmp dword [eax], 0
jne 0x1005eabd
mov dword [eax], 0x82
xor eax, eax
mov edx, dword [esp + 0x9c]
imul edx, eax
add edx, dword [esp + 0x6c]
mov dword [esp + 0x10], edx
jmp 0x1005def1
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 8]
jae 0x1005eaea
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
jmp 0x1005eafd
mov eax, dword [edx]
test eax, eax
je 0x1005eafb
cmp dword [eax], 0
jne 0x1005eafb
mov dword [eax], 0x55
xor cl, cl
movzx eax, cl
add eax, 0xfffffff8
mov byte [esp + 0x3f], cl
cmp eax, 0x1d
ja case.0x1005eb17.9
movzx eax, byte [eax + 0x10062f8c]
jmp dword [eax*4 + 0x10062f74]
push 0
push 0x101e1378
jmp 0x1005eb84
push 0
push 0x101e121c
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f34]
push eax
lea edx, [esp + 0x3f34]
call fcn.1005d430
mov esi, dword [esp + 0x3f28]
mov ebp, dword [esp + 0x3f24]
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], ebp
mov dword [ebx + 0xc], eax
jmp 0x1005def1
push 0
push 0x101e13a4
jmp 0x1005eb84
push 1
push 0x101e153c
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f34]
push eax
lea edx, [esp + 0x3f34]
call fcn.1005d430
mov esi, dword [esp + 0x3f28]
mov ebp, dword [esp + 0x3f24]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], ebp
jmp 0x1005def1
mov eax, dword [esp + 0x40]
cmp byte [eax + 9], 0
jne case.0x1005ec11.0
cmp cl, 0x26
jae case.0x1005ec11.0
mov al, byte [eax + 8]
test al, al
je 0x1005ec05
cmp dword [esp + 0x5c], 0
jle 0x1005ec05
cmp cl, 0x11
je 0x1005ec05
mov eax, dword [edi]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x5c], 0
mov dword [ebx + 0xc], eax
jmp 0x1005def1
movzx ecx, cl
cmp ecx, 0x21
ja case.0x1005ec11.0
jmp dword [ecx*4 + 0x10062fac]
test al, al
je case.0x1005ec11.0
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x1005ec44
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ec40
cmp dword [eax], 0
jne 0x1005ec40
mov dword [eax], 0x82
xor esi, esi
jmp 0x1005ec68
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005ec58
sub eax, 1
jne 0x1005ec68
shl esi, 0x10
jmp 0x1005ec68
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 0x1005ec8d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ec89
cmp dword [eax], 0
jne 0x1005ec89
mov dword [eax], 0x82
xor edi, edi
jmp 0x1005ecb2
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, 1
je 0x1005eca2
sub eax, 1
jne 0x1005ecb2
shl edi, 0x10
jmp 0x1005ecb2
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov ebp, dword [esp + 0x1c]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp]
sub eax, ecx
sar eax, 3
cmp eax, 4
ja 0x1005ecdc
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ecd8
cmp dword [eax], 0
jne 0x1005ecd8
mov dword [eax], 0x82
xor edx, edx
jmp 0x1005ed01
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x20]
sub eax, 1
je 0x1005ecf1
sub eax, 1
jne 0x1005ed01
shl edx, 0x10
jmp 0x1005ed01
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 0x1005ed27
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ed23
cmp dword [eax], 0
jne 0x1005ed23
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005ed4c
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub eax, 1
je 0x1005ed3c
sub eax, 1
jne 0x1005ed4c
shl ecx, 0x10
jmp 0x1005ed4c
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
mov ebp, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ebp
sar eax, 3
cmp eax, 2
jae 0x1005ed73
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ed89
cmp dword [eax], 0
jne 0x1005ed89
mov dword [eax], 0x82
jmp 0x1005ed89
mov eax, edi
sub eax, ecx
sub eax, esi
mov dword [ebp + 0x10], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [eax + 0x14], 0
mov eax, dword [esp + 0x1c]
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, esi
sar eax, 3
cmp eax, 3
ja 0x1005edb2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005edae
cmp dword [eax], 0
jne 0x1005edae
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005edd7
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
sub eax, 1
je 0x1005edc7
sub eax, 1
jne 0x1005edd7
shl ecx, 0x10
jmp 0x1005edd7
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, esi
sar eax, 3
cmp eax, 4
jae 0x1005edfe
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ee12
cmp dword [eax], 0
jne 0x1005ee12
mov dword [eax], 0x82
jmp 0x1005ee12
mov eax, dword [esp + 0x1c]
sub edx, ecx
sub edx, edi
mov dword [esi + 0x20], edx
mov eax, dword [eax]
mov dword [eax + 0x24], 0
cmp byte [esp + 0x3f], 1
mov ebp, dword [esp + 0x2c]
mov eax, dword [ebp + 0x20]
jne 0x1005ee24
mov eax, dword [eax]
jmp 0x1005ee27
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0xc0]
push eax
lea eax, [esp + 0x2b]
push eax
push dword [esp + 0x68]
lea eax, [esp + 0xac]
cmovne eax, edx
mov edx, ebx
push eax
call fcn.1005d200
cmp byte [ebp + 0x224], 0
jne 0x100628df
mov ebp, dword [esp + 0x20]
jmp 0x100616bb
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005ee81
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ee7d
cmp dword [eax], 0
jne 0x1005ee7d
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005eeab
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005ee9b
sub eax, 1
jne 0x1005eeab
shl edx, 0x10
jmp 0x1005eeab
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 0x1005ef08
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eec4
cmp dword [eax], 0
jne 0x1005eec4
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 0x1006242a
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005def1
cmp dword [eax], 0
jne 0x1005def1
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005def1
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005ef22
sub eax, 1
jne 0x1005ef32
shl ecx, 0x10
jmp 0x1005ef32
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
je 0x1005eec4
test edx, edx
je 0x1005eec4
mov edx, 1
jmp 0x1005eec6
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005ef5e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ef5a
cmp dword [eax], 0
jne 0x1005ef5a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005ef88
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005ef78
sub eax, 1
jne 0x1005ef88
shl edx, 0x10
jmp 0x1005ef88
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 0x1005efa3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005efd5
cmp dword [eax], 0
jne 0x1005efd5
mov dword [eax], 0xa1
jmp 0x1005efd5
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005efbd
sub eax, 1
jne 0x1005efcd
shl ecx, 0x10
jmp 0x1005efcd
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
jne 0x1005ef3a
test edx, edx
jne 0x1005ef3a
jmp 0x1005eec4
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005efff
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005effb
cmp dword [eax], 0
jne 0x1005effb
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f029
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005f019
sub eax, 1
jne 0x1005f029
shl edx, 0x10
jmp 0x1005f029
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 0x1005eed9
mov ecx, dword [esp + 0x14]
xor eax, eax
test edx, edx
mov edx, dword [esp + 0x10]
sete al
mov dword [esi], eax
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x18]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1005def1
test al, al
je case.0x1005ec11.0
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x10062640
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f095
cmp dword [eax], 0
jne 0x1005f095
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10062664
test al, al
je case.0x1005ec11.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005f0c1
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f0bd
cmp dword [eax], 0
jne 0x1005f0bd
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f0eb
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005f0db
sub eax, 1
jne 0x1005f0eb
shl ecx, 0x10
jmp 0x1005f0eb
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + 0x24]
mov dword [eax + 4], ecx
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005f112
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f10e
cmp dword [eax], 0
jne 0x1005f10e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f13c
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005f12c
sub eax, 1
jne 0x1005f13c
shl ecx, 0x10
jmp 0x1005f13c
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 0x1005f15e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f15a
cmp dword [eax], 0
jne 0x1005f15a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f188
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005f178
sub eax, 1
jne 0x1005f188
shl edx, 0x10
jmp 0x1005f188
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 0x1005f1a5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f1a1
cmp dword [eax], 0
jne 0x1005f1a1
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f1cf
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005f1bf
sub eax, 1
jne 0x1005f1cf
shl ecx, 0x10
jmp 0x1005f1cf
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x2c]
mov byte [esp + 0x27], 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 0x100628df
cmp byte [esp + 0x33], 0
mov esi, dword [esp + 0x18]
je 0x100616c3
mov eax, dword [edi]
add ebp, ecx
mov ecx, dword [esp + 0x14]
add esi, edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x3f24], ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
mov dword [ebx + 0xc], eax
jmp 0x1005def1
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005f2a3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f241
cmp dword [eax], 0
jne 0x1005f241
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 + 0x1c]
add ecx, ebp
mov ebp, dword [esp + 0x20]
cdq
xor eax, edx
sub eax, edx
cmp esi, ecx
jne 0x1005f656
mov esi, dword [esp + 0x18]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005def1
cmp dword [eax], 0
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
jne 0x1005def1
mov dword [eax], 0x82
jmp 0x1005def1
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005f2bd
sub eax, 1
jne 0x1005f2cd
shl ecx, 0x10
jmp 0x1005f2cd
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 0x1005f24c
lea eax, [edi*8]
mov edi, dword [esp + 0x1c]
add eax, ebp
mov ebp, dword [esp + 0x20]
cmp esi, eax
jne 0x1005f31e
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060edc
cmp dword [eax], 0
jne 0x10060edc
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1005def1
mov ecx, dword [esp + 0x14]
mov dword [esi], 0x7fffffff
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1005def1
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005f35c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f358
cmp dword [eax], 0
jne 0x1005f358
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f386
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005f376
sub eax, 1
jne 0x1005f386
shl esi, 0x10
jmp 0x1005f386
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 0x1005f3a3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f39f
cmp dword [eax], 0
jne 0x1005f39f
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f3cd
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005f3bd
sub eax, 1
jne 0x1005f3cd
shl edx, 0x10
jmp 0x1005f3cd
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x10]
mov edi, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edi, eax
jne 0x1005f40f
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005def1
cmp dword [eax], 0
jne 0x1005def1
mov dword [eax], 0x82
jmp 0x1005def1
mov ecx, dword [esp + 0x14]
lea eax, [edx + esi]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov dword [edi], eax
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x1c]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1005def1
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005f454
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f450
cmp dword [eax], 0
jne 0x1005f450
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f47e
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005f46e
sub eax, 1
jne 0x1005f47e
shl esi, 0x10
jmp 0x1005f47e
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 0x1005f49b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f497
cmp dword [eax], 0
jne 0x1005f497
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f4c5
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005f4b5
sub eax, 1
jne 0x1005f4c5
shl edx, 0x10
jmp 0x1005f4c5
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x10]
mov edi, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edi, eax
je 0x1005f3e0
mov ecx, dword [esp + 0x14]
sub edx, esi
mov esi, dword [esp + 0x18]
mov dword [edi], edx
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1005def1
test al, al
je 0x1005f5b0
cmp byte [esp + 0x58], 0
je 0x1005f5b0
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f533
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f52f
cmp dword [eax], 0
jne 0x1005f52f
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f557
cmp dword [eax - 4], 2
je 0x1005f54f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f54b
cmp dword [eax], 0
jne 0x1005f54b
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005f557
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f57b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f570
cmp dword [eax], 0
jne 0x1005f570
mov dword [eax], 0xa1
xor ecx, ecx
mov byte [esp + 0x58], cl
jmp 0x1005f63e
cmp dword [eax - 4], 2
je 0x1005f59e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f593
cmp dword [eax], 0
jne 0x1005f593
mov dword [eax], 0xa0
xor ecx, ecx
mov byte [esp + 0x58], cl
jmp 0x1005f63e
add eax, 0xfffffff8
mov byte [esp + 0x58], 0
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
jmp 0x1005f63e
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005f5cd
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f5c9
cmp dword [eax], 0
jne 0x1005f5c9
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f5f7
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005f5e7
sub eax, 1
jne 0x1005f5f7
shl edx, 0x10
jmp 0x1005f5f7
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 0x1005f614
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f610
cmp dword [eax], 0
jne 0x1005f610
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f63e
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005f62e
sub eax, 1
jne 0x1005f63e
shl ecx, 0x10
jmp 0x1005f63e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.10048c90
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
je 0x1005eed9
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esi], eax
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1005def1
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005f6c9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f690
cmp dword [eax], 0
jne 0x1005f690
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 0x1005eed9
mov esi, dword [esp + 0x18]
neg ecx
mov dword [edx], ecx
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1005def1
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005f6e3
sub eax, 1
jne 0x1005f6f3
shl ecx, 0x10
jmp 0x1005f6f3
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 0x1005f69b
lea eax, [esi + eax*8]
cmp edx, eax
jne 0x1005f736
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060ed8
cmp dword [eax], 0
jne 0x10060ed8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005def1
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [edx], 0x7fffffff
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x10]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1005def1
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005f778
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f774
cmp dword [eax], 0
jne 0x1005f774
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f7a2
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005f792
sub eax, 1
jne 0x1005f7a2
shl esi, 0x10
jmp 0x1005f7a2
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 0x1005f7bf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f7bb
cmp dword [eax], 0
jne 0x1005f7bb
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f7e9
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005f7d9
sub eax, 1
jne 0x1005f7e9
shl edx, 0x10
jmp 0x1005f7e9
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x10]
mov edi, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edi, eax
je 0x1005f3e0
mov ecx, dword [esp + 0x14]
xor eax, eax
cmp edx, esi
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
sete al
mov dword [edi], eax
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x1c]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1005def1
mov ecx, dword [esp + 0x14]
test al, al
je 0x1005def1
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f855
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f851
cmp dword [eax], 0
jne 0x1005f851
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f879
cmp dword [eax - 4], 2
je 0x1005f871
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f86d
cmp dword [eax], 0
jne 0x1005f86d
mov dword [eax], 0xa0
xor esi, esi
jmp 0x1005f879
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f896
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f892
cmp dword [eax], 0
jne 0x1005f892
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005f8ba
cmp dword [eax - 4], 2
je 0x1005f8b2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f8ae
cmp dword [eax], 0
jne 0x1005f8ae
mov dword [eax], 0xa0
xor edi, edi
jmp 0x1005f8ba
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 0xc]
mov ebp, ecx
mov dword [esp + 0x34], edi
mov dword [esp + 0x54], 0
mov edx, dword [eax]
sub ebp, edx
sar ebp, 3
sub ebp, edi
mov dword [esp + 0x5c], 0
mov dword [esp + 0x48], ebp
cmp esi, 0x1c
ja case.default.0x1005f8f4
movzx eax, byte [esi + 0x10063074]
jmp dword [eax*4 + 0x10063034]
cmp edi, 3
jne 0x10062790
cmp byte [esp + 0x33], 0
je 0x1005f929
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x1d4], 0
je 0x10062790
cmp dword [eax + 0x1d8], 7
jne 0x10062790
mov eax, dword [ebx + 0x10]
mov ebp, dword [esp + 0x20]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1005f94b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f95b
cmp dword [eax], 0
jne 0x1005f95b
mov dword [eax], 0x82
jmp 0x1005f95b
mov dword [ecx], ebp
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov edi, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov esi, dword [esp + 0x18]
mov eax, dword [edi]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x1005f999
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f9a9
cmp dword [eax], 0
jne 0x1005f9a9
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov dword [esp + 0x54], 2
jmp 0x1005def1
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x54], 2
jmp 0x1005def1
test edi, edi
jne 0x10062790
cmp byte [esp + 0x33], 0
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
je 0x1005def1
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0xc]
movsx eax, word [esi + 0x16]
movsx ecx, word [esi + 0x3a]
add eax, 6
add eax, ecx
cmp eax, dword [esi + 4]
jbe 0x1005fa14
push 0
mov edx, 6
mov ecx, esi
call fcn.10049390
test eax, eax
jne 0x100628df
mov ecx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov dword [ecx + 0x1d4], 1
mov dword [ecx + 0x1d8], 0
mov ecx, dword [esp + 0x14]
jmp 0x1005def1
test edi, edi
jne 0x10062790
cmp byte [esp + 0x33], 0
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
je 0x1005def1
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 0x1d4], 0
je 0x10062790
mov esi, dword [ecx + 0x1d8]
lea eax, [esi + 1]
mov dword [ecx + 0x1d8], eax
lea eax, [esi - 1]
cmp eax, 5
ja 0x10060ed0
mov edi, dword [ecx + 0xc]
movsx eax, word [edi + 0x16]
movsx ecx, word [edi + 0x3a]
inc eax
add eax, ecx
cmp eax, dword [edi + 4]
jbe 0x1005fac1
push 0
mov edx, 1
mov ecx, edi
call fcn.10049390
test eax, eax
jne 0x10062790
lea eax, [esi - 3]
cmp esi, 3
jg 0x1005facb
mov eax, esi
mov ebp, dword [esp + 0x20]
add eax, eax
mov ecx, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x3e68], ebp
mov dword [esp + eax*4 + 0x3e6c], ecx
cmp esi, 3
je 0x1005faf1
cmp esi, 6
jne 0x10060ed4
push dword [esp + 0x3e84]
mov edx, dword [esp + 0x3e74]
lea ecx, [esp + 0x13c]
push dword [esp + 0x3e84]
push dword [esp + 0x3e84]
push dword [esp + 0x3e84]
push dword [esp + 0x3e84]
call fcn.1005cf00
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1005def1
cmp edi, 1
jne 0x10062790
cmp byte [esp + 0x33], 0
je 0x1005fb9c
mov eax, dword [esp + 0x64]
xorps xmm0, xmm0
movups xmmword [esp + 0x100], xmm0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xd4], 0
movq qword [esp + 0x110], xmm0
mov dword [esp + 0x118], 0
mov dword [esp + 0x100], eax
mov byte [esp + 0x104], 0
mov byte [esp + 0x105], 1
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x54], 1
jmp 0x1005def1
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], edx
mov edx, dword [esp + 0x10]
jmp 0x1005def1
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x284]
mov dword [esp + 0x28], ecx
test ecx, ecx
je 0x10062790
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 + 0x54], edx
cmp edi, eax
jne 0x10062790
lea edi, [edx + ebp]
test edx, edx
je 0x1005fd4e
mov dword [esp + 0x44], edx
nop dword [eax]
mov eax, dword [esp + 0x1c]
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, esi
sar eax, 3
cmp ebp, eax
jb 0x1005fc48
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fc44
cmp dword [eax], 0
jne 0x1005fc44
mov dword [eax], 0x82
xor esi, esi
jmp 0x1005fc6e
mov eax, dword [esi + ebp*8 + 4]
mov esi, dword [esi + ebp*8]
sub eax, 1
je 0x1005fc5e
sub eax, 1
jne 0x1005fc6e
shl esi, 0x10
jmp 0x1005fc6e
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp dword [ecx], 1
jbe 0x1005fd01
mov ebp, 1
mov dword [esp + 0x38], 4
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, edx
sar eax, 3
cmp edi, eax
jb 0x1005fcac
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fca8
cmp dword [eax], 0
jne 0x1005fca8
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005fcd2
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1005fcc2
sub eax, 1
jne 0x1005fcd2
shl ecx, 0x10
jmp 0x1005fcd2
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
mov edx, dword [edx + 0x88]
mov edx, dword [edx + eax]
call fcn.10040490
mov ecx, dword [esp + 0x28]
inc ebp
add dword [esp + 0x38], 4
add esi, eax
inc edi
cmp ebp, dword [ecx]
jb 0x1005fc84
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp ebp, eax
jbe 0x1005fd27
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fd38
cmp dword [eax], 0
jne 0x1005fd38
mov dword [eax], 0x82
jmp 0x1005fd38
mov eax, dword [esp + 0x1c]
mov dword [ecx + ebp*8], esi
mov eax, dword [eax]
mov dword [eax + ebp*8 + 4], 0
mov ecx, dword [esp + 0x28]
inc ebp
sub edx, 1
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], edx
jne 0x1005fc20
mov edi, dword [esp + 0x1c]
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [esp + 0x34]
sub edx, dword [esp + 0x54]
sub eax, dword [edi]
sar eax, 3
cmp edx, eax
jbe 0x1005fd8f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fd9b
cmp dword [eax], 0
jne 0x1005fd9b
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0xa1
jmp 0x1005def1
lea eax, [edx*8]
sub ecx, eax
mov dword [ebx + 0xc], ecx
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1005def1
mov ebp, dword [esp + 0x2c]
mov esi, dword [ebp + 0x284]
cmp edi, 1
jne 0x10062790
test esi, esi
je 0x10062790
cmp ecx, edx
jne 0x1005fde5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fde1
cmp dword [eax], 0
jne 0x1005fde1
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005fe11
cmp dword [ecx - 4], 2
je 0x1005fe01
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fdfd
cmp dword [eax], 0
jne 0x1005fdfd
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005fe11
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x10062790
mov edx, dword [esi]
lea eax, [edx + ecx]
cmp eax, dword [ebp + 0x28c]
ja 0x10062790
lea eax, [edx*4]
push eax
mov eax, dword [ebp + 0x288]
push dword [esi + 0x88]
lea eax, [eax + ecx*4]
push eax
call fcn.101a3550
mov ebp, dword [esp + 0x2c]
add esp, 0xc
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1005def1
cmp edi, 2
jne 0x10062790
cmp ecx, edx
jne 0x1005fe7e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fe7a
cmp dword [eax], 0
jne 0x1005fe7a
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005fea8
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005fe98
sub eax, 1
jne 0x1005fea8
shl esi, 0x10
jmp 0x1005fea8
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov ebp, dword [esp + 0x1c]
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [ebp]
jne 0x1005feca
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fec6
cmp dword [eax], 0
jne 0x1005fec6
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005fef4
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005fee4
sub eax, 1
jne 0x1005fef4
shl edx, 0x10
jmp 0x1005fef4
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 0x1005ff37
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ff4a
cmp dword [eax], 0
jne 0x1005ff4a
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov dword [esp + 0x54], 1
jmp 0x1005def1
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 + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x54], 1
jmp 0x1005def1
cmp edi, 2
jne 0x10062790
cmp ecx, edx
jne 0x1005ff8e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ff8a
cmp dword [eax], 0
jne 0x1005ff8a
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005ffb8
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005ffa8
sub eax, 1
jne 0x1005ffb8
shl esi, 0x10
jmp 0x1005ffb8
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov ebp, dword [esp + 0x1c]
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [ebp]
jne 0x1005ffda
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ffd6
cmp dword [eax], 0
jne 0x1005ffd6
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10060004
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005fff4
sub eax, 1
jne 0x10060004
shl edx, 0x10
jmp 0x10060004
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 0x10060033
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ff4a
cmp dword [eax], 0
jne 0x1005ff4a
mov dword [eax], 0x82
jmp 0x1005ff4a
sub edx, esi
mov dword [edi], edx
jmp 0x1005ff3c
cmp edi, 2
jne 0x10062790
cmp ecx, edx
jne 0x1006005f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006005b
cmp dword [eax], 0
jne 0x1006005b
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10060089
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x10060079
sub eax, 1
jne 0x10060089
shl edx, 0x10
jmp 0x10060089
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov edi, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x100600aa
mov eax, dword [ebx + 4]
test eax, eax
je 0x100600a6
cmp dword [eax], 0
jne 0x100600a6
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100600d4
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x100600c4
sub eax, 1
jne 0x100600d4
shl ecx, 0x10
jmp 0x100600d4
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.10040490
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x10060117
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060127
cmp dword [eax], 0
jne 0x10060127
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov dword [esp + 0x54], 1
jmp 0x1005def1
mov dword [esi], eax
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x54], 1
jmp 0x1005def1
cmp edi, 2
jne 0x10062790
cmp ecx, edx
jne 0x10060167
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060163
cmp dword [eax], 0
jne 0x10060163
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10060191
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x10060181
sub eax, 1
jne 0x10060191
shl edx, 0x10
jmp 0x10060191
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov edi, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x100601b2
mov eax, dword [ebx + 4]
test eax, eax
je 0x100601ae
cmp dword [eax], 0
jne 0x100601ae
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100601dc
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x100601cc
sub eax, 1
jne 0x100601dc
shl ecx, 0x10
jmp 0x100601dc
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test edx, edx
je 0x10062790
call fcn.10048c90
jmp 0x100600d9
cmp edi, 2
jne 0x10062790
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x10062790
cmp ecx, edx
jne 0x10060222
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006021e
cmp dword [eax], 0
jne 0x1006021e
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1006024e
cmp dword [ecx - 4], 2
je 0x1006023e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006023a
cmp dword [eax], 0
jne 0x1006023a
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1006024e
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
test edx, edx
js 0x10062790
cmp edx, dword [ebp + 0x28c]
jae 0x10062790
mov edi, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x10060297
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060277
cmp dword [eax], 0
jne 0x10060277
mov dword [eax], 0xa1
mov eax, dword [ebp + 0x288]
xor ecx, ecx
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov dword [eax + edx*4], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1005def1
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x100602cd
sub eax, 1
jne 0x100602dd
mov eax, dword [ebp + 0x288]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
shl ecx, 0x10
mov dword [eax + edx*4], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1005def1
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [ebp + 0x288]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov dword [eax + edx*4], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1005def1
cmp edi, 1
jne 0x10062790
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x10062790
cmp ecx, edx
jne 0x1006032f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006032b
cmp dword [eax], 0
jne 0x1006032b
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1006035b
cmp dword [ecx - 4], 2
je 0x1006034b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060347
cmp dword [eax], 0
jne 0x10060347
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1006035b
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x10062790
cmp ecx, dword [ebp + 0x28c]
jae 0x10062790
mov eax, dword [ebp + 0x288]
mov edi, dword [esp + 0x1c]
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 0x100600e8
mov dword [edx], esi
jmp 0x10060119
cmp edi, 4
jne 0x10062790
cmp ecx, edx
jne 0x100603b1
mov eax, dword [ebx + 4]
test eax, eax
je 0x100603ad
cmp dword [eax], 0
jne 0x100603ad
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x100603db
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x100603cb
sub eax, 1
jne 0x100603db
shl ebp, 0x10
jmp 0x100603db
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov esi, dword [esp + 0x1c]
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esi]
jne 0x100603fc
mov eax, dword [ebx + 4]
test eax, eax
je 0x100603f8
cmp dword [eax], 0
jne 0x100603f8
mov dword [eax], 0xa1
xor edi, edi
jmp 0x10060426
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x10060416
sub eax, 1
jne 0x10060426
shl edi, 0x10
jmp 0x10060426
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 0x10060443
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006043f
cmp dword [eax], 0
jne 0x1006043f
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1006046d
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1006045d
sub eax, 1
jne 0x1006046d
shl edx, 0x10
jmp 0x1006046d
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 0x1006048a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060486
cmp dword [eax], 0
jne 0x10060486
mov dword [eax], 0xa1
xor esi, esi
jmp 0x100604b4
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x100604a4
sub eax, 1
jne 0x100604b4
shl esi, 0x10
jmp 0x100604b4
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x10]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
mov ecx, dword [ebx + 0xc]
cmp ecx, eax
jne 0x100604e6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ff4a
cmp dword [eax], 0
jne 0x1005ff4a
mov dword [eax], 0x82
jmp 0x1005ff4a
cmp edi, ebp
cmovle edx, esi
mov dword [ecx], edx
jmp 0x1005ff3c
test edi, edi
jne 0x10062790
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
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 0x10060387
jmp 0x100600e8
mov eax, dword [esp + 0x1c]
test edi, edi
js 0x10062790
test esi, esi
js 0x10062790
cmp edi, 3
jle 0x10060569
mov edi, 3
mov dword [esp + 0x5c], edi
jmp 0x10060586
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x5c], edi
cmp edi, 1
jl 0x1005deed
lea esi, [esp + edi*4 + 0x3e5c]
nop dword [eax]
mov edx, dword [ebx + 0xc]
cmp edx, dword [eax]
jne 0x100605ad
mov eax, dword [ebx + 4]
test eax, eax
je 0x100605a9
cmp dword [eax], 0
jne 0x100605a9
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100605d7
lea eax, [edx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [edx - 4]
sub eax, 1
je 0x100605c7
sub eax, 1
jne 0x100605d7
shl ecx, 0x10
jmp 0x100605d7
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
mov dword [esi], ecx
sub esi, 4
sub edi, 1
jne 0x10060590
mov ebp, dword [esp + 0x20]
mov edi, eax
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1005def1
mov ecx, dword [esp + 0x14]
test al, al
je 0x1005def1
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x1006061a
dec eax
mov dword [esp + 0x54], eax
jmp 0x1005def1
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x10062790
mov esi, dword [esp + eax*4 + 0x3e5c]
dec eax
mov dword [esp + 0x5c], eax
mov ecx, dword [ebx + 0x10]
mov eax, dword [edi]
mov edx, dword [ebx + 0xc]
lea eax, [eax + ecx*8]
cmp edx, eax
je 0x1005eed9
mov ecx, dword [esp + 0x14]
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1005def1
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x10060690
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005def1
cmp dword [eax], 0
jne 0x1005def1
mov dword [eax], 0xa1
jmp 0x1005def1
mov ecx, dword [esp + 0x14]
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
jmp 0x1005def1
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x100606bc
mov eax, dword [ebx + 4]
test eax, eax
je 0x100606b8
cmp dword [eax], 0
jne 0x100606b8
mov dword [eax], 0xa1
xor esi, esi
jmp 0x100606e0
cmp dword [eax - 4], 2
je 0x100606d8
mov eax, dword [ebx + 4]
test eax, eax
je 0x100606d4
cmp dword [eax], 0
jne 0x100606d4
mov dword [eax], 0xa0
xor esi, esi
jmp 0x100606e0
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x100606fd
mov eax, dword [ebx + 4]
test eax, eax
je 0x100606f9
cmp dword [eax], 0
jne 0x100606f9
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10060727
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10060717
sub eax, 1
jne 0x10060727
shl ecx, 0x10
jmp 0x10060727
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x10]
cmp esi, 0x1f
ja 0x1005f311
mov dword [esp + esi*4 + 0x3e88], ecx
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1005def1
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1006076f
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060761
cmp dword [eax], 0
jne 0x10060761
mov dword [eax], 0xa1
xor eax, eax
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x10060632
cmp dword [eax - 4], 2
je 0x10060795
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060787
cmp dword [eax], 0
jne 0x10060787
mov dword [eax], 0xa0
xor eax, eax
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x10060632
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x10060edc
cmp eax, 0x20
jge 0x10060edc
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x10060632
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [edi]
jne 0x100607d7
mov eax, dword [ebx + 4]
test eax, eax
je 0x100607d3
cmp dword [eax], 0
jne 0x100607d3
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10060802
add ebp, 0xfffffff8
mov dword [ebx + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x100607f2
sub eax, 1
jne 0x10060802
shl ebp, 0x10
jmp 0x10060802
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 0x1006081f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006081b
cmp dword [eax], 0
jne 0x1006081b
mov dword [eax], 0xa1
xor edi, edi
jmp 0x10060849
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x10060839
sub eax, 1
jne 0x10060849
shl edi, 0x10
jmp 0x10060849
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov esi, dword [esp + 0x1c]
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esi]
jne 0x1006086a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060866
cmp dword [eax], 0
jne 0x10060866
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10060894
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x10060884
sub eax, 1
jne 0x10060894
shl edx, 0x10
jmp 0x10060894
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 0x100608b1
mov eax, dword [ebx + 4]
test eax, eax
je 0x100608ad
cmp dword [eax], 0
jne 0x100608ad
mov dword [eax], 0xa1
xor esi, esi
jmp 0x100608db
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x100608cb
sub eax, 1
jne 0x100608db
shl esi, 0x10
jmp 0x100608db
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x10]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
mov ecx, dword [ebx + 0xc]
cmp ecx, eax
jne 0x100608fb
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jmp 0x1005f26c
cmp edi, ebp
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
cmovle edx, esi
mov esi, dword [esp + 0x18]
mov dword [ecx], edx
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1005def1
mov eax, dword [esp + 0x2c]
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 0x10060645
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060ed8
cmp dword [eax], 0
jne 0x10060ed8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005def1
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x100609b3
mov eax, dword [ebx + 4]
test eax, eax
je 0x100609af
cmp dword [eax], 0
jne 0x100609af
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100609dd
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x100609cd
sub eax, 1
jne 0x100609dd
shl edx, 0x10
jmp 0x100609dd
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 0x100609fa
mov eax, dword [ebx + 4]
test eax, eax
je 0x100609f6
cmp dword [eax], 0
jne 0x100609f6
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10060a24
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x10060a14
sub eax, 1
jne 0x10060a24
shl ecx, 0x10
jmp 0x10060a24
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.10040490
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x1005f656
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060ed8
cmp dword [eax], 0
jne 0x10060ed8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005def1
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [edi]
jne 0x10060aa6
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060a80
cmp dword [eax], 0
jne 0x10060a80
mov dword [eax], 0xa1
xor edi, edi
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov ebp, dword [esp + 0x20]
mov eax, dword [eax]
mov esi, dword [esp + 0x18]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x10060b0e
mov edi, dword [esp + 0x1c]
jmp 0x1005f270
add ebp, 0xfffffff8
mov dword [ebx + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x10060ac1
sub eax, 1
jne 0x10060ad1
shl ebp, 0x10
jmp 0x10060ad1
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
test ebp, ebp
jle 0x10060a80
mov eax, ebp
mov esi, ebp
sar eax, 1
mov ecx, ebp
cmp ebp, 0xa
cmovge esi, eax
mov edx, esi
call fcn.10048c90
lea edi, [esi + 1]
add edi, eax
sar edi, 1
cmp edi, esi
je 0x10060a82
mov edx, edi
mov ecx, ebp
mov esi, edi
call fcn.10048c90
inc edi
add edi, eax
sar edi, 1
cmp edi, esi
jne 0x10060af5
jmp 0x10060a82
mov ecx, dword [esp + 0x14]
mov dword [edx], edi
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1005def1
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x10060b4c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060b48
cmp dword [eax], 0
jne 0x10060b48
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10060b76
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x10060b66
sub eax, 1
jne 0x10060b76
shl edx, 0x10
jmp 0x10060b76
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 0x10060b99
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060ba9
cmp dword [eax], 0
jne 0x10060ba9
mov dword [eax], 0x82
jmp 0x10060ba9
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 0x1006261f
jmp 0x1005eed9
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x10060bde
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060bda
cmp dword [eax], 0
jne 0x10060bda
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10060c08
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x10060bf8
sub eax, 1
jne 0x10060c08
shl esi, 0x10
jmp 0x10060c08
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 0x10060c25
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060c21
cmp dword [eax], 0
jne 0x10060c21
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10060c4f
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x10060c3f
sub eax, 1
jne 0x10060c4f
shl edx, 0x10
jmp 0x10060c4f
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x10]
mov edi, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edi, eax
jne 0x10060c76
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060c86
cmp dword [eax], 0
jne 0x10060c86
mov dword [eax], 0x82
jmp 0x10060c86
mov dword [edi], esi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov edi, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x10]
mov esi, dword [ebx + 0xc]
mov eax, dword [edi]
lea eax, [eax + ecx*8]
cmp esi, eax
jne 0x1006261f
jmp 0x1005eed9
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x10060cbf
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060cbb
cmp dword [eax], 0
jne 0x10060cbb
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10060ce3
cmp dword [eax - 4], 2
je 0x10060cdb
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060cd7
cmp dword [eax], 0
jne 0x10060cd7
mov dword [eax], 0xa0
xor edx, edx
jmp 0x10060ce3
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 + 0x14]
sar eax, 3
test eax, eax
je 0x1005dee3
test edx, edx
jns 0x10060d02
lea ecx, [eax - 1]
jmp 0x10060d2a
cmp edx, eax
jb 0x10060d25
xor ecx, ecx
mov eax, dword [esi + ecx*8 + 4]
mov edx, dword [esi + ecx*8]
sub eax, 1
je 0x10060d47
sub eax, 1
jne 0x10060ba9
shl edx, 0x10
jmp 0x10060ba9
mov ecx, eax
sub ecx, edx
dec ecx
cmp ecx, eax
jb 0x10060d08
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060d40
cmp dword [eax], 0
jne 0x10060d40
mov dword [eax], 0x82
xor edx, edx
jmp 0x10060ba9
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
jmp 0x10060ba9
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x10060d79
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060d75
cmp dword [eax], 0
jne 0x10060d75
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10060d9d
cmp dword [eax - 4], 2
je 0x10060d95
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060d91
cmp dword [eax], 0
jne 0x10060d91
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x10060d9d
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x10060dcf
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060db6
cmp dword [eax], 0
jne 0x10060db6
mov dword [eax], 0xa1
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 2
jmp 0x1005def1
cmp dword [eax - 4], 2
je 0x10060e00
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060de7
cmp dword [eax], 0
jne 0x10060de7
mov dword [eax], 0xa0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 2
jmp 0x1005def1
add eax, 0xfffffff8
mov dword [esp + 0x28], 0
mov dword [ebx + 0xc], eax
mov dword [esp + 0x34], 2
mov edx, dword [eax]
mov dword [esp + 0x38], edx
cmp edx, 2
jl 0x10060ed8
sub eax, dword [edi]
sar eax, 3
cmp edx, eax
jbe 0x10060e55
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060ed8
cmp dword [eax], 0
jne 0x10060ed8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
jmp 0x1005def1
test ecx, ecx
jns 0x10060e68
neg ecx
mov eax, ecx
mov ecx, dword [esp + 0x38]
cdq
idiv ecx
neg edx
jmp 0x10060e71
mov eax, ecx
mov ecx, dword [esp + 0x38]
cdq
idiv ecx
mov dword [esp + 0x44], edx
test edx, edx
je 0x10060ed8
or ebp, 0xffffffff
lea eax, [ecx*8]
mov ebx, ecx
mov dword [esp + 0x48], eax
or esi, ebp
mov dword [esp + 0x4c], ebx
lea edi, [ebp - 7]
cmp ebp, esi
jne 0x10060eb9
mov eax, dword [esp + 0x1c]
inc ebp
mov esi, ebp
mov eax, dword [eax]
lea edi, [ebp*8]
mov ecx, dword [edi + eax]
mov dword [esp + 0x28], ecx
mov ecx, dword [edi + eax + 4]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x34], ecx
lea ecx, [edx*8]
add esi, edx
add edi, ecx
cmp esi, ebx
jl 0x10060ee9
sub esi, ebx
sub edi, eax
jmp 0x10060ef1
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1005def1
test esi, esi
jns 0x10060ef1
add esi, ebx
add edi, eax
sub dword [esp + 0x38], 1
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
mov eax, dword [eax]
mov edx, dword [edi + eax + 4]
mov ecx, dword [edi + eax]
mov dword [edi + eax], ebx
mov ebx, dword [esp + 0x34]
mov dword [edi + eax + 4], ebx
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x28], ecx
jne 0x10060e92
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1005def1
test al, al
je case.0x1005ec11.0
cmp byte [esp + 0x33], 0
je case.0x1005ec11.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x10060f79
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060f75
cmp dword [eax], 0
jne 0x10060f75
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10060fa7
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
mov dword [esp + 0x18], esi
sub eax, 1
je 0x10060f97
sub eax, 1
jne 0x10060fab
shl esi, 0x10
jmp 0x10060fa7
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov dword [esp + 0x18], esi
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x3f28], esi
cmp ecx, dword [edi]
jne 0x10060fcf
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060fcb
cmp dword [eax], 0
jne 0x10060fcb
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10060ffd
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
mov dword [esp + 0x20], ebp
sub eax, 1
je 0x10060fed
sub eax, 1
jne 0x10061001
shl ebp, 0x10
jmp 0x10060ffd
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov dword [esp + 0x20], ebp
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3f24], ebp
mov dword [eax + 0x1d4], 0
mov eax, dword [edi]
mov dword [ebx + 0xc], eax
jmp 0x1005def1
mov eax, dword [esp + 0x40]
cmp byte [eax + 8], 0
je case.0x1005e00f.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1006104f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006104b
cmp dword [eax], 0
jne 0x1006104b
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10061079
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x10061069
sub eax, 1
jne 0x10061079
shl ecx, 0x10
jmp 0x10061079
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x2c]
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 0x100610a9
mov eax, dword [ebx + 4]
test eax, eax
je 0x100610a5
cmp dword [eax], 0
jne 0x100610a5
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100610d3
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100610c3
sub eax, 1
jne 0x100610d3
shl ecx, 0x10
jmp 0x100610d3
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x2c]
mov byte [esp + 0x27], 1
mov eax, dword [edx + 0x20]
add dword [eax], ecx
cmp byte [edx + 0x2f], 0
jne 0x100628df
cmp byte [esp + 0x33], 0
mov edx, dword [esp + 0x10]
je case.0x1005ec11.0
mov eax, dword [edi]
add ebp, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x3f24], ebp
mov dword [ebx + 0xc], eax
jmp 0x1005def1
mov edi, dword [esp + 0x40]
cmp byte [edi + 8], 0
je 0x10062a8d
test ah, ah
jne 0x10062a8d
cmp byte [esp + 0x2ec8], ah
je 0x100611a3
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005cd80
cmp byte [esp + 0x2f18], 0
je 0x1006118b
push 1
push dword [esp + 0x2f00]
lea eax, [esp + 0x2ef8]
push dword [esp + 0x2f00]
lea edx, [esp + 0x14c]
push eax
lea ecx, [esp + 0x148]
call fcn.1005c7f0
mov byte [esp + 0x2ec8], 0
mov byte [esp + 0x2ec9], 0
mov byte [esp + 0x2f18], 0
cmp byte [esp + 0x14c], 0
mov eax, dword [esp + 0x2ed4]
mov dword [esp + 0x2f10], ebp
mov dword [esp + 0x2f00], ebp
mov dword [esp + 0x2f14], esi
mov dword [esp + 0x2f04], esi
mov byte [esp + 0x2ecb], 1
je 0x100611de
cmp byte [eax + 5], 0
je 0x10061202
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005be60
mov eax, dword [esp + 0x64]
lea esi, [esp + 0x140]
mov ecx, 0x3c7
mov byte [esp + 0x33], 1
lea edi, [esp + 0x105c]
mov dword [esp + 0xb4], 0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x14]
xorps xmm0, xmm0
mov dword [esp + 0xd4], 0
movq qword [esp + 0x110], xmm0
mov dword [esp + 0x118], 0
movups xmmword [esp + 0x100], xmm0
mov dword [esp + 0x100], eax
mov byte [esp + 0x104], 0
mov byte [esp + 0x105], 1
test ecx, ecx
jle 0x100612c2
mov ebx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov esi, dword [esp + 0x6c]
nop dword [eax]
lea ebp, [ecx - 1]
cmp ebp, eax
jb 0x100612a8
test ebx, ebx
je 0x100612a6
cmp dword [ebx], 0
jne 0x100612a6
mov dword [ebx], 0x82
xor ebp, ebp
imul ebp, edx
dec ecx
add ebp, esi
mov dword [esp + 0x10], ebp
test ecx, ecx
jg 0x10061290
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov eax, dword [edx + 4]
mov dword [edx + 0xc], eax
mov eax, dword [edi]
mov dword [ebx + 0xc], eax
jmp 0x1005def1
mov eax, dword [ebx + 0xc]
sub eax, dword [edi]
sar eax, 3
cmp eax, 1
jbe 0x100612f9
cmp byte [esp + 0x104], 0
jne case.0x1005e00f.0
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x27]
push 0
push eax
push dword [esp + 0x68]
lea eax, [esp + 0xac]
mov edx, ebx
push eax
call fcn.1005d200
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x100628df
cmp byte [esp + 0x28], 0x13
jne 0x1006135c
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0x100]
add eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x10]
push eax
call fcn.1005d180
mov eax, dword [edi]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005def1
push 0xf1c
lea eax, [esp + 0x2f44]
push 0
push eax
call fcn.101a3ad0
mov ecx, dword [esp + 0x4c]
add esp, 0xc
mov edx, dword [esp + 0x10]
xorps xmm0, xmm0
mov dword [esp + 0x2f40], ecx
movlpd qword [esp + 0x120], xmm0
mov al, byte [ecx + 0xb8]
mov byte [esp + 0x2f4d], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0x2f50], eax
lea eax, [esp + 0x1f78]
mov dword [esp + 0x2f44], eax
lea eax, [esp + 0x2e94]
mov dword [esp + 0x2f48], eax
lea eax, [ecx + 4]
mov dword [esp + 0x11c], eax
lea ecx, [esp + 0x11c]
mov eax, dword [esp + 0xb4]
add eax, dword [esp + 0xd4]
push eax
movlpd qword [esp + 0x12c], xmm0
movlpd qword [esp + 0x134], xmm0
call fcn.1005d180
push 0
push 0
lea eax, [esp + 0x124]
push eax
lea eax, [esp + 0xac]
push eax
lea edx, [esp + 0xd0]
lea ecx, [esp + 0x2f50]
call fcn.1005be60
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005def1
mov eax, dword [ebx + 0xc]
mov edx, dword [edi]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x1006147e
cmp byte [esp + 0x27], 0
jne 0x1006147e
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1006145f
sub eax, 1
jne 0x1006146f
shl ecx, 0x10
jmp 0x1006146f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x8c]
add eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [ecx], eax
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x27], 1
cmp byte [eax + 0x224], 0
jne 0x100628df
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x100614c1
mov eax, dword [ebx + 4]
test eax, eax
je 0x100614ad
cmp dword [eax], 0
jne 0x100614ad
mov dword [eax], 0xa1
xor ecx, ecx
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x10061569
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100614eb
sub eax, 1
jne 0x100614fb
shl ecx, 0x10
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x10061569
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x10061569
mov eax, dword [ebx + 0xc]
mov edx, dword [edi]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x10061553
cmp byte [esp + 0x27], 0
jne 0x10061553
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10061534
sub eax, 1
jne 0x10061544
shl ecx, 0x10
jmp 0x10061544
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x8c]
add eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [ecx], eax
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x27], 1
cmp byte [eax + 0x224], 0
jne 0x100628df
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x10061586
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061582
cmp dword [eax], 0
jne 0x10061582
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100615b0
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100615a0
sub eax, 1
jne 0x100615b0
shl ecx, 0x10
jmp 0x100615b0
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add ebp, ecx
mov dword [esp + 0x3f24], ebp
mov dword [esp + 0x20], ebp
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x1d4], 0
jne 0x100616c3
cmp byte [esp + 0x2ec8], 0
je 0x10061647
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005cd80
cmp byte [esp + 0x2f18], 0
je 0x1006162f
push 1
push dword [esp + 0x2f00]
lea eax, [esp + 0x2ef8]
push dword [esp + 0x2f00]
lea edx, [esp + 0x14c]
push eax
lea ecx, [esp + 0x148]
call fcn.1005c7f0
mov byte [esp + 0x2ec8], 0
mov byte [esp + 0x2ec9], 0
mov byte [esp + 0x2f18], 0
cmp byte [esp + 0x14c], 0
mov eax, dword [esp + 0x2ed4]
mov dword [esp + 0x2f10], ebp
mov dword [esp + 0x2f00], ebp
mov dword [esp + 0x2f14], esi
mov dword [esp + 0x2f04], esi
mov byte [esp + 0x2ecb], 1
je 0x10061682
cmp byte [eax + 5], 0
je 0x100616a6
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005be60
mov ecx, 0x3c7
lea edi, [esp + 0x105c]
lea esi, [esp + 0x140]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov eax, dword [edi]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005def1
mov ebp, dword [ebx + 0xc]
xor esi, esi
sub ebp, dword [edi]
sar ebp, 3
mov dword [esp + 0x44], ebp
cmp ebp, 6
jbe 0x100617d1
lea edi, [esi + 6]
nop
mov edx, dword [esp + 0x1c]
mov eax, dword [ebx + 0xc]
mov ecx, dword [edx]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x10061718
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061714
cmp dword [eax], 0
jne 0x10061714
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006173e
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1006172e
sub eax, 1
jne 0x1006173e
shl ecx, 0x10
jmp 0x1006173e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x20]
mov edx, dword [edx]
add eax, ecx
mov ecx, dword [ebx + 0xc]
sub ecx, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x3f24], eax
lea eax, [edi - 5]
sar ecx, 3
cmp eax, ecx
jb 0x10061776
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061772
cmp dword [eax], 0
jne 0x10061772
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006179d
mov eax, dword [edx + esi*8 + 0xc]
mov ecx, dword [edx + esi*8 + 8]
sub eax, 1
je 0x1006178d
sub eax, 1
jne 0x1006179d
shl ecx, 0x10
jmp 0x1006179d
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
add eax, ecx
push eax
lea ecx, [esp + 0x13c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x3f2c], eax
call fcn.1005cd80
add edi, 2
add esi, 2
cmp edi, ebp
jb 0x100616f0
mov edi, dword [esp + 0x1c]
cmp esi, ebp
mov ebp, dword [esp + 0x20]
jae 0x10061ef2
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 0x10061807
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061803
cmp dword [eax], 0
jne 0x10061803
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006182e
mov eax, dword [edx + esi*8 - 0xc]
mov ecx, dword [edx + esi*8 - 0x10]
sub eax, 1
je 0x1006181e
sub eax, 1
jne 0x1006182e
shl ecx, 0x10
jmp 0x1006182e
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 + 0x48], ebp
sar ecx, 3
cmp eax, ecx
jb 0x1006185b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061857
cmp dword [eax], 0
jne 0x10061857
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061882
mov eax, dword [edx + esi*8 - 4]
mov ecx, dword [edx + esi*8 - 8]
sub eax, 1
je 0x10061872
sub eax, 1
jne 0x10061882
shl ecx, 0x10
jmp 0x10061882
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
add edi, ecx
mov dword [esp + 0x4c], edi
mov ecx, dword [edx]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x100618b4
mov eax, dword [ebx + 4]
test eax, eax
je 0x100618b0
cmp dword [eax], 0
jne 0x100618b0
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100618da
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x100618ca
sub eax, 1
jne 0x100618da
shl ecx, 0x10
jmp 0x100618da
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 0x10061903
mov eax, dword [ebx + 4]
test eax, eax
je 0x100618ff
cmp dword [eax], 0
jne 0x100618ff
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006192a
mov eax, dword [edx + esi*8 + 0xc]
mov ecx, dword [edx + esi*8 + 8]
sub eax, 1
je 0x1006191a
sub eax, 1
jne 0x1006192a
shl ecx, 0x10
jmp 0x1006192a
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
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 0x10061957
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061953
cmp dword [eax], 0
jne 0x10061953
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006197e
mov eax, dword [edx + esi*8 + 0x14]
mov ecx, dword [edx + esi*8 + 0x10]
sub eax, 1
je 0x1006196e
sub eax, 1
jne 0x1006197e
shl ecx, 0x10
jmp 0x1006197e
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 + 0x20], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
sub ecx, edx
sar ecx, 3
lea eax, [esi + 3]
cmp eax, ecx
jb 0x100619b0
mov eax, dword [ebx + 4]
test eax, eax
je 0x100619ac
cmp dword [eax], 0
jne 0x100619ac
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100619d7
mov eax, dword [edx + esi*8 + 0x1c]
mov ecx, dword [edx + esi*8 + 0x18]
sub eax, 1
je 0x100619c7
sub eax, 1
jne 0x100619d7
shl ecx, 0x10
jmp 0x100619d7
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x48]
lea eax, [edi + ecx]
push eax
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x13c]
mov eax, dword [esp + 0x24]
push eax
push edi
push ebp
push dword [esp + 0x5c]
call fcn.1005cf00
mov eax, dword [esp + 0x18]
add esi, 6
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x3f28], eax
lea eax, [esi - 2]
mov dword [esp + 0x3f24], ebp
cmp eax, dword [esp + 0x44]
jb 0x100617e0
jmp 0x10061eee
mov esi, dword [ebx + 0xc]
sub esi, dword [edi]
sar esi, 3
mov ecx, esi
and ecx, 0xfffffffd
sub esi, ecx
mov dword [esp + 0x4c], ecx
cmp esi, ecx
jae 0x10061ef2
lea eax, [esi + 3]
lea edi, [esi + 2]
mov dword [esp + 0x28], eax
lea edx, [esi + 1]
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], edx
nop dword [eax]
sub ecx, esi
test cl, 1
je 0x10061ac6
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x10061a8f
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061a8b
cmp dword [eax], 0
jne 0x10061a8b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061ab5
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10061aa5
sub eax, 1
jne 0x10061ab5
shl ecx, 0x10
jmp 0x10061ab5
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 + 0x34], edx
inc esi
mov dword [esp + 0x38], edi
inc dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x10061aee
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061aea
cmp dword [eax], 0
jne 0x10061aea
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061b14
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10061b04
sub eax, 1
jne 0x10061b14
shl ecx, 0x10
jmp 0x10061b14
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
add edi, ecx
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x10061b42
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061b3e
cmp dword [eax], 0
jne 0x10061b3e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061b68
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10061b58
sub eax, 1
jne 0x10061b68
shl ecx, 0x10
jmp 0x10061b68
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x38]
lea eax, [ecx + ebp]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x10061b9b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061b97
cmp dword [eax], 0
jne 0x10061b97
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061bc1
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10061bb1
sub eax, 1
jne 0x10061bc1
shl ecx, 0x10
jmp 0x10061bc1
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
lea edx, [edi + ecx]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x28], eax
jb 0x10061bee
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061bea
cmp dword [eax], 0
jne 0x10061bea
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061c23
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10061c0c
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x10061c23
shl ecx, 0x10
jmp 0x10061c23
mov eax, dword [esp + 0x28]
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 + 0x1c], eax
lea ecx, [esp + 0x13c]
mov eax, dword [esp + 0x24]
push eax
push edx
push eax
push edi
mov edx, ebp
call fcn.1005cf00
mov edx, dword [esp + 0x34]
add esi, 4
mov edi, dword [esp + 0x38]
add edx, 4
add dword [esp + 0x28], 4
add edi, 4
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3f24], ebp
mov dword [esp + 0x3f28], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edi
cmp esi, ecx
jb 0x10061a60
jmp 0x10061eee
mov esi, dword [ebx + 0xc]
sub esi, dword [edi]
sar esi, 3
mov ecx, esi
and ecx, 0xfffffffd
sub esi, ecx
mov dword [esp + 0x4c], ecx
cmp esi, ecx
jae 0x10061ef2
lea eax, [esi + 3]
lea edi, [esi + 2]
mov dword [esp + 0x28], eax
lea edx, [esi + 1]
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edx
sub ecx, esi
test cl, 1
je 0x10061d22
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x10061ce5
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061ce1
cmp dword [eax], 0
jne 0x10061ce1
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061d0b
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10061cfb
sub eax, 1
jne 0x10061d0b
shl ecx, 0x10
jmp 0x10061d0b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x18]
inc edx
inc edi
mov dword [esp + 0x38], edx
add ebp, ecx
mov dword [esp + 0x34], edi
inc esi
inc dword [esp + 0x28]
jmp 0x10061d26
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x10061d4e
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061d4a
cmp dword [eax], 0
jne 0x10061d4a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061d74
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10061d64
sub eax, 1
jne 0x10061d74
shl ecx, 0x10
jmp 0x10061d74
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
add edi, ecx
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x10061da2
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061d9e
cmp dword [eax], 0
jne 0x10061d9e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061dc8
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10061db8
sub eax, 1
jne 0x10061dc8
shl ecx, 0x10
jmp 0x10061dc8
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
lea edx, [edi + ecx]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x34], eax
jb 0x10061df5
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061df1
cmp dword [eax], 0
jne 0x10061df1
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061e2a
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10061e13
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x10061e2a
shl ecx, 0x10
jmp 0x10061e2a
mov eax, dword [esp + 0x34]
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 + 0x18], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x28], eax
jb 0x10061e5b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061e57
cmp dword [eax], 0
jne 0x10061e57
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061e90
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10061e79
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x10061e90
shl ecx, 0x10
jmp 0x10061e90
mov eax, dword [esp + 0x28]
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 + 0x18]
push ecx
push eax
push ecx
push edx
push ebp
mov edx, edi
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x14c]
call fcn.1005cf00
mov edx, dword [esp + 0x38]
add esi, 4
mov edi, dword [esp + 0x34]
add edx, 4
add dword [esp + 0x28], 4
add edi, 4
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3f24], ebp
mov dword [esp + 0x3f28], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], edi
cmp esi, ecx
jb 0x10061cb6
mov edi, dword [esp + 0x1c]
mov eax, dword [edi]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005def1
mov eax, dword [esp + 0x1c]
mov edi, dword [ebx + 0xc]
sub edi, dword [eax]
sar edi, 3
cmp byte [esp + 0x28], 0x1f
mov eax, edi
sete dl
and eax, 0xfffffffd
sub edi, eax
mov dword [esp + 0x48], eax
cmp edi, eax
jae 0x100623ac
lea eax, [edi + 4]
mov dword [esp + 0x28], eax
lea ebp, [edi + 1]
lea eax, [edi + 3]
mov dword [esp + 0x34], eax
lea eax, [edi + 2]
mov dword [esp + 0x38], eax
nop word [eax + eax]
mov eax, dword [esp + 0x84]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
test dl, dl
je 0x10062167
cmp edi, eax
jb 0x10061f83
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061f7f
cmp dword [eax], 0
jne 0x10061f7f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061fa9
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10061f99
sub eax, 1
jne 0x10061fa9
shl ecx, 0x10
jmp 0x10061fa9
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
add edx, ecx
mov dword [esp + 0x44], esi
mov dword [esp + 0x4c], edx
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp ebp, eax
jb 0x10061fdf
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061fdb
cmp dword [eax], 0
jne 0x10061fdb
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10062005
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x10061ff5
sub eax, 1
jne 0x10062005
shl ecx, 0x10
jmp 0x10062005
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
lea esi, [edx + ecx]
mov edx, dword [esp + 0x38]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x10062034
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062030
cmp dword [eax], 0
jne 0x10062030
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006205a
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1006204a
sub eax, 1
jne 0x1006205a
shl ecx, 0x10
jmp 0x1006205a
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
add edx, ecx
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x34], eax
jb 0x1006208a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062086
cmp dword [eax], 0
jne 0x10062086
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100620bf
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100620a8
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x100620bf
shl ecx, 0x10
jmp 0x100620bf
mov eax, dword [esp + 0x34]
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 + 0x18], eax
mov eax, dword [esp + 0x48]
sub eax, edi
cmp eax, 5
jne 0x10062158
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x28], eax
jb 0x100620ff
mov eax, dword [ebx + 4]
test eax, eax
je 0x100620fb
cmp dword [eax], 0
jne 0x100620fb
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10062134
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1006211d
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x10062134
shl ecx, 0x10
jmp 0x10062134
mov eax, dword [esp + 0x28]
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 + 0x38]
add ecx, esi
inc dword [esp + 0x34]
inc eax
inc dword [esp + 0x28]
inc edi
inc ebp
mov dword [esp + 0x38], eax
xor al, al
mov dword [esp + 0x20], ecx
mov byte [esp + 0x3f], al
jmp 0x10062352
xor al, al
mov dword [esp + 0x20], esi
mov byte [esp + 0x3f], al
jmp 0x10062352
mov edx, dword [esp + 0x20]
mov dword [esp + 0x4c], edx
cmp edi, eax
jb 0x10062189
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062185
cmp dword [eax], 0
jne 0x10062185
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100621af
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x1006219f
sub eax, 1
jne 0x100621af
shl ecx, 0x10
jmp 0x100621af
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [ecx + esi]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp ebp, eax
jb 0x100621de
mov eax, dword [ebx + 4]
test eax, eax
je 0x100621da
cmp dword [eax], 0
jne 0x100621da
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10062204
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x100621f4
sub eax, 1
jne 0x10062204
shl ecx, 0x10
jmp 0x10062204
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
lea esi, [ecx + edx]
mov edx, dword [esp + 0x38]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp edx, eax
jb 0x10062233
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006222f
cmp dword [eax], 0
jne 0x1006222f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10062259
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10062249
sub eax, 1
jne 0x10062259
shl ecx, 0x10
jmp 0x10062259
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x44]
add edx, ecx
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x34], eax
jb 0x10062289
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062285
cmp dword [eax], 0
jne 0x10062285
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100622be
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100622a7
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x100622be
shl ecx, 0x10
jmp 0x100622be
mov eax, dword [esp + 0x34]
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 + 0x20], eax
mov eax, dword [esp + 0x48]
sub eax, edi
cmp eax, 5
jne 0x10062349
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x28], eax
jb 0x100622fe
mov eax, dword [ebx + 4]
test eax, eax
je 0x100622fa
cmp dword [eax], 0
jne 0x100622fa
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10062333
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1006231c
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x10062333
shl ecx, 0x10
jmp 0x10062333
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
inc dword [esp + 0x38]
add ecx, edx
inc dword [esp + 0x34]
inc edi
inc ebp
mov dword [esp + 0x18], ecx
inc dword [esp + 0x28]
jmp 0x1006234d
mov dword [esp + 0x18], edx
mov byte [esp + 0x3f], 1
push dword [esp + 0x18]
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x13c]
push eax
push edx
mov edx, dword [esp + 0x58]
push esi
push dword [esp + 0x54]
call fcn.1005cf00
add dword [esp + 0x38], 4
add edi, 4
add dword [esp + 0x34], 4
add ebp, 4
add dword [esp + 0x28], 4
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov dl, byte [esp + 0x3f]
mov dword [esp + 0x3f24], eax
mov dword [esp + 0x3f28], esi
cmp edi, dword [esp + 0x48]
jb 0x10061f50
mov ebp, eax
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [edi]
mov dword [ebx + 0xc], eax
jmp 0x1005def1
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x100623d9
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edx, cl
jmp 0x100623ec
mov eax, dword [esi]
test eax, eax
je 0x100623ea
cmp dword [eax], 0
jne 0x100623ea
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x1006240a
mov cl, byte [eax]
inc eax
shl edx, 8
mov dword [esi + 0xc], eax
movzx eax, cl
movsx edx, dx
or edx, eax
jmp 0x1005eec6
mov eax, dword [esi]
test eax, eax
je 0x1006241b
cmp dword [eax], 0
jne 0x1006241b
mov dword [eax], 0x55
shl edx, 8
xor eax, eax
movsx edx, dx
or edx, eax
jmp 0x1005eec6
mov ecx, dword [esp + 0x14]
mov dword [esi], edx
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1005def1
cmp byte [esp + 0x28], 0xf6
ja 0x10062470
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 0x10062500
jmp 0x1005eed9
cmp byte [esp + 0x28], 0xfa
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
ja 0x100624b8
shl edx, 8
cmp eax, ecx
jae 0x1006249b
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx eax, cl
lea esi, [eax - 0xf694]
add esi, edx
jmp 0x10062458
mov eax, dword [esi]
test eax, eax
je 0x100624ac
cmp dword [eax], 0
jne 0x100624ac
mov dword [eax], 0x55
xor eax, eax
lea esi, [eax - 0xf694]
add esi, edx
jmp 0x10062458
cmp byte [esp + 0x28], 0xfe
ja 0x10062521
shl edx, 8
cmp eax, ecx
jae 0x100624d1
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx eax, cl
jmp 0x100624e4
mov eax, dword [esi]
test eax, eax
je 0x100624e2
cmp dword [eax], 0
jne 0x100624e2
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 0x1005eed9
mov ecx, dword [esp + 0x14]
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1005def1
cmp eax, ecx
jae 0x10062530
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edx, cl
jmp 0x10062543
mov eax, dword [esi]
test eax, eax
je 0x10062541
cmp dword [eax], 0
jne 0x10062541
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10062556
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edi, cl
jmp 0x10062569
mov eax, dword [esi]
test eax, eax
je 0x10062567
cmp dword [eax], 0
jne 0x10062567
mov dword [eax], 0x55
xor edi, edi
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x1006257c
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx esi, cl
jmp 0x1006258f
mov eax, dword [esi]
test eax, eax
je 0x1006258d
cmp dword [eax], 0
jne 0x1006258d
mov dword [eax], 0x55
xor esi, esi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x100625ae
mov ebp, dword [esp + 0x10]
mov cl, byte [eax]
inc eax
mov dword [ebp + 0xc], eax
mov ebp, dword [esp + 0x20]
movzx eax, cl
jmp 0x100625c1
mov eax, dword [ecx]
test eax, eax
je 0x100625bf
cmp dword [eax], 0
jne 0x100625bf
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 + 0x40]
cmp byte [eax + 8], 0
je 0x10062608
cmp edx, 0x7d00
jg 0x100625ea
cmp edx, 0xffff8300
jge 0x100625ff
mov ecx, dword [esp + 0x58]
test cl, cl
movzx eax, cl
mov ecx, 1
cmove eax, ecx
mov byte [esp + 0x58], al
mov edi, dword [esp + 0x1c]
jmp 0x1005eec6
mov edi, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x10]
mov esi, dword [ebx + 0xc]
mov eax, dword [edi]
lea eax, [eax + ecx*8]
cmp esi, eax
je 0x1005eed9
mov ecx, dword [esp + 0x14]
mov dword [esi], edx
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1005def1
cmp dword [eax - 4], 2
je 0x1006265c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062658
cmp dword [eax], 0
jne 0x10062658
mov dword [eax], 0xa0
xor edx, edx
jmp 0x10062664
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x38], edx
cmp eax, dword [ebx + 8]
jne 0x10062686
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062682
cmp dword [eax], 0
jne 0x10062682
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100626aa
cmp dword [eax - 4], 2
je 0x100626a2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006269e
cmp dword [eax], 0
jne 0x1006269e
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x100626aa
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x58], ecx
cmp eax, dword [ebx + 8]
jne 0x100626cc
mov eax, dword [ebx + 4]
test eax, eax
je 0x100626c8
cmp dword [eax], 0
jne 0x100626c8
mov dword [eax], 0xa1
xor edi, edi
jmp 0x100626f6
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x100626e6
sub eax, 1
jne 0x100626f6
shl edi, 0x10
jmp 0x100626f6
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 0x10062714
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062710
cmp dword [eax], 0
jne 0x10062710
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1006273e
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1006272e
sub eax, 1
jne 0x1006273e
shl esi, 0x10
jmp 0x1006273e
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 0x1006275c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062758
cmp dword [eax], 0
jne 0x10062758
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10062786
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10062776
sub eax, 1
jne 0x10062786
shl ebp, 0x10
jmp 0x10062786
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp byte [esp + 0x3f20], 0
je 0x1006279a
mov eax, 0x12
jmp 0x10062dbf
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x2f], 0
je 0x100627ae
mov eax, 0x12
jmp 0x10062dbf
cmp dword [eax + 0x244], 0
jne 0x100627d5
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x80]
cmp dword [eax + 0x34], 0
jne 0x100627d1
mov eax, 0x12
jmp 0x10062dbf
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x20]
add esi, dword [eax]
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x80]
cmp dword [eax + 0x34], 0
jne 0x1006280c
mov edx, ecx
mov ecx, dword [esp + 0x2c]
call fcn.10059980
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x58], eax
call fcn.10059980
mov edx, eax
mov dword [esp + 0x38], edx
cmp dword [esp + 0x58], 0
jl 0x10062790
test edx, edx
js 0x10062790
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x2e], 0
je 0x100628e8
mov eax, dword [eax + 8]
mov edx, 2
mov dword [esp + 0x84], eax
mov eax, dword [eax + 0x9c]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x4c], eax
call fcn.100498b0
test eax, eax
jne 0x10062dbf
mov ecx, dword [esp + 0x4c]
sub esi, ebp
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x38]
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 + 0x4c]
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 + 0x84]
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 + 0x68]
jmp 0x10062dbf
mov ecx, dword [eax + 0xc]
call fcn.10049a00
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x3e60]
mov ecx, dword [esp + 0x2c]
push eax
call fcn.1005b880
test eax, eax
jne 0x10062dbf
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x20]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x7c], eax
mov eax, dword [edx + 0x24]
lea edx, [esp + 0x3e60]
mov dword [esp + 0x4c], ecx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x70]
push eax
push 0
push 0
push 1
push dword [esp + 0x88]
mov dword [esp + 0x5c], ecx
push dword [esp + 0x94]
mov ecx, dword [esp + 0x58]
call fcn.1005d930
mov ecx, dword [esp + 0x3e64]
mov eax, dword [esp + 0x3e68]
mov edx, dword [esp + 0x2c]
sub eax, ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], ecx
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x80]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x100629a1
mov eax, dword [ecx]
lea edx, [esp + 0x84]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 4]
call eax
mov edx, dword [esp + 0x2c]
cmp byte [esp + 0x27], 0
jne 0x100629c8
mov eax, dword [edx + 0x20]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x7c], eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0x4c], ecx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], eax
mov eax, dword [edx + 0x20]
mov ecx, dword [esp + 0x2c]
mov dword [eax], 0
mov eax, dword [edx + 0x20]
mov edx, dword [esp + 0x38]
mov dword [eax + 4], 0
lea eax, [esp + 0x3e60]
push eax
call fcn.1005b880
test eax, eax
jne 0x10062dbf
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x70]
push eax
push edi
sub esi, ebp
lea edx, [esp + 0x3e68]
push esi
push 1
push dword [esp + 0x88]
push dword [esp + 0x94]
call fcn.1005d930
mov ecx, dword [esp + 0x3e64]
mov eax, dword [esp + 0x3e68]
mov ebp, dword [esp + 0x2c]
sub eax, ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], ecx
mov eax, dword [ebp + 4]
mov eax, dword [eax + 0x80]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x10062a64
mov eax, dword [ecx]
lea edx, [esp + 0x84]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 4]
call eax
mov eax, dword [ebp + 0x20]
mov ecx, dword [esp + 0x4c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 4], ecx
mov eax, dword [ebp + 0x24]
mov ecx, dword [esp + 0x48]
mov dword [eax], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x68]
jmp 0x10062dbf
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
je 0x10062aa2
cmp eax, 5
jne 0x10062af6
cmp byte [esp + 0x27], 0
jne 0x10062af6
test eax, eax
jne 0x10062ac3
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062abf
cmp dword [eax], 0
jne 0x10062abf
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10062ae7
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10062ad7
sub eax, 1
jne 0x10062ae7
shl ecx, 0x10
jmp 0x10062ae7
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x8c]
add eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [ecx], eax
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x100628df
cmp byte [esp + 0x2ec8], 0
je 0x10062b8c
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005cd80
cmp byte [esp + 0x2f18], 0
je 0x10062b6c
push 1
push dword [esp + 0x2f00]
lea eax, [esp + 0x2ef8]
push dword [esp + 0x2f00]
lea edx, [esp + 0x14c]
push eax
lea ecx, [esp + 0x148]
call fcn.1005c7f0
mov byte [esp + 0x2ecb], 1
mov byte [esp + 0x2ec8], 0
mov byte [esp + 0x2ec9], 0
mov byte [esp + 0x2f18], 0
cmp byte [edi + 9], 0
jne 0x100628df
cmp byte [edi + 8], 0
jne 0x100628df
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x100628df
cmp byte [esp + 0x3f20], 0
je 0x10062bca
mov eax, 0x12
jmp 0x10062dbf
cmp ecx, edx
jne 0x10062be4
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062be0
cmp dword [eax], 0
jne 0x10062be0
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10062c08
cmp dword [ecx - 4], 2
je 0x10062c00
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062bfc
cmp dword [eax], 0
jne 0x10062bfc
mov dword [eax], 0xa0
xor edx, edx
jmp 0x10062c08
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x10062c26
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062c22
cmp dword [eax], 0
jne 0x10062c22
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10062c4a
cmp dword [eax - 4], 2
je 0x10062c42
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062c3e
cmp dword [eax], 0
jne 0x10062c3e
mov dword [eax], 0xa0
xor ebp, ebp
jmp 0x10062c4a
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x10062c68
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062c64
cmp dword [eax], 0
jne 0x10062c64
mov dword [eax], 0xa1
xor edi, edi
jmp 0x10062c92
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10062c82
sub eax, 1
jne 0x10062c92
shl edi, 0x10
jmp 0x10062c92
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 0x10062cb0
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062cac
cmp dword [eax], 0
jne 0x10062cac
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10062cda
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10062cca
sub eax, 1
jne 0x10062cda
shl esi, 0x10
jmp 0x10062cda
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x3e60]
push eax
call fcn.1005b7c0
test eax, eax
jne 0x10062dbf
lea eax, [esp + 0x84]
push eax
push edi
mov edi, dword [esp + 0x48]
lea edx, [esp + 0x3e68]
push esi
push 1
push dword [esp + 0x88]
mov ecx, edi
push dword [esp + 0x94]
call fcn.1005d930
mov eax, dword [esp + 0x3e68]
lea edx, [esp + 0x3e64]
mov esi, dword [esp + 0x2c]
sub eax, dword [esp + 0x3e64]
push eax
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x258]
call eax
lea eax, [esp + 0x3e60]
mov edx, ebp
push eax
mov ecx, esi
call fcn.1005b7c0
test eax, eax
jne 0x10062dbf
lea eax, [esp + 0x84]
mov ecx, edi
push eax
push 0
push 0
push 1
push dword [esp + 0x88]
lea edx, [esp + 0x3e74]
push dword [esp + 0x94]
call fcn.1005d930
mov eax, dword [esp + 0x3e68]
lea edx, [esp + 0x3e64]
sub eax, dword [esp + 0x3e64]
mov ecx, dword [esi + 4]
push eax
mov eax, dword [esi + 0x258]
call eax
mov eax, dword [esp + 0x68]
jmp 0x10062dbf
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 0x10062dce
cmp dword [ecx], 0
jne 0x10062dce
mov dword [ecx], eax
mov edx, dword [esp + 0x2eb0]
mov dword [esp + 0x2ea0], 0
mov dword [esp + 0x2ea8], 0
mov dword [esp + 0x2eac], 0
test edx, edx
je 0x10062e08
mov eax, dword [esp + 0x2e94]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x2eb0], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
test edx, edx
je 0x10062e4d
mov eax, dword [esp + 0xa0]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov edx, dword [esp + 0xdc]
mov dword [esp + 0xbc], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
test edx, edx
je 0x10062e92
mov eax, dword [esp + 0xc0]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xdc], 0
test eax, eax
je 0x10062eb5
mov edx, eax
mov eax, dword [esp + 0xe0]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
test ebx, ebx
je 0x10062ed9
mov edx, dword [ebx + 8]
mov edi, dword [ebx]
test edx, edx
je 0x10062ec9
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
mov ecx, dword [esp + 0x3f0c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101a1d25
add esp, 0x3f04
ret 0x18