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

Disassembly:
mov eax, 0x3f04
call fcn.101b6d00
mov eax, dword [0x102230c0]
xor eax, esp
mov dword [esp + 0x3efc], eax
mov eax, dword [esp + 0x3f08]
push ebx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x3f10]
push ebp
mov dword [esp + 0x70], eax
mov ebp, edx
mov eax, dword [esp + 0x3f24]
push esi
mov esi, ecx
mov dword [esp + 0x5c], eax
xor eax, eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x64], eax
push edi
mov eax, dword [esi + 0xb0]
lea ebx, [esi + 4]
mov ecx, dword [esi + 0x34]
mov edi, dword [esi]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 0x218]
push 0x80
push 0
mov dword [esp + 0x6c], ebx
mov eax, dword [eax + 0x220]
shl eax, 0x10
mov dword [esp + 0x94], eax
lea eax, [esp + 0x3e90]
push eax
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x60], 0
mov byte [esp + 0x64], 0
mov byte [esp + 0x3f], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x88], 0x1312d00
call fcn.101b7c50
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.101b7c50
mov eax, dword [esp + 0x8c]
add esp, 0xc
mov dword [esp + 0x138], esi
mov dword [esp + 0x13c], eax
movaps xmm0, xmmword [0x10215a30]
lea eax, [esp + 0x1f78]
push 0xf1c
push 0
push eax
mov dword [esp + 0x2ea0], edi
mov dword [esp + 0x2ea4], ebx
movups xmmword [esp + 0x2ea8], xmm0
mov dword [esp + 0x2eb8], 0
mov dword [esp + 0x2ebc], 0
call fcn.101b7c50
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.101b7c50
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.101b7c50
mov ecx, dword [esp + 0x9c]
lea eax, [esp + 0x1f84]
mov dword [esp + 0x150], eax
add esp, 0xc
mov dword [esp + 0x150], ecx
lea eax, [esp + 0x2e94]
mov dword [esp + 0x148], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0x2eb4], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 0x2eb8], eax
mov dword [esp + 0x2ebc], ecx
mov ecx, dword [esp + 0x78]
mov byte [esp + 0x14d], bl
mov dword [esp + 0x140], esi
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x2ec0], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x2ecc], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x2ed0], eax
lea eax, [esp + 0x100]
mov dword [esp + 0x2ed4], eax
mov eax, dword [esp + 0x3f28]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2ed8], eax
lea eax, [esi + 0xf0]
mov dword [esp + 0x2edc], eax
mov al, byte [esi + 0xb9]
mov esi, dword [esi + 0xe4]
mov byte [esp + 0x2eca], al
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2ec4], ecx
mov dword [esp + 0x2ee0], esi
mov ebx, dword [eax + 0xe8]
mov eax, ebx
cdq
mov ecx, eax
mov dword [esp + 0x2ee4], ebx
xor ecx, edx
sub ecx, edx
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x1005c9b5
test esi, esi
jmp 0x1005c9b9
mov esi, ebx
test ebx, ebx
jns 0x1005c9bd
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 0x1005ca2c
mov eax, dword [ecx + 0x214]
mov esi, dword [eax + 0x614]
jmp 0x1005ca31
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 0x10061a5a
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 0x10061a4a
je 0x1005cb73
cmp esi, 0xfffffff
jg 0x10061a4a
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 0x1005cacf
mov edx, dword [esp + 0x74]
test edx, edx
jle 0x1005cacf
lea eax, [edx*8]
push eax
push 0
push esi
call fcn.101b7c50
lea edi, [ebx + 8]
add esp, 0xc
mov dword [edi], esi
mov eax, esi
mov dword [esp + 0x1c], edi
jmp 0x1005cae4
mov dword [ebx + 8], eax
lea edx, [ebx + 8]
mov dword [esp + 0x1c], edx
test ecx, ecx
jne 0x10061a51
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.10058f90
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 0x1006157f
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 0x1005cb91
lea edi, [ebx + 8]
xor eax, eax
mov dword [esp + 0x1c], edi
mov dword [edi], eax
jmp 0x1005cae8
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
jmp 0x1005cb91
mov edi, dword [esp + 0x1c]
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 8]
jb 0x1005cbae
test ecx, ecx
mov edx, 0xb
mov eax, 0xe
cmove edx, eax
mov dword [esp + 0x28], edx
jmp 0x1005cbdd
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
mov dl, cl
mov dword [esp + 0x28], edx
cmp cl, 0xb
je 0x1005cbc4
cmp cl, 0xe
jne 0x1005cbd9
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 0x1005cc87
test ah, ah
jne 0x1005cc2a
cmp dl, 1
je 0x1005cc2a
cmp dl, 3
je 0x1005cc2a
cmp dl, 0xd
je 0x1005cc2a
cmp dl, 0xa
je 0x1005cc2a
cmp dl, 0xb
je 0x1005cc2a
cmp dl, 0xc
je 0x1005cc2a
cmp dl, 0xe
je 0x1005cc2a
cmp dl, 0x20
jae 0x1005cc2a
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov dword [ebx + 0xc], eax
jmp 0x1005cb91
cmp dword [esp + 0x5c], 0
mov edi, dword [esp + 0x1c]
jle 0x1005cc60
cmp dl, 0xa
je 0x1005cc60
cmp dl, 0xb
je 0x1005cc60
cmp dl, 0xc
je 0x1005cc60
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 0x1005cc87
cmp dl, 0x20
jae 0x1005cc87
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 0x1006157f
sub dword [esp + 0x7c], 1
je 0x10061430
movzx edx, dl
cmp edx, 0x1f
ja case.default.0x1005ccaf
jmp dword [edx*4 + 0x10061b94]
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1005ccaf.0
cmp byte [edx + 0x5d], 0
jne 0x10061430
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005ccf6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cce3
cmp dword [eax], 0
jne 0x1005cce3
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 0x1005cb91
cmp dword [eax - 4], 2
je 0x1005cd21
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cd0e
cmp dword [eax], 0
jne 0x1005cd0e
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 0x1005cb91
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js case.0x1005ccaf.0
mov dword [edx + 0x78], eax
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov dword [ebx + 0xc], eax
jmp 0x1005cb91
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1005ccaf.0
cmp dword [edx + 0x60], 0
je 0x10061430
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 0x1005cd9b
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 0x1006157f
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005cdb8
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1005cdb4
cmp dword [ecx], 0
jne 0x1005cdb4
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x1005cddc
cmp dword [eax - 4], 2
je 0x1005cdd4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cdd0
cmp dword [eax], 0
jne 0x1005cdd0
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1005cddc
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x74]
ja 0x10061430
push eax
mov edx, ebx
mov ecx, esi
call fcn.1005c3d0
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 0x1005cb91
test al, al
jne 0x1005ce1e
cmp byte [esp + 0x104], al
jne case.0x1005ccaf.0
xor eax, eax
jmp 0x1005ce28
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.1005bea0
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x1006157f
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005cb91
test al, al
jne 0x1005ce8a
cmp byte [esp + 0x104], al
jne case.0x1005ccaf.0
xor eax, eax
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0xa8]
jmp 0x1005ce35
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 0x1005ce35
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x1005ceeb
cmp byte [esp + 0x27], 0
jne 0x1005ceeb
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005cecc
sub eax, 1
jne 0x1005cedc
shl ecx, 0x10
jmp 0x1005cedc
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 0x1006157f
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005cf2e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cf1a
cmp dword [eax], 0
jne 0x1005cf1a
mov dword [eax], 0xa1
xor ecx, ecx
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x1006025d
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005cf58
sub eax, 1
jne 0x1005cf68
shl ecx, 0x10
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x1006025d
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 0x1006025d
mov ebp, dword [ebx + 0xc]
sub ebp, dword [edi]
xor edi, edi
sar ebp, 3
test ebp, ebp
je 0x1005d06c
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 0x1005cfbf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cfbb
cmp dword [eax], 0
jne 0x1005cfbb
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
xor esi, esi
jmp 0x1005cfe5
mov eax, dword [edx + edi*8 + 4]
mov esi, dword [edx + edi*8]
sub eax, 1
je 0x1005cfd5
sub eax, 1
jne 0x1005cfe5
shl esi, 0x10
jmp 0x1005cfe5
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 0x1005d018
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d014
cmp dword [eax], 0
jne 0x1005d014
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d03f
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1005d02f
sub eax, 1
jne 0x1005d03f
shl ecx, 0x10
jmp 0x1005d03f
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.1005ba20
add edi, 2
cmp edi, ebp
jb 0x1005cf90
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 0x1005cb91
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 0x10060b8e
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1005d0c8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d0c4
cmp dword [eax], 0
jne 0x1005d0c4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d0ee
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1005d0de
sub eax, 1
jne 0x1005d0ee
shl ecx, 0x10
jmp 0x1005d0ee
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x18]
test dl, dl
je 0x1005d101
add ebp, ecx
mov dword [esp + 0x3f24], ebp
jmp 0x1005d10e
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.1005ba20
mov dl, byte [esp + 0x3f]
inc esi
mov eax, dword [esp + 0x1c]
cmp esi, edi
jb 0x1005d0a4
mov dword [esp + 0x20], ebp
jmp 0x10060b8e
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 0x1005d3cc
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 0x1005d18f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d18b
cmp dword [eax], 0
jne 0x1005d18b
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [ecx]
xor ecx, ecx
jmp 0x1005d1b6
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x1005d1a6
sub eax, 1
jne 0x1005d1b6
shl ecx, 0x10
jmp 0x1005d1b6
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 0x1005d1ed
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d1e9
cmp dword [eax], 0
jne 0x1005d1e9
mov edx, dword [esp + 0x1c]
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [edx]
xor ecx, ecx
jmp 0x1005d214
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x1005d204
sub eax, 1
jne 0x1005d214
shl ecx, 0x10
jmp 0x1005d214
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 0x1005d248
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d244
cmp dword [eax], 0
jne 0x1005d244
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005d26e
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1005d25e
sub eax, 1
jne 0x1005d26e
shl ecx, 0x10
jmp 0x1005d26e
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 0x1005d2a5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d2a1
cmp dword [eax], 0
jne 0x1005d2a1
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005d2cc
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1005d2bc
sub eax, 1
jne 0x1005d2cc
shl ecx, 0x10
jmp 0x1005d2cc
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 0x1005d2fb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d2f7
cmp dword [eax], 0
jne 0x1005d2f7
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005d322
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x1005d312
sub eax, 1
jne 0x1005d322
shl ecx, 0x10
jmp 0x1005d322
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 0x1005d34e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d34a
cmp dword [eax], 0
jne 0x1005d34a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d375
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x1005d365
sub eax, 1
jne 0x1005d375
shl ecx, 0x10
jmp 0x1005d375
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.1005bba0
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 0x1005d160
mov edi, dword [esp + 0x1c]
cmp byte [esp + 0x28], 0x18
jne 0x1005d4b8
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov esi, dword [edi]
sub eax, esi
sar eax, 3
cmp ebp, eax
jb 0x1005d403
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d3ff
cmp dword [eax], 0
jne 0x1005d3ff
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1005d429
mov eax, dword [esi + ebp*8 + 4]
mov edx, dword [esi + ebp*8]
sub eax, 1
je 0x1005d419
sub eax, 1
jne 0x1005d429
shl edx, 0x10
jmp 0x1005d429
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 0x1005d45c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d458
cmp dword [eax], 0
jne 0x1005d458
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d482
mov ecx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
sub eax, 1
je 0x1005d472
sub eax, 1
jne 0x1005d482
shl ecx, 0x10
jmp 0x1005d482
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.1005ba20
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005cb91
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 0x1005cb91
test al, al
je case.0x1005ccaf.0
cmp byte [esp + 0x2ec8], 0
je 0x1005d55b
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005ba20
cmp byte [esp + 0x2f18], 0
je 0x1005d53b
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.1005b490
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 0x1005cb91
cmp ecx, 0x10
jg 0x10061430
lea eax, [ecx + 1]
cmp eax, dword [esp + 0x98]
jb 0x1005d59f
mov eax, dword [esp + 0x94]
test eax, eax
je 0x1005d59d
cmp dword [eax], 0
jne 0x1005d59d
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 0x1005d5ce
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d5ca
cmp dword [eax], 0
jne 0x1005d5ca
mov dword [eax], 0xa1
xor eax, eax
jmp 0x1005d5f2
cmp dword [eax - 4], 2
je 0x1005d5ea
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d5e6
cmp dword [eax], 0
jne 0x1005d5e6
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1005d5f2
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x40]
cmp byte [ecx + 8], 0
je 0x1005d61f
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x268]
test ecx, ecx
je 0x1005d61f
push eax
call fcn.10048830
mov edx, dword [esp + 0x10]
test eax, eax
je 0x1005d61c
mov eax, dword [eax]
jmp 0x1005d61f
or eax, 0xffffffff
cmp byte [esp + 0x28], 0x1d
xorps xmm0, xmm0
mov ecx, dword [esp + 0x2c]
movups xmmword [edx], xmm0
je 0x1005d6e8
mov ecx, dword [ecx + 0x234]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x22c]
jae 0x10061430
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 0x1005d6b6
mov eax, dword [eax + 0x264]
test eax, eax
je 0x1005d68e
test ecx, ecx
je 0x1005d686
mov eax, dword [eax + edx]
add eax, ecx
mov ecx, dword [esp + 0x10]
jmp 0x1005d6c4
mov ecx, dword [esp + 0x10]
xor eax, eax
jmp 0x1005d6c4
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 0x1005d6ba
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 0x1005cb91
mov ecx, dword [ecx + 0x238]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x230]
jae 0x10061430
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 0x1005cb91
cmp ecx, 1
jl 0x10061430
dec ecx
mov eax, ecx
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x98]
jb 0x1005d75f
mov eax, dword [esp + 0x94]
test eax, eax
je 0x1005d75d
cmp dword [eax], 0
jne 0x1005d75d
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 0x1005cb91
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 8]
jae 0x1005d78a
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
jmp 0x1005d79d
mov eax, dword [edx]
test eax, eax
je 0x1005d79b
cmp dword [eax], 0
jne 0x1005d79b
mov dword [eax], 0x55
xor cl, cl
movzx eax, cl
add eax, 0xfffffff8
mov byte [esp + 0x3f], cl
cmp eax, 0x1d
ja case.0x1005d7b7.9
movzx eax, byte [eax + 0x10061c2c]
jmp dword [eax*4 + 0x10061c14]
push 0
push 0x101f5270
jmp 0x1005d824
push 0
push 0x101f5114
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f34]
push eax
lea edx, [esp + 0x3f34]
call fcn.1005c0d0
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 0x1005cb91
push 0
push 0x101f529c
jmp 0x1005d824
push 1
push 0x101f5434
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f34]
push eax
lea edx, [esp + 0x3f34]
call fcn.1005c0d0
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 0x1005cb91
mov eax, dword [esp + 0x40]
cmp byte [eax + 9], 0
jne case.0x1005d8b1.0
cmp cl, 0x26
jae case.0x1005d8b1.0
mov al, byte [eax + 8]
test al, al
je 0x1005d8a5
cmp dword [esp + 0x5c], 0
jle 0x1005d8a5
cmp cl, 0x11
je 0x1005d8a5
mov eax, dword [edi]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x5c], 0
mov dword [ebx + 0xc], eax
jmp 0x1005cb91
movzx ecx, cl
cmp ecx, 0x21
ja case.0x1005d8b1.0
jmp dword [ecx*4 + 0x10061c4c]
test al, al
je case.0x1005d8b1.0
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x1005d8e4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d8e0
cmp dword [eax], 0
jne 0x1005d8e0
mov dword [eax], 0x82
xor esi, esi
jmp 0x1005d908
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005d8f8
sub eax, 1
jne 0x1005d908
shl esi, 0x10
jmp 0x1005d908
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 0x1005d92d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d929
cmp dword [eax], 0
jne 0x1005d929
mov dword [eax], 0x82
xor edi, edi
jmp 0x1005d952
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, 1
je 0x1005d942
sub eax, 1
jne 0x1005d952
shl edi, 0x10
jmp 0x1005d952
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 0x1005d97c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d978
cmp dword [eax], 0
jne 0x1005d978
mov dword [eax], 0x82
xor edx, edx
jmp 0x1005d9a1
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x20]
sub eax, 1
je 0x1005d991
sub eax, 1
jne 0x1005d9a1
shl edx, 0x10
jmp 0x1005d9a1
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 0x1005d9c7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d9c3
cmp dword [eax], 0
jne 0x1005d9c3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d9ec
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub eax, 1
je 0x1005d9dc
sub eax, 1
jne 0x1005d9ec
shl ecx, 0x10
jmp 0x1005d9ec
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 0x1005da13
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005da29
cmp dword [eax], 0
jne 0x1005da29
mov dword [eax], 0x82
jmp 0x1005da29
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 0x1005da52
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005da4e
cmp dword [eax], 0
jne 0x1005da4e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005da77
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
sub eax, 1
je 0x1005da67
sub eax, 1
jne 0x1005da77
shl ecx, 0x10
jmp 0x1005da77
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 0x1005da9e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dab2
cmp dword [eax], 0
jne 0x1005dab2
mov dword [eax], 0x82
jmp 0x1005dab2
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 0x1005dac4
mov eax, dword [eax]
jmp 0x1005dac7
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.1005bea0
cmp byte [ebp + 0x224], 0
jne 0x1006157f
mov ebp, dword [esp + 0x20]
jmp 0x1006035b
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005db21
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005db1d
cmp dword [eax], 0
jne 0x1005db1d
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005db4b
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005db3b
sub eax, 1
jne 0x1005db4b
shl edx, 0x10
jmp 0x1005db4b
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 0x1005dba8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005db64
cmp dword [eax], 0
jne 0x1005db64
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 0x100610ca
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005cb91
cmp dword [eax], 0
jne 0x1005cb91
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005cb91
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005dbc2
sub eax, 1
jne 0x1005dbd2
shl ecx, 0x10
jmp 0x1005dbd2
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
je 0x1005db64
test edx, edx
je 0x1005db64
mov edx, 1
jmp 0x1005db66
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005dbfe
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dbfa
cmp dword [eax], 0
jne 0x1005dbfa
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005dc28
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005dc18
sub eax, 1
jne 0x1005dc28
shl edx, 0x10
jmp 0x1005dc28
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 0x1005dc43
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dc75
cmp dword [eax], 0
jne 0x1005dc75
mov dword [eax], 0xa1
jmp 0x1005dc75
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005dc5d
sub eax, 1
jne 0x1005dc6d
shl ecx, 0x10
jmp 0x1005dc6d
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
jne 0x1005dbda
test edx, edx
jne 0x1005dbda
jmp 0x1005db64
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005dc9f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dc9b
cmp dword [eax], 0
jne 0x1005dc9b
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005dcc9
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005dcb9
sub eax, 1
jne 0x1005dcc9
shl edx, 0x10
jmp 0x1005dcc9
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 0x1005db79
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 0x1005cb91
test al, al
je case.0x1005d8b1.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 0x100612e0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dd35
cmp dword [eax], 0
jne 0x1005dd35
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10061304
test al, al
je case.0x1005d8b1.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005dd61
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dd5d
cmp dword [eax], 0
jne 0x1005dd5d
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005dd8b
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005dd7b
sub eax, 1
jne 0x1005dd8b
shl ecx, 0x10
jmp 0x1005dd8b
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 0x1005ddb2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ddae
cmp dword [eax], 0
jne 0x1005ddae
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005dddc
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005ddcc
sub eax, 1
jne 0x1005dddc
shl ecx, 0x10
jmp 0x1005dddc
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 0x1005ddfe
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ddfa
cmp dword [eax], 0
jne 0x1005ddfa
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005de28
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005de18
sub eax, 1
jne 0x1005de28
shl edx, 0x10
jmp 0x1005de28
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 0x1005de45
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005de41
cmp dword [eax], 0
jne 0x1005de41
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005de6f
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005de5f
sub eax, 1
jne 0x1005de6f
shl ecx, 0x10
jmp 0x1005de6f
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 0x1006157f
cmp byte [esp + 0x33], 0
mov esi, dword [esp + 0x18]
je 0x10060363
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 0x1005cb91
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005df43
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dee1
cmp dword [eax], 0
jne 0x1005dee1
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 0x1005e2f6
mov esi, dword [esp + 0x18]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005cb91
cmp dword [eax], 0
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
jne 0x1005cb91
mov dword [eax], 0x82
jmp 0x1005cb91
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005df5d
sub eax, 1
jne 0x1005df6d
shl ecx, 0x10
jmp 0x1005df6d
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 0x1005deec
lea eax, [edi*8]
mov edi, dword [esp + 0x1c]
add eax, ebp
mov ebp, dword [esp + 0x20]
cmp esi, eax
jne 0x1005dfbe
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fb7c
cmp dword [eax], 0
jne 0x1005fb7c
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1005cb91
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 0x1005cb91
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005dffc
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dff8
cmp dword [eax], 0
jne 0x1005dff8
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e026
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005e016
sub eax, 1
jne 0x1005e026
shl esi, 0x10
jmp 0x1005e026
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 0x1005e043
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e03f
cmp dword [eax], 0
jne 0x1005e03f
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e06d
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e05d
sub eax, 1
jne 0x1005e06d
shl edx, 0x10
jmp 0x1005e06d
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 0x1005e0af
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 0x1005cb91
cmp dword [eax], 0
jne 0x1005cb91
mov dword [eax], 0x82
jmp 0x1005cb91
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 0x1005cb91
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005e0f4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e0f0
cmp dword [eax], 0
jne 0x1005e0f0
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e11e
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005e10e
sub eax, 1
jne 0x1005e11e
shl esi, 0x10
jmp 0x1005e11e
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 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 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 0x1005e080
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 0x1005cb91
test al, al
je 0x1005e250
cmp byte [esp + 0x58], 0
je 0x1005e250
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e1d3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e1cf
cmp dword [eax], 0
jne 0x1005e1cf
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e1f7
cmp dword [eax - 4], 2
je 0x1005e1ef
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e1eb
cmp dword [eax], 0
jne 0x1005e1eb
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005e1f7
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e21b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e210
cmp dword [eax], 0
jne 0x1005e210
mov dword [eax], 0xa1
xor ecx, ecx
mov byte [esp + 0x58], cl
jmp 0x1005e2de
cmp dword [eax - 4], 2
je 0x1005e23e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e233
cmp dword [eax], 0
jne 0x1005e233
mov dword [eax], 0xa0
xor ecx, ecx
mov byte [esp + 0x58], cl
jmp 0x1005e2de
add eax, 0xfffffff8
mov byte [esp + 0x58], 0
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
jmp 0x1005e2de
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005e26d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e269
cmp dword [eax], 0
jne 0x1005e269
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e297
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e287
sub eax, 1
jne 0x1005e297
shl edx, 0x10
jmp 0x1005e297
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 0x1005e2b4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e2b0
cmp dword [eax], 0
jne 0x1005e2b0
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e2de
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005e2ce
sub eax, 1
jne 0x1005e2de
shl ecx, 0x10
jmp 0x1005e2de
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.10047930
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
je 0x1005db79
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 0x1005cb91
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005e369
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e330
cmp dword [eax], 0
jne 0x1005e330
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 0x1005db79
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 0x1005cb91
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005e383
sub eax, 1
jne 0x1005e393
shl ecx, 0x10
jmp 0x1005e393
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 0x1005e33b
lea eax, [esi + eax*8]
cmp edx, eax
jne 0x1005e3d6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fb78
cmp dword [eax], 0
jne 0x1005fb78
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005cb91
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 0x1005cb91
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005e418
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e414
cmp dword [eax], 0
jne 0x1005e414
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e442
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005e432
sub eax, 1
jne 0x1005e442
shl esi, 0x10
jmp 0x1005e442
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 0x1005e45f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e45b
cmp dword [eax], 0
jne 0x1005e45b
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e489
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e479
sub eax, 1
jne 0x1005e489
shl edx, 0x10
jmp 0x1005e489
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 0x1005e080
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 0x1005cb91
mov ecx, dword [esp + 0x14]
test al, al
je 0x1005cb91
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e4f5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e4f1
cmp dword [eax], 0
jne 0x1005e4f1
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e519
cmp dword [eax - 4], 2
je 0x1005e511
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e50d
cmp dword [eax], 0
jne 0x1005e50d
mov dword [eax], 0xa0
xor esi, esi
jmp 0x1005e519
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e536
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e532
cmp dword [eax], 0
jne 0x1005e532
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005e55a
cmp dword [eax - 4], 2
je 0x1005e552
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e54e
cmp dword [eax], 0
jne 0x1005e54e
mov dword [eax], 0xa0
xor edi, edi
jmp 0x1005e55a
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 0xc]
mov ebp, ecx
mov dword [esp + 0x34], edi
mov dword [esp + 0x54], 0
mov edx, dword [eax]
sub ebp, edx
sar ebp, 3
sub ebp, edi
mov dword [esp + 0x5c], 0
mov dword [esp + 0x48], ebp
cmp esi, 0x1c
ja case.default.0x1005e594
movzx eax, byte [esi + 0x10061d14]
jmp dword [eax*4 + 0x10061cd4]
cmp edi, 3
jne 0x10061430
cmp byte [esp + 0x33], 0
je 0x1005e5c9
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x1d4], 0
je 0x10061430
cmp dword [eax + 0x1d8], 7
jne 0x10061430
mov eax, dword [ebx + 0x10]
mov ebp, dword [esp + 0x20]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1005e5eb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e5fb
cmp dword [eax], 0
jne 0x1005e5fb
mov dword [eax], 0x82
jmp 0x1005e5fb
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 0x1005e639
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e649
cmp dword [eax], 0
jne 0x1005e649
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov dword [esp + 0x54], 2
jmp 0x1005cb91
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 0x1005cb91
test edi, edi
jne 0x10061430
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 0x1005cb91
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 0x1005e6b4
push 0
mov edx, 6
mov ecx, esi
call fcn.10048030
test eax, eax
jne 0x1006157f
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 0x1005cb91
test edi, edi
jne 0x10061430
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 0x1005cb91
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 0x1d4], 0
je 0x10061430
mov esi, dword [ecx + 0x1d8]
lea eax, [esi + 1]
mov dword [ecx + 0x1d8], eax
lea eax, [esi - 1]
cmp eax, 5
ja 0x1005fb70
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 0x1005e761
push 0
mov edx, 1
mov ecx, edi
call fcn.10048030
test eax, eax
jne 0x10061430
lea eax, [esi - 3]
cmp esi, 3
jg 0x1005e76b
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 0x1005e791
cmp esi, 6
jne 0x1005fb74
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.1005bba0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1005cb91
cmp edi, 1
jne 0x10061430
cmp byte [esp + 0x33], 0
je 0x1005e83c
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 0x1005cb91
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 0x1005cb91
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x284]
mov dword [esp + 0x28], ecx
test ecx, ecx
je 0x10061430
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 0x10061430
lea edi, [edx + ebp]
test edx, edx
je 0x1005e9ee
mov dword [esp + 0x44], edx
nop dword [eax]
mov eax, dword [esp + 0x1c]
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, esi
sar eax, 3
cmp ebp, eax
jb 0x1005e8e8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e8e4
cmp dword [eax], 0
jne 0x1005e8e4
mov dword [eax], 0x82
xor esi, esi
jmp 0x1005e90e
mov eax, dword [esi + ebp*8 + 4]
mov esi, dword [esi + ebp*8]
sub eax, 1
je 0x1005e8fe
sub eax, 1
jne 0x1005e90e
shl esi, 0x10
jmp 0x1005e90e
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp dword [ecx], 1
jbe 0x1005e9a1
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 0x1005e94c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e948
cmp dword [eax], 0
jne 0x1005e948
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005e972
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1005e962
sub eax, 1
jne 0x1005e972
shl ecx, 0x10
jmp 0x1005e972
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.1003f140
mov ecx, dword [esp + 0x28]
inc ebp
add dword [esp + 0x38], 4
add esi, eax
inc edi
cmp ebp, dword [ecx]
jb 0x1005e924
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 0x1005e9c7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e9d8
cmp dword [eax], 0
jne 0x1005e9d8
mov dword [eax], 0x82
jmp 0x1005e9d8
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 0x1005e8c0
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 0x1005ea2f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ea3b
cmp dword [eax], 0
jne 0x1005ea3b
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 0x1005cb91
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 0x1005cb91
mov ebp, dword [esp + 0x2c]
mov esi, dword [ebp + 0x284]
cmp edi, 1
jne 0x10061430
test esi, esi
je 0x10061430
cmp ecx, edx
jne 0x1005ea85
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ea81
cmp dword [eax], 0
jne 0x1005ea81
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005eab1
cmp dword [ecx - 4], 2
je 0x1005eaa1
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ea9d
cmp dword [eax], 0
jne 0x1005ea9d
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005eab1
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x10061430
mov edx, dword [esi]
lea eax, [edx + ecx]
cmp eax, dword [ebp + 0x28c]
ja 0x10061430
lea eax, [edx*4]
push eax
mov eax, dword [ebp + 0x288]
push dword [esi + 0x88]
lea eax, [eax + ecx*4]
push eax
call fcn.101b76d0
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 0x1005cb91
cmp edi, 2
jne 0x10061430
cmp ecx, edx
jne 0x1005eb1e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eb1a
cmp dword [eax], 0
jne 0x1005eb1a
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005eb48
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005eb38
sub eax, 1
jne 0x1005eb48
shl esi, 0x10
jmp 0x1005eb48
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 0x1005eb6a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eb66
cmp dword [eax], 0
jne 0x1005eb66
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005eb94
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005eb84
sub eax, 1
jne 0x1005eb94
shl edx, 0x10
jmp 0x1005eb94
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 0x1005ebd7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ebea
cmp dword [eax], 0
jne 0x1005ebea
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 0x1005cb91
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 0x1005cb91
cmp edi, 2
jne 0x10061430
cmp ecx, edx
jne 0x1005ec2e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ec2a
cmp dword [eax], 0
jne 0x1005ec2a
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005ec58
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005ec48
sub eax, 1
jne 0x1005ec58
shl esi, 0x10
jmp 0x1005ec58
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 0x1005ec7a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ec76
cmp dword [eax], 0
jne 0x1005ec76
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005eca4
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005ec94
sub eax, 1
jne 0x1005eca4
shl edx, 0x10
jmp 0x1005eca4
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 0x1005ecd3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ebea
cmp dword [eax], 0
jne 0x1005ebea
mov dword [eax], 0x82
jmp 0x1005ebea
sub edx, esi
mov dword [edi], edx
jmp 0x1005ebdc
cmp edi, 2
jne 0x10061430
cmp ecx, edx
jne 0x1005ecff
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ecfb
cmp dword [eax], 0
jne 0x1005ecfb
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005ed29
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005ed19
sub eax, 1
jne 0x1005ed29
shl edx, 0x10
jmp 0x1005ed29
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 0x1005ed4a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ed46
cmp dword [eax], 0
jne 0x1005ed46
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005ed74
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005ed64
sub eax, 1
jne 0x1005ed74
shl ecx, 0x10
jmp 0x1005ed74
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.1003f140
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x1005edb7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005edc7
cmp dword [eax], 0
jne 0x1005edc7
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 0x1005cb91
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 0x1005cb91
cmp edi, 2
jne 0x10061430
cmp ecx, edx
jne 0x1005ee07
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ee03
cmp dword [eax], 0
jne 0x1005ee03
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005ee31
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005ee21
sub eax, 1
jne 0x1005ee31
shl edx, 0x10
jmp 0x1005ee31
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 0x1005ee52
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ee4e
cmp dword [eax], 0
jne 0x1005ee4e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005ee7c
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005ee6c
sub eax, 1
jne 0x1005ee7c
shl ecx, 0x10
jmp 0x1005ee7c
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test edx, edx
je 0x10061430
call fcn.10047930
jmp 0x1005ed79
cmp edi, 2
jne 0x10061430
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x10061430
cmp ecx, edx
jne 0x1005eec2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eebe
cmp dword [eax], 0
jne 0x1005eebe
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005eeee
cmp dword [ecx - 4], 2
je 0x1005eede
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eeda
cmp dword [eax], 0
jne 0x1005eeda
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005eeee
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
test edx, edx
js 0x10061430
cmp edx, dword [ebp + 0x28c]
jae 0x10061430
mov edi, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005ef37
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ef17
cmp dword [eax], 0
jne 0x1005ef17
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 0x1005cb91
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005ef6d
sub eax, 1
jne 0x1005ef7d
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 0x1005cb91
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 0x1005cb91
cmp edi, 1
jne 0x10061430
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x10061430
cmp ecx, edx
jne 0x1005efcf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005efcb
cmp dword [eax], 0
jne 0x1005efcb
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005effb
cmp dword [ecx - 4], 2
je 0x1005efeb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005efe7
cmp dword [eax], 0
jne 0x1005efe7
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005effb
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x10061430
cmp ecx, dword [ebp + 0x28c]
jae 0x10061430
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 0x1005ed88
mov dword [edx], esi
jmp 0x1005edb9
cmp edi, 4
jne 0x10061430
cmp ecx, edx
jne 0x1005f051
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f04d
cmp dword [eax], 0
jne 0x1005f04d
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005f07b
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x1005f06b
sub eax, 1
jne 0x1005f07b
shl ebp, 0x10
jmp 0x1005f07b
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 0x1005f09c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f098
cmp dword [eax], 0
jne 0x1005f098
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005f0c6
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005f0b6
sub eax, 1
jne 0x1005f0c6
shl edi, 0x10
jmp 0x1005f0c6
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 0x1005f0e3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f0df
cmp dword [eax], 0
jne 0x1005f0df
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f10d
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005f0fd
sub eax, 1
jne 0x1005f10d
shl edx, 0x10
jmp 0x1005f10d
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 0x1005f12a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f126
cmp dword [eax], 0
jne 0x1005f126
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f154
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005f144
sub eax, 1
jne 0x1005f154
shl esi, 0x10
jmp 0x1005f154
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 0x1005f186
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ebea
cmp dword [eax], 0
jne 0x1005ebea
mov dword [eax], 0x82
jmp 0x1005ebea
cmp edi, ebp
cmovle edx, esi
mov dword [ecx], edx
jmp 0x1005ebdc
test edi, edi
jne 0x10061430
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 0x1005f027
jmp 0x1005ed88
mov eax, dword [esp + 0x1c]
test edi, edi
js 0x10061430
test esi, esi
js 0x10061430
cmp edi, 3
jle 0x1005f209
mov edi, 3
mov dword [esp + 0x5c], edi
jmp 0x1005f226
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 0x1005cb8d
lea esi, [esp + edi*4 + 0x3e5c]
nop dword [eax]
mov edx, dword [ebx + 0xc]
cmp edx, dword [eax]
jne 0x1005f24d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f249
cmp dword [eax], 0
jne 0x1005f249
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f277
lea eax, [edx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [edx - 4]
sub eax, 1
je 0x1005f267
sub eax, 1
jne 0x1005f277
shl ecx, 0x10
jmp 0x1005f277
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
mov dword [esi], ecx
sub esi, 4
sub edi, 1
jne 0x1005f230
mov ebp, dword [esp + 0x20]
mov edi, eax
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1005cb91
mov ecx, dword [esp + 0x14]
test al, al
je 0x1005cb91
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x1005f2ba
dec eax
mov dword [esp + 0x54], eax
jmp 0x1005cb91
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x10061430
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 0x1005db79
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 0x1005cb91
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f330
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005cb91
cmp dword [eax], 0
jne 0x1005cb91
mov dword [eax], 0xa1
jmp 0x1005cb91
mov ecx, dword [esp + 0x14]
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
jmp 0x1005cb91
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f35c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f358
cmp dword [eax], 0
jne 0x1005f358
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f380
cmp dword [eax - 4], 2
je 0x1005f378
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f374
cmp dword [eax], 0
jne 0x1005f374
mov dword [eax], 0xa0
xor esi, esi
jmp 0x1005f380
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005f39d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f399
cmp dword [eax], 0
jne 0x1005f399
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f3c7
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005f3b7
sub eax, 1
jne 0x1005f3c7
shl ecx, 0x10
jmp 0x1005f3c7
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x10]
cmp esi, 0x1f
ja 0x1005dfb1
mov dword [esp + esi*4 + 0x3e88], ecx
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1005cb91
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f40f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f401
cmp dword [eax], 0
jne 0x1005f401
mov dword [eax], 0xa1
xor eax, eax
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005f2d2
cmp dword [eax - 4], 2
je 0x1005f435
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f427
cmp dword [eax], 0
jne 0x1005f427
mov dword [eax], 0xa0
xor eax, eax
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005f2d2
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x1005fb7c
cmp eax, 0x20
jge 0x1005fb7c
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005f2d2
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [edi]
jne 0x1005f477
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f473
cmp dword [eax], 0
jne 0x1005f473
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005f4a2
add ebp, 0xfffffff8
mov dword [ebx + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x1005f492
sub eax, 1
jne 0x1005f4a2
shl ebp, 0x10
jmp 0x1005f4a2
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 0x1005f4bf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f4bb
cmp dword [eax], 0
jne 0x1005f4bb
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005f4e9
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005f4d9
sub eax, 1
jne 0x1005f4e9
shl edi, 0x10
jmp 0x1005f4e9
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 0x1005f50a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f506
cmp dword [eax], 0
jne 0x1005f506
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f534
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005f524
sub eax, 1
jne 0x1005f534
shl edx, 0x10
jmp 0x1005f534
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 0x1005f551
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f54d
cmp dword [eax], 0
jne 0x1005f54d
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f57b
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005f56b
sub eax, 1
jne 0x1005f57b
shl esi, 0x10
jmp 0x1005f57b
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 0x1005f59b
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jmp 0x1005df0c
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 0x1005cb91
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 0x1005f2e5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fb78
cmp dword [eax], 0
jne 0x1005fb78
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005cb91
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005f653
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f64f
cmp dword [eax], 0
jne 0x1005f64f
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f67d
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005f66d
sub eax, 1
jne 0x1005f67d
shl edx, 0x10
jmp 0x1005f67d
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 0x1005f69a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f696
cmp dword [eax], 0
jne 0x1005f696
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f6c4
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005f6b4
sub eax, 1
jne 0x1005f6c4
shl ecx, 0x10
jmp 0x1005f6c4
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.1003f140
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x1005e2f6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fb78
cmp dword [eax], 0
jne 0x1005fb78
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005cb91
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [edi]
jne 0x1005f746
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f720
cmp dword [eax], 0
jne 0x1005f720
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 0x1005f7ae
mov edi, dword [esp + 0x1c]
jmp 0x1005df10
add ebp, 0xfffffff8
mov dword [ebx + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x1005f761
sub eax, 1
jne 0x1005f771
shl ebp, 0x10
jmp 0x1005f771
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
test ebp, ebp
jle 0x1005f720
mov eax, ebp
mov esi, ebp
sar eax, 1
mov ecx, ebp
cmp ebp, 0xa
cmovge esi, eax
mov edx, esi
call fcn.10047930
lea edi, [esi + 1]
add edi, eax
sar edi, 1
cmp edi, esi
je 0x1005f722
mov edx, edi
mov ecx, ebp
mov esi, edi
call fcn.10047930
inc edi
add edi, eax
sar edi, 1
cmp edi, esi
jne 0x1005f795
jmp 0x1005f722
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 0x1005cb91
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005f7ec
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f7e8
cmp dword [eax], 0
jne 0x1005f7e8
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f816
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005f806
sub eax, 1
jne 0x1005f816
shl edx, 0x10
jmp 0x1005f816
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 0x1005f839
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f849
cmp dword [eax], 0
jne 0x1005f849
mov dword [eax], 0x82
jmp 0x1005f849
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 0x100612bf
jmp 0x1005db79
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005f87e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f87a
cmp dword [eax], 0
jne 0x1005f87a
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f8a8
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005f898
sub eax, 1
jne 0x1005f8a8
shl esi, 0x10
jmp 0x1005f8a8
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 0x1005f8c5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f8c1
cmp dword [eax], 0
jne 0x1005f8c1
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f8ef
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005f8df
sub eax, 1
jne 0x1005f8ef
shl edx, 0x10
jmp 0x1005f8ef
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 0x1005f916
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f926
cmp dword [eax], 0
jne 0x1005f926
mov dword [eax], 0x82
jmp 0x1005f926
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 0x100612bf
jmp 0x1005db79
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f95f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f95b
cmp dword [eax], 0
jne 0x1005f95b
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f983
cmp dword [eax - 4], 2
je 0x1005f97b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f977
cmp dword [eax], 0
jne 0x1005f977
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005f983
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 0x1005cb83
test edx, edx
jns 0x1005f9a2
lea ecx, [eax - 1]
jmp 0x1005f9ca
cmp edx, eax
jb 0x1005f9c5
xor ecx, ecx
mov eax, dword [esi + ecx*8 + 4]
mov edx, dword [esi + ecx*8]
sub eax, 1
je 0x1005f9e7
sub eax, 1
jne 0x1005f849
shl edx, 0x10
jmp 0x1005f849
mov ecx, eax
sub ecx, edx
dec ecx
cmp ecx, eax
jb 0x1005f9a8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f9e0
cmp dword [eax], 0
jne 0x1005f9e0
mov dword [eax], 0x82
xor edx, edx
jmp 0x1005f849
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
jmp 0x1005f849
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005fa19
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fa15
cmp dword [eax], 0
jne 0x1005fa15
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005fa3d
cmp dword [eax - 4], 2
je 0x1005fa35
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fa31
cmp dword [eax], 0
jne 0x1005fa31
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005fa3d
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005fa6f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fa56
cmp dword [eax], 0
jne 0x1005fa56
mov dword [eax], 0xa1
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 2
jmp 0x1005cb91
cmp dword [eax - 4], 2
je 0x1005faa0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fa87
cmp dword [eax], 0
jne 0x1005fa87
mov dword [eax], 0xa0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 2
jmp 0x1005cb91
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 0x1005fb78
sub eax, dword [edi]
sar eax, 3
cmp edx, eax
jbe 0x1005faf5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fb78
cmp dword [eax], 0
jne 0x1005fb78
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
jmp 0x1005cb91
test ecx, ecx
jns 0x1005fb08
neg ecx
mov eax, ecx
mov ecx, dword [esp + 0x38]
cdq
idiv ecx
neg edx
jmp 0x1005fb11
mov eax, ecx
mov ecx, dword [esp + 0x38]
cdq
idiv ecx
mov dword [esp + 0x44], edx
test edx, edx
je 0x1005fb78
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 0x1005fb59
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 0x1005fb89
sub esi, ebx
sub edi, eax
jmp 0x1005fb91
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 0x1005cb91
test esi, esi
jns 0x1005fb91
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 0x1005fb32
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 0x1005cb91
test al, al
je case.0x1005d8b1.0
cmp byte [esp + 0x33], 0
je case.0x1005d8b1.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005fc19
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fc15
cmp dword [eax], 0
jne 0x1005fc15
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005fc47
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 0x1005fc37
sub eax, 1
jne 0x1005fc4b
shl esi, 0x10
jmp 0x1005fc47
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 0x1005fc6f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fc6b
cmp dword [eax], 0
jne 0x1005fc6b
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005fc9d
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 0x1005fc8d
sub eax, 1
jne 0x1005fca1
shl ebp, 0x10
jmp 0x1005fc9d
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 0x1005cb91
mov eax, dword [esp + 0x40]
cmp byte [eax + 8], 0
je case.0x1005ccaf.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005fcef
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fceb
cmp dword [eax], 0
jne 0x1005fceb
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005fd19
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005fd09
sub eax, 1
jne 0x1005fd19
shl ecx, 0x10
jmp 0x1005fd19
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 0x1005fd49
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fd45
cmp dword [eax], 0
jne 0x1005fd45
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005fd73
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005fd63
sub eax, 1
jne 0x1005fd73
shl ecx, 0x10
jmp 0x1005fd73
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 0x1006157f
cmp byte [esp + 0x33], 0
mov edx, dword [esp + 0x10]
je case.0x1005d8b1.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 0x1005cb91
mov edi, dword [esp + 0x40]
cmp byte [edi + 8], 0
je 0x1006172d
test ah, ah
jne 0x1006172d
cmp byte [esp + 0x2ec8], ah
je 0x1005fe43
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005ba20
cmp byte [esp + 0x2f18], 0
je 0x1005fe2b
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.1005b490
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 0x1005fe7e
cmp byte [eax + 5], 0
je 0x1005fea2
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005ab00
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 0x1005ff62
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 0x1005ff48
test ebx, ebx
je 0x1005ff46
cmp dword [ebx], 0
jne 0x1005ff46
mov dword [ebx], 0x82
xor ebp, ebp
imul ebp, edx
dec ecx
add ebp, esi
mov dword [esp + 0x10], ebp
test ecx, ecx
jg 0x1005ff30
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 0x1005cb91
mov eax, dword [ebx + 0xc]
sub eax, dword [edi]
sar eax, 3
cmp eax, 1
jbe 0x1005ff99
cmp byte [esp + 0x104], 0
jne case.0x1005ccaf.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.1005bea0
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x1006157f
cmp byte [esp + 0x28], 0x13
jne 0x1005fffc
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0x100]
add eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x10]
push eax
call fcn.1005be20
mov eax, dword [edi]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005cb91
push 0xf1c
lea eax, [esp + 0x2f44]
push 0
push eax
call fcn.101b7c50
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.1005be20
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.1005ab00
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005cb91
mov eax, dword [ebx + 0xc]
mov edx, dword [edi]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x1006011e
cmp byte [esp + 0x27], 0
jne 0x1006011e
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100600ff
sub eax, 1
jne 0x1006010f
shl ecx, 0x10
jmp 0x1006010f
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 0x1006157f
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x10060161
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006014d
cmp dword [eax], 0
jne 0x1006014d
mov dword [eax], 0xa1
xor ecx, ecx
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x10060209
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1006018b
sub eax, 1
jne 0x1006019b
shl ecx, 0x10
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x10060209
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 0x10060209
mov eax, dword [ebx + 0xc]
mov edx, dword [edi]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x100601f3
cmp byte [esp + 0x27], 0
jne 0x100601f3
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100601d4
sub eax, 1
jne 0x100601e4
shl ecx, 0x10
jmp 0x100601e4
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 0x1006157f
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x10060226
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060222
cmp dword [eax], 0
jne 0x10060222
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10060250
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10060240
sub eax, 1
jne 0x10060250
shl ecx, 0x10
jmp 0x10060250
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 0x10060363
cmp byte [esp + 0x2ec8], 0
je 0x100602e7
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005ba20
cmp byte [esp + 0x2f18], 0
je 0x100602cf
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.1005b490
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 0x10060322
cmp byte [eax + 5], 0
je 0x10060346
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005ab00
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 0x1005cb91
mov ebp, dword [ebx + 0xc]
xor esi, esi
sub ebp, dword [edi]
sar ebp, 3
mov dword [esp + 0x44], ebp
cmp ebp, 6
jbe 0x10060471
lea edi, [esi + 6]
nop
mov edx, dword [esp + 0x1c]
mov eax, dword [ebx + 0xc]
mov ecx, dword [edx]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x100603b8
mov eax, dword [ebx + 4]
test eax, eax
je 0x100603b4
cmp dword [eax], 0
jne 0x100603b4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100603de
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x100603ce
sub eax, 1
jne 0x100603de
shl ecx, 0x10
jmp 0x100603de
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 0x10060416
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060412
cmp dword [eax], 0
jne 0x10060412
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006043d
mov eax, dword [edx + esi*8 + 0xc]
mov ecx, dword [edx + esi*8 + 8]
sub eax, 1
je 0x1006042d
sub eax, 1
jne 0x1006043d
shl ecx, 0x10
jmp 0x1006043d
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.1005ba20
add edi, 2
add esi, 2
cmp edi, ebp
jb 0x10060390
mov edi, dword [esp + 0x1c]
cmp esi, ebp
mov ebp, dword [esp + 0x20]
jae 0x10060b92
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 0x100604a7
mov eax, dword [ebx + 4]
test eax, eax
je 0x100604a3
cmp dword [eax], 0
jne 0x100604a3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100604ce
mov eax, dword [edx + esi*8 - 0xc]
mov ecx, dword [edx + esi*8 - 0x10]
sub eax, 1
je 0x100604be
sub eax, 1
jne 0x100604ce
shl ecx, 0x10
jmp 0x100604ce
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 0x100604fb
mov eax, dword [ebx + 4]
test eax, eax
je 0x100604f7
cmp dword [eax], 0
jne 0x100604f7
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060522
mov eax, dword [edx + esi*8 - 4]
mov ecx, dword [edx + esi*8 - 8]
sub eax, 1
je 0x10060512
sub eax, 1
jne 0x10060522
shl ecx, 0x10
jmp 0x10060522
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 0x10060554
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060550
cmp dword [eax], 0
jne 0x10060550
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006057a
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1006056a
sub eax, 1
jne 0x1006057a
shl ecx, 0x10
jmp 0x1006057a
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 0x100605a3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006059f
cmp dword [eax], 0
jne 0x1006059f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100605ca
mov eax, dword [edx + esi*8 + 0xc]
mov ecx, dword [edx + esi*8 + 8]
sub eax, 1
je 0x100605ba
sub eax, 1
jne 0x100605ca
shl ecx, 0x10
jmp 0x100605ca
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 0x100605f7
mov eax, dword [ebx + 4]
test eax, eax
je 0x100605f3
cmp dword [eax], 0
jne 0x100605f3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006061e
mov eax, dword [edx + esi*8 + 0x14]
mov ecx, dword [edx + esi*8 + 0x10]
sub eax, 1
je 0x1006060e
sub eax, 1
jne 0x1006061e
shl ecx, 0x10
jmp 0x1006061e
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 0x10060650
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006064c
cmp dword [eax], 0
jne 0x1006064c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060677
mov eax, dword [edx + esi*8 + 0x1c]
mov ecx, dword [edx + esi*8 + 0x18]
sub eax, 1
je 0x10060667
sub eax, 1
jne 0x10060677
shl ecx, 0x10
jmp 0x10060677
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.1005bba0
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 0x10060480
jmp 0x10060b8e
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 0x10060b92
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 0x10060766
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1006072f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006072b
cmp dword [eax], 0
jne 0x1006072b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060755
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10060745
sub eax, 1
jne 0x10060755
shl ecx, 0x10
jmp 0x10060755
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 0x1006078e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006078a
cmp dword [eax], 0
jne 0x1006078a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100607b4
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x100607a4
sub eax, 1
jne 0x100607b4
shl ecx, 0x10
jmp 0x100607b4
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 0x100607e2
mov eax, dword [ebx + 4]
test eax, eax
je 0x100607de
cmp dword [eax], 0
jne 0x100607de
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060808
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x100607f8
sub eax, 1
jne 0x10060808
shl ecx, 0x10
jmp 0x10060808
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 0x1006083b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060837
cmp dword [eax], 0
jne 0x10060837
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060861
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060851
sub eax, 1
jne 0x10060861
shl ecx, 0x10
jmp 0x10060861
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 0x1006088e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006088a
cmp dword [eax], 0
jne 0x1006088a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100608c3
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100608ac
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x100608c3
shl ecx, 0x10
jmp 0x100608c3
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.1005bba0
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 0x10060700
jmp 0x10060b8e
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 0x10060b92
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 0x100609c2
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x10060985
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060981
cmp dword [eax], 0
jne 0x10060981
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100609ab
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1006099b
sub eax, 1
jne 0x100609ab
shl ecx, 0x10
jmp 0x100609ab
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 0x100609c6
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 0x100609ee
mov eax, dword [ebx + 4]
test eax, eax
je 0x100609ea
cmp dword [eax], 0
jne 0x100609ea
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060a14
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10060a04
sub eax, 1
jne 0x10060a14
shl ecx, 0x10
jmp 0x10060a14
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 0x10060a42
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060a3e
cmp dword [eax], 0
jne 0x10060a3e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060a68
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060a58
sub eax, 1
jne 0x10060a68
shl ecx, 0x10
jmp 0x10060a68
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 0x10060a95
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060a91
cmp dword [eax], 0
jne 0x10060a91
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060aca
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060ab3
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x10060aca
shl ecx, 0x10
jmp 0x10060aca
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 0x10060afb
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060af7
cmp dword [eax], 0
jne 0x10060af7
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060b30
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060b19
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x10060b30
shl ecx, 0x10
jmp 0x10060b30
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.1005bba0
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 0x10060956
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 0x1005cb91
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 0x1006104c
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 0x10060e07
cmp edi, eax
jb 0x10060c23
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060c1f
cmp dword [eax], 0
jne 0x10060c1f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060c49
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10060c39
sub eax, 1
jne 0x10060c49
shl ecx, 0x10
jmp 0x10060c49
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 0x10060c7f
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060c7b
cmp dword [eax], 0
jne 0x10060c7b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060ca5
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x10060c95
sub eax, 1
jne 0x10060ca5
shl ecx, 0x10
jmp 0x10060ca5
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 0x10060cd4
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060cd0
cmp dword [eax], 0
jne 0x10060cd0
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060cfa
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060cea
sub eax, 1
jne 0x10060cfa
shl ecx, 0x10
jmp 0x10060cfa
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 0x10060d2a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060d26
cmp dword [eax], 0
jne 0x10060d26
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060d5f
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060d48
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x10060d5f
shl ecx, 0x10
jmp 0x10060d5f
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 0x10060df8
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 0x10060d9f
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060d9b
cmp dword [eax], 0
jne 0x10060d9b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060dd4
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060dbd
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x10060dd4
shl ecx, 0x10
jmp 0x10060dd4
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 0x10060ff2
xor al, al
mov dword [esp + 0x20], esi
mov byte [esp + 0x3f], al
jmp 0x10060ff2
mov edx, dword [esp + 0x20]
mov dword [esp + 0x4c], edx
cmp edi, eax
jb 0x10060e29
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060e25
cmp dword [eax], 0
jne 0x10060e25
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060e4f
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10060e3f
sub eax, 1
jne 0x10060e4f
shl ecx, 0x10
jmp 0x10060e4f
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 0x10060e7e
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060e7a
cmp dword [eax], 0
jne 0x10060e7a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060ea4
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x10060e94
sub eax, 1
jne 0x10060ea4
shl ecx, 0x10
jmp 0x10060ea4
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 0x10060ed3
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060ecf
cmp dword [eax], 0
jne 0x10060ecf
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060ef9
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060ee9
sub eax, 1
jne 0x10060ef9
shl ecx, 0x10
jmp 0x10060ef9
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 0x10060f29
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060f25
cmp dword [eax], 0
jne 0x10060f25
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060f5e
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060f47
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x10060f5e
shl ecx, 0x10
jmp 0x10060f5e
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 0x10060fe9
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 0x10060f9e
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060f9a
cmp dword [eax], 0
jne 0x10060f9a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060fd3
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060fbc
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x10060fd3
shl ecx, 0x10
jmp 0x10060fd3
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 0x10060fed
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.1005bba0
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 0x10060bf0
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 0x1005cb91
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10061079
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edx, cl
jmp 0x1006108c
mov eax, dword [esi]
test eax, eax
je 0x1006108a
cmp dword [eax], 0
jne 0x1006108a
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x100610aa
mov cl, byte [eax]
inc eax
shl edx, 8
mov dword [esi + 0xc], eax
movzx eax, cl
movsx edx, dx
or edx, eax
jmp 0x1005db66
mov eax, dword [esi]
test eax, eax
je 0x100610bb
cmp dword [eax], 0
jne 0x100610bb
mov dword [eax], 0x55
shl edx, 8
xor eax, eax
movsx edx, dx
or edx, eax
jmp 0x1005db66
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 0x1005cb91
cmp byte [esp + 0x28], 0xf6
ja 0x10061110
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 0x100611a0
jmp 0x1005db79
cmp byte [esp + 0x28], 0xfa
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
ja 0x10061158
shl edx, 8
cmp eax, ecx
jae 0x1006113b
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx eax, cl
lea esi, [eax - 0xf694]
add esi, edx
jmp 0x100610f8
mov eax, dword [esi]
test eax, eax
je 0x1006114c
cmp dword [eax], 0
jne 0x1006114c
mov dword [eax], 0x55
xor eax, eax
lea esi, [eax - 0xf694]
add esi, edx
jmp 0x100610f8
cmp byte [esp + 0x28], 0xfe
ja 0x100611c1
shl edx, 8
cmp eax, ecx
jae 0x10061171
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx eax, cl
jmp 0x10061184
mov eax, dword [esi]
test eax, eax
je 0x10061182
cmp dword [eax], 0
jne 0x10061182
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 0x1005db79
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 0x1005cb91
cmp eax, ecx
jae 0x100611d0
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edx, cl
jmp 0x100611e3
mov eax, dword [esi]
test eax, eax
je 0x100611e1
cmp dword [eax], 0
jne 0x100611e1
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x100611f6
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edi, cl
jmp 0x10061209
mov eax, dword [esi]
test eax, eax
je 0x10061207
cmp dword [eax], 0
jne 0x10061207
mov dword [eax], 0x55
xor edi, edi
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x1006121c
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx esi, cl
jmp 0x1006122f
mov eax, dword [esi]
test eax, eax
je 0x1006122d
cmp dword [eax], 0
jne 0x1006122d
mov dword [eax], 0x55
xor esi, esi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x1006124e
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 0x10061261
mov eax, dword [ecx]
test eax, eax
je 0x1006125f
cmp dword [eax], 0
jne 0x1006125f
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 0x100612a8
cmp edx, 0x7d00
jg 0x1006128a
cmp edx, 0xffff8300
jge 0x1006129f
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 0x1005db66
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 0x1005db79
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 0x1005cb91
cmp dword [eax - 4], 2
je 0x100612fc
mov eax, dword [ebx + 4]
test eax, eax
je 0x100612f8
cmp dword [eax], 0
jne 0x100612f8
mov dword [eax], 0xa0
xor edx, edx
jmp 0x10061304
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 0x10061326
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061322
cmp dword [eax], 0
jne 0x10061322
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1006134a
cmp dword [eax - 4], 2
je 0x10061342
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006133e
cmp dword [eax], 0
jne 0x1006133e
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1006134a
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 0x1006136c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061368
cmp dword [eax], 0
jne 0x10061368
mov dword [eax], 0xa1
xor edi, edi
jmp 0x10061396
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10061386
sub eax, 1
jne 0x10061396
shl edi, 0x10
jmp 0x10061396
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 0x100613b4
mov eax, dword [ebx + 4]
test eax, eax
je 0x100613b0
cmp dword [eax], 0
jne 0x100613b0
mov dword [eax], 0xa1
xor esi, esi
jmp 0x100613de
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x100613ce
sub eax, 1
jne 0x100613de
shl esi, 0x10
jmp 0x100613de
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 0x100613fc
mov eax, dword [ebx + 4]
test eax, eax
je 0x100613f8
cmp dword [eax], 0
jne 0x100613f8
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10061426
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10061416
sub eax, 1
jne 0x10061426
shl ebp, 0x10
jmp 0x10061426
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp byte [esp + 0x3f20], 0
je 0x1006143a
mov eax, 0x12
jmp 0x10061a5f
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x2f], 0
je 0x1006144e
mov eax, 0x12
jmp 0x10061a5f
cmp dword [eax + 0x244], 0
jne 0x10061475
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x80]
cmp dword [eax + 0x34], 0
jne 0x10061471
mov eax, 0x12
jmp 0x10061a5f
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 0x100614ac
mov edx, ecx
mov ecx, dword [esp + 0x2c]
call fcn.10058620
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x58], eax
call fcn.10058620
mov edx, eax
mov dword [esp + 0x38], edx
cmp dword [esp + 0x58], 0
jl 0x10061430
test edx, edx
js 0x10061430
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x2e], 0
je 0x10061588
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.10048550
test eax, eax
jne 0x10061a5f
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 0x10061a5f
mov ecx, dword [eax + 0xc]
call fcn.100486a0
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x3e60]
mov ecx, dword [esp + 0x2c]
push eax
call fcn.1005a520
test eax, eax
jne 0x10061a5f
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.1005c5d0
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 0x10061641
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 0x10061668
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.1005a520
test eax, eax
jne 0x10061a5f
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.1005c5d0
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 0x10061704
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 0x10061a5f
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
je 0x10061742
cmp eax, 5
jne 0x10061796
cmp byte [esp + 0x27], 0
jne 0x10061796
test eax, eax
jne 0x10061763
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006175f
cmp dword [eax], 0
jne 0x1006175f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061787
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10061777
sub eax, 1
jne 0x10061787
shl ecx, 0x10
jmp 0x10061787
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 0x1006157f
cmp byte [esp + 0x2ec8], 0
je 0x1006182c
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005ba20
cmp byte [esp + 0x2f18], 0
je 0x1006180c
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.1005b490
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 0x1006157f
cmp byte [edi + 8], 0
jne 0x1006157f
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x1006157f
cmp byte [esp + 0x3f20], 0
je 0x1006186a
mov eax, 0x12
jmp 0x10061a5f
cmp ecx, edx
jne 0x10061884
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061880
cmp dword [eax], 0
jne 0x10061880
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100618a8
cmp dword [ecx - 4], 2
je 0x100618a0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006189c
cmp dword [eax], 0
jne 0x1006189c
mov dword [eax], 0xa0
xor edx, edx
jmp 0x100618a8
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x100618c6
mov eax, dword [ebx + 4]
test eax, eax
je 0x100618c2
cmp dword [eax], 0
jne 0x100618c2
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x100618ea
cmp dword [eax - 4], 2
je 0x100618e2
mov eax, dword [ebx + 4]
test eax, eax
je 0x100618de
cmp dword [eax], 0
jne 0x100618de
mov dword [eax], 0xa0
xor ebp, ebp
jmp 0x100618ea
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x10061908
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061904
cmp dword [eax], 0
jne 0x10061904
mov dword [eax], 0xa1
xor edi, edi
jmp 0x10061932
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10061922
sub eax, 1
jne 0x10061932
shl edi, 0x10
jmp 0x10061932
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 0x10061950
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006194c
cmp dword [eax], 0
jne 0x1006194c
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1006197a
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1006196a
sub eax, 1
jne 0x1006197a
shl esi, 0x10
jmp 0x1006197a
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.1005a460
test eax, eax
jne 0x10061a5f
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.1005c5d0
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.1005a460
test eax, eax
jne 0x10061a5f
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.1005c5d0
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 0x10061a5f
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 0x10061a6e
cmp dword [ecx], 0
jne 0x10061a6e
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 0x10061aa8
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 0x10061aed
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 0x10061b32
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 0x10061b55
mov edx, eax
mov eax, dword [esp + 0xe0]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
test ebx, ebx
je 0x10061b79
mov edx, dword [ebx + 8]
mov edi, dword [ebx]
test edx, edx
je 0x10061b69
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.101b5eaa
add esp, 0x3f04
ret 0x18