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

Disassembly:
mov eax, 0x3f04
call fcn.101b6c00
mov eax, dword [0x102230c0]
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.101b7b50
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.101b7b50
mov eax, dword [esp + 0x8c]
add esp, 0xc
mov dword [esp + 0x138], esi
mov dword [esp + 0x13c], eax
movaps xmm0, xmmword [0x102156e0]
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.101b7b50
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.101b7b50
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.101b7b50
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 0x1005c5d5
test esi, esi
jmp 0x1005c5d9
mov esi, ebx
test ebx, ebx
jns 0x1005c5dd
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 0x1005c64c
mov eax, dword [ecx + 0x214]
mov esi, dword [eax + 0x614]
jmp 0x1005c651
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 0x1006167a
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 0x1006166a
je 0x1005c793
cmp esi, 0xfffffff
jg 0x1006166a
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 0x1005c6ef
mov edx, dword [esp + 0x74]
test edx, edx
jle 0x1005c6ef
lea eax, [edx*8]
push eax
push 0
push esi
call fcn.101b7b50
lea edi, [ebx + 8]
add esp, 0xc
mov dword [edi], esi
mov eax, esi
mov dword [esp + 0x1c], edi
jmp 0x1005c704
mov dword [ebx + 8], eax
lea edx, [ebx + 8]
mov dword [esp + 0x1c], edx
test ecx, ecx
jne 0x10061671
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.10058bb0
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 0x1006119f
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 0x1005c7b1
lea edi, [ebx + 8]
xor eax, eax
mov dword [esp + 0x1c], edi
mov dword [edi], eax
jmp 0x1005c708
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
jmp 0x1005c7b1
mov edi, dword [esp + 0x1c]
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 8]
jb 0x1005c7ce
test ecx, ecx
mov edx, 0xb
mov eax, 0xe
cmove edx, eax
mov dword [esp + 0x28], edx
jmp 0x1005c7fd
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
mov dl, cl
mov dword [esp + 0x28], edx
cmp cl, 0xb
je 0x1005c7e4
cmp cl, 0xe
jne 0x1005c7f9
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 0x1005c8a7
test ah, ah
jne 0x1005c84a
cmp dl, 1
je 0x1005c84a
cmp dl, 3
je 0x1005c84a
cmp dl, 0xd
je 0x1005c84a
cmp dl, 0xa
je 0x1005c84a
cmp dl, 0xb
je 0x1005c84a
cmp dl, 0xc
je 0x1005c84a
cmp dl, 0xe
je 0x1005c84a
cmp dl, 0x20
jae 0x1005c84a
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov dword [ebx + 0xc], eax
jmp 0x1005c7b1
cmp dword [esp + 0x5c], 0
mov edi, dword [esp + 0x1c]
jle 0x1005c880
cmp dl, 0xa
je 0x1005c880
cmp dl, 0xb
je 0x1005c880
cmp dl, 0xc
je 0x1005c880
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 0x1005c8a7
cmp dl, 0x20
jae 0x1005c8a7
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 0x1006119f
sub dword [esp + 0x7c], 1
je 0x10061050
movzx edx, dl
cmp edx, 0x1f
ja case.default.0x1005c8cf
jmp dword [edx*4 + 0x100617b4]
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1005c8cf.0
cmp byte [edx + 0x5d], 0
jne 0x10061050
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005c916
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c903
cmp dword [eax], 0
jne 0x1005c903
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 0x1005c7b1
cmp dword [eax - 4], 2
je 0x1005c941
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c92e
cmp dword [eax], 0
jne 0x1005c92e
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 0x1005c7b1
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js case.0x1005c8cf.0
mov dword [edx + 0x78], eax
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov dword [ebx + 0xc], eax
jmp 0x1005c7b1
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1005c8cf.0
cmp dword [edx + 0x60], 0
je 0x10061050
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 0x1005c9bb
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 0x1006119f
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005c9d8
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1005c9d4
cmp dword [ecx], 0
jne 0x1005c9d4
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x1005c9fc
cmp dword [eax - 4], 2
je 0x1005c9f4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c9f0
cmp dword [eax], 0
jne 0x1005c9f0
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1005c9fc
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x74]
ja 0x10061050
push eax
mov edx, ebx
mov ecx, esi
call fcn.1005bff0
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 0x1005c7b1
test al, al
jne 0x1005ca3e
cmp byte [esp + 0x104], al
jne case.0x1005c8cf.0
xor eax, eax
jmp 0x1005ca48
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.1005bac0
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x1006119f
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005c7b1
test al, al
jne 0x1005caaa
cmp byte [esp + 0x104], al
jne case.0x1005c8cf.0
xor eax, eax
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0xa8]
jmp 0x1005ca55
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 0x1005ca55
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x1005cb0b
cmp byte [esp + 0x27], 0
jne 0x1005cb0b
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005caec
sub eax, 1
jne 0x1005cafc
shl ecx, 0x10
jmp 0x1005cafc
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 0x1006119f
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005cb4e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cb3a
cmp dword [eax], 0
jne 0x1005cb3a
mov dword [eax], 0xa1
xor ecx, ecx
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x1005fe7d
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005cb78
sub eax, 1
jne 0x1005cb88
shl ecx, 0x10
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x1005fe7d
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 0x1005fe7d
mov ebp, dword [ebx + 0xc]
sub ebp, dword [edi]
xor edi, edi
sar ebp, 3
test ebp, ebp
je 0x1005cc8c
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 0x1005cbdf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cbdb
cmp dword [eax], 0
jne 0x1005cbdb
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
xor esi, esi
jmp 0x1005cc05
mov eax, dword [edx + edi*8 + 4]
mov esi, dword [edx + edi*8]
sub eax, 1
je 0x1005cbf5
sub eax, 1
jne 0x1005cc05
shl esi, 0x10
jmp 0x1005cc05
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 0x1005cc38
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cc34
cmp dword [eax], 0
jne 0x1005cc34
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005cc5f
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1005cc4f
sub eax, 1
jne 0x1005cc5f
shl ecx, 0x10
jmp 0x1005cc5f
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.1005b640
add edi, 2
cmp edi, ebp
jb 0x1005cbb0
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 0x1005c7b1
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 0x100607ae
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1005cce8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cce4
cmp dword [eax], 0
jne 0x1005cce4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005cd0e
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1005ccfe
sub eax, 1
jne 0x1005cd0e
shl ecx, 0x10
jmp 0x1005cd0e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x18]
test dl, dl
je 0x1005cd21
add ebp, ecx
mov dword [esp + 0x3f24], ebp
jmp 0x1005cd2e
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.1005b640
mov dl, byte [esp + 0x3f]
inc esi
mov eax, dword [esp + 0x1c]
cmp esi, edi
jb 0x1005ccc4
mov dword [esp + 0x20], ebp
jmp 0x100607ae
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 0x1005cfec
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 0x1005cdaf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cdab
cmp dword [eax], 0
jne 0x1005cdab
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [ecx]
xor ecx, ecx
jmp 0x1005cdd6
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x1005cdc6
sub eax, 1
jne 0x1005cdd6
shl ecx, 0x10
jmp 0x1005cdd6
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 0x1005ce0d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ce09
cmp dword [eax], 0
jne 0x1005ce09
mov edx, dword [esp + 0x1c]
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [edx]
xor ecx, ecx
jmp 0x1005ce34
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x1005ce24
sub eax, 1
jne 0x1005ce34
shl ecx, 0x10
jmp 0x1005ce34
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 0x1005ce68
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ce64
cmp dword [eax], 0
jne 0x1005ce64
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005ce8e
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1005ce7e
sub eax, 1
jne 0x1005ce8e
shl ecx, 0x10
jmp 0x1005ce8e
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 0x1005cec5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cec1
cmp dword [eax], 0
jne 0x1005cec1
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005ceec
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1005cedc
sub eax, 1
jne 0x1005ceec
shl ecx, 0x10
jmp 0x1005ceec
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 0x1005cf1b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cf17
cmp dword [eax], 0
jne 0x1005cf17
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005cf42
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x1005cf32
sub eax, 1
jne 0x1005cf42
shl ecx, 0x10
jmp 0x1005cf42
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 0x1005cf6e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cf6a
cmp dword [eax], 0
jne 0x1005cf6a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005cf95
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x1005cf85
sub eax, 1
jne 0x1005cf95
shl ecx, 0x10
jmp 0x1005cf95
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.1005b7c0
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 0x1005cd80
mov edi, dword [esp + 0x1c]
cmp byte [esp + 0x28], 0x18
jne 0x1005d0d8
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov esi, dword [edi]
sub eax, esi
sar eax, 3
cmp ebp, eax
jb 0x1005d023
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d01f
cmp dword [eax], 0
jne 0x1005d01f
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1005d049
mov eax, dword [esi + ebp*8 + 4]
mov edx, dword [esi + ebp*8]
sub eax, 1
je 0x1005d039
sub eax, 1
jne 0x1005d049
shl edx, 0x10
jmp 0x1005d049
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 0x1005d07c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d078
cmp dword [eax], 0
jne 0x1005d078
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d0a2
mov ecx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
sub eax, 1
je 0x1005d092
sub eax, 1
jne 0x1005d0a2
shl ecx, 0x10
jmp 0x1005d0a2
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.1005b640
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005c7b1
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 0x1005c7b1
test al, al
je case.0x1005c8cf.0
cmp byte [esp + 0x2ec8], 0
je 0x1005d17b
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005b640
cmp byte [esp + 0x2f18], 0
je 0x1005d15b
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.1005b0b0
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 0x1005c7b1
cmp ecx, 0x10
jg 0x10061050
lea eax, [ecx + 1]
cmp eax, dword [esp + 0x98]
jb 0x1005d1bf
mov eax, dword [esp + 0x94]
test eax, eax
je 0x1005d1bd
cmp dword [eax], 0
jne 0x1005d1bd
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 0x1005d1ee
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d1ea
cmp dword [eax], 0
jne 0x1005d1ea
mov dword [eax], 0xa1
xor eax, eax
jmp 0x1005d212
cmp dword [eax - 4], 2
je 0x1005d20a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d206
cmp dword [eax], 0
jne 0x1005d206
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1005d212
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x40]
cmp byte [ecx + 8], 0
je 0x1005d23f
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x268]
test ecx, ecx
je 0x1005d23f
push eax
call fcn.10048450
mov edx, dword [esp + 0x10]
test eax, eax
je 0x1005d23c
mov eax, dword [eax]
jmp 0x1005d23f
or eax, 0xffffffff
cmp byte [esp + 0x28], 0x1d
xorps xmm0, xmm0
mov ecx, dword [esp + 0x2c]
movups xmmword [edx], xmm0
je 0x1005d308
mov ecx, dword [ecx + 0x234]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x22c]
jae 0x10061050
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 0x1005d2d6
mov eax, dword [eax + 0x264]
test eax, eax
je 0x1005d2ae
test ecx, ecx
je 0x1005d2a6
mov eax, dword [eax + edx]
add eax, ecx
mov ecx, dword [esp + 0x10]
jmp 0x1005d2e4
mov ecx, dword [esp + 0x10]
xor eax, eax
jmp 0x1005d2e4
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 0x1005d2da
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 0x1005c7b1
mov ecx, dword [ecx + 0x238]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x230]
jae 0x10061050
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 0x1005c7b1
cmp ecx, 1
jl 0x10061050
dec ecx
mov eax, ecx
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x98]
jb 0x1005d37f
mov eax, dword [esp + 0x94]
test eax, eax
je 0x1005d37d
cmp dword [eax], 0
jne 0x1005d37d
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 0x1005c7b1
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 8]
jae 0x1005d3aa
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
jmp 0x1005d3bd
mov eax, dword [edx]
test eax, eax
je 0x1005d3bb
cmp dword [eax], 0
jne 0x1005d3bb
mov dword [eax], 0x55
xor cl, cl
movzx eax, cl
add eax, 0xfffffff8
mov byte [esp + 0x3f], cl
cmp eax, 0x1d
ja case.0x1005d3d7.9
movzx eax, byte [eax + 0x1006184c]
jmp dword [eax*4 + 0x10061834]
push 0
push 0x101f5228
jmp 0x1005d444
push 0
push 0x101f50cc
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f34]
push eax
lea edx, [esp + 0x3f34]
call fcn.1005bcf0
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 0x1005c7b1
push 0
push 0x101f5254
jmp 0x1005d444
push 1
push 0x101f53ec
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f34]
push eax
lea edx, [esp + 0x3f34]
call fcn.1005bcf0
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 0x1005c7b1
mov eax, dword [esp + 0x40]
cmp byte [eax + 9], 0
jne case.0x1005d4d1.0
cmp cl, 0x26
jae case.0x1005d4d1.0
mov al, byte [eax + 8]
test al, al
je 0x1005d4c5
cmp dword [esp + 0x5c], 0
jle 0x1005d4c5
cmp cl, 0x11
je 0x1005d4c5
mov eax, dword [edi]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x5c], 0
mov dword [ebx + 0xc], eax
jmp 0x1005c7b1
movzx ecx, cl
cmp ecx, 0x21
ja case.0x1005d4d1.0
jmp dword [ecx*4 + 0x1006186c]
test al, al
je case.0x1005d4d1.0
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x1005d504
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d500
cmp dword [eax], 0
jne 0x1005d500
mov dword [eax], 0x82
xor esi, esi
jmp 0x1005d528
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005d518
sub eax, 1
jne 0x1005d528
shl esi, 0x10
jmp 0x1005d528
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 0x1005d54d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d549
cmp dword [eax], 0
jne 0x1005d549
mov dword [eax], 0x82
xor edi, edi
jmp 0x1005d572
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, 1
je 0x1005d562
sub eax, 1
jne 0x1005d572
shl edi, 0x10
jmp 0x1005d572
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 0x1005d59c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d598
cmp dword [eax], 0
jne 0x1005d598
mov dword [eax], 0x82
xor edx, edx
jmp 0x1005d5c1
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x20]
sub eax, 1
je 0x1005d5b1
sub eax, 1
jne 0x1005d5c1
shl edx, 0x10
jmp 0x1005d5c1
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 0x1005d5e7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d5e3
cmp dword [eax], 0
jne 0x1005d5e3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d60c
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub eax, 1
je 0x1005d5fc
sub eax, 1
jne 0x1005d60c
shl ecx, 0x10
jmp 0x1005d60c
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 0x1005d633
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d649
cmp dword [eax], 0
jne 0x1005d649
mov dword [eax], 0x82
jmp 0x1005d649
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 0x1005d672
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d66e
cmp dword [eax], 0
jne 0x1005d66e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d697
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
sub eax, 1
je 0x1005d687
sub eax, 1
jne 0x1005d697
shl ecx, 0x10
jmp 0x1005d697
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 0x1005d6be
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d6d2
cmp dword [eax], 0
jne 0x1005d6d2
mov dword [eax], 0x82
jmp 0x1005d6d2
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 0x1005d6e4
mov eax, dword [eax]
jmp 0x1005d6e7
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.1005bac0
cmp byte [ebp + 0x224], 0
jne 0x1006119f
mov ebp, dword [esp + 0x20]
jmp 0x1005ff7b
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005d741
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d73d
cmp dword [eax], 0
jne 0x1005d73d
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005d76b
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005d75b
sub eax, 1
jne 0x1005d76b
shl edx, 0x10
jmp 0x1005d76b
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 0x1005d7c8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d784
cmp dword [eax], 0
jne 0x1005d784
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 0x10060cea
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005c7b1
cmp dword [eax], 0
jne 0x1005c7b1
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005c7b1
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005d7e2
sub eax, 1
jne 0x1005d7f2
shl ecx, 0x10
jmp 0x1005d7f2
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
je 0x1005d784
test edx, edx
je 0x1005d784
mov edx, 1
jmp 0x1005d786
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005d81e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d81a
cmp dword [eax], 0
jne 0x1005d81a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005d848
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005d838
sub eax, 1
jne 0x1005d848
shl edx, 0x10
jmp 0x1005d848
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 0x1005d863
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d895
cmp dword [eax], 0
jne 0x1005d895
mov dword [eax], 0xa1
jmp 0x1005d895
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005d87d
sub eax, 1
jne 0x1005d88d
shl ecx, 0x10
jmp 0x1005d88d
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
jne 0x1005d7fa
test edx, edx
jne 0x1005d7fa
jmp 0x1005d784
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005d8bf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d8bb
cmp dword [eax], 0
jne 0x1005d8bb
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005d8e9
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005d8d9
sub eax, 1
jne 0x1005d8e9
shl edx, 0x10
jmp 0x1005d8e9
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 0x1005d799
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 0x1005c7b1
test al, al
je case.0x1005d4d1.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 0x10060f00
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d955
cmp dword [eax], 0
jne 0x1005d955
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10060f24
test al, al
je case.0x1005d4d1.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005d981
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d97d
cmp dword [eax], 0
jne 0x1005d97d
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005d9ab
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005d99b
sub eax, 1
jne 0x1005d9ab
shl ecx, 0x10
jmp 0x1005d9ab
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 0x1005d9d2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d9ce
cmp dword [eax], 0
jne 0x1005d9ce
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005d9fc
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005d9ec
sub eax, 1
jne 0x1005d9fc
shl ecx, 0x10
jmp 0x1005d9fc
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 0x1005da1e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005da1a
cmp dword [eax], 0
jne 0x1005da1a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005da48
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005da38
sub eax, 1
jne 0x1005da48
shl edx, 0x10
jmp 0x1005da48
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 0x1005da65
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005da61
cmp dword [eax], 0
jne 0x1005da61
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005da8f
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005da7f
sub eax, 1
jne 0x1005da8f
shl ecx, 0x10
jmp 0x1005da8f
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 0x1006119f
cmp byte [esp + 0x33], 0
mov esi, dword [esp + 0x18]
je 0x1005ff83
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 0x1005c7b1
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005db63
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005db01
cmp dword [eax], 0
jne 0x1005db01
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 0x1005df16
mov esi, dword [esp + 0x18]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005c7b1
cmp dword [eax], 0
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
jne 0x1005c7b1
mov dword [eax], 0x82
jmp 0x1005c7b1
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005db7d
sub eax, 1
jne 0x1005db8d
shl ecx, 0x10
jmp 0x1005db8d
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 0x1005db0c
lea eax, [edi*8]
mov edi, dword [esp + 0x1c]
add eax, ebp
mov ebp, dword [esp + 0x20]
cmp esi, eax
jne 0x1005dbde
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f79c
cmp dword [eax], 0
jne 0x1005f79c
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1005c7b1
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 0x1005c7b1
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005dc1c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dc18
cmp dword [eax], 0
jne 0x1005dc18
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005dc46
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005dc36
sub eax, 1
jne 0x1005dc46
shl esi, 0x10
jmp 0x1005dc46
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 0x1005dc63
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dc5f
cmp dword [eax], 0
jne 0x1005dc5f
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005dc8d
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005dc7d
sub eax, 1
jne 0x1005dc8d
shl edx, 0x10
jmp 0x1005dc8d
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 0x1005dccf
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 0x1005c7b1
cmp dword [eax], 0
jne 0x1005c7b1
mov dword [eax], 0x82
jmp 0x1005c7b1
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 0x1005c7b1
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005dd14
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dd10
cmp dword [eax], 0
jne 0x1005dd10
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005dd3e
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005dd2e
sub eax, 1
jne 0x1005dd3e
shl esi, 0x10
jmp 0x1005dd3e
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 0x1005dd5b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dd57
cmp dword [eax], 0
jne 0x1005dd57
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005dd85
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005dd75
sub eax, 1
jne 0x1005dd85
shl edx, 0x10
jmp 0x1005dd85
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 0x1005dca0
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 0x1005c7b1
test al, al
je 0x1005de70
cmp byte [esp + 0x58], 0
je 0x1005de70
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005ddf3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ddef
cmp dword [eax], 0
jne 0x1005ddef
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005de17
cmp dword [eax - 4], 2
je 0x1005de0f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005de0b
cmp dword [eax], 0
jne 0x1005de0b
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005de17
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005de3b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005de30
cmp dword [eax], 0
jne 0x1005de30
mov dword [eax], 0xa1
xor ecx, ecx
mov byte [esp + 0x58], cl
jmp 0x1005defe
cmp dword [eax - 4], 2
je 0x1005de5e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005de53
cmp dword [eax], 0
jne 0x1005de53
mov dword [eax], 0xa0
xor ecx, ecx
mov byte [esp + 0x58], cl
jmp 0x1005defe
add eax, 0xfffffff8
mov byte [esp + 0x58], 0
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
jmp 0x1005defe
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005de8d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005de89
cmp dword [eax], 0
jne 0x1005de89
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005deb7
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005dea7
sub eax, 1
jne 0x1005deb7
shl edx, 0x10
jmp 0x1005deb7
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 0x1005ded4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ded0
cmp dword [eax], 0
jne 0x1005ded0
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005defe
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005deee
sub eax, 1
jne 0x1005defe
shl ecx, 0x10
jmp 0x1005defe
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.10047550
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
je 0x1005d799
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 0x1005c7b1
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005df89
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005df50
cmp dword [eax], 0
jne 0x1005df50
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 0x1005d799
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 0x1005c7b1
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005dfa3
sub eax, 1
jne 0x1005dfb3
shl ecx, 0x10
jmp 0x1005dfb3
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 0x1005df5b
lea eax, [esi + eax*8]
cmp edx, eax
jne 0x1005dff6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f798
cmp dword [eax], 0
jne 0x1005f798
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005c7b1
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 0x1005c7b1
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005e038
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e034
cmp dword [eax], 0
jne 0x1005e034
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e062
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005e052
sub eax, 1
jne 0x1005e062
shl esi, 0x10
jmp 0x1005e062
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 0x1005e07f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e07b
cmp dword [eax], 0
jne 0x1005e07b
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e0a9
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e099
sub eax, 1
jne 0x1005e0a9
shl edx, 0x10
jmp 0x1005e0a9
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 0x1005dca0
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 0x1005c7b1
mov ecx, dword [esp + 0x14]
test al, al
je 0x1005c7b1
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e115
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e111
cmp dword [eax], 0
jne 0x1005e111
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e139
cmp dword [eax - 4], 2
je 0x1005e131
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e12d
cmp dword [eax], 0
jne 0x1005e12d
mov dword [eax], 0xa0
xor esi, esi
jmp 0x1005e139
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e156
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e152
cmp dword [eax], 0
jne 0x1005e152
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005e17a
cmp dword [eax - 4], 2
je 0x1005e172
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e16e
cmp dword [eax], 0
jne 0x1005e16e
mov dword [eax], 0xa0
xor edi, edi
jmp 0x1005e17a
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.0x1005e1b4
movzx eax, byte [esi + 0x10061934]
jmp dword [eax*4 + 0x100618f4]
cmp edi, 3
jne 0x10061050
cmp byte [esp + 0x33], 0
je 0x1005e1e9
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x1d4], 0
je 0x10061050
cmp dword [eax + 0x1d8], 7
jne 0x10061050
mov eax, dword [ebx + 0x10]
mov ebp, dword [esp + 0x20]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1005e20b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e21b
cmp dword [eax], 0
jne 0x1005e21b
mov dword [eax], 0x82
jmp 0x1005e21b
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 0x1005e259
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e269
cmp dword [eax], 0
jne 0x1005e269
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov dword [esp + 0x54], 2
jmp 0x1005c7b1
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 0x1005c7b1
test edi, edi
jne 0x10061050
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 0x1005c7b1
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 0x1005e2d4
push 0
mov edx, 6
mov ecx, esi
call fcn.10047c50
test eax, eax
jne 0x1006119f
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 0x1005c7b1
test edi, edi
jne 0x10061050
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 0x1005c7b1
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 0x1d4], 0
je 0x10061050
mov esi, dword [ecx + 0x1d8]
lea eax, [esi + 1]
mov dword [ecx + 0x1d8], eax
lea eax, [esi - 1]
cmp eax, 5
ja 0x1005f790
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 0x1005e381
push 0
mov edx, 1
mov ecx, edi
call fcn.10047c50
test eax, eax
jne 0x10061050
lea eax, [esi - 3]
cmp esi, 3
jg 0x1005e38b
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 0x1005e3b1
cmp esi, 6
jne 0x1005f794
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.1005b7c0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1005c7b1
cmp edi, 1
jne 0x10061050
cmp byte [esp + 0x33], 0
je 0x1005e45c
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 0x1005c7b1
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 0x1005c7b1
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x284]
mov dword [esp + 0x28], ecx
test ecx, ecx
je 0x10061050
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 0x10061050
lea edi, [edx + ebp]
test edx, edx
je 0x1005e60e
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 0x1005e508
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e504
cmp dword [eax], 0
jne 0x1005e504
mov dword [eax], 0x82
xor esi, esi
jmp 0x1005e52e
mov eax, dword [esi + ebp*8 + 4]
mov esi, dword [esi + ebp*8]
sub eax, 1
je 0x1005e51e
sub eax, 1
jne 0x1005e52e
shl esi, 0x10
jmp 0x1005e52e
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp dword [ecx], 1
jbe 0x1005e5c1
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 0x1005e56c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e568
cmp dword [eax], 0
jne 0x1005e568
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005e592
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1005e582
sub eax, 1
jne 0x1005e592
shl ecx, 0x10
jmp 0x1005e592
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.1003ed60
mov ecx, dword [esp + 0x28]
inc ebp
add dword [esp + 0x38], 4
add esi, eax
inc edi
cmp ebp, dword [ecx]
jb 0x1005e544
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 0x1005e5e7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e5f8
cmp dword [eax], 0
jne 0x1005e5f8
mov dword [eax], 0x82
jmp 0x1005e5f8
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 0x1005e4e0
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 0x1005e64f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e65b
cmp dword [eax], 0
jne 0x1005e65b
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 0x1005c7b1
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 0x1005c7b1
mov ebp, dword [esp + 0x2c]
mov esi, dword [ebp + 0x284]
cmp edi, 1
jne 0x10061050
test esi, esi
je 0x10061050
cmp ecx, edx
jne 0x1005e6a5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e6a1
cmp dword [eax], 0
jne 0x1005e6a1
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e6d1
cmp dword [ecx - 4], 2
je 0x1005e6c1
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e6bd
cmp dword [eax], 0
jne 0x1005e6bd
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005e6d1
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x10061050
mov edx, dword [esi]
lea eax, [edx + ecx]
cmp eax, dword [ebp + 0x28c]
ja 0x10061050
lea eax, [edx*4]
push eax
mov eax, dword [ebp + 0x288]
push dword [esi + 0x88]
lea eax, [eax + ecx*4]
push eax
call fcn.101b75d0
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 0x1005c7b1
cmp edi, 2
jne 0x10061050
cmp ecx, edx
jne 0x1005e73e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e73a
cmp dword [eax], 0
jne 0x1005e73a
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e768
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005e758
sub eax, 1
jne 0x1005e768
shl esi, 0x10
jmp 0x1005e768
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 0x1005e78a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e786
cmp dword [eax], 0
jne 0x1005e786
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e7b4
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e7a4
sub eax, 1
jne 0x1005e7b4
shl edx, 0x10
jmp 0x1005e7b4
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 0x1005e7f7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e80a
cmp dword [eax], 0
jne 0x1005e80a
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 0x1005c7b1
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 0x1005c7b1
cmp edi, 2
jne 0x10061050
cmp ecx, edx
jne 0x1005e84e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e84a
cmp dword [eax], 0
jne 0x1005e84a
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e878
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005e868
sub eax, 1
jne 0x1005e878
shl esi, 0x10
jmp 0x1005e878
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 0x1005e89a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e896
cmp dword [eax], 0
jne 0x1005e896
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e8c4
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e8b4
sub eax, 1
jne 0x1005e8c4
shl edx, 0x10
jmp 0x1005e8c4
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 0x1005e8f3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e80a
cmp dword [eax], 0
jne 0x1005e80a
mov dword [eax], 0x82
jmp 0x1005e80a
sub edx, esi
mov dword [edi], edx
jmp 0x1005e7fc
cmp edi, 2
jne 0x10061050
cmp ecx, edx
jne 0x1005e91f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e91b
cmp dword [eax], 0
jne 0x1005e91b
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e949
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005e939
sub eax, 1
jne 0x1005e949
shl edx, 0x10
jmp 0x1005e949
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 0x1005e96a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e966
cmp dword [eax], 0
jne 0x1005e966
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e994
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005e984
sub eax, 1
jne 0x1005e994
shl ecx, 0x10
jmp 0x1005e994
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.1003ed60
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x1005e9d7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e9e7
cmp dword [eax], 0
jne 0x1005e9e7
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 0x1005c7b1
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 0x1005c7b1
cmp edi, 2
jne 0x10061050
cmp ecx, edx
jne 0x1005ea27
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ea23
cmp dword [eax], 0
jne 0x1005ea23
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005ea51
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005ea41
sub eax, 1
jne 0x1005ea51
shl edx, 0x10
jmp 0x1005ea51
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 0x1005ea72
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ea6e
cmp dword [eax], 0
jne 0x1005ea6e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005ea9c
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005ea8c
sub eax, 1
jne 0x1005ea9c
shl ecx, 0x10
jmp 0x1005ea9c
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test edx, edx
je 0x10061050
call fcn.10047550
jmp 0x1005e999
cmp edi, 2
jne 0x10061050
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x10061050
cmp ecx, edx
jne 0x1005eae2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eade
cmp dword [eax], 0
jne 0x1005eade
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005eb0e
cmp dword [ecx - 4], 2
je 0x1005eafe
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eafa
cmp dword [eax], 0
jne 0x1005eafa
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005eb0e
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
test edx, edx
js 0x10061050
cmp edx, dword [ebp + 0x28c]
jae 0x10061050
mov edi, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005eb57
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eb37
cmp dword [eax], 0
jne 0x1005eb37
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 0x1005c7b1
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005eb8d
sub eax, 1
jne 0x1005eb9d
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 0x1005c7b1
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 0x1005c7b1
cmp edi, 1
jne 0x10061050
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x10061050
cmp ecx, edx
jne 0x1005ebef
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ebeb
cmp dword [eax], 0
jne 0x1005ebeb
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005ec1b
cmp dword [ecx - 4], 2
je 0x1005ec0b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ec07
cmp dword [eax], 0
jne 0x1005ec07
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005ec1b
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x10061050
cmp ecx, dword [ebp + 0x28c]
jae 0x10061050
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 0x1005e9a8
mov dword [edx], esi
jmp 0x1005e9d9
cmp edi, 4
jne 0x10061050
cmp ecx, edx
jne 0x1005ec71
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ec6d
cmp dword [eax], 0
jne 0x1005ec6d
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005ec9b
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x1005ec8b
sub eax, 1
jne 0x1005ec9b
shl ebp, 0x10
jmp 0x1005ec9b
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 0x1005ecbc
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ecb8
cmp dword [eax], 0
jne 0x1005ecb8
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005ece6
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005ecd6
sub eax, 1
jne 0x1005ece6
shl edi, 0x10
jmp 0x1005ece6
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 0x1005ed03
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ecff
cmp dword [eax], 0
jne 0x1005ecff
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005ed2d
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005ed1d
sub eax, 1
jne 0x1005ed2d
shl edx, 0x10
jmp 0x1005ed2d
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 0x1005ed4a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ed46
cmp dword [eax], 0
jne 0x1005ed46
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005ed74
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005ed64
sub eax, 1
jne 0x1005ed74
shl esi, 0x10
jmp 0x1005ed74
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 0x1005eda6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e80a
cmp dword [eax], 0
jne 0x1005e80a
mov dword [eax], 0x82
jmp 0x1005e80a
cmp edi, ebp
cmovle edx, esi
mov dword [ecx], edx
jmp 0x1005e7fc
test edi, edi
jne 0x10061050
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 0x1005ec47
jmp 0x1005e9a8
mov eax, dword [esp + 0x1c]
test edi, edi
js 0x10061050
test esi, esi
js 0x10061050
cmp edi, 3
jle 0x1005ee29
mov edi, 3
mov dword [esp + 0x5c], edi
jmp 0x1005ee46
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 0x1005c7ad
lea esi, [esp + edi*4 + 0x3e5c]
nop dword [eax]
mov edx, dword [ebx + 0xc]
cmp edx, dword [eax]
jne 0x1005ee6d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ee69
cmp dword [eax], 0
jne 0x1005ee69
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005ee97
lea eax, [edx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [edx - 4]
sub eax, 1
je 0x1005ee87
sub eax, 1
jne 0x1005ee97
shl ecx, 0x10
jmp 0x1005ee97
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 0x1005ee50
mov ebp, dword [esp + 0x20]
mov edi, eax
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1005c7b1
mov ecx, dword [esp + 0x14]
test al, al
je 0x1005c7b1
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x1005eeda
dec eax
mov dword [esp + 0x54], eax
jmp 0x1005c7b1
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x10061050
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 0x1005d799
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 0x1005c7b1
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005ef50
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005c7b1
cmp dword [eax], 0
jne 0x1005c7b1
mov dword [eax], 0xa1
jmp 0x1005c7b1
mov ecx, dword [esp + 0x14]
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
jmp 0x1005c7b1
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005ef7c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ef78
cmp dword [eax], 0
jne 0x1005ef78
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005efa0
cmp dword [eax - 4], 2
je 0x1005ef98
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ef94
cmp dword [eax], 0
jne 0x1005ef94
mov dword [eax], 0xa0
xor esi, esi
jmp 0x1005efa0
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005efbd
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005efb9
cmp dword [eax], 0
jne 0x1005efb9
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005efe7
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005efd7
sub eax, 1
jne 0x1005efe7
shl ecx, 0x10
jmp 0x1005efe7
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x10]
cmp esi, 0x1f
ja 0x1005dbd1
mov dword [esp + esi*4 + 0x3e88], ecx
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1005c7b1
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f02f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f021
cmp dword [eax], 0
jne 0x1005f021
mov dword [eax], 0xa1
xor eax, eax
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005eef2
cmp dword [eax - 4], 2
je 0x1005f055
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f047
cmp dword [eax], 0
jne 0x1005f047
mov dword [eax], 0xa0
xor eax, eax
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005eef2
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x1005f79c
cmp eax, 0x20
jge 0x1005f79c
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005eef2
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [edi]
jne 0x1005f097
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f093
cmp dword [eax], 0
jne 0x1005f093
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005f0c2
add ebp, 0xfffffff8
mov dword [ebx + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x1005f0b2
sub eax, 1
jne 0x1005f0c2
shl ebp, 0x10
jmp 0x1005f0c2
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 0x1005f0df
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f0db
cmp dword [eax], 0
jne 0x1005f0db
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005f109
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005f0f9
sub eax, 1
jne 0x1005f109
shl edi, 0x10
jmp 0x1005f109
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 0x1005f12a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f126
cmp dword [eax], 0
jne 0x1005f126
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f154
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005f144
sub eax, 1
jne 0x1005f154
shl edx, 0x10
jmp 0x1005f154
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 0x1005f171
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f16d
cmp dword [eax], 0
jne 0x1005f16d
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f19b
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005f18b
sub eax, 1
jne 0x1005f19b
shl esi, 0x10
jmp 0x1005f19b
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 0x1005f1bb
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jmp 0x1005db2c
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 0x1005c7b1
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 0x1005ef05
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f798
cmp dword [eax], 0
jne 0x1005f798
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005c7b1
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005f273
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f26f
cmp dword [eax], 0
jne 0x1005f26f
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f29d
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005f28d
sub eax, 1
jne 0x1005f29d
shl edx, 0x10
jmp 0x1005f29d
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 0x1005f2ba
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f2b6
cmp dword [eax], 0
jne 0x1005f2b6
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f2e4
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005f2d4
sub eax, 1
jne 0x1005f2e4
shl ecx, 0x10
jmp 0x1005f2e4
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.1003ed60
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x1005df16
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f798
cmp dword [eax], 0
jne 0x1005f798
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005c7b1
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [edi]
jne 0x1005f366
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f340
cmp dword [eax], 0
jne 0x1005f340
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 0x1005f3ce
mov edi, dword [esp + 0x1c]
jmp 0x1005db30
add ebp, 0xfffffff8
mov dword [ebx + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x1005f381
sub eax, 1
jne 0x1005f391
shl ebp, 0x10
jmp 0x1005f391
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
test ebp, ebp
jle 0x1005f340
mov eax, ebp
mov esi, ebp
sar eax, 1
mov ecx, ebp
cmp ebp, 0xa
cmovge esi, eax
mov edx, esi
call fcn.10047550
lea edi, [esi + 1]
add edi, eax
sar edi, 1
cmp edi, esi
je 0x1005f342
mov edx, edi
mov ecx, ebp
mov esi, edi
call fcn.10047550
inc edi
add edi, eax
sar edi, 1
cmp edi, esi
jne 0x1005f3b5
jmp 0x1005f342
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 0x1005c7b1
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005f40c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f408
cmp dword [eax], 0
jne 0x1005f408
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f436
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005f426
sub eax, 1
jne 0x1005f436
shl edx, 0x10
jmp 0x1005f436
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 0x1005f459
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f469
cmp dword [eax], 0
jne 0x1005f469
mov dword [eax], 0x82
jmp 0x1005f469
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 0x10060edf
jmp 0x1005d799
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005f49e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f49a
cmp dword [eax], 0
jne 0x1005f49a
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f4c8
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005f4b8
sub eax, 1
jne 0x1005f4c8
shl esi, 0x10
jmp 0x1005f4c8
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 0x1005f4e5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f4e1
cmp dword [eax], 0
jne 0x1005f4e1
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f50f
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005f4ff
sub eax, 1
jne 0x1005f50f
shl edx, 0x10
jmp 0x1005f50f
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 0x1005f536
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f546
cmp dword [eax], 0
jne 0x1005f546
mov dword [eax], 0x82
jmp 0x1005f546
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 0x10060edf
jmp 0x1005d799
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f57f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f57b
cmp dword [eax], 0
jne 0x1005f57b
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f5a3
cmp dword [eax - 4], 2
je 0x1005f59b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f597
cmp dword [eax], 0
jne 0x1005f597
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005f5a3
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 0x1005c7a3
test edx, edx
jns 0x1005f5c2
lea ecx, [eax - 1]
jmp 0x1005f5ea
cmp edx, eax
jb 0x1005f5e5
xor ecx, ecx
mov eax, dword [esi + ecx*8 + 4]
mov edx, dword [esi + ecx*8]
sub eax, 1
je 0x1005f607
sub eax, 1
jne 0x1005f469
shl edx, 0x10
jmp 0x1005f469
mov ecx, eax
sub ecx, edx
dec ecx
cmp ecx, eax
jb 0x1005f5c8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f600
cmp dword [eax], 0
jne 0x1005f600
mov dword [eax], 0x82
xor edx, edx
jmp 0x1005f469
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
jmp 0x1005f469
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f639
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f635
cmp dword [eax], 0
jne 0x1005f635
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f65d
cmp dword [eax - 4], 2
je 0x1005f655
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f651
cmp dword [eax], 0
jne 0x1005f651
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005f65d
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f68f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f676
cmp dword [eax], 0
jne 0x1005f676
mov dword [eax], 0xa1
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 2
jmp 0x1005c7b1
cmp dword [eax - 4], 2
je 0x1005f6c0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f6a7
cmp dword [eax], 0
jne 0x1005f6a7
mov dword [eax], 0xa0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 2
jmp 0x1005c7b1
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 0x1005f798
sub eax, dword [edi]
sar eax, 3
cmp edx, eax
jbe 0x1005f715
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f798
cmp dword [eax], 0
jne 0x1005f798
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
jmp 0x1005c7b1
test ecx, ecx
jns 0x1005f728
neg ecx
mov eax, ecx
mov ecx, dword [esp + 0x38]
cdq
idiv ecx
neg edx
jmp 0x1005f731
mov eax, ecx
mov ecx, dword [esp + 0x38]
cdq
idiv ecx
mov dword [esp + 0x44], edx
test edx, edx
je 0x1005f798
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 0x1005f779
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 0x1005f7a9
sub esi, ebx
sub edi, eax
jmp 0x1005f7b1
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 0x1005c7b1
test esi, esi
jns 0x1005f7b1
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 0x1005f752
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 0x1005c7b1
test al, al
je case.0x1005d4d1.0
cmp byte [esp + 0x33], 0
je case.0x1005d4d1.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005f839
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f835
cmp dword [eax], 0
jne 0x1005f835
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f867
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 0x1005f857
sub eax, 1
jne 0x1005f86b
shl esi, 0x10
jmp 0x1005f867
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 0x1005f88f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f88b
cmp dword [eax], 0
jne 0x1005f88b
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005f8bd
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 0x1005f8ad
sub eax, 1
jne 0x1005f8c1
shl ebp, 0x10
jmp 0x1005f8bd
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 0x1005c7b1
mov eax, dword [esp + 0x40]
cmp byte [eax + 8], 0
je case.0x1005c8cf.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005f90f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f90b
cmp dword [eax], 0
jne 0x1005f90b
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f939
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005f929
sub eax, 1
jne 0x1005f939
shl ecx, 0x10
jmp 0x1005f939
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 0x1005f969
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f965
cmp dword [eax], 0
jne 0x1005f965
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f993
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005f983
sub eax, 1
jne 0x1005f993
shl ecx, 0x10
jmp 0x1005f993
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 0x1006119f
cmp byte [esp + 0x33], 0
mov edx, dword [esp + 0x10]
je case.0x1005d4d1.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 0x1005c7b1
mov edi, dword [esp + 0x40]
cmp byte [edi + 8], 0
je 0x1006134d
test ah, ah
jne 0x1006134d
cmp byte [esp + 0x2ec8], ah
je 0x1005fa63
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005b640
cmp byte [esp + 0x2f18], 0
je 0x1005fa4b
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.1005b0b0
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 0x1005fa9e
cmp byte [eax + 5], 0
je 0x1005fac2
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005a720
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 0x1005fb82
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 0x1005fb68
test ebx, ebx
je 0x1005fb66
cmp dword [ebx], 0
jne 0x1005fb66
mov dword [ebx], 0x82
xor ebp, ebp
imul ebp, edx
dec ecx
add ebp, esi
mov dword [esp + 0x10], ebp
test ecx, ecx
jg 0x1005fb50
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 0x1005c7b1
mov eax, dword [ebx + 0xc]
sub eax, dword [edi]
sar eax, 3
cmp eax, 1
jbe 0x1005fbb9
cmp byte [esp + 0x104], 0
jne case.0x1005c8cf.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.1005bac0
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x1006119f
cmp byte [esp + 0x28], 0x13
jne 0x1005fc1c
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0x100]
add eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x10]
push eax
call fcn.1005ba40
mov eax, dword [edi]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005c7b1
push 0xf1c
lea eax, [esp + 0x2f44]
push 0
push eax
call fcn.101b7b50
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.1005ba40
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.1005a720
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005c7b1
mov eax, dword [ebx + 0xc]
mov edx, dword [edi]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x1005fd3e
cmp byte [esp + 0x27], 0
jne 0x1005fd3e
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005fd1f
sub eax, 1
jne 0x1005fd2f
shl ecx, 0x10
jmp 0x1005fd2f
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 0x1006119f
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005fd81
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fd6d
cmp dword [eax], 0
jne 0x1005fd6d
mov dword [eax], 0xa1
xor ecx, ecx
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x1005fe29
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005fdab
sub eax, 1
jne 0x1005fdbb
shl ecx, 0x10
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x1005fe29
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 0x1005fe29
mov eax, dword [ebx + 0xc]
mov edx, dword [edi]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x1005fe13
cmp byte [esp + 0x27], 0
jne 0x1005fe13
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005fdf4
sub eax, 1
jne 0x1005fe04
shl ecx, 0x10
jmp 0x1005fe04
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 0x1006119f
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005fe46
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fe42
cmp dword [eax], 0
jne 0x1005fe42
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005fe70
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005fe60
sub eax, 1
jne 0x1005fe70
shl ecx, 0x10
jmp 0x1005fe70
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 0x1005ff83
cmp byte [esp + 0x2ec8], 0
je 0x1005ff07
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005b640
cmp byte [esp + 0x2f18], 0
je 0x1005feef
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.1005b0b0
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 0x1005ff42
cmp byte [eax + 5], 0
je 0x1005ff66
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005a720
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 0x1005c7b1
mov ebp, dword [ebx + 0xc]
xor esi, esi
sub ebp, dword [edi]
sar ebp, 3
mov dword [esp + 0x44], ebp
cmp ebp, 6
jbe 0x10060091
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 0x1005ffd8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ffd4
cmp dword [eax], 0
jne 0x1005ffd4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005fffe
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1005ffee
sub eax, 1
jne 0x1005fffe
shl ecx, 0x10
jmp 0x1005fffe
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 0x10060036
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060032
cmp dword [eax], 0
jne 0x10060032
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006005d
mov eax, dword [edx + esi*8 + 0xc]
mov ecx, dword [edx + esi*8 + 8]
sub eax, 1
je 0x1006004d
sub eax, 1
jne 0x1006005d
shl ecx, 0x10
jmp 0x1006005d
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.1005b640
add edi, 2
add esi, 2
cmp edi, ebp
jb 0x1005ffb0
mov edi, dword [esp + 0x1c]
cmp esi, ebp
mov ebp, dword [esp + 0x20]
jae 0x100607b2
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 0x100600c7
mov eax, dword [ebx + 4]
test eax, eax
je 0x100600c3
cmp dword [eax], 0
jne 0x100600c3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100600ee
mov eax, dword [edx + esi*8 - 0xc]
mov ecx, dword [edx + esi*8 - 0x10]
sub eax, 1
je 0x100600de
sub eax, 1
jne 0x100600ee
shl ecx, 0x10
jmp 0x100600ee
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 0x1006011b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060117
cmp dword [eax], 0
jne 0x10060117
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060142
mov eax, dword [edx + esi*8 - 4]
mov ecx, dword [edx + esi*8 - 8]
sub eax, 1
je 0x10060132
sub eax, 1
jne 0x10060142
shl ecx, 0x10
jmp 0x10060142
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 0x10060174
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060170
cmp dword [eax], 0
jne 0x10060170
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006019a
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1006018a
sub eax, 1
jne 0x1006019a
shl ecx, 0x10
jmp 0x1006019a
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 0x100601c3
mov eax, dword [ebx + 4]
test eax, eax
je 0x100601bf
cmp dword [eax], 0
jne 0x100601bf
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100601ea
mov eax, dword [edx + esi*8 + 0xc]
mov ecx, dword [edx + esi*8 + 8]
sub eax, 1
je 0x100601da
sub eax, 1
jne 0x100601ea
shl ecx, 0x10
jmp 0x100601ea
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 0x10060217
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060213
cmp dword [eax], 0
jne 0x10060213
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006023e
mov eax, dword [edx + esi*8 + 0x14]
mov ecx, dword [edx + esi*8 + 0x10]
sub eax, 1
je 0x1006022e
sub eax, 1
jne 0x1006023e
shl ecx, 0x10
jmp 0x1006023e
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 0x10060270
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006026c
cmp dword [eax], 0
jne 0x1006026c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060297
mov eax, dword [edx + esi*8 + 0x1c]
mov ecx, dword [edx + esi*8 + 0x18]
sub eax, 1
je 0x10060287
sub eax, 1
jne 0x10060297
shl ecx, 0x10
jmp 0x10060297
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.1005b7c0
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 0x100600a0
jmp 0x100607ae
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 0x100607b2
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 0x10060386
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1006034f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006034b
cmp dword [eax], 0
jne 0x1006034b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060375
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10060365
sub eax, 1
jne 0x10060375
shl ecx, 0x10
jmp 0x10060375
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 0x100603ae
mov eax, dword [ebx + 4]
test eax, eax
je 0x100603aa
cmp dword [eax], 0
jne 0x100603aa
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100603d4
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x100603c4
sub eax, 1
jne 0x100603d4
shl ecx, 0x10
jmp 0x100603d4
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 0x10060402
mov eax, dword [ebx + 4]
test eax, eax
je 0x100603fe
cmp dword [eax], 0
jne 0x100603fe
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060428
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060418
sub eax, 1
jne 0x10060428
shl ecx, 0x10
jmp 0x10060428
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 0x1006045b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060457
cmp dword [eax], 0
jne 0x10060457
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060481
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060471
sub eax, 1
jne 0x10060481
shl ecx, 0x10
jmp 0x10060481
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 0x100604ae
mov eax, dword [ebx + 4]
test eax, eax
je 0x100604aa
cmp dword [eax], 0
jne 0x100604aa
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100604e3
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100604cc
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x100604e3
shl ecx, 0x10
jmp 0x100604e3
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.1005b7c0
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 0x10060320
jmp 0x100607ae
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 0x100607b2
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 0x100605e2
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x100605a5
mov eax, dword [ebx + 4]
test eax, eax
je 0x100605a1
cmp dword [eax], 0
jne 0x100605a1
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100605cb
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x100605bb
sub eax, 1
jne 0x100605cb
shl ecx, 0x10
jmp 0x100605cb
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 0x100605e6
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 0x1006060e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006060a
cmp dword [eax], 0
jne 0x1006060a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060634
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10060624
sub eax, 1
jne 0x10060634
shl ecx, 0x10
jmp 0x10060634
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 0x10060662
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006065e
cmp dword [eax], 0
jne 0x1006065e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060688
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060678
sub eax, 1
jne 0x10060688
shl ecx, 0x10
jmp 0x10060688
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 0x100606b5
mov eax, dword [ebx + 4]
test eax, eax
je 0x100606b1
cmp dword [eax], 0
jne 0x100606b1
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100606ea
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100606d3
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x100606ea
shl ecx, 0x10
jmp 0x100606ea
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 0x1006071b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060717
cmp dword [eax], 0
jne 0x10060717
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060750
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060739
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x10060750
shl ecx, 0x10
jmp 0x10060750
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.1005b7c0
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 0x10060576
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 0x1005c7b1
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 0x10060c6c
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 0x10060a27
cmp edi, eax
jb 0x10060843
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006083f
cmp dword [eax], 0
jne 0x1006083f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060869
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10060859
sub eax, 1
jne 0x10060869
shl ecx, 0x10
jmp 0x10060869
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 0x1006089f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006089b
cmp dword [eax], 0
jne 0x1006089b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100608c5
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x100608b5
sub eax, 1
jne 0x100608c5
shl ecx, 0x10
jmp 0x100608c5
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 0x100608f4
mov eax, dword [ebx + 4]
test eax, eax
je 0x100608f0
cmp dword [eax], 0
jne 0x100608f0
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006091a
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1006090a
sub eax, 1
jne 0x1006091a
shl ecx, 0x10
jmp 0x1006091a
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 0x1006094a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060946
cmp dword [eax], 0
jne 0x10060946
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006097f
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060968
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x1006097f
shl ecx, 0x10
jmp 0x1006097f
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 0x10060a18
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 0x100609bf
mov eax, dword [ebx + 4]
test eax, eax
je 0x100609bb
cmp dword [eax], 0
jne 0x100609bb
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100609f4
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100609dd
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x100609f4
shl ecx, 0x10
jmp 0x100609f4
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 0x10060c12
xor al, al
mov dword [esp + 0x20], esi
mov byte [esp + 0x3f], al
jmp 0x10060c12
mov edx, dword [esp + 0x20]
mov dword [esp + 0x4c], edx
cmp edi, eax
jb 0x10060a49
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060a45
cmp dword [eax], 0
jne 0x10060a45
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060a6f
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10060a5f
sub eax, 1
jne 0x10060a6f
shl ecx, 0x10
jmp 0x10060a6f
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 0x10060a9e
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060a9a
cmp dword [eax], 0
jne 0x10060a9a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060ac4
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x10060ab4
sub eax, 1
jne 0x10060ac4
shl ecx, 0x10
jmp 0x10060ac4
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 0x10060af3
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060aef
cmp dword [eax], 0
jne 0x10060aef
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060b19
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060b09
sub eax, 1
jne 0x10060b19
shl ecx, 0x10
jmp 0x10060b19
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 0x10060b49
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060b45
cmp dword [eax], 0
jne 0x10060b45
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060b7e
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060b67
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x10060b7e
shl ecx, 0x10
jmp 0x10060b7e
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 0x10060c09
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 0x10060bbe
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060bba
cmp dword [eax], 0
jne 0x10060bba
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060bf3
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060bdc
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x10060bf3
shl ecx, 0x10
jmp 0x10060bf3
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 0x10060c0d
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.1005b7c0
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 0x10060810
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 0x1005c7b1
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10060c99
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edx, cl
jmp 0x10060cac
mov eax, dword [esi]
test eax, eax
je 0x10060caa
cmp dword [eax], 0
jne 0x10060caa
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10060cca
mov cl, byte [eax]
inc eax
shl edx, 8
mov dword [esi + 0xc], eax
movzx eax, cl
movsx edx, dx
or edx, eax
jmp 0x1005d786
mov eax, dword [esi]
test eax, eax
je 0x10060cdb
cmp dword [eax], 0
jne 0x10060cdb
mov dword [eax], 0x55
shl edx, 8
xor eax, eax
movsx edx, dx
or edx, eax
jmp 0x1005d786
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 0x1005c7b1
cmp byte [esp + 0x28], 0xf6
ja 0x10060d30
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 0x10060dc0
jmp 0x1005d799
cmp byte [esp + 0x28], 0xfa
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
ja 0x10060d78
shl edx, 8
cmp eax, ecx
jae 0x10060d5b
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx eax, cl
lea esi, [eax - 0xf694]
add esi, edx
jmp 0x10060d18
mov eax, dword [esi]
test eax, eax
je 0x10060d6c
cmp dword [eax], 0
jne 0x10060d6c
mov dword [eax], 0x55
xor eax, eax
lea esi, [eax - 0xf694]
add esi, edx
jmp 0x10060d18
cmp byte [esp + 0x28], 0xfe
ja 0x10060de1
shl edx, 8
cmp eax, ecx
jae 0x10060d91
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx eax, cl
jmp 0x10060da4
mov eax, dword [esi]
test eax, eax
je 0x10060da2
cmp dword [eax], 0
jne 0x10060da2
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 0x1005d799
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 0x1005c7b1
cmp eax, ecx
jae 0x10060df0
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edx, cl
jmp 0x10060e03
mov eax, dword [esi]
test eax, eax
je 0x10060e01
cmp dword [eax], 0
jne 0x10060e01
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10060e16
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edi, cl
jmp 0x10060e29
mov eax, dword [esi]
test eax, eax
je 0x10060e27
cmp dword [eax], 0
jne 0x10060e27
mov dword [eax], 0x55
xor edi, edi
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10060e3c
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx esi, cl
jmp 0x10060e4f
mov eax, dword [esi]
test eax, eax
je 0x10060e4d
cmp dword [eax], 0
jne 0x10060e4d
mov dword [eax], 0x55
xor esi, esi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x10060e6e
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 0x10060e81
mov eax, dword [ecx]
test eax, eax
je 0x10060e7f
cmp dword [eax], 0
jne 0x10060e7f
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 0x10060ec8
cmp edx, 0x7d00
jg 0x10060eaa
cmp edx, 0xffff8300
jge 0x10060ebf
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 0x1005d786
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 0x1005d799
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 0x1005c7b1
cmp dword [eax - 4], 2
je 0x10060f1c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060f18
cmp dword [eax], 0
jne 0x10060f18
mov dword [eax], 0xa0
xor edx, edx
jmp 0x10060f24
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 0x10060f46
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060f42
cmp dword [eax], 0
jne 0x10060f42
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10060f6a
cmp dword [eax - 4], 2
je 0x10060f62
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060f5e
cmp dword [eax], 0
jne 0x10060f5e
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x10060f6a
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 0x10060f8c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060f88
cmp dword [eax], 0
jne 0x10060f88
mov dword [eax], 0xa1
xor edi, edi
jmp 0x10060fb6
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10060fa6
sub eax, 1
jne 0x10060fb6
shl edi, 0x10
jmp 0x10060fb6
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 0x10060fd4
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060fd0
cmp dword [eax], 0
jne 0x10060fd0
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10060ffe
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10060fee
sub eax, 1
jne 0x10060ffe
shl esi, 0x10
jmp 0x10060ffe
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 0x1006101c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061018
cmp dword [eax], 0
jne 0x10061018
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10061046
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10061036
sub eax, 1
jne 0x10061046
shl ebp, 0x10
jmp 0x10061046
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp byte [esp + 0x3f20], 0
je 0x1006105a
mov eax, 0x12
jmp 0x1006167f
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x2f], 0
je 0x1006106e
mov eax, 0x12
jmp 0x1006167f
cmp dword [eax + 0x244], 0
jne 0x10061095
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x80]
cmp dword [eax + 0x34], 0
jne 0x10061091
mov eax, 0x12
jmp 0x1006167f
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 0x100610cc
mov edx, ecx
mov ecx, dword [esp + 0x2c]
call fcn.10058240
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x58], eax
call fcn.10058240
mov edx, eax
mov dword [esp + 0x38], edx
cmp dword [esp + 0x58], 0
jl 0x10061050
test edx, edx
js 0x10061050
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x2e], 0
je 0x100611a8
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.10048170
test eax, eax
jne 0x1006167f
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 0x1006167f
mov ecx, dword [eax + 0xc]
call fcn.100482c0
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x3e60]
mov ecx, dword [esp + 0x2c]
push eax
call fcn.1005a140
test eax, eax
jne 0x1006167f
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.1005c1f0
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 0x10061261
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 0x10061288
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.1005a140
test eax, eax
jne 0x1006167f
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.1005c1f0
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 0x10061324
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 0x1006167f
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
je 0x10061362
cmp eax, 5
jne 0x100613b6
cmp byte [esp + 0x27], 0
jne 0x100613b6
test eax, eax
jne 0x10061383
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006137f
cmp dword [eax], 0
jne 0x1006137f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100613a7
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10061397
sub eax, 1
jne 0x100613a7
shl ecx, 0x10
jmp 0x100613a7
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 0x1006119f
cmp byte [esp + 0x2ec8], 0
je 0x1006144c
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005b640
cmp byte [esp + 0x2f18], 0
je 0x1006142c
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.1005b0b0
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 0x1006119f
cmp byte [edi + 8], 0
jne 0x1006119f
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x1006119f
cmp byte [esp + 0x3f20], 0
je 0x1006148a
mov eax, 0x12
jmp 0x1006167f
cmp ecx, edx
jne 0x100614a4
mov eax, dword [ebx + 4]
test eax, eax
je 0x100614a0
cmp dword [eax], 0
jne 0x100614a0
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100614c8
cmp dword [ecx - 4], 2
je 0x100614c0
mov eax, dword [ebx + 4]
test eax, eax
je 0x100614bc
cmp dword [eax], 0
jne 0x100614bc
mov dword [eax], 0xa0
xor edx, edx
jmp 0x100614c8
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x100614e6
mov eax, dword [ebx + 4]
test eax, eax
je 0x100614e2
cmp dword [eax], 0
jne 0x100614e2
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1006150a
cmp dword [eax - 4], 2
je 0x10061502
mov eax, dword [ebx + 4]
test eax, eax
je 0x100614fe
cmp dword [eax], 0
jne 0x100614fe
mov dword [eax], 0xa0
xor ebp, ebp
jmp 0x1006150a
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x10061528
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061524
cmp dword [eax], 0
jne 0x10061524
mov dword [eax], 0xa1
xor edi, edi
jmp 0x10061552
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10061542
sub eax, 1
jne 0x10061552
shl edi, 0x10
jmp 0x10061552
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 0x10061570
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006156c
cmp dword [eax], 0
jne 0x1006156c
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1006159a
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1006158a
sub eax, 1
jne 0x1006159a
shl esi, 0x10
jmp 0x1006159a
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.1005a080
test eax, eax
jne 0x1006167f
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.1005c1f0
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.1005a080
test eax, eax
jne 0x1006167f
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.1005c1f0
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 0x1006167f
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 0x1006168e
cmp dword [ecx], 0
jne 0x1006168e
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 0x100616c8
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 0x1006170d
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 0x10061752
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 0x10061775
mov edx, eax
mov eax, dword [esp + 0xe0]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
test ebx, ebx
je 0x10061799
mov edx, dword [ebx + 8]
mov edi, dword [ebx]
test edx, edx
je 0x10061789
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.101b5daa
add esp, 0x3f04
ret 0x18