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

Disassembly:
mov eax, 0x3f04
call fcn.1019c8c0
mov eax, dword [0x102090c0]
xor eax, esp
mov dword [esp + 0x3efc], eax
mov eax, dword [esp + 0x3f08]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x3f0c]
push ebx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x3f20]
push ebp
mov dword [esp + 0x58], eax
mov ebp, edx
push esi
mov esi, ecx
mov dword [esp + 0x78], 0x1312d00
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
mov dword [esp + 0x68], ebx
mov dword [esp + 0x94], ecx
mov eax, dword [eax + 0x220]
shl eax, 0x10
mov dword [esp + 0x90], eax
xor eax, eax
push eax
mov dword [esp + 0x5c], eax
mov byte [esp + 0x60], al
mov byte [esp + 0x3b], al
mov dword [esp + 0x64], eax
lea eax, [esp + 0x3e90]
push eax
call fcn.1019d810
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.1019d810
mov eax, dword [esp + 0x8c]
add esp, 0xc
mov dword [esp + 0x138], esi
movaps xmm0, xmmword [0x101fad50]
push 0xf1c
mov dword [esp + 0x140], eax
lea eax, [esp + 0x1f7c]
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.1019d810
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.1019d810
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.1019d810
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 dword [esp + 0x2ec0], eax
lea eax, [esp + 0xc0]
mov ecx, dword [ecx + 4]
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 dword [esp + 0x2ee4], ebx
mov ecx, eax
xor ecx, edx
mov eax, esi
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x1005cce9
test esi, esi
jmp 0x1005cced
mov esi, ebx
test ebx, ebx
jns 0x1005ccf1
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 0x1005cd60
mov eax, dword [ecx + 0x214]
mov esi, dword [eax + 0x614]
jmp 0x1005cd65
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 0x10061d82
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 0x10061d72
je 0x1005cea7
cmp esi, 0xfffffff
jg 0x10061d72
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 0x1005ce03
mov edx, dword [esp + 0x74]
test edx, edx
jle 0x1005ce03
lea eax, [edx*8]
push eax
push 0
push esi
call fcn.1019d810
lea edi, [ebx + 8]
add esp, 0xc
mov dword [edi], esi
mov eax, esi
mov dword [esp + 0x1c], edi
jmp 0x1005ce18
mov dword [ebx + 8], eax
lea edx, [ebx + 8]
mov dword [esp + 0x1c], edx
test ecx, ecx
jne 0x10061d79
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.100592e0
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 0x100618ab
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 0x1005cece
lea edi, [ebx + 8]
xor eax, eax
mov dword [esp + 0x1c], edi
mov dword [edi], eax
jmp 0x1005ce1c
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
jmp 0x1005cece
mov edi, dword [esp + 0x1c]
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 8]
jb 0x1005ceeb
test ecx, ecx
mov edx, 0xb
mov eax, 0xe
cmove edx, eax
mov dword [esp + 0x28], edx
jmp 0x1005cf1a
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
mov dl, cl
mov dword [esp + 0x28], edx
cmp cl, 0xb
je 0x1005cf01
cmp cl, 0xe
jne 0x1005cf16
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 0x1005cfc4
test ah, ah
jne 0x1005cf67
cmp dl, 1
je 0x1005cf67
cmp dl, 3
je 0x1005cf67
cmp dl, 0xd
je 0x1005cf67
cmp dl, 0xa
je 0x1005cf67
cmp dl, 0xb
je 0x1005cf67
cmp dl, 0xc
je 0x1005cf67
cmp dl, 0xe
je 0x1005cf67
cmp dl, 0x20
jae 0x1005cf67
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov dword [ebx + 0xc], eax
jmp 0x1005cece
cmp dword [esp + 0x5c], 0
mov edi, dword [esp + 0x1c]
jle 0x1005cf9d
cmp dl, 0xa
je 0x1005cf9d
cmp dl, 0xb
je 0x1005cf9d
cmp dl, 0xc
je 0x1005cf9d
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 0x1005cfc4
cmp dl, 0x20
jae 0x1005cfc4
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 0x100618ab
sub dword [esp + 0x7c], 1
je 0x1006175c
movzx edx, dl
cmp edx, 0x1f
ja case.default.0x1005cfec
jmp dword [edx*4 + 0x10061ebc]
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1005cfec.0
cmp byte [edx + 0x5d], 0
jne 0x1006175c
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005d033
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d020
cmp dword [eax], 0
jne 0x1005d020
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 0x1005cece
cmp dword [eax - 4], 2
je 0x1005d05e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d04b
cmp dword [eax], 0
jne 0x1005d04b
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 0x1005cece
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js case.0x1005cfec.0
mov dword [edx + 0x78], eax
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov dword [ebx + 0xc], eax
jmp 0x1005cece
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1005cfec.0
cmp dword [edx + 0x60], 0
je 0x1006175c
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 0x1005d0d8
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 0x100618ab
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005d0f5
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1005d0f1
cmp dword [ecx], 0
jne 0x1005d0f1
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x1005d119
cmp dword [eax - 4], 2
je 0x1005d111
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d10d
cmp dword [eax], 0
jne 0x1005d10d
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1005d119
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x74]
ja 0x1006175c
push eax
mov edx, ebx
mov ecx, esi
call fcn.1005c720
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 0x1005cece
test al, al
jne 0x1005d15b
cmp byte [esp + 0x104], al
jne case.0x1005cfec.0
xor eax, eax
jmp 0x1005d165
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.1005c1f0
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x100618ab
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005cece
test al, al
jne 0x1005d1c7
cmp byte [esp + 0x104], al
jne case.0x1005cfec.0
xor eax, eax
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0xa8]
jmp 0x1005d172
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 0x1005d172
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x1005d228
cmp byte [esp + 0x27], 0
jne 0x1005d228
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005d209
sub eax, 1
jne 0x1005d219
shl ecx, 0x10
jmp 0x1005d219
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 0x100618ab
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005d26b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d257
cmp dword [eax], 0
jne 0x1005d257
mov dword [eax], 0xa1
xor ecx, ecx
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x1006058a
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005d295
sub eax, 1
jne 0x1005d2a5
shl ecx, 0x10
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x1006058a
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 0x1006058a
mov ebp, dword [ebx + 0xc]
sub ebp, dword [edi]
xor edi, edi
sar ebp, 3
test ebp, ebp
je 0x1005d3ac
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 0x1005d2ff
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d2fb
cmp dword [eax], 0
jne 0x1005d2fb
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
xor esi, esi
jmp 0x1005d325
mov eax, dword [edx + edi*8 + 4]
mov esi, dword [edx + edi*8]
sub eax, 1
je 0x1005d315
sub eax, 1
jne 0x1005d325
shl esi, 0x10
jmp 0x1005d325
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 0x1005d358
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d354
cmp dword [eax], 0
jne 0x1005d354
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d37f
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1005d36f
sub eax, 1
jne 0x1005d37f
shl ecx, 0x10
jmp 0x1005d37f
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.1005bd70
add edi, 2
cmp edi, ebp
jb 0x1005d2d0
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 0x1005cece
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 0x10060ebe
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1005d408
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d404
cmp dword [eax], 0
jne 0x1005d404
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d42e
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1005d41e
sub eax, 1
jne 0x1005d42e
shl ecx, 0x10
jmp 0x1005d42e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x18]
test dl, dl
je 0x1005d441
add ebp, ecx
mov dword [esp + 0x3f24], ebp
jmp 0x1005d44e
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.1005bd70
mov dl, byte [esp + 0x3f]
inc esi
mov eax, dword [esp + 0x1c]
cmp esi, edi
jb 0x1005d3e4
mov dword [esp + 0x20], ebp
jmp 0x10060ebe
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 0x1005d70d
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 0x1005d4cf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d4cb
cmp dword [eax], 0
jne 0x1005d4cb
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [ecx]
xor ecx, ecx
jmp 0x1005d4f6
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x1005d4e6
sub eax, 1
jne 0x1005d4f6
shl ecx, 0x10
jmp 0x1005d4f6
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 0x1005d52e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d52a
cmp dword [eax], 0
jne 0x1005d52a
mov ebp, dword [esp + 0x1c]
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [ebp]
xor ecx, ecx
jmp 0x1005d555
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x1005d545
sub eax, 1
jne 0x1005d555
shl ecx, 0x10
jmp 0x1005d555
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 0x1005d589
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d585
cmp dword [eax], 0
jne 0x1005d585
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005d5af
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1005d59f
sub eax, 1
jne 0x1005d5af
shl ecx, 0x10
jmp 0x1005d5af
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 0x1005d5e6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d5e2
cmp dword [eax], 0
jne 0x1005d5e2
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005d60d
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1005d5fd
sub eax, 1
jne 0x1005d60d
shl ecx, 0x10
jmp 0x1005d60d
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 0x1005d63c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d638
cmp dword [eax], 0
jne 0x1005d638
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005d663
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x1005d653
sub eax, 1
jne 0x1005d663
shl ecx, 0x10
jmp 0x1005d663
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 0x1005d68f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d68b
cmp dword [eax], 0
jne 0x1005d68b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d6b6
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x1005d6a6
sub eax, 1
jne 0x1005d6b6
shl ecx, 0x10
jmp 0x1005d6b6
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.1005bef0
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 0x1005d4a0
mov edi, dword [esp + 0x1c]
cmp byte [esp + 0x28], 0x18
jne 0x1005d7f9
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov esi, dword [edi]
sub eax, esi
sar eax, 3
cmp ebp, eax
jb 0x1005d744
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d740
cmp dword [eax], 0
jne 0x1005d740
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1005d76a
mov eax, dword [esi + ebp*8 + 4]
mov edx, dword [esi + ebp*8]
sub eax, 1
je 0x1005d75a
sub eax, 1
jne 0x1005d76a
shl edx, 0x10
jmp 0x1005d76a
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 0x1005d79d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d799
cmp dword [eax], 0
jne 0x1005d799
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d7c3
mov ecx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
sub eax, 1
je 0x1005d7b3
sub eax, 1
jne 0x1005d7c3
shl ecx, 0x10
jmp 0x1005d7c3
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.1005bd70
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005cece
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 0x1005cece
test al, al
je case.0x1005cfec.0
cmp byte [esp + 0x2ec8], 0
je 0x1005d898
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005bd70
cmp byte [esp + 0x2f18], 0
je 0x1005d878
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.1005b7e0
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 0x1005cece
cmp ecx, 0x10
jg 0x1006175c
lea eax, [ecx + 1]
cmp eax, dword [esp + 0x98]
jb 0x1005d8dc
mov eax, dword [esp + 0x94]
test eax, eax
je 0x1005d8da
cmp dword [eax], 0
jne 0x1005d8da
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 0x1005d90b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d907
cmp dword [eax], 0
jne 0x1005d907
mov dword [eax], 0xa1
xor eax, eax
jmp 0x1005d92f
cmp dword [eax - 4], 2
je 0x1005d927
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d923
cmp dword [eax], 0
jne 0x1005d923
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1005d92f
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x40]
cmp byte [ecx + 8], 0
je 0x1005d95c
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x268]
test ecx, ecx
je 0x1005d95c
push eax
call fcn.10048ba0
mov edx, dword [esp + 0x10]
test eax, eax
je 0x1005d959
mov eax, dword [eax]
jmp 0x1005d95c
or eax, 0xffffffff
cmp byte [esp + 0x28], 0x1d
xorps xmm0, xmm0
mov ecx, dword [esp + 0x2c]
movups xmmword [edx], xmm0
je 0x1005da25
mov ecx, dword [ecx + 0x234]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x22c]
jae 0x1006175c
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 0x1005d9f3
mov eax, dword [eax + 0x264]
test eax, eax
je 0x1005d9cb
test ecx, ecx
je 0x1005d9c3
mov eax, dword [eax + edx]
add eax, ecx
mov ecx, dword [esp + 0x10]
jmp 0x1005da01
mov ecx, dword [esp + 0x10]
xor eax, eax
jmp 0x1005da01
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 0x1005d9f7
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 0x1005cece
mov ecx, dword [ecx + 0x238]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x230]
jae 0x1006175c
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 0x1005cece
cmp ecx, 1
jl 0x1006175c
dec ecx
mov eax, ecx
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x98]
jb 0x1005da9c
mov eax, dword [esp + 0x94]
test eax, eax
je 0x1005da9a
cmp dword [eax], 0
jne 0x1005da9a
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 0x1005cece
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 8]
jae 0x1005dac7
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
jmp 0x1005dada
mov eax, dword [edx]
test eax, eax
je 0x1005dad8
cmp dword [eax], 0
jne 0x1005dad8
mov dword [eax], 0x55
xor cl, cl
movzx eax, cl
add eax, 0xfffffff8
mov byte [esp + 0x3f], cl
cmp eax, 0x1d
ja case.0x1005daf4.9
movzx eax, byte [eax + 0x10061f54]
jmp dword [eax*4 + 0x10061f3c]
push 0
push 0x101db210
jmp 0x1005db61
push 0
push 0x101db0b4
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f34]
push eax
lea edx, [esp + 0x3f34]
call fcn.1005c410
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 0x1005cece
push 0
push 0x101db23c
jmp 0x1005db61
push 1
push 0x101db3d4
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f34]
push eax
lea edx, [esp + 0x3f34]
call fcn.1005c410
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 0x1005cece
mov eax, dword [esp + 0x40]
cmp byte [eax + 9], 0
jne case.0x1005dbee.0
cmp cl, 0x26
jae case.0x1005dbee.0
mov al, byte [eax + 8]
test al, al
je 0x1005dbe2
cmp dword [esp + 0x5c], 0
jle 0x1005dbe2
cmp cl, 0x11
je 0x1005dbe2
mov eax, dword [edi]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x5c], 0
mov dword [ebx + 0xc], eax
jmp 0x1005cece
movzx ecx, cl
cmp ecx, 0x21
ja case.0x1005dbee.0
jmp dword [ecx*4 + 0x10061f74]
test al, al
je case.0x1005dbee.0
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x1005dc21
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dc1d
cmp dword [eax], 0
jne 0x1005dc1d
mov dword [eax], 0x82
xor esi, esi
jmp 0x1005dc45
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005dc35
sub eax, 1
jne 0x1005dc45
shl esi, 0x10
jmp 0x1005dc45
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 0x1005dc6a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dc66
cmp dword [eax], 0
jne 0x1005dc66
mov dword [eax], 0x82
xor edi, edi
jmp 0x1005dc8f
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, 1
je 0x1005dc7f
sub eax, 1
jne 0x1005dc8f
shl edi, 0x10
jmp 0x1005dc8f
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 0x1005dcb9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dcb5
cmp dword [eax], 0
jne 0x1005dcb5
mov dword [eax], 0x82
xor edx, edx
jmp 0x1005dcde
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x20]
sub eax, 1
je 0x1005dcce
sub eax, 1
jne 0x1005dcde
shl edx, 0x10
jmp 0x1005dcde
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 0x1005dd04
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dd00
cmp dword [eax], 0
jne 0x1005dd00
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005dd29
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub eax, 1
je 0x1005dd19
sub eax, 1
jne 0x1005dd29
shl ecx, 0x10
jmp 0x1005dd29
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 0x1005dd50
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dd66
cmp dword [eax], 0
jne 0x1005dd66
mov dword [eax], 0x82
jmp 0x1005dd66
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 0x1005dd8f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dd8b
cmp dword [eax], 0
jne 0x1005dd8b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005ddb4
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
sub eax, 1
je 0x1005dda4
sub eax, 1
jne 0x1005ddb4
shl ecx, 0x10
jmp 0x1005ddb4
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 0x1005dddb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ddef
cmp dword [eax], 0
jne 0x1005ddef
mov dword [eax], 0x82
jmp 0x1005ddef
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 0x1005de01
mov eax, dword [eax]
jmp 0x1005de04
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.1005c1f0
cmp byte [ebp + 0x224], 0
jne 0x100618ab
mov ebp, dword [esp + 0x20]
jmp 0x10060688
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005de5e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005de5a
cmp dword [eax], 0
jne 0x1005de5a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005de88
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005de78
sub eax, 1
jne 0x1005de88
shl edx, 0x10
jmp 0x1005de88
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 0x1005dee5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dea1
cmp dword [eax], 0
jne 0x1005dea1
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 0x100613f6
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005cece
cmp dword [eax], 0
jne 0x1005cece
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005cece
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005deff
sub eax, 1
jne 0x1005df0f
shl ecx, 0x10
jmp 0x1005df0f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
je 0x1005dea1
test edx, edx
je 0x1005dea1
mov edx, 1
jmp 0x1005dea3
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005df3b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005df37
cmp dword [eax], 0
jne 0x1005df37
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005df65
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005df55
sub eax, 1
jne 0x1005df65
shl edx, 0x10
jmp 0x1005df65
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 0x1005df80
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dfb2
cmp dword [eax], 0
jne 0x1005dfb2
mov dword [eax], 0xa1
jmp 0x1005dfb2
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005df9a
sub eax, 1
jne 0x1005dfaa
shl ecx, 0x10
jmp 0x1005dfaa
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
jne 0x1005df17
test edx, edx
jne 0x1005df17
jmp 0x1005dea1
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005dfdc
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dfd8
cmp dword [eax], 0
jne 0x1005dfd8
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e006
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005dff6
sub eax, 1
jne 0x1005e006
shl edx, 0x10
jmp 0x1005e006
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 0x1005deb6
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 0x1005cece
test al, al
je case.0x1005dbee.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 0x1006160c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e072
cmp dword [eax], 0
jne 0x1005e072
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10061630
test al, al
je case.0x1005dbee.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005e09e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e09a
cmp dword [eax], 0
jne 0x1005e09a
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e0c8
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005e0b8
sub eax, 1
jne 0x1005e0c8
shl ecx, 0x10
jmp 0x1005e0c8
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 0x1005e0ef
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e0eb
cmp dword [eax], 0
jne 0x1005e0eb
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e119
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005e109
sub eax, 1
jne 0x1005e119
shl ecx, 0x10
jmp 0x1005e119
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 0x1005e13b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e137
cmp dword [eax], 0
jne 0x1005e137
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e165
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e155
sub eax, 1
jne 0x1005e165
shl edx, 0x10
jmp 0x1005e165
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 0x1005e182
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e17e
cmp dword [eax], 0
jne 0x1005e17e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e1ac
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005e19c
sub eax, 1
jne 0x1005e1ac
shl ecx, 0x10
jmp 0x1005e1ac
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 0x100618ab
cmp byte [esp + 0x33], 0
mov esi, dword [esp + 0x18]
je 0x10060690
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 0x1005cece
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005e280
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e21e
cmp dword [eax], 0
jne 0x1005e21e
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 0x1005e633
mov esi, dword [esp + 0x18]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005cece
cmp dword [eax], 0
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
jne 0x1005cece
mov dword [eax], 0x82
jmp 0x1005cece
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005e29a
sub eax, 1
jne 0x1005e2aa
shl ecx, 0x10
jmp 0x1005e2aa
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 0x1005e229
lea eax, [edi*8]
mov edi, dword [esp + 0x1c]
add eax, ebp
mov ebp, dword [esp + 0x20]
cmp esi, eax
jne 0x1005e2fb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005feac
cmp dword [eax], 0
jne 0x1005feac
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1005cece
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 0x1005cece
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005e339
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e335
cmp dword [eax], 0
jne 0x1005e335
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e363
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005e353
sub eax, 1
jne 0x1005e363
shl esi, 0x10
jmp 0x1005e363
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 0x1005e380
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e37c
cmp dword [eax], 0
jne 0x1005e37c
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e3aa
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e39a
sub eax, 1
jne 0x1005e3aa
shl edx, 0x10
jmp 0x1005e3aa
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 0x1005e3ec
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 0x1005cece
cmp dword [eax], 0
jne 0x1005cece
mov dword [eax], 0x82
jmp 0x1005cece
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 0x1005cece
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005e431
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e42d
cmp dword [eax], 0
jne 0x1005e42d
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e45b
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005e44b
sub eax, 1
jne 0x1005e45b
shl esi, 0x10
jmp 0x1005e45b
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 0x1005e478
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e474
cmp dword [eax], 0
jne 0x1005e474
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e4a2
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e492
sub eax, 1
jne 0x1005e4a2
shl edx, 0x10
jmp 0x1005e4a2
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 0x1005e3bd
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 0x1005cece
test al, al
je 0x1005e58d
cmp byte [esp + 0x58], 0
je 0x1005e58d
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e510
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e50c
cmp dword [eax], 0
jne 0x1005e50c
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e534
cmp dword [eax - 4], 2
je 0x1005e52c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e528
cmp dword [eax], 0
jne 0x1005e528
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005e534
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e558
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e54d
cmp dword [eax], 0
jne 0x1005e54d
mov dword [eax], 0xa1
xor ecx, ecx
mov byte [esp + 0x58], cl
jmp 0x1005e61b
cmp dword [eax - 4], 2
je 0x1005e57b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e570
cmp dword [eax], 0
jne 0x1005e570
mov dword [eax], 0xa0
xor ecx, ecx
mov byte [esp + 0x58], cl
jmp 0x1005e61b
add eax, 0xfffffff8
mov byte [esp + 0x58], 0
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
jmp 0x1005e61b
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005e5aa
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e5a6
cmp dword [eax], 0
jne 0x1005e5a6
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e5d4
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e5c4
sub eax, 1
jne 0x1005e5d4
shl edx, 0x10
jmp 0x1005e5d4
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 0x1005e5f1
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e5ed
cmp dword [eax], 0
jne 0x1005e5ed
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e61b
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005e60b
sub eax, 1
jne 0x1005e61b
shl ecx, 0x10
jmp 0x1005e61b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.10047cd0
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
je 0x1005deb6
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 0x1005cece
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005e6a6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e66d
cmp dword [eax], 0
jne 0x1005e66d
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 0x1005deb6
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 0x1005cece
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005e6c0
sub eax, 1
jne 0x1005e6d0
shl ecx, 0x10
jmp 0x1005e6d0
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 0x1005e678
lea eax, [esi + eax*8]
cmp edx, eax
jne 0x1005e713
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fea8
cmp dword [eax], 0
jne 0x1005fea8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005cece
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 0x1005cece
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005e755
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e751
cmp dword [eax], 0
jne 0x1005e751
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e77f
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005e76f
sub eax, 1
jne 0x1005e77f
shl esi, 0x10
jmp 0x1005e77f
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 0x1005e79c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e798
cmp dword [eax], 0
jne 0x1005e798
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e7c6
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e7b6
sub eax, 1
jne 0x1005e7c6
shl edx, 0x10
jmp 0x1005e7c6
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 0x1005e3bd
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 0x1005cece
mov ecx, dword [esp + 0x14]
test al, al
je 0x1005cece
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e832
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e82e
cmp dword [eax], 0
jne 0x1005e82e
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e856
cmp dword [eax - 4], 2
je 0x1005e84e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e84a
cmp dword [eax], 0
jne 0x1005e84a
mov dword [eax], 0xa0
xor esi, esi
jmp 0x1005e856
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e873
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e86f
cmp dword [eax], 0
jne 0x1005e86f
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005e897
cmp dword [eax - 4], 2
je 0x1005e88f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e88b
cmp dword [eax], 0
jne 0x1005e88b
mov dword [eax], 0xa0
xor edi, edi
jmp 0x1005e897
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 edx, dword [eax]
sub ebp, edx
sar ebp, 3
xor eax, eax
sub ebp, edi
mov dword [esp + 0x54], eax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x5c], eax
cmp esi, 0x1c
ja case.0x1005e8cb.4
movzx eax, byte [esi + 0x1006203c]
jmp dword [eax*4 + 0x10061ffc]
cmp edi, 3
jne 0x1006175c
cmp byte [esp + 0x33], 0
je 0x1005e900
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x1d4], 0
je 0x1006175c
cmp dword [eax + 0x1d8], 7
jne 0x1006175c
mov eax, dword [ebx + 0x10]
mov ebp, dword [esp + 0x20]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1005e922
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e932
cmp dword [eax], 0
jne 0x1005e932
mov dword [eax], 0x82
jmp 0x1005e932
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 0x1005e970
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e980
cmp dword [eax], 0
jne 0x1005e980
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov dword [esp + 0x54], 2
jmp 0x1005cece
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 0x1005cece
test edi, edi
jne 0x1006175c
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 0x1005cece
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 0x1005e9eb
push 0
mov edx, 6
mov ecx, esi
call fcn.100483a0
test eax, eax
jne 0x100618ab
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 0x1005cece
test edi, edi
jne 0x1006175c
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 0x1005cece
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 0x1d4], 0
je 0x1006175c
mov esi, dword [ecx + 0x1d8]
lea eax, [esi + 1]
mov dword [ecx + 0x1d8], eax
lea eax, [esi - 1]
cmp eax, 5
ja 0x1005fea0
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 0x1005ea98
push 0
mov edx, 1
mov ecx, edi
call fcn.100483a0
test eax, eax
jne 0x1006175c
lea eax, [esi - 3]
cmp esi, 3
jg 0x1005eaa2
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 0x1005eac8
cmp esi, 6
jne 0x1005fea4
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.1005bef0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1005cece
cmp edi, 1
jne 0x1006175c
cmp byte [esp + 0x33], 0
je 0x1005eb73
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 0x1005cece
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 0x1005cece
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x284]
mov dword [esp + 0x28], ecx
test ecx, ecx
je 0x1006175c
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 0x1006175c
lea edi, [edx + ebp]
test edx, edx
je 0x1005ed21
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x1c]
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, esi
sar eax, 3
cmp ebp, eax
jb 0x1005ec1b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ec17
cmp dword [eax], 0
jne 0x1005ec17
mov dword [eax], 0x82
xor esi, esi
jmp 0x1005ec41
mov eax, dword [esi + ebp*8 + 4]
mov esi, dword [esi + ebp*8]
sub eax, 1
je 0x1005ec31
sub eax, 1
jne 0x1005ec41
shl esi, 0x10
jmp 0x1005ec41
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp dword [ecx], 1
jbe 0x1005ecd4
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 0x1005ec7f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ec7b
cmp dword [eax], 0
jne 0x1005ec7b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005eca5
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1005ec95
sub eax, 1
jne 0x1005eca5
shl ecx, 0x10
jmp 0x1005eca5
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.1003f450
mov ecx, dword [esp + 0x28]
inc ebp
add dword [esp + 0x38], 4
add esi, eax
inc edi
cmp ebp, dword [ecx]
jb 0x1005ec57
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 0x1005ecfa
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ed0b
cmp dword [eax], 0
jne 0x1005ed0b
mov dword [eax], 0x82
jmp 0x1005ed0b
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 0x1005ebf3
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 0x1005ed62
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ed6e
cmp dword [eax], 0
jne 0x1005ed6e
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 0x1005cece
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 0x1005cece
mov ebp, dword [esp + 0x2c]
mov esi, dword [ebp + 0x284]
cmp edi, 1
jne 0x1006175c
test esi, esi
je 0x1006175c
cmp ecx, edx
jne 0x1005edb8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005edb4
cmp dword [eax], 0
jne 0x1005edb4
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005ede4
cmp dword [ecx - 4], 2
je 0x1005edd4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005edd0
cmp dword [eax], 0
jne 0x1005edd0
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005ede4
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x1006175c
mov edx, dword [esi]
lea eax, [edx + ecx]
cmp eax, dword [ebp + 0x28c]
ja 0x1006175c
lea eax, [edx*4]
push eax
mov eax, dword [ebp + 0x288]
push dword [esi + 0x88]
lea eax, [eax + ecx*4]
push eax
call fcn.1019d290
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 0x1005cece
cmp edi, 2
jne 0x1006175c
cmp ecx, edx
jne 0x1005ee51
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ee4d
cmp dword [eax], 0
jne 0x1005ee4d
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005ee7b
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005ee6b
sub eax, 1
jne 0x1005ee7b
shl esi, 0x10
jmp 0x1005ee7b
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 0x1005ee9d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ee99
cmp dword [eax], 0
jne 0x1005ee99
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005eec7
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005eeb7
sub eax, 1
jne 0x1005eec7
shl edx, 0x10
jmp 0x1005eec7
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 0x1005ef0a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ef1d
cmp dword [eax], 0
jne 0x1005ef1d
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 0x1005cece
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 0x1005cece
cmp edi, 2
jne 0x1006175c
cmp ecx, edx
jne 0x1005ef61
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ef5d
cmp dword [eax], 0
jne 0x1005ef5d
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005ef8b
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005ef7b
sub eax, 1
jne 0x1005ef8b
shl esi, 0x10
jmp 0x1005ef8b
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 0x1005efad
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005efa9
cmp dword [eax], 0
jne 0x1005efa9
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005efd7
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005efc7
sub eax, 1
jne 0x1005efd7
shl edx, 0x10
jmp 0x1005efd7
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 0x1005f006
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ef1d
cmp dword [eax], 0
jne 0x1005ef1d
mov dword [eax], 0x82
jmp 0x1005ef1d
sub edx, esi
mov dword [edi], edx
jmp 0x1005ef0f
cmp edi, 2
jne 0x1006175c
cmp ecx, edx
jne 0x1005f032
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f02e
cmp dword [eax], 0
jne 0x1005f02e
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f05c
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005f04c
sub eax, 1
jne 0x1005f05c
shl edx, 0x10
jmp 0x1005f05c
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 0x1005f07d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f079
cmp dword [eax], 0
jne 0x1005f079
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f0a7
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005f097
sub eax, 1
jne 0x1005f0a7
shl ecx, 0x10
jmp 0x1005f0a7
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.1003f450
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x1005f0ea
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f0fa
cmp dword [eax], 0
jne 0x1005f0fa
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 0x1005cece
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 0x1005cece
cmp edi, 2
jne 0x1006175c
cmp ecx, edx
jne 0x1005f13a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f136
cmp dword [eax], 0
jne 0x1005f136
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f164
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005f154
sub eax, 1
jne 0x1005f164
shl edx, 0x10
jmp 0x1005f164
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 0x1005f185
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f181
cmp dword [eax], 0
jne 0x1005f181
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f1af
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005f19f
sub eax, 1
jne 0x1005f1af
shl ecx, 0x10
jmp 0x1005f1af
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test edx, edx
je 0x1006175c
call fcn.10047cd0
jmp 0x1005f0ac
cmp edi, 2
jne 0x1006175c
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x1006175c
cmp ecx, edx
jne 0x1005f1f5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f1f1
cmp dword [eax], 0
jne 0x1005f1f1
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f221
cmp dword [ecx - 4], 2
je 0x1005f211
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f20d
cmp dword [eax], 0
jne 0x1005f20d
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005f221
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
test edx, edx
js 0x1006175c
cmp edx, dword [ebp + 0x28c]
jae 0x1006175c
mov edi, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005f26a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f24a
cmp dword [eax], 0
jne 0x1005f24a
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 0x1005cece
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005f2a0
sub eax, 1
jne 0x1005f2b0
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 0x1005cece
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 0x1005cece
cmp edi, 1
jne 0x1006175c
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x1006175c
cmp ecx, edx
jne 0x1005f302
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f2fe
cmp dword [eax], 0
jne 0x1005f2fe
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f32e
cmp dword [ecx - 4], 2
je 0x1005f31e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f31a
cmp dword [eax], 0
jne 0x1005f31a
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005f32e
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x1006175c
cmp ecx, dword [ebp + 0x28c]
jae 0x1006175c
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 0x1005f0bb
mov dword [edx], esi
jmp 0x1005f0ec
cmp edi, 4
jne 0x1006175c
cmp ecx, edx
jne 0x1005f384
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f380
cmp dword [eax], 0
jne 0x1005f380
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005f3ae
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x1005f39e
sub eax, 1
jne 0x1005f3ae
shl ebp, 0x10
jmp 0x1005f3ae
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 0x1005f3cf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f3cb
cmp dword [eax], 0
jne 0x1005f3cb
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005f3f9
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005f3e9
sub eax, 1
jne 0x1005f3f9
shl edi, 0x10
jmp 0x1005f3f9
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 0x1005f416
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f412
cmp dword [eax], 0
jne 0x1005f412
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f440
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005f430
sub eax, 1
jne 0x1005f440
shl edx, 0x10
jmp 0x1005f440
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 0x1005f45d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f459
cmp dword [eax], 0
jne 0x1005f459
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f487
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005f477
sub eax, 1
jne 0x1005f487
shl esi, 0x10
jmp 0x1005f487
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 0x1005f4b9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ef1d
cmp dword [eax], 0
jne 0x1005ef1d
mov dword [eax], 0x82
jmp 0x1005ef1d
cmp edi, ebp
cmovle edx, esi
mov dword [ecx], edx
jmp 0x1005ef0f
test edi, edi
jne 0x1006175c
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 0x1005f35a
jmp 0x1005f0bb
test edi, edi
js 0x1006175c
test esi, esi
js 0x1006175c
cmp edi, 3
jle 0x1005f538
mov edi, 3
mov dword [esp + 0x5c], edi
jmp 0x1005f555
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 0x1005ceca
mov ebp, dword [esp + 0x1c]
lea edx, [esp + edi*4 + 0x3e5c]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebp]
jne 0x1005f57e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f57a
cmp dword [eax], 0
jne 0x1005f57a
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f5a8
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1005f598
sub eax, 1
jne 0x1005f5a8
shl ecx, 0x10
jmp 0x1005f5a8
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov dword [edx], ecx
sub edx, 4
sub edi, 1
jne 0x1005f560
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 0x1005cece
mov ecx, dword [esp + 0x14]
test al, al
je 0x1005cece
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x1005f5e9
dec eax
mov dword [esp + 0x54], eax
jmp 0x1005cece
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x1006175c
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 0x1005deb6
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 0x1005cece
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f65f
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005cece
cmp dword [eax], 0
jne 0x1005cece
mov dword [eax], 0xa1
jmp 0x1005cece
mov ecx, dword [esp + 0x14]
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
jmp 0x1005cece
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f68b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f687
cmp dword [eax], 0
jne 0x1005f687
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f6af
cmp dword [eax - 4], 2
je 0x1005f6a7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f6a3
cmp dword [eax], 0
jne 0x1005f6a3
mov dword [eax], 0xa0
xor esi, esi
jmp 0x1005f6af
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005f6cc
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f6c8
cmp dword [eax], 0
jne 0x1005f6c8
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f6f6
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005f6e6
sub eax, 1
jne 0x1005f6f6
shl ecx, 0x10
jmp 0x1005f6f6
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x10]
cmp esi, 0x1f
ja 0x1005e2ee
mov dword [esp + esi*4 + 0x3e88], ecx
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1005cece
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f73e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f730
cmp dword [eax], 0
jne 0x1005f730
mov dword [eax], 0xa1
xor eax, eax
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005f601
cmp dword [eax - 4], 2
je 0x1005f764
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f756
cmp dword [eax], 0
jne 0x1005f756
mov dword [eax], 0xa0
xor eax, eax
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005f601
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x1005feac
cmp eax, 0x20
jge 0x1005feac
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005f601
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [edi]
jne 0x1005f7a6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f7a2
cmp dword [eax], 0
jne 0x1005f7a2
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005f7d1
add ebp, 0xfffffff8
mov dword [ebx + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x1005f7c1
sub eax, 1
jne 0x1005f7d1
shl ebp, 0x10
jmp 0x1005f7d1
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 0x1005f7ee
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f7ea
cmp dword [eax], 0
jne 0x1005f7ea
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005f818
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005f808
sub eax, 1
jne 0x1005f818
shl edi, 0x10
jmp 0x1005f818
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 0x1005f839
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f835
cmp dword [eax], 0
jne 0x1005f835
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f863
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005f853
sub eax, 1
jne 0x1005f863
shl edx, 0x10
jmp 0x1005f863
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 0x1005f880
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f87c
cmp dword [eax], 0
jne 0x1005f87c
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f8aa
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005f89a
sub eax, 1
jne 0x1005f8aa
shl esi, 0x10
jmp 0x1005f8aa
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 0x1005f8ca
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jmp 0x1005e249
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 0x1005cece
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 0x1005f614
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fea8
cmp dword [eax], 0
jne 0x1005fea8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005cece
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005f982
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f97e
cmp dword [eax], 0
jne 0x1005f97e
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f9ac
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005f99c
sub eax, 1
jne 0x1005f9ac
shl edx, 0x10
jmp 0x1005f9ac
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 0x1005f9c9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f9c5
cmp dword [eax], 0
jne 0x1005f9c5
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f9f3
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005f9e3
sub eax, 1
jne 0x1005f9f3
shl ecx, 0x10
jmp 0x1005f9f3
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.1003f450
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x1005e633
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fea8
cmp dword [eax], 0
jne 0x1005fea8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005cece
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [edi]
jne 0x1005fa75
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fa4f
cmp dword [eax], 0
jne 0x1005fa4f
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 0x1005fadd
mov edi, dword [esp + 0x1c]
jmp 0x1005e24d
add ebp, 0xfffffff8
mov dword [ebx + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x1005fa90
sub eax, 1
jne 0x1005faa0
shl ebp, 0x10
jmp 0x1005faa0
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
test ebp, ebp
jle 0x1005fa4f
mov eax, ebp
mov esi, ebp
sar eax, 1
mov ecx, ebp
cmp ebp, 0xa
cmovge esi, eax
mov edx, esi
call fcn.10047cd0
lea edi, [esi + 1]
add edi, eax
sar edi, 1
cmp edi, esi
je 0x1005fa51
mov edx, edi
mov ecx, ebp
mov esi, edi
call fcn.10047cd0
inc edi
add edi, eax
sar edi, 1
cmp edi, esi
jne 0x1005fac4
jmp 0x1005fa51
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 0x1005cece
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005fb1b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fb17
cmp dword [eax], 0
jne 0x1005fb17
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005fb45
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005fb35
sub eax, 1
jne 0x1005fb45
shl edx, 0x10
jmp 0x1005fb45
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 0x1005fb68
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fb78
cmp dword [eax], 0
jne 0x1005fb78
mov dword [eax], 0x82
jmp 0x1005fb78
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 0x100615eb
jmp 0x1005deb6
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005fbad
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fba9
cmp dword [eax], 0
jne 0x1005fba9
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005fbd7
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005fbc7
sub eax, 1
jne 0x1005fbd7
shl esi, 0x10
jmp 0x1005fbd7
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 0x1005fbf4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fbf0
cmp dword [eax], 0
jne 0x1005fbf0
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005fc1e
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005fc0e
sub eax, 1
jne 0x1005fc1e
shl edx, 0x10
jmp 0x1005fc1e
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 0x1005fc45
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fc55
cmp dword [eax], 0
jne 0x1005fc55
mov dword [eax], 0x82
jmp 0x1005fc55
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 0x100615eb
jmp 0x1005deb6
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005fc8e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fc8a
cmp dword [eax], 0
jne 0x1005fc8a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005fcb2
cmp dword [eax - 4], 2
je 0x1005fcaa
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fca6
cmp dword [eax], 0
jne 0x1005fca6
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005fcb2
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 0x1005cec0
test edx, edx
jns 0x1005fcd1
lea ecx, [eax - 1]
jmp 0x1005fcf9
cmp edx, eax
jb 0x1005fcf4
xor ecx, ecx
mov eax, dword [esi + ecx*8 + 4]
mov edx, dword [esi + ecx*8]
sub eax, 1
je 0x1005fd16
sub eax, 1
jne 0x1005fb78
shl edx, 0x10
jmp 0x1005fb78
mov ecx, eax
sub ecx, edx
dec ecx
cmp ecx, eax
jb 0x1005fcd7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fd0f
cmp dword [eax], 0
jne 0x1005fd0f
mov dword [eax], 0x82
xor edx, edx
jmp 0x1005fb78
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
jmp 0x1005fb78
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005fd48
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fd44
cmp dword [eax], 0
jne 0x1005fd44
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005fd6c
cmp dword [eax - 4], 2
je 0x1005fd64
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fd60
cmp dword [eax], 0
jne 0x1005fd60
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005fd6c
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005fd9e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fd85
cmp dword [eax], 0
jne 0x1005fd85
mov dword [eax], 0xa1
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 2
jmp 0x1005cece
cmp dword [eax - 4], 2
je 0x1005fdcf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fdb6
cmp dword [eax], 0
jne 0x1005fdb6
mov dword [eax], 0xa0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 2
jmp 0x1005cece
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 0x1005fea8
sub eax, dword [edi]
sar eax, 3
cmp edx, eax
jbe 0x1005fe24
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fea8
cmp dword [eax], 0
jne 0x1005fea8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
jmp 0x1005cece
test ecx, ecx
jns 0x1005fe37
neg ecx
mov eax, ecx
mov ecx, dword [esp + 0x38]
cdq
idiv ecx
neg edx
jmp 0x1005fe40
mov eax, ecx
mov ecx, dword [esp + 0x38]
cdq
idiv ecx
mov dword [esp + 0x44], edx
test edx, edx
je 0x1005fea8
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 0x1005fe88
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 0x1005feb9
sub esi, ebx
sub edi, eax
jmp 0x1005fec1
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 0x1005cece
test esi, esi
jns 0x1005fec1
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 0x1005fe61
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 0x1005cece
test al, al
je case.0x1005dbee.0
cmp byte [esp + 0x33], 0
je case.0x1005dbee.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005ff49
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ff45
cmp dword [eax], 0
jne 0x1005ff45
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005ff77
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 0x1005ff67
sub eax, 1
jne 0x1005ff7b
shl esi, 0x10
jmp 0x1005ff77
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 0x1005ff9f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ff9b
cmp dword [eax], 0
jne 0x1005ff9b
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005ffcd
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 0x1005ffbd
sub eax, 1
jne 0x1005ffd1
shl ebp, 0x10
jmp 0x1005ffcd
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 0x1005cece
mov eax, dword [esp + 0x40]
cmp byte [eax + 8], 0
je case.0x1005cfec.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1006001f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006001b
cmp dword [eax], 0
jne 0x1006001b
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10060049
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x10060039
sub eax, 1
jne 0x10060049
shl ecx, 0x10
jmp 0x10060049
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 0x10060079
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060075
cmp dword [eax], 0
jne 0x10060075
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100600a3
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10060093
sub eax, 1
jne 0x100600a3
shl ecx, 0x10
jmp 0x100600a3
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 0x100618ab
cmp byte [esp + 0x33], 0
mov edx, dword [esp + 0x10]
je case.0x1005dbee.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 0x1005cece
mov edi, dword [esp + 0x40]
cmp byte [edi + 8], 0
je 0x10061a59
test ah, ah
jne 0x10061a59
cmp byte [esp + 0x2ec8], ah
je 0x10060173
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005bd70
cmp byte [esp + 0x2f18], 0
je 0x1006015b
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.1005b7e0
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 0x100601ae
cmp byte [eax + 5], 0
je 0x100601d2
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005ae50
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 0x10060292
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 0x10060278
test ebx, ebx
je 0x10060276
cmp dword [ebx], 0
jne 0x10060276
mov dword [ebx], 0x82
xor ebp, ebp
imul ebp, edx
dec ecx
add ebp, esi
mov dword [esp + 0x10], ebp
test ecx, ecx
jg 0x10060260
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 0x1005cece
mov eax, dword [ebx + 0xc]
sub eax, dword [edi]
sar eax, 3
cmp eax, 1
jbe 0x100602c9
cmp byte [esp + 0x104], 0
jne case.0x1005cfec.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.1005c1f0
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x100618ab
cmp byte [esp + 0x28], 0x13
jne 0x1006032c
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0x100]
add eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x10]
push eax
call fcn.1005c170
mov eax, dword [edi]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005cece
push 0xf1c
lea eax, [esp + 0x2f44]
push 0
push eax
call fcn.1019d810
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.1005c170
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.1005ae50
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005cece
mov eax, dword [ebx + 0xc]
mov edx, dword [edi]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x1006044e
cmp byte [esp + 0x27], 0
jne 0x1006044e
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1006042f
sub eax, 1
jne 0x1006043f
shl ecx, 0x10
jmp 0x1006043f
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 0x100618ab
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x10060491
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006047d
cmp dword [eax], 0
jne 0x1006047d
mov dword [eax], 0xa1
xor ecx, ecx
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x10060536
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100604b8
sub eax, 1
jne 0x100604c8
shl ecx, 0x10
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x10060536
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 0x10060536
mov eax, dword [ebx + 0xc]
mov edx, dword [edi]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x10060520
cmp byte [esp + 0x27], 0
jne 0x10060520
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10060501
sub eax, 1
jne 0x10060511
shl ecx, 0x10
jmp 0x10060511
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 0x100618ab
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x10060553
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006054f
cmp dword [eax], 0
jne 0x1006054f
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1006057d
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1006056d
sub eax, 1
jne 0x1006057d
shl ecx, 0x10
jmp 0x1006057d
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 0x10060690
cmp byte [esp + 0x2ec8], 0
je 0x10060614
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005bd70
cmp byte [esp + 0x2f18], 0
je 0x100605fc
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.1005b7e0
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 0x1006064f
cmp byte [eax + 5], 0
je 0x10060673
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005ae50
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 0x1005cece
mov ebp, dword [ebx + 0xc]
xor esi, esi
sub ebp, dword [edi]
sar ebp, 3
mov dword [esp + 0x44], ebp
cmp ebp, 6
jbe 0x100607a1
lea edi, [esi + 6]
nop dword [eax]
mov edx, dword [esp + 0x1c]
mov eax, dword [ebx + 0xc]
mov ecx, dword [edx]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x100606e8
mov eax, dword [ebx + 4]
test eax, eax
je 0x100606e4
cmp dword [eax], 0
jne 0x100606e4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006070e
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x100606fe
sub eax, 1
jne 0x1006070e
shl ecx, 0x10
jmp 0x1006070e
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 0x10060746
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060742
cmp dword [eax], 0
jne 0x10060742
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006076d
mov eax, dword [edx + esi*8 + 0xc]
mov ecx, dword [edx + esi*8 + 8]
sub eax, 1
je 0x1006075d
sub eax, 1
jne 0x1006076d
shl ecx, 0x10
jmp 0x1006076d
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.1005bd70
add edi, 2
add esi, 2
cmp edi, ebp
jb 0x100606c0
mov edi, dword [esp + 0x1c]
cmp esi, ebp
mov ebp, dword [esp + 0x20]
jae 0x10060ec2
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 0x100607d7
mov eax, dword [ebx + 4]
test eax, eax
je 0x100607d3
cmp dword [eax], 0
jne 0x100607d3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100607fe
mov eax, dword [edx + esi*8 - 0xc]
mov ecx, dword [edx + esi*8 - 0x10]
sub eax, 1
je 0x100607ee
sub eax, 1
jne 0x100607fe
shl ecx, 0x10
jmp 0x100607fe
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 0x1006082b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060827
cmp dword [eax], 0
jne 0x10060827
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060852
mov eax, dword [edx + esi*8 - 4]
mov ecx, dword [edx + esi*8 - 8]
sub eax, 1
je 0x10060842
sub eax, 1
jne 0x10060852
shl ecx, 0x10
jmp 0x10060852
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 0x10060884
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060880
cmp dword [eax], 0
jne 0x10060880
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100608aa
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1006089a
sub eax, 1
jne 0x100608aa
shl ecx, 0x10
jmp 0x100608aa
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 0x100608d3
mov eax, dword [ebx + 4]
test eax, eax
je 0x100608cf
cmp dword [eax], 0
jne 0x100608cf
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100608fa
mov eax, dword [edx + esi*8 + 0xc]
mov ecx, dword [edx + esi*8 + 8]
sub eax, 1
je 0x100608ea
sub eax, 1
jne 0x100608fa
shl ecx, 0x10
jmp 0x100608fa
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 0x10060927
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060923
cmp dword [eax], 0
jne 0x10060923
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006094e
mov eax, dword [edx + esi*8 + 0x14]
mov ecx, dword [edx + esi*8 + 0x10]
sub eax, 1
je 0x1006093e
sub eax, 1
jne 0x1006094e
shl ecx, 0x10
jmp 0x1006094e
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 0x10060980
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006097c
cmp dword [eax], 0
jne 0x1006097c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100609a7
mov eax, dword [edx + esi*8 + 0x1c]
mov ecx, dword [edx + esi*8 + 0x18]
sub eax, 1
je 0x10060997
sub eax, 1
jne 0x100609a7
shl ecx, 0x10
jmp 0x100609a7
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.1005bef0
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 0x100607b0
jmp 0x10060ebe
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 0x10060ec2
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 0x10060a96
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x10060a5f
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060a5b
cmp dword [eax], 0
jne 0x10060a5b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060a85
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10060a75
sub eax, 1
jne 0x10060a85
shl ecx, 0x10
jmp 0x10060a85
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 0x10060abe
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060aba
cmp dword [eax], 0
jne 0x10060aba
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060ae4
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10060ad4
sub eax, 1
jne 0x10060ae4
shl ecx, 0x10
jmp 0x10060ae4
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 0x10060b12
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060b0e
cmp dword [eax], 0
jne 0x10060b0e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060b38
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060b28
sub eax, 1
jne 0x10060b38
shl ecx, 0x10
jmp 0x10060b38
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 0x10060b6b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060b67
cmp dword [eax], 0
jne 0x10060b67
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060b91
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060b81
sub eax, 1
jne 0x10060b91
shl ecx, 0x10
jmp 0x10060b91
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 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
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.1005bef0
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 0x10060a30
jmp 0x10060ebe
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 0x10060ec2
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 0x10060cf2
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x10060cb5
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060cb1
cmp dword [eax], 0
jne 0x10060cb1
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060cdb
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10060ccb
sub eax, 1
jne 0x10060cdb
shl ecx, 0x10
jmp 0x10060cdb
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 0x10060cf6
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 0x10060d1e
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060d1a
cmp dword [eax], 0
jne 0x10060d1a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060d44
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10060d34
sub eax, 1
jne 0x10060d44
shl ecx, 0x10
jmp 0x10060d44
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 0x10060d72
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060d6e
cmp dword [eax], 0
jne 0x10060d6e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060d98
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060d88
sub eax, 1
jne 0x10060d98
shl ecx, 0x10
jmp 0x10060d98
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 0x10060dc5
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060dc1
cmp dword [eax], 0
jne 0x10060dc1
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060dfa
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060de3
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x10060dfa
shl ecx, 0x10
jmp 0x10060dfa
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 0x10060e2b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060e27
cmp dword [eax], 0
jne 0x10060e27
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060e60
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060e49
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x10060e60
shl ecx, 0x10
jmp 0x10060e60
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.1005bef0
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 0x10060c86
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 0x1005cece
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 0x10061378
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 0x10061137
cmp edi, eax
jb 0x10060f53
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060f4f
cmp dword [eax], 0
jne 0x10060f4f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060f79
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10060f69
sub eax, 1
jne 0x10060f79
shl ecx, 0x10
jmp 0x10060f79
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 0x10060faf
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060fab
cmp dword [eax], 0
jne 0x10060fab
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060fd5
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x10060fc5
sub eax, 1
jne 0x10060fd5
shl ecx, 0x10
jmp 0x10060fd5
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 0x10061004
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061000
cmp dword [eax], 0
jne 0x10061000
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006102a
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1006101a
sub eax, 1
jne 0x1006102a
shl ecx, 0x10
jmp 0x1006102a
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 0x1006105a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061056
cmp dword [eax], 0
jne 0x10061056
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006108f
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10061078
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x1006108f
shl ecx, 0x10
jmp 0x1006108f
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 0x10061128
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 0x100610cf
mov eax, dword [ebx + 4]
test eax, eax
je 0x100610cb
cmp dword [eax], 0
jne 0x100610cb
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061104
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100610ed
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x10061104
shl ecx, 0x10
jmp 0x10061104
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 0x1006131e
xor al, al
mov dword [esp + 0x20], esi
mov byte [esp + 0x3f], al
jmp 0x1006131e
mov edx, dword [esp + 0x20]
mov dword [esp + 0x4c], edx
cmp edi, eax
jb 0x10061159
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061155
cmp dword [eax], 0
jne 0x10061155
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006117f
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x1006116f
sub eax, 1
jne 0x1006117f
shl ecx, 0x10
jmp 0x1006117f
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 0x100611ae
mov eax, dword [ebx + 4]
test eax, eax
je 0x100611aa
cmp dword [eax], 0
jne 0x100611aa
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100611d4
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x100611c4
sub eax, 1
jne 0x100611d4
shl ecx, 0x10
jmp 0x100611d4
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 0x10061203
mov eax, dword [ebx + 4]
test eax, eax
je 0x100611ff
cmp dword [eax], 0
jne 0x100611ff
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061229
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10061219
sub eax, 1
jne 0x10061229
shl ecx, 0x10
jmp 0x10061229
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 0x10061259
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061255
cmp dword [eax], 0
jne 0x10061255
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006128e
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10061277
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x1006128e
shl ecx, 0x10
jmp 0x1006128e
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 0x10061315
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 0x100612ca
mov eax, dword [ebx + 4]
test eax, eax
je 0x100612c6
cmp dword [eax], 0
jne 0x100612c6
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100612ff
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100612e8
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x100612ff
shl ecx, 0x10
jmp 0x100612ff
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 0x10061319
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.1005bef0
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 0x10060f20
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 0x1005cece
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x100613a5
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edx, cl
jmp 0x100613b8
mov eax, dword [esi]
test eax, eax
je 0x100613b6
cmp dword [eax], 0
jne 0x100613b6
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x100613d6
mov cl, byte [eax]
inc eax
shl edx, 8
mov dword [esi + 0xc], eax
movzx eax, cl
movsx edx, dx
or edx, eax
jmp 0x1005dea3
mov eax, dword [esi]
test eax, eax
je 0x100613e7
cmp dword [eax], 0
jne 0x100613e7
mov dword [eax], 0x55
shl edx, 8
xor eax, eax
movsx edx, dx
or edx, eax
jmp 0x1005dea3
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 0x1005cece
cmp byte [esp + 0x28], 0xf6
ja 0x1006143c
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 0x100614cc
jmp 0x1005deb6
cmp byte [esp + 0x28], 0xfa
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
ja 0x10061484
shl edx, 8
cmp eax, ecx
jae 0x10061467
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx eax, cl
lea esi, [eax - 0xf694]
add esi, edx
jmp 0x10061424
mov eax, dword [esi]
test eax, eax
je 0x10061478
cmp dword [eax], 0
jne 0x10061478
mov dword [eax], 0x55
xor eax, eax
lea esi, [eax - 0xf694]
add esi, edx
jmp 0x10061424
cmp byte [esp + 0x28], 0xfe
ja 0x100614ed
shl edx, 8
cmp eax, ecx
jae 0x1006149d
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx eax, cl
jmp 0x100614b0
mov eax, dword [esi]
test eax, eax
je 0x100614ae
cmp dword [eax], 0
jne 0x100614ae
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 0x1005deb6
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 0x1005cece
cmp eax, ecx
jae 0x100614fc
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edx, cl
jmp 0x1006150f
mov eax, dword [esi]
test eax, eax
je 0x1006150d
cmp dword [eax], 0
jne 0x1006150d
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10061522
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edi, cl
jmp 0x10061535
mov eax, dword [esi]
test eax, eax
je 0x10061533
cmp dword [eax], 0
jne 0x10061533
mov dword [eax], 0x55
xor edi, edi
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10061548
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx esi, cl
jmp 0x1006155b
mov eax, dword [esi]
test eax, eax
je 0x10061559
cmp dword [eax], 0
jne 0x10061559
mov dword [eax], 0x55
xor esi, esi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x1006157a
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 0x1006158d
mov eax, dword [ecx]
test eax, eax
je 0x1006158b
cmp dword [eax], 0
jne 0x1006158b
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 0x100615d4
cmp edx, 0x7d00
jg 0x100615b6
cmp edx, 0xffff8300
jge 0x100615cb
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 0x1005dea3
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 0x1005deb6
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 0x1005cece
cmp dword [eax - 4], 2
je 0x10061628
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061624
cmp dword [eax], 0
jne 0x10061624
mov dword [eax], 0xa0
xor edx, edx
jmp 0x10061630
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 0x10061652
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006164e
cmp dword [eax], 0
jne 0x1006164e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10061676
cmp dword [eax - 4], 2
je 0x1006166e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006166a
cmp dword [eax], 0
jne 0x1006166a
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x10061676
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 0x10061698
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061694
cmp dword [eax], 0
jne 0x10061694
mov dword [eax], 0xa1
xor edi, edi
jmp 0x100616c2
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x100616b2
sub eax, 1
jne 0x100616c2
shl edi, 0x10
jmp 0x100616c2
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 0x100616e0
mov eax, dword [ebx + 4]
test eax, eax
je 0x100616dc
cmp dword [eax], 0
jne 0x100616dc
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1006170a
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x100616fa
sub eax, 1
jne 0x1006170a
shl esi, 0x10
jmp 0x1006170a
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 0x10061728
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061724
cmp dword [eax], 0
jne 0x10061724
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10061752
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10061742
sub eax, 1
jne 0x10061752
shl ebp, 0x10
jmp 0x10061752
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp byte [esp + 0x3f20], 0
je 0x10061766
mov eax, 0x12
jmp 0x10061d87
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x2f], 0
je 0x1006177a
mov eax, 0x12
jmp 0x10061d87
cmp dword [eax + 0x244], 0
jne 0x100617a1
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x80]
cmp dword [eax + 0x34], 0
jne 0x1006179d
mov eax, 0x12
jmp 0x10061d87
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 0x100617d8
mov edx, ecx
mov ecx, dword [esp + 0x2c]
call fcn.10058980
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x58], eax
call fcn.10058980
mov edx, eax
mov dword [esp + 0x38], edx
cmp dword [esp + 0x58], 0
jl 0x1006175c
test edx, edx
js 0x1006175c
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x2e], 0
je 0x100618b4
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.100488c0
test eax, eax
jne 0x10061d87
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 0x10061d87
mov ecx, dword [eax + 0xc]
call fcn.10048a10
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x3e60]
mov ecx, dword [esp + 0x2c]
push eax
call fcn.1005a870
test eax, eax
jne 0x10061d87
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.1005c910
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 0x1006196d
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 0x10061994
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.1005a870
test eax, eax
jne 0x10061d87
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.1005c910
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 0x10061a30
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 0x10061d87
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
je 0x10061a6e
cmp eax, 5
jne 0x10061ac2
cmp byte [esp + 0x27], 0
jne 0x10061ac2
test eax, eax
jne 0x10061a8f
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061a8b
cmp dword [eax], 0
jne 0x10061a8b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061ab3
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10061aa3
sub eax, 1
jne 0x10061ab3
shl ecx, 0x10
jmp 0x10061ab3
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 0x100618ab
cmp byte [esp + 0x2ec8], 0
je 0x10061b54
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005bd70
cmp byte [esp + 0x2f18], 0
je 0x10061b34
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.1005b7e0
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 0x100618ab
cmp byte [edi + 8], 0
jne 0x100618ab
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x100618ab
cmp byte [esp + 0x3f20], 0
je 0x10061b92
mov eax, 0x12
jmp 0x10061d87
cmp ecx, edx
jne 0x10061bac
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061ba8
cmp dword [eax], 0
jne 0x10061ba8
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10061bd0
cmp dword [ecx - 4], 2
je 0x10061bc8
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061bc4
cmp dword [eax], 0
jne 0x10061bc4
mov dword [eax], 0xa0
xor edx, edx
jmp 0x10061bd0
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x10061bee
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061bea
cmp dword [eax], 0
jne 0x10061bea
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10061c12
cmp dword [eax - 4], 2
je 0x10061c0a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061c06
cmp dword [eax], 0
jne 0x10061c06
mov dword [eax], 0xa0
xor ebp, ebp
jmp 0x10061c12
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x10061c30
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061c2c
cmp dword [eax], 0
jne 0x10061c2c
mov dword [eax], 0xa1
xor edi, edi
jmp 0x10061c5a
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10061c4a
sub eax, 1
jne 0x10061c5a
shl edi, 0x10
jmp 0x10061c5a
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 0x10061c78
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061c74
cmp dword [eax], 0
jne 0x10061c74
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10061ca2
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10061c92
sub eax, 1
jne 0x10061ca2
shl esi, 0x10
jmp 0x10061ca2
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.1005a7b0
test eax, eax
jne 0x10061d87
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.1005c910
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.1005a7b0
test eax, eax
jne 0x10061d87
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.1005c910
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 0x10061d87
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 0x10061d96
cmp dword [ecx], 0
jne 0x10061d96
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 0x10061dd0
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 0x10061e15
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 0x10061e5a
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 0x10061e7d
mov edx, eax
mov eax, dword [esp + 0xe0]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
test ebx, ebx
je 0x10061ea1
mov edx, dword [ebx + 8]
mov edi, dword [ebx]
test edx, edx
je 0x10061e91
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.1019ba64
add esp, 0x3f04
ret 0x18