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

Disassembly:
mov eax, 0x3f04
call fcn.1019b0f0
mov eax, dword [0x102070c0]
xor eax, esp
mov dword [esp + 0x3efc], eax
mov eax, dword [esp + 0x3f08]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x3f0c]
push ebx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x3f20]
push ebp
mov dword [esp + 0x58], eax
mov ebp, edx
push esi
mov esi, ecx
mov dword [esp + 0x78], 0x1312d00
xor eax, eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x64], eax
push edi
mov eax, dword [esi + 0xb0]
lea ebx, [esi + 4]
mov ecx, dword [esi + 0x34]
mov edi, dword [esi]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 0x218]
push 0x80
mov dword [esp + 0x68], ebx
mov dword [esp + 0x94], ecx
mov eax, dword [eax + 0x220]
shl eax, 0x10
mov dword [esp + 0x90], eax
xor eax, eax
push eax
mov dword [esp + 0x5c], eax
mov byte [esp + 0x60], al
mov byte [esp + 0x3b], al
mov dword [esp + 0x64], eax
lea eax, [esp + 0x3e90]
push eax
call fcn.1019c040
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.1019c040
mov eax, dword [esp + 0x8c]
add esp, 0xc
mov dword [esp + 0x138], esi
movaps xmm0, xmmword [0x101f8ce0]
push 0xf1c
mov dword [esp + 0x140], eax
lea eax, [esp + 0x1f7c]
push 0
push eax
mov dword [esp + 0x2ea0], edi
mov dword [esp + 0x2ea4], ebx
movups xmmword [esp + 0x2ea8], xmm0
mov dword [esp + 0x2eb8], 0
mov dword [esp + 0x2ebc], 0
call fcn.1019c040
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.1019c040
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.1019c040
mov ecx, dword [esp + 0x9c]
lea eax, [esp + 0x1f84]
mov dword [esp + 0x150], eax
add esp, 0xc
mov dword [esp + 0x150], ecx
lea eax, [esp + 0x2e94]
mov dword [esp + 0x148], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0x2eb4], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 0x2eb8], eax
mov dword [esp + 0x2ebc], ecx
mov ecx, dword [esp + 0x78]
mov byte [esp + 0x14d], bl
mov dword [esp + 0x140], esi
mov eax, dword [ecx]
mov dword [esp + 0x2ec0], eax
lea eax, [esp + 0xc0]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x2ecc], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x2ed0], eax
lea eax, [esp + 0x100]
mov dword [esp + 0x2ed4], eax
mov eax, dword [esp + 0x3f28]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2ed8], eax
lea eax, [esi + 0xf0]
mov dword [esp + 0x2edc], eax
mov al, byte [esi + 0xb9]
mov esi, dword [esi + 0xe4]
mov byte [esp + 0x2eca], al
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2ec4], ecx
mov dword [esp + 0x2ee0], esi
mov ebx, dword [eax + 0xe8]
mov eax, ebx
cdq
mov dword [esp + 0x2ee4], ebx
mov ecx, eax
xor ecx, edx
mov eax, esi
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x1005c8e9
test esi, esi
jmp 0x1005c8ed
mov esi, ebx
test ebx, ebx
jns 0x1005c8f1
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 0x1005c960
mov eax, dword [ecx + 0x214]
mov esi, dword [eax + 0x614]
jmp 0x1005c965
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 0x10061982
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 0x10061972
je 0x1005caa7
cmp esi, 0xfffffff
jg 0x10061972
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 0x1005ca03
mov edx, dword [esp + 0x74]
test edx, edx
jle 0x1005ca03
lea eax, [edx*8]
push eax
push 0
push esi
call fcn.1019c040
lea edi, [ebx + 8]
add esp, 0xc
mov dword [edi], esi
mov eax, esi
mov dword [esp + 0x1c], edi
jmp 0x1005ca18
mov dword [ebx + 8], eax
lea edx, [ebx + 8]
mov dword [esp + 0x1c], edx
test ecx, ecx
jne 0x10061979
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.10058ee0
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 0x100614ab
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 0x1005cace
lea edi, [ebx + 8]
xor eax, eax
mov dword [esp + 0x1c], edi
mov dword [edi], eax
jmp 0x1005ca1c
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
jmp 0x1005cace
mov edi, dword [esp + 0x1c]
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 8]
jb 0x1005caeb
test ecx, ecx
mov edx, 0xb
mov eax, 0xe
cmove edx, eax
mov dword [esp + 0x28], edx
jmp 0x1005cb1a
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
mov dl, cl
mov dword [esp + 0x28], edx
cmp cl, 0xb
je 0x1005cb01
cmp cl, 0xe
jne 0x1005cb16
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 0x1005cbc4
test ah, ah
jne 0x1005cb67
cmp dl, 1
je 0x1005cb67
cmp dl, 3
je 0x1005cb67
cmp dl, 0xd
je 0x1005cb67
cmp dl, 0xa
je 0x1005cb67
cmp dl, 0xb
je 0x1005cb67
cmp dl, 0xc
je 0x1005cb67
cmp dl, 0xe
je 0x1005cb67
cmp dl, 0x20
jae 0x1005cb67
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov dword [ebx + 0xc], eax
jmp 0x1005cace
cmp dword [esp + 0x5c], 0
mov edi, dword [esp + 0x1c]
jle 0x1005cb9d
cmp dl, 0xa
je 0x1005cb9d
cmp dl, 0xb
je 0x1005cb9d
cmp dl, 0xc
je 0x1005cb9d
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 0x1005cbc4
cmp dl, 0x20
jae 0x1005cbc4
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 0x100614ab
sub dword [esp + 0x7c], 1
je 0x1006135c
movzx edx, dl
cmp edx, 0x1f
ja case.default.0x1005cbec
jmp dword [edx*4 + 0x10061abc]
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1005cbec.0
cmp byte [edx + 0x5d], 0
jne 0x1006135c
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005cc33
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cc20
cmp dword [eax], 0
jne 0x1005cc20
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 0x1005cace
cmp dword [eax - 4], 2
je 0x1005cc5e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cc4b
cmp dword [eax], 0
jne 0x1005cc4b
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 0x1005cace
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js case.0x1005cbec.0
mov dword [edx + 0x78], eax
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov dword [ebx + 0xc], eax
jmp 0x1005cace
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1005cbec.0
cmp dword [edx + 0x60], 0
je 0x1006135c
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 0x1005ccd8
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 0x100614ab
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005ccf5
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1005ccf1
cmp dword [ecx], 0
jne 0x1005ccf1
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x1005cd19
cmp dword [eax - 4], 2
je 0x1005cd11
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cd0d
cmp dword [eax], 0
jne 0x1005cd0d
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1005cd19
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x74]
ja 0x1006135c
push eax
mov edx, ebx
mov ecx, esi
call fcn.1005c320
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 0x1005cace
test al, al
jne 0x1005cd5b
cmp byte [esp + 0x104], al
jne case.0x1005cbec.0
xor eax, eax
jmp 0x1005cd65
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.1005bdf0
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x100614ab
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005cace
test al, al
jne 0x1005cdc7
cmp byte [esp + 0x104], al
jne case.0x1005cbec.0
xor eax, eax
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0xa8]
jmp 0x1005cd72
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 0x1005cd72
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x1005ce28
cmp byte [esp + 0x27], 0
jne 0x1005ce28
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005ce09
sub eax, 1
jne 0x1005ce19
shl ecx, 0x10
jmp 0x1005ce19
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 0x100614ab
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005ce6b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ce57
cmp dword [eax], 0
jne 0x1005ce57
mov dword [eax], 0xa1
xor ecx, ecx
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x1006018a
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005ce95
sub eax, 1
jne 0x1005cea5
shl ecx, 0x10
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x1006018a
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 0x1006018a
mov ebp, dword [ebx + 0xc]
sub ebp, dword [edi]
xor edi, edi
sar ebp, 3
test ebp, ebp
je 0x1005cfac
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 0x1005ceff
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cefb
cmp dword [eax], 0
jne 0x1005cefb
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
xor esi, esi
jmp 0x1005cf25
mov eax, dword [edx + edi*8 + 4]
mov esi, dword [edx + edi*8]
sub eax, 1
je 0x1005cf15
sub eax, 1
jne 0x1005cf25
shl esi, 0x10
jmp 0x1005cf25
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 0x1005cf58
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cf54
cmp dword [eax], 0
jne 0x1005cf54
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005cf7f
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1005cf6f
sub eax, 1
jne 0x1005cf7f
shl ecx, 0x10
jmp 0x1005cf7f
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.1005b970
add edi, 2
cmp edi, ebp
jb 0x1005ced0
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 0x1005cace
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 0x10060abe
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1005d008
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d004
cmp dword [eax], 0
jne 0x1005d004
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d02e
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1005d01e
sub eax, 1
jne 0x1005d02e
shl ecx, 0x10
jmp 0x1005d02e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x18]
test dl, dl
je 0x1005d041
add ebp, ecx
mov dword [esp + 0x3f24], ebp
jmp 0x1005d04e
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.1005b970
mov dl, byte [esp + 0x3f]
inc esi
mov eax, dword [esp + 0x1c]
cmp esi, edi
jb 0x1005cfe4
mov dword [esp + 0x20], ebp
jmp 0x10060abe
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 0x1005d30d
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 0x1005d0cf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d0cb
cmp dword [eax], 0
jne 0x1005d0cb
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [ecx]
xor ecx, ecx
jmp 0x1005d0f6
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x1005d0e6
sub eax, 1
jne 0x1005d0f6
shl ecx, 0x10
jmp 0x1005d0f6
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 0x1005d12e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d12a
cmp dword [eax], 0
jne 0x1005d12a
mov ebp, dword [esp + 0x1c]
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [ebp]
xor ecx, ecx
jmp 0x1005d155
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x1005d145
sub eax, 1
jne 0x1005d155
shl ecx, 0x10
jmp 0x1005d155
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 0x1005d189
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d185
cmp dword [eax], 0
jne 0x1005d185
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005d1af
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1005d19f
sub eax, 1
jne 0x1005d1af
shl ecx, 0x10
jmp 0x1005d1af
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 0x1005d1e6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d1e2
cmp dword [eax], 0
jne 0x1005d1e2
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005d20d
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1005d1fd
sub eax, 1
jne 0x1005d20d
shl ecx, 0x10
jmp 0x1005d20d
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 0x1005d23c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d238
cmp dword [eax], 0
jne 0x1005d238
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005d263
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x1005d253
sub eax, 1
jne 0x1005d263
shl ecx, 0x10
jmp 0x1005d263
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 0x1005d28f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d28b
cmp dword [eax], 0
jne 0x1005d28b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d2b6
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x1005d2a6
sub eax, 1
jne 0x1005d2b6
shl ecx, 0x10
jmp 0x1005d2b6
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.1005baf0
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 0x1005d0a0
mov edi, dword [esp + 0x1c]
cmp byte [esp + 0x28], 0x18
jne 0x1005d3f9
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov esi, dword [edi]
sub eax, esi
sar eax, 3
cmp ebp, eax
jb 0x1005d344
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d340
cmp dword [eax], 0
jne 0x1005d340
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1005d36a
mov eax, dword [esi + ebp*8 + 4]
mov edx, dword [esi + ebp*8]
sub eax, 1
je 0x1005d35a
sub eax, 1
jne 0x1005d36a
shl edx, 0x10
jmp 0x1005d36a
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 0x1005d39d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d399
cmp dword [eax], 0
jne 0x1005d399
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d3c3
mov ecx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
sub eax, 1
je 0x1005d3b3
sub eax, 1
jne 0x1005d3c3
shl ecx, 0x10
jmp 0x1005d3c3
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.1005b970
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005cace
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 0x1005cace
test al, al
je case.0x1005cbec.0
cmp byte [esp + 0x2ec8], 0
je 0x1005d498
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005b970
cmp byte [esp + 0x2f18], 0
je 0x1005d478
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.1005b3e0
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 0x1005cace
cmp ecx, 0x10
jg 0x1006135c
lea eax, [ecx + 1]
cmp eax, dword [esp + 0x98]
jb 0x1005d4dc
mov eax, dword [esp + 0x94]
test eax, eax
je 0x1005d4da
cmp dword [eax], 0
jne 0x1005d4da
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 0x1005d50b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d507
cmp dword [eax], 0
jne 0x1005d507
mov dword [eax], 0xa1
xor eax, eax
jmp 0x1005d52f
cmp dword [eax - 4], 2
je 0x1005d527
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d523
cmp dword [eax], 0
jne 0x1005d523
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1005d52f
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x40]
cmp byte [ecx + 8], 0
je 0x1005d55c
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x268]
test ecx, ecx
je 0x1005d55c
push eax
call fcn.100487a0
mov edx, dword [esp + 0x10]
test eax, eax
je 0x1005d559
mov eax, dword [eax]
jmp 0x1005d55c
or eax, 0xffffffff
cmp byte [esp + 0x28], 0x1d
xorps xmm0, xmm0
mov ecx, dword [esp + 0x2c]
movups xmmword [edx], xmm0
je 0x1005d625
mov ecx, dword [ecx + 0x234]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x22c]
jae 0x1006135c
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 0x1005d5f3
mov eax, dword [eax + 0x264]
test eax, eax
je 0x1005d5cb
test ecx, ecx
je 0x1005d5c3
mov eax, dword [eax + edx]
add eax, ecx
mov ecx, dword [esp + 0x10]
jmp 0x1005d601
mov ecx, dword [esp + 0x10]
xor eax, eax
jmp 0x1005d601
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 0x1005d5f7
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 0x1005cace
mov ecx, dword [ecx + 0x238]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x230]
jae 0x1006135c
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 0x1005cace
cmp ecx, 1
jl 0x1006135c
dec ecx
mov eax, ecx
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x98]
jb 0x1005d69c
mov eax, dword [esp + 0x94]
test eax, eax
je 0x1005d69a
cmp dword [eax], 0
jne 0x1005d69a
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 0x1005cace
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 8]
jae 0x1005d6c7
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
jmp 0x1005d6da
mov eax, dword [edx]
test eax, eax
je 0x1005d6d8
cmp dword [eax], 0
jne 0x1005d6d8
mov dword [eax], 0x55
xor cl, cl
movzx eax, cl
add eax, 0xfffffff8
mov byte [esp + 0x3f], cl
cmp eax, 0x1d
ja case.0x1005d6f4.9
movzx eax, byte [eax + 0x10061b54]
jmp dword [eax*4 + 0x10061b3c]
push 0
push 0x101d91f0
jmp 0x1005d761
push 0
push 0x101d9094
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f34]
push eax
lea edx, [esp + 0x3f34]
call fcn.1005c010
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 0x1005cace
push 0
push 0x101d921c
jmp 0x1005d761
push 1
push 0x101d93b4
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f34]
push eax
lea edx, [esp + 0x3f34]
call fcn.1005c010
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 0x1005cace
mov eax, dword [esp + 0x40]
cmp byte [eax + 9], 0
jne case.0x1005d7ee.0
cmp cl, 0x26
jae case.0x1005d7ee.0
mov al, byte [eax + 8]
test al, al
je 0x1005d7e2
cmp dword [esp + 0x5c], 0
jle 0x1005d7e2
cmp cl, 0x11
je 0x1005d7e2
mov eax, dword [edi]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x5c], 0
mov dword [ebx + 0xc], eax
jmp 0x1005cace
movzx ecx, cl
cmp ecx, 0x21
ja case.0x1005d7ee.0
jmp dword [ecx*4 + 0x10061b74]
test al, al
je case.0x1005d7ee.0
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x1005d821
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d81d
cmp dword [eax], 0
jne 0x1005d81d
mov dword [eax], 0x82
xor esi, esi
jmp 0x1005d845
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005d835
sub eax, 1
jne 0x1005d845
shl esi, 0x10
jmp 0x1005d845
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 0x1005d86a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d866
cmp dword [eax], 0
jne 0x1005d866
mov dword [eax], 0x82
xor edi, edi
jmp 0x1005d88f
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, 1
je 0x1005d87f
sub eax, 1
jne 0x1005d88f
shl edi, 0x10
jmp 0x1005d88f
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 0x1005d8b9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d8b5
cmp dword [eax], 0
jne 0x1005d8b5
mov dword [eax], 0x82
xor edx, edx
jmp 0x1005d8de
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x20]
sub eax, 1
je 0x1005d8ce
sub eax, 1
jne 0x1005d8de
shl edx, 0x10
jmp 0x1005d8de
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 0x1005d904
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d900
cmp dword [eax], 0
jne 0x1005d900
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d929
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub eax, 1
je 0x1005d919
sub eax, 1
jne 0x1005d929
shl ecx, 0x10
jmp 0x1005d929
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 0x1005d950
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d966
cmp dword [eax], 0
jne 0x1005d966
mov dword [eax], 0x82
jmp 0x1005d966
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 0x1005d98f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d98b
cmp dword [eax], 0
jne 0x1005d98b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d9b4
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
sub eax, 1
je 0x1005d9a4
sub eax, 1
jne 0x1005d9b4
shl ecx, 0x10
jmp 0x1005d9b4
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 0x1005d9db
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d9ef
cmp dword [eax], 0
jne 0x1005d9ef
mov dword [eax], 0x82
jmp 0x1005d9ef
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 0x1005da01
mov eax, dword [eax]
jmp 0x1005da04
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.1005bdf0
cmp byte [ebp + 0x224], 0
jne 0x100614ab
mov ebp, dword [esp + 0x20]
jmp 0x10060288
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005da5e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005da5a
cmp dword [eax], 0
jne 0x1005da5a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005da88
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005da78
sub eax, 1
jne 0x1005da88
shl edx, 0x10
jmp 0x1005da88
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 0x1005dae5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005daa1
cmp dword [eax], 0
jne 0x1005daa1
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 0x10060ff6
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005cace
cmp dword [eax], 0
jne 0x1005cace
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005cace
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005daff
sub eax, 1
jne 0x1005db0f
shl ecx, 0x10
jmp 0x1005db0f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
je 0x1005daa1
test edx, edx
je 0x1005daa1
mov edx, 1
jmp 0x1005daa3
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005db3b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005db37
cmp dword [eax], 0
jne 0x1005db37
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005db65
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005db55
sub eax, 1
jne 0x1005db65
shl edx, 0x10
jmp 0x1005db65
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 0x1005db80
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dbb2
cmp dword [eax], 0
jne 0x1005dbb2
mov dword [eax], 0xa1
jmp 0x1005dbb2
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005db9a
sub eax, 1
jne 0x1005dbaa
shl ecx, 0x10
jmp 0x1005dbaa
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
jne 0x1005db17
test edx, edx
jne 0x1005db17
jmp 0x1005daa1
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005dbdc
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dbd8
cmp dword [eax], 0
jne 0x1005dbd8
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005dc06
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005dbf6
sub eax, 1
jne 0x1005dc06
shl edx, 0x10
jmp 0x1005dc06
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 0x1005dab6
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 0x1005cace
test al, al
je case.0x1005d7ee.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 0x1006120c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dc72
cmp dword [eax], 0
jne 0x1005dc72
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10061230
test al, al
je case.0x1005d7ee.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005dc9e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dc9a
cmp dword [eax], 0
jne 0x1005dc9a
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005dcc8
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005dcb8
sub eax, 1
jne 0x1005dcc8
shl ecx, 0x10
jmp 0x1005dcc8
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 0x1005dcef
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dceb
cmp dword [eax], 0
jne 0x1005dceb
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005dd19
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005dd09
sub eax, 1
jne 0x1005dd19
shl ecx, 0x10
jmp 0x1005dd19
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 0x1005dd3b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dd37
cmp dword [eax], 0
jne 0x1005dd37
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005dd65
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005dd55
sub eax, 1
jne 0x1005dd65
shl edx, 0x10
jmp 0x1005dd65
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 0x1005dd82
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dd7e
cmp dword [eax], 0
jne 0x1005dd7e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005ddac
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005dd9c
sub eax, 1
jne 0x1005ddac
shl ecx, 0x10
jmp 0x1005ddac
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 0x100614ab
cmp byte [esp + 0x33], 0
mov esi, dword [esp + 0x18]
je 0x10060290
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 0x1005cace
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005de80
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005de1e
cmp dword [eax], 0
jne 0x1005de1e
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 0x1005e233
mov esi, dword [esp + 0x18]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005cace
cmp dword [eax], 0
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
jne 0x1005cace
mov dword [eax], 0x82
jmp 0x1005cace
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005de9a
sub eax, 1
jne 0x1005deaa
shl ecx, 0x10
jmp 0x1005deaa
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 0x1005de29
lea eax, [edi*8]
mov edi, dword [esp + 0x1c]
add eax, ebp
mov ebp, dword [esp + 0x20]
cmp esi, eax
jne 0x1005defb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005faac
cmp dword [eax], 0
jne 0x1005faac
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1005cace
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 0x1005cace
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005df39
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005df35
cmp dword [eax], 0
jne 0x1005df35
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005df63
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005df53
sub eax, 1
jne 0x1005df63
shl esi, 0x10
jmp 0x1005df63
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 0x1005df80
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005df7c
cmp dword [eax], 0
jne 0x1005df7c
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005dfaa
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005df9a
sub eax, 1
jne 0x1005dfaa
shl edx, 0x10
jmp 0x1005dfaa
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 0x1005dfec
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 0x1005cace
cmp dword [eax], 0
jne 0x1005cace
mov dword [eax], 0x82
jmp 0x1005cace
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 0x1005cace
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005e031
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e02d
cmp dword [eax], 0
jne 0x1005e02d
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e05b
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005e04b
sub eax, 1
jne 0x1005e05b
shl esi, 0x10
jmp 0x1005e05b
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 0x1005e078
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e074
cmp dword [eax], 0
jne 0x1005e074
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e0a2
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e092
sub eax, 1
jne 0x1005e0a2
shl edx, 0x10
jmp 0x1005e0a2
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 0x1005dfbd
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 0x1005cace
test al, al
je 0x1005e18d
cmp byte [esp + 0x58], 0
je 0x1005e18d
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e110
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e10c
cmp dword [eax], 0
jne 0x1005e10c
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e134
cmp dword [eax - 4], 2
je 0x1005e12c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e128
cmp dword [eax], 0
jne 0x1005e128
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005e134
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e158
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e14d
cmp dword [eax], 0
jne 0x1005e14d
mov dword [eax], 0xa1
xor ecx, ecx
mov byte [esp + 0x58], cl
jmp 0x1005e21b
cmp dword [eax - 4], 2
je 0x1005e17b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e170
cmp dword [eax], 0
jne 0x1005e170
mov dword [eax], 0xa0
xor ecx, ecx
mov byte [esp + 0x58], cl
jmp 0x1005e21b
add eax, 0xfffffff8
mov byte [esp + 0x58], 0
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
jmp 0x1005e21b
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005e1aa
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e1a6
cmp dword [eax], 0
jne 0x1005e1a6
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e1d4
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e1c4
sub eax, 1
jne 0x1005e1d4
shl edx, 0x10
jmp 0x1005e1d4
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 0x1005e1f1
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e1ed
cmp dword [eax], 0
jne 0x1005e1ed
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e21b
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005e20b
sub eax, 1
jne 0x1005e21b
shl ecx, 0x10
jmp 0x1005e21b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.100478d0
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
je 0x1005dab6
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 0x1005cace
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005e2a6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e26d
cmp dword [eax], 0
jne 0x1005e26d
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 0x1005dab6
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 0x1005cace
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005e2c0
sub eax, 1
jne 0x1005e2d0
shl ecx, 0x10
jmp 0x1005e2d0
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 0x1005e278
lea eax, [esi + eax*8]
cmp edx, eax
jne 0x1005e313
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005faa8
cmp dword [eax], 0
jne 0x1005faa8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005cace
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 0x1005cace
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005e355
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e351
cmp dword [eax], 0
jne 0x1005e351
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e37f
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005e36f
sub eax, 1
jne 0x1005e37f
shl esi, 0x10
jmp 0x1005e37f
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 0x1005e39c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e398
cmp dword [eax], 0
jne 0x1005e398
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e3c6
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e3b6
sub eax, 1
jne 0x1005e3c6
shl edx, 0x10
jmp 0x1005e3c6
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 0x1005dfbd
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 0x1005cace
mov ecx, dword [esp + 0x14]
test al, al
je 0x1005cace
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e432
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e42e
cmp dword [eax], 0
jne 0x1005e42e
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e456
cmp dword [eax - 4], 2
je 0x1005e44e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e44a
cmp dword [eax], 0
jne 0x1005e44a
mov dword [eax], 0xa0
xor esi, esi
jmp 0x1005e456
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e473
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e46f
cmp dword [eax], 0
jne 0x1005e46f
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005e497
cmp dword [eax - 4], 2
je 0x1005e48f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e48b
cmp dword [eax], 0
jne 0x1005e48b
mov dword [eax], 0xa0
xor edi, edi
jmp 0x1005e497
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 0xc]
mov ebp, ecx
mov dword [esp + 0x34], edi
mov edx, dword [eax]
sub ebp, edx
sar ebp, 3
xor eax, eax
sub ebp, edi
mov dword [esp + 0x54], eax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x5c], eax
cmp esi, 0x1c
ja case.0x1005e4cb.4
movzx eax, byte [esi + 0x10061c3c]
jmp dword [eax*4 + 0x10061bfc]
cmp edi, 3
jne 0x1006135c
cmp byte [esp + 0x33], 0
je 0x1005e500
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x1d4], 0
je 0x1006135c
cmp dword [eax + 0x1d8], 7
jne 0x1006135c
mov eax, dword [ebx + 0x10]
mov ebp, dword [esp + 0x20]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1005e522
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e532
cmp dword [eax], 0
jne 0x1005e532
mov dword [eax], 0x82
jmp 0x1005e532
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 0x1005e570
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e580
cmp dword [eax], 0
jne 0x1005e580
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov dword [esp + 0x54], 2
jmp 0x1005cace
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 0x1005cace
test edi, edi
jne 0x1006135c
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 0x1005cace
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 0x1005e5eb
push 0
mov edx, 6
mov ecx, esi
call fcn.10047fa0
test eax, eax
jne 0x100614ab
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 0x1005cace
test edi, edi
jne 0x1006135c
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 0x1005cace
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 0x1d4], 0
je 0x1006135c
mov esi, dword [ecx + 0x1d8]
lea eax, [esi + 1]
mov dword [ecx + 0x1d8], eax
lea eax, [esi - 1]
cmp eax, 5
ja 0x1005faa0
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 0x1005e698
push 0
mov edx, 1
mov ecx, edi
call fcn.10047fa0
test eax, eax
jne 0x1006135c
lea eax, [esi - 3]
cmp esi, 3
jg 0x1005e6a2
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 0x1005e6c8
cmp esi, 6
jne 0x1005faa4
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.1005baf0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1005cace
cmp edi, 1
jne 0x1006135c
cmp byte [esp + 0x33], 0
je 0x1005e773
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 0x1005cace
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 0x1005cace
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x284]
mov dword [esp + 0x28], ecx
test ecx, ecx
je 0x1006135c
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 0x1006135c
lea edi, [edx + ebp]
test edx, edx
je 0x1005e921
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x1c]
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, esi
sar eax, 3
cmp ebp, eax
jb 0x1005e81b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e817
cmp dword [eax], 0
jne 0x1005e817
mov dword [eax], 0x82
xor esi, esi
jmp 0x1005e841
mov eax, dword [esi + ebp*8 + 4]
mov esi, dword [esi + ebp*8]
sub eax, 1
je 0x1005e831
sub eax, 1
jne 0x1005e841
shl esi, 0x10
jmp 0x1005e841
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp dword [ecx], 1
jbe 0x1005e8d4
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 0x1005e87f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e87b
cmp dword [eax], 0
jne 0x1005e87b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005e8a5
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1005e895
sub eax, 1
jne 0x1005e8a5
shl ecx, 0x10
jmp 0x1005e8a5
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.1003f040
mov ecx, dword [esp + 0x28]
inc ebp
add dword [esp + 0x38], 4
add esi, eax
inc edi
cmp ebp, dword [ecx]
jb 0x1005e857
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 0x1005e8fa
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e90b
cmp dword [eax], 0
jne 0x1005e90b
mov dword [eax], 0x82
jmp 0x1005e90b
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 0x1005e7f3
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 0x1005e962
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e96e
cmp dword [eax], 0
jne 0x1005e96e
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 0x1005cace
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 0x1005cace
mov ebp, dword [esp + 0x2c]
mov esi, dword [ebp + 0x284]
cmp edi, 1
jne 0x1006135c
test esi, esi
je 0x1006135c
cmp ecx, edx
jne 0x1005e9b8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e9b4
cmp dword [eax], 0
jne 0x1005e9b4
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e9e4
cmp dword [ecx - 4], 2
je 0x1005e9d4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e9d0
cmp dword [eax], 0
jne 0x1005e9d0
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005e9e4
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x1006135c
mov edx, dword [esi]
lea eax, [edx + ecx]
cmp eax, dword [ebp + 0x28c]
ja 0x1006135c
lea eax, [edx*4]
push eax
mov eax, dword [ebp + 0x288]
push dword [esi + 0x88]
lea eax, [eax + ecx*4]
push eax
call fcn.1019bac0
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 0x1005cace
cmp edi, 2
jne 0x1006135c
cmp ecx, edx
jne 0x1005ea51
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ea4d
cmp dword [eax], 0
jne 0x1005ea4d
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005ea7b
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005ea6b
sub eax, 1
jne 0x1005ea7b
shl esi, 0x10
jmp 0x1005ea7b
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 0x1005ea9d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ea99
cmp dword [eax], 0
jne 0x1005ea99
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005eac7
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005eab7
sub eax, 1
jne 0x1005eac7
shl edx, 0x10
jmp 0x1005eac7
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 0x1005eb0a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eb1d
cmp dword [eax], 0
jne 0x1005eb1d
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 0x1005cace
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 0x1005cace
cmp edi, 2
jne 0x1006135c
cmp ecx, edx
jne 0x1005eb61
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eb5d
cmp dword [eax], 0
jne 0x1005eb5d
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005eb8b
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005eb7b
sub eax, 1
jne 0x1005eb8b
shl esi, 0x10
jmp 0x1005eb8b
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 0x1005ebad
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eba9
cmp dword [eax], 0
jne 0x1005eba9
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005ebd7
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005ebc7
sub eax, 1
jne 0x1005ebd7
shl edx, 0x10
jmp 0x1005ebd7
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 0x1005ec06
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eb1d
cmp dword [eax], 0
jne 0x1005eb1d
mov dword [eax], 0x82
jmp 0x1005eb1d
sub edx, esi
mov dword [edi], edx
jmp 0x1005eb0f
cmp edi, 2
jne 0x1006135c
cmp ecx, edx
jne 0x1005ec32
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ec2e
cmp dword [eax], 0
jne 0x1005ec2e
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005ec5c
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005ec4c
sub eax, 1
jne 0x1005ec5c
shl edx, 0x10
jmp 0x1005ec5c
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 0x1005ec7d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ec79
cmp dword [eax], 0
jne 0x1005ec79
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005eca7
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005ec97
sub eax, 1
jne 0x1005eca7
shl ecx, 0x10
jmp 0x1005eca7
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.1003f040
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x1005ecea
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ecfa
cmp dword [eax], 0
jne 0x1005ecfa
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 0x1005cace
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 0x1005cace
cmp edi, 2
jne 0x1006135c
cmp ecx, edx
jne 0x1005ed3a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ed36
cmp dword [eax], 0
jne 0x1005ed36
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005ed64
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005ed54
sub eax, 1
jne 0x1005ed64
shl edx, 0x10
jmp 0x1005ed64
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 0x1005ed85
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ed81
cmp dword [eax], 0
jne 0x1005ed81
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005edaf
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005ed9f
sub eax, 1
jne 0x1005edaf
shl ecx, 0x10
jmp 0x1005edaf
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test edx, edx
je 0x1006135c
call fcn.100478d0
jmp 0x1005ecac
cmp edi, 2
jne 0x1006135c
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x1006135c
cmp ecx, edx
jne 0x1005edf5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005edf1
cmp dword [eax], 0
jne 0x1005edf1
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005ee21
cmp dword [ecx - 4], 2
je 0x1005ee11
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ee0d
cmp dword [eax], 0
jne 0x1005ee0d
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005ee21
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
test edx, edx
js 0x1006135c
cmp edx, dword [ebp + 0x28c]
jae 0x1006135c
mov edi, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005ee6a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ee4a
cmp dword [eax], 0
jne 0x1005ee4a
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 0x1005cace
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005eea0
sub eax, 1
jne 0x1005eeb0
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 0x1005cace
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 0x1005cace
cmp edi, 1
jne 0x1006135c
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x1006135c
cmp ecx, edx
jne 0x1005ef02
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eefe
cmp dword [eax], 0
jne 0x1005eefe
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005ef2e
cmp dword [ecx - 4], 2
je 0x1005ef1e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ef1a
cmp dword [eax], 0
jne 0x1005ef1a
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005ef2e
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x1006135c
cmp ecx, dword [ebp + 0x28c]
jae 0x1006135c
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 0x1005ecbb
mov dword [edx], esi
jmp 0x1005ecec
cmp edi, 4
jne 0x1006135c
cmp ecx, edx
jne 0x1005ef84
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ef80
cmp dword [eax], 0
jne 0x1005ef80
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005efae
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x1005ef9e
sub eax, 1
jne 0x1005efae
shl ebp, 0x10
jmp 0x1005efae
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 0x1005efcf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005efcb
cmp dword [eax], 0
jne 0x1005efcb
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005eff9
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005efe9
sub eax, 1
jne 0x1005eff9
shl edi, 0x10
jmp 0x1005eff9
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 0x1005f016
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f012
cmp dword [eax], 0
jne 0x1005f012
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f040
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005f030
sub eax, 1
jne 0x1005f040
shl edx, 0x10
jmp 0x1005f040
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 0x1005f05d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f059
cmp dword [eax], 0
jne 0x1005f059
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f087
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005f077
sub eax, 1
jne 0x1005f087
shl esi, 0x10
jmp 0x1005f087
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 0x1005f0b9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eb1d
cmp dword [eax], 0
jne 0x1005eb1d
mov dword [eax], 0x82
jmp 0x1005eb1d
cmp edi, ebp
cmovle edx, esi
mov dword [ecx], edx
jmp 0x1005eb0f
test edi, edi
jne 0x1006135c
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 0x1005ef5a
jmp 0x1005ecbb
test edi, edi
js 0x1006135c
test esi, esi
js 0x1006135c
cmp edi, 3
jle 0x1005f138
mov edi, 3
mov dword [esp + 0x5c], edi
jmp 0x1005f155
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 0x1005caca
mov ebp, dword [esp + 0x1c]
lea edx, [esp + edi*4 + 0x3e5c]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebp]
jne 0x1005f17e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f17a
cmp dword [eax], 0
jne 0x1005f17a
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f1a8
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1005f198
sub eax, 1
jne 0x1005f1a8
shl ecx, 0x10
jmp 0x1005f1a8
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov dword [edx], ecx
sub edx, 4
sub edi, 1
jne 0x1005f160
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 0x1005cace
mov ecx, dword [esp + 0x14]
test al, al
je 0x1005cace
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x1005f1e9
dec eax
mov dword [esp + 0x54], eax
jmp 0x1005cace
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x1006135c
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 0x1005dab6
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 0x1005cace
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f25f
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005cace
cmp dword [eax], 0
jne 0x1005cace
mov dword [eax], 0xa1
jmp 0x1005cace
mov ecx, dword [esp + 0x14]
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
jmp 0x1005cace
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f28b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f287
cmp dword [eax], 0
jne 0x1005f287
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f2af
cmp dword [eax - 4], 2
je 0x1005f2a7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f2a3
cmp dword [eax], 0
jne 0x1005f2a3
mov dword [eax], 0xa0
xor esi, esi
jmp 0x1005f2af
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005f2cc
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f2c8
cmp dword [eax], 0
jne 0x1005f2c8
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f2f6
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005f2e6
sub eax, 1
jne 0x1005f2f6
shl ecx, 0x10
jmp 0x1005f2f6
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x10]
cmp esi, 0x1f
ja 0x1005deee
mov dword [esp + esi*4 + 0x3e88], ecx
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1005cace
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f33e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f330
cmp dword [eax], 0
jne 0x1005f330
mov dword [eax], 0xa1
xor eax, eax
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005f201
cmp dword [eax - 4], 2
je 0x1005f364
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f356
cmp dword [eax], 0
jne 0x1005f356
mov dword [eax], 0xa0
xor eax, eax
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005f201
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x1005faac
cmp eax, 0x20
jge 0x1005faac
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005f201
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [edi]
jne 0x1005f3a6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f3a2
cmp dword [eax], 0
jne 0x1005f3a2
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005f3d1
add ebp, 0xfffffff8
mov dword [ebx + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x1005f3c1
sub eax, 1
jne 0x1005f3d1
shl ebp, 0x10
jmp 0x1005f3d1
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 0x1005f3ee
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f3ea
cmp dword [eax], 0
jne 0x1005f3ea
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005f418
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005f408
sub eax, 1
jne 0x1005f418
shl edi, 0x10
jmp 0x1005f418
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 0x1005f439
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f435
cmp dword [eax], 0
jne 0x1005f435
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f463
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005f453
sub eax, 1
jne 0x1005f463
shl edx, 0x10
jmp 0x1005f463
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 0x1005f480
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f47c
cmp dword [eax], 0
jne 0x1005f47c
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f4aa
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005f49a
sub eax, 1
jne 0x1005f4aa
shl esi, 0x10
jmp 0x1005f4aa
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 0x1005f4ca
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jmp 0x1005de49
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 0x1005cace
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 0x1005f214
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005faa8
cmp dword [eax], 0
jne 0x1005faa8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005cace
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005f582
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f57e
cmp dword [eax], 0
jne 0x1005f57e
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f5ac
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005f59c
sub eax, 1
jne 0x1005f5ac
shl edx, 0x10
jmp 0x1005f5ac
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 0x1005f5c9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f5c5
cmp dword [eax], 0
jne 0x1005f5c5
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f5f3
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005f5e3
sub eax, 1
jne 0x1005f5f3
shl ecx, 0x10
jmp 0x1005f5f3
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.1003f040
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x1005e233
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005faa8
cmp dword [eax], 0
jne 0x1005faa8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005cace
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [edi]
jne 0x1005f675
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f64f
cmp dword [eax], 0
jne 0x1005f64f
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 0x1005f6dd
mov edi, dword [esp + 0x1c]
jmp 0x1005de4d
add ebp, 0xfffffff8
mov dword [ebx + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x1005f690
sub eax, 1
jne 0x1005f6a0
shl ebp, 0x10
jmp 0x1005f6a0
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
test ebp, ebp
jle 0x1005f64f
mov eax, ebp
mov esi, ebp
sar eax, 1
mov ecx, ebp
cmp ebp, 0xa
cmovge esi, eax
mov edx, esi
call fcn.100478d0
lea edi, [esi + 1]
add edi, eax
sar edi, 1
cmp edi, esi
je 0x1005f651
mov edx, edi
mov ecx, ebp
mov esi, edi
call fcn.100478d0
inc edi
add edi, eax
sar edi, 1
cmp edi, esi
jne 0x1005f6c4
jmp 0x1005f651
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 0x1005cace
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005f71b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f717
cmp dword [eax], 0
jne 0x1005f717
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f745
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005f735
sub eax, 1
jne 0x1005f745
shl edx, 0x10
jmp 0x1005f745
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 0x1005f768
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f778
cmp dword [eax], 0
jne 0x1005f778
mov dword [eax], 0x82
jmp 0x1005f778
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 0x100611eb
jmp 0x1005dab6
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005f7ad
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f7a9
cmp dword [eax], 0
jne 0x1005f7a9
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f7d7
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005f7c7
sub eax, 1
jne 0x1005f7d7
shl esi, 0x10
jmp 0x1005f7d7
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 0x1005f7f4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f7f0
cmp dword [eax], 0
jne 0x1005f7f0
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f81e
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005f80e
sub eax, 1
jne 0x1005f81e
shl edx, 0x10
jmp 0x1005f81e
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 0x1005f845
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f855
cmp dword [eax], 0
jne 0x1005f855
mov dword [eax], 0x82
jmp 0x1005f855
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 0x100611eb
jmp 0x1005dab6
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f88e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f88a
cmp dword [eax], 0
jne 0x1005f88a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f8b2
cmp dword [eax - 4], 2
je 0x1005f8aa
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f8a6
cmp dword [eax], 0
jne 0x1005f8a6
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005f8b2
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 0x1005cac0
test edx, edx
jns 0x1005f8d1
lea ecx, [eax - 1]
jmp 0x1005f8f9
cmp edx, eax
jb 0x1005f8f4
xor ecx, ecx
mov eax, dword [esi + ecx*8 + 4]
mov edx, dword [esi + ecx*8]
sub eax, 1
je 0x1005f916
sub eax, 1
jne 0x1005f778
shl edx, 0x10
jmp 0x1005f778
mov ecx, eax
sub ecx, edx
dec ecx
cmp ecx, eax
jb 0x1005f8d7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f90f
cmp dword [eax], 0
jne 0x1005f90f
mov dword [eax], 0x82
xor edx, edx
jmp 0x1005f778
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
jmp 0x1005f778
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f948
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f944
cmp dword [eax], 0
jne 0x1005f944
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f96c
cmp dword [eax - 4], 2
je 0x1005f964
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f960
cmp dword [eax], 0
jne 0x1005f960
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005f96c
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f99e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f985
cmp dword [eax], 0
jne 0x1005f985
mov dword [eax], 0xa1
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 2
jmp 0x1005cace
cmp dword [eax - 4], 2
je 0x1005f9cf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f9b6
cmp dword [eax], 0
jne 0x1005f9b6
mov dword [eax], 0xa0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 2
jmp 0x1005cace
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 0x1005faa8
sub eax, dword [edi]
sar eax, 3
cmp edx, eax
jbe 0x1005fa24
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005faa8
cmp dword [eax], 0
jne 0x1005faa8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
jmp 0x1005cace
test ecx, ecx
jns 0x1005fa37
neg ecx
mov eax, ecx
mov ecx, dword [esp + 0x38]
cdq
idiv ecx
neg edx
jmp 0x1005fa40
mov eax, ecx
mov ecx, dword [esp + 0x38]
cdq
idiv ecx
mov dword [esp + 0x44], edx
test edx, edx
je 0x1005faa8
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 0x1005fa88
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 0x1005fab9
sub esi, ebx
sub edi, eax
jmp 0x1005fac1
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 0x1005cace
test esi, esi
jns 0x1005fac1
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 0x1005fa61
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 0x1005cace
test al, al
je case.0x1005d7ee.0
cmp byte [esp + 0x33], 0
je case.0x1005d7ee.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005fb49
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fb45
cmp dword [eax], 0
jne 0x1005fb45
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005fb77
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 0x1005fb67
sub eax, 1
jne 0x1005fb7b
shl esi, 0x10
jmp 0x1005fb77
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 0x1005fb9f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fb9b
cmp dword [eax], 0
jne 0x1005fb9b
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005fbcd
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 0x1005fbbd
sub eax, 1
jne 0x1005fbd1
shl ebp, 0x10
jmp 0x1005fbcd
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 0x1005cace
mov eax, dword [esp + 0x40]
cmp byte [eax + 8], 0
je case.0x1005cbec.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005fc1f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fc1b
cmp dword [eax], 0
jne 0x1005fc1b
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005fc49
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005fc39
sub eax, 1
jne 0x1005fc49
shl ecx, 0x10
jmp 0x1005fc49
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 0x1005fc79
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fc75
cmp dword [eax], 0
jne 0x1005fc75
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005fca3
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005fc93
sub eax, 1
jne 0x1005fca3
shl ecx, 0x10
jmp 0x1005fca3
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 0x100614ab
cmp byte [esp + 0x33], 0
mov edx, dword [esp + 0x10]
je case.0x1005d7ee.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 0x1005cace
mov edi, dword [esp + 0x40]
cmp byte [edi + 8], 0
je 0x10061659
test ah, ah
jne 0x10061659
cmp byte [esp + 0x2ec8], ah
je 0x1005fd73
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005b970
cmp byte [esp + 0x2f18], 0
je 0x1005fd5b
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.1005b3e0
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 0x1005fdae
cmp byte [eax + 5], 0
je 0x1005fdd2
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005aa50
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 0x1005fe92
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 0x1005fe78
test ebx, ebx
je 0x1005fe76
cmp dword [ebx], 0
jne 0x1005fe76
mov dword [ebx], 0x82
xor ebp, ebp
imul ebp, edx
dec ecx
add ebp, esi
mov dword [esp + 0x10], ebp
test ecx, ecx
jg 0x1005fe60
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 0x1005cace
mov eax, dword [ebx + 0xc]
sub eax, dword [edi]
sar eax, 3
cmp eax, 1
jbe 0x1005fec9
cmp byte [esp + 0x104], 0
jne case.0x1005cbec.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.1005bdf0
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x100614ab
cmp byte [esp + 0x28], 0x13
jne 0x1005ff2c
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0x100]
add eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x10]
push eax
call fcn.1005bd70
mov eax, dword [edi]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005cace
push 0xf1c
lea eax, [esp + 0x2f44]
push 0
push eax
call fcn.1019c040
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.1005bd70
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.1005aa50
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005cace
mov eax, dword [ebx + 0xc]
mov edx, dword [edi]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x1006004e
cmp byte [esp + 0x27], 0
jne 0x1006004e
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1006002f
sub eax, 1
jne 0x1006003f
shl ecx, 0x10
jmp 0x1006003f
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 0x100614ab
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x10060091
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006007d
cmp dword [eax], 0
jne 0x1006007d
mov dword [eax], 0xa1
xor ecx, ecx
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x10060136
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100600b8
sub eax, 1
jne 0x100600c8
shl ecx, 0x10
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x10060136
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 0x10060136
mov eax, dword [ebx + 0xc]
mov edx, dword [edi]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x10060120
cmp byte [esp + 0x27], 0
jne 0x10060120
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10060101
sub eax, 1
jne 0x10060111
shl ecx, 0x10
jmp 0x10060111
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 0x100614ab
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x10060153
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006014f
cmp dword [eax], 0
jne 0x1006014f
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1006017d
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1006016d
sub eax, 1
jne 0x1006017d
shl ecx, 0x10
jmp 0x1006017d
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 0x10060290
cmp byte [esp + 0x2ec8], 0
je 0x10060214
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005b970
cmp byte [esp + 0x2f18], 0
je 0x100601fc
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.1005b3e0
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 0x1006024f
cmp byte [eax + 5], 0
je 0x10060273
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005aa50
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 0x1005cace
mov ebp, dword [ebx + 0xc]
xor esi, esi
sub ebp, dword [edi]
sar ebp, 3
mov dword [esp + 0x44], ebp
cmp ebp, 6
jbe 0x100603a1
lea edi, [esi + 6]
nop dword [eax]
mov edx, dword [esp + 0x1c]
mov eax, dword [ebx + 0xc]
mov ecx, dword [edx]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x100602e8
mov eax, dword [ebx + 4]
test eax, eax
je 0x100602e4
cmp dword [eax], 0
jne 0x100602e4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006030e
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x100602fe
sub eax, 1
jne 0x1006030e
shl ecx, 0x10
jmp 0x1006030e
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 0x10060346
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060342
cmp dword [eax], 0
jne 0x10060342
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006036d
mov eax, dword [edx + esi*8 + 0xc]
mov ecx, dword [edx + esi*8 + 8]
sub eax, 1
je 0x1006035d
sub eax, 1
jne 0x1006036d
shl ecx, 0x10
jmp 0x1006036d
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.1005b970
add edi, 2
add esi, 2
cmp edi, ebp
jb 0x100602c0
mov edi, dword [esp + 0x1c]
cmp esi, ebp
mov ebp, dword [esp + 0x20]
jae 0x10060ac2
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 0x100603d7
mov eax, dword [ebx + 4]
test eax, eax
je 0x100603d3
cmp dword [eax], 0
jne 0x100603d3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100603fe
mov eax, dword [edx + esi*8 - 0xc]
mov ecx, dword [edx + esi*8 - 0x10]
sub eax, 1
je 0x100603ee
sub eax, 1
jne 0x100603fe
shl ecx, 0x10
jmp 0x100603fe
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 0x1006042b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060427
cmp dword [eax], 0
jne 0x10060427
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060452
mov eax, dword [edx + esi*8 - 4]
mov ecx, dword [edx + esi*8 - 8]
sub eax, 1
je 0x10060442
sub eax, 1
jne 0x10060452
shl ecx, 0x10
jmp 0x10060452
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 0x10060484
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060480
cmp dword [eax], 0
jne 0x10060480
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100604aa
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1006049a
sub eax, 1
jne 0x100604aa
shl ecx, 0x10
jmp 0x100604aa
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 0x100604d3
mov eax, dword [ebx + 4]
test eax, eax
je 0x100604cf
cmp dword [eax], 0
jne 0x100604cf
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100604fa
mov eax, dword [edx + esi*8 + 0xc]
mov ecx, dword [edx + esi*8 + 8]
sub eax, 1
je 0x100604ea
sub eax, 1
jne 0x100604fa
shl ecx, 0x10
jmp 0x100604fa
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 0x10060527
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060523
cmp dword [eax], 0
jne 0x10060523
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006054e
mov eax, dword [edx + esi*8 + 0x14]
mov ecx, dword [edx + esi*8 + 0x10]
sub eax, 1
je 0x1006053e
sub eax, 1
jne 0x1006054e
shl ecx, 0x10
jmp 0x1006054e
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 0x10060580
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006057c
cmp dword [eax], 0
jne 0x1006057c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100605a7
mov eax, dword [edx + esi*8 + 0x1c]
mov ecx, dword [edx + esi*8 + 0x18]
sub eax, 1
je 0x10060597
sub eax, 1
jne 0x100605a7
shl ecx, 0x10
jmp 0x100605a7
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.1005baf0
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 0x100603b0
jmp 0x10060abe
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 0x10060ac2
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 0x10060696
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1006065f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006065b
cmp dword [eax], 0
jne 0x1006065b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060685
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10060675
sub eax, 1
jne 0x10060685
shl ecx, 0x10
jmp 0x10060685
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 0x100606be
mov eax, dword [ebx + 4]
test eax, eax
je 0x100606ba
cmp dword [eax], 0
jne 0x100606ba
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100606e4
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x100606d4
sub eax, 1
jne 0x100606e4
shl ecx, 0x10
jmp 0x100606e4
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 0x10060712
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006070e
cmp dword [eax], 0
jne 0x1006070e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060738
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060728
sub eax, 1
jne 0x10060738
shl ecx, 0x10
jmp 0x10060738
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 0x1006076b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060767
cmp dword [eax], 0
jne 0x10060767
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060791
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060781
sub eax, 1
jne 0x10060791
shl ecx, 0x10
jmp 0x10060791
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 0x100607be
mov eax, dword [ebx + 4]
test eax, eax
je 0x100607ba
cmp dword [eax], 0
jne 0x100607ba
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100607f3
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100607dc
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x100607f3
shl ecx, 0x10
jmp 0x100607f3
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.1005baf0
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 0x10060630
jmp 0x10060abe
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 0x10060ac2
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 0x100608f2
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x100608b5
mov eax, dword [ebx + 4]
test eax, eax
je 0x100608b1
cmp dword [eax], 0
jne 0x100608b1
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100608db
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x100608cb
sub eax, 1
jne 0x100608db
shl ecx, 0x10
jmp 0x100608db
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 0x100608f6
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 0x1006091e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006091a
cmp dword [eax], 0
jne 0x1006091a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060944
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10060934
sub eax, 1
jne 0x10060944
shl ecx, 0x10
jmp 0x10060944
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 0x10060972
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006096e
cmp dword [eax], 0
jne 0x1006096e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060998
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060988
sub eax, 1
jne 0x10060998
shl ecx, 0x10
jmp 0x10060998
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 0x100609c5
mov eax, dword [ebx + 4]
test eax, eax
je 0x100609c1
cmp dword [eax], 0
jne 0x100609c1
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100609fa
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100609e3
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x100609fa
shl ecx, 0x10
jmp 0x100609fa
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 0x10060a2b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060a27
cmp dword [eax], 0
jne 0x10060a27
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060a60
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060a49
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x10060a60
shl ecx, 0x10
jmp 0x10060a60
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.1005baf0
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 0x10060886
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 0x1005cace
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 0x10060f78
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 0x10060d37
cmp edi, eax
jb 0x10060b53
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060b4f
cmp dword [eax], 0
jne 0x10060b4f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060b79
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10060b69
sub eax, 1
jne 0x10060b79
shl ecx, 0x10
jmp 0x10060b79
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 0x10060baf
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060bab
cmp dword [eax], 0
jne 0x10060bab
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060bd5
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x10060bc5
sub eax, 1
jne 0x10060bd5
shl ecx, 0x10
jmp 0x10060bd5
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 0x10060c04
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060c00
cmp dword [eax], 0
jne 0x10060c00
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060c2a
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060c1a
sub eax, 1
jne 0x10060c2a
shl ecx, 0x10
jmp 0x10060c2a
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 0x10060c5a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060c56
cmp dword [eax], 0
jne 0x10060c56
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060c8f
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060c78
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x10060c8f
shl ecx, 0x10
jmp 0x10060c8f
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 0x10060d28
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 0x10060ccf
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060ccb
cmp dword [eax], 0
jne 0x10060ccb
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060d04
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060ced
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x10060d04
shl ecx, 0x10
jmp 0x10060d04
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 0x10060f1e
xor al, al
mov dword [esp + 0x20], esi
mov byte [esp + 0x3f], al
jmp 0x10060f1e
mov edx, dword [esp + 0x20]
mov dword [esp + 0x4c], edx
cmp edi, eax
jb 0x10060d59
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060d55
cmp dword [eax], 0
jne 0x10060d55
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060d7f
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10060d6f
sub eax, 1
jne 0x10060d7f
shl ecx, 0x10
jmp 0x10060d7f
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 0x10060dae
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060daa
cmp dword [eax], 0
jne 0x10060daa
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060dd4
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x10060dc4
sub eax, 1
jne 0x10060dd4
shl ecx, 0x10
jmp 0x10060dd4
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 0x10060e03
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060dff
cmp dword [eax], 0
jne 0x10060dff
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060e29
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060e19
sub eax, 1
jne 0x10060e29
shl ecx, 0x10
jmp 0x10060e29
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 0x10060e59
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060e55
cmp dword [eax], 0
jne 0x10060e55
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060e8e
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060e77
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x10060e8e
shl ecx, 0x10
jmp 0x10060e8e
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 0x10060f15
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 0x10060eca
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060ec6
cmp dword [eax], 0
jne 0x10060ec6
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060eff
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060ee8
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x10060eff
shl ecx, 0x10
jmp 0x10060eff
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 0x10060f19
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.1005baf0
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 0x10060b20
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 0x1005cace
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10060fa5
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edx, cl
jmp 0x10060fb8
mov eax, dword [esi]
test eax, eax
je 0x10060fb6
cmp dword [eax], 0
jne 0x10060fb6
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10060fd6
mov cl, byte [eax]
inc eax
shl edx, 8
mov dword [esi + 0xc], eax
movzx eax, cl
movsx edx, dx
or edx, eax
jmp 0x1005daa3
mov eax, dword [esi]
test eax, eax
je 0x10060fe7
cmp dword [eax], 0
jne 0x10060fe7
mov dword [eax], 0x55
shl edx, 8
xor eax, eax
movsx edx, dx
or edx, eax
jmp 0x1005daa3
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 0x1005cace
cmp byte [esp + 0x28], 0xf6
ja 0x1006103c
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 0x100610cc
jmp 0x1005dab6
cmp byte [esp + 0x28], 0xfa
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
ja 0x10061084
shl edx, 8
cmp eax, ecx
jae 0x10061067
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx eax, cl
lea esi, [eax - 0xf694]
add esi, edx
jmp 0x10061024
mov eax, dword [esi]
test eax, eax
je 0x10061078
cmp dword [eax], 0
jne 0x10061078
mov dword [eax], 0x55
xor eax, eax
lea esi, [eax - 0xf694]
add esi, edx
jmp 0x10061024
cmp byte [esp + 0x28], 0xfe
ja 0x100610ed
shl edx, 8
cmp eax, ecx
jae 0x1006109d
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx eax, cl
jmp 0x100610b0
mov eax, dword [esi]
test eax, eax
je 0x100610ae
cmp dword [eax], 0
jne 0x100610ae
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 0x1005dab6
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 0x1005cace
cmp eax, ecx
jae 0x100610fc
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edx, cl
jmp 0x1006110f
mov eax, dword [esi]
test eax, eax
je 0x1006110d
cmp dword [eax], 0
jne 0x1006110d
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10061122
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edi, cl
jmp 0x10061135
mov eax, dword [esi]
test eax, eax
je 0x10061133
cmp dword [eax], 0
jne 0x10061133
mov dword [eax], 0x55
xor edi, edi
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10061148
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx esi, cl
jmp 0x1006115b
mov eax, dword [esi]
test eax, eax
je 0x10061159
cmp dword [eax], 0
jne 0x10061159
mov dword [eax], 0x55
xor esi, esi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x1006117a
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 0x1006118d
mov eax, dword [ecx]
test eax, eax
je 0x1006118b
cmp dword [eax], 0
jne 0x1006118b
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 0x100611d4
cmp edx, 0x7d00
jg 0x100611b6
cmp edx, 0xffff8300
jge 0x100611cb
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 0x1005daa3
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 0x1005dab6
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 0x1005cace
cmp dword [eax - 4], 2
je 0x10061228
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061224
cmp dword [eax], 0
jne 0x10061224
mov dword [eax], 0xa0
xor edx, edx
jmp 0x10061230
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 0x10061252
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006124e
cmp dword [eax], 0
jne 0x1006124e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10061276
cmp dword [eax - 4], 2
je 0x1006126e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006126a
cmp dword [eax], 0
jne 0x1006126a
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x10061276
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 0x10061298
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061294
cmp dword [eax], 0
jne 0x10061294
mov dword [eax], 0xa1
xor edi, edi
jmp 0x100612c2
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x100612b2
sub eax, 1
jne 0x100612c2
shl edi, 0x10
jmp 0x100612c2
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 0x100612e0
mov eax, dword [ebx + 4]
test eax, eax
je 0x100612dc
cmp dword [eax], 0
jne 0x100612dc
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1006130a
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x100612fa
sub eax, 1
jne 0x1006130a
shl esi, 0x10
jmp 0x1006130a
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 0x10061328
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061324
cmp dword [eax], 0
jne 0x10061324
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10061352
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10061342
sub eax, 1
jne 0x10061352
shl ebp, 0x10
jmp 0x10061352
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp byte [esp + 0x3f20], 0
je 0x10061366
mov eax, 0x12
jmp 0x10061987
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x2f], 0
je 0x1006137a
mov eax, 0x12
jmp 0x10061987
cmp dword [eax + 0x244], 0
jne 0x100613a1
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x80]
cmp dword [eax + 0x34], 0
jne 0x1006139d
mov eax, 0x12
jmp 0x10061987
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 0x100613d8
mov edx, ecx
mov ecx, dword [esp + 0x2c]
call fcn.10058580
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x58], eax
call fcn.10058580
mov edx, eax
mov dword [esp + 0x38], edx
cmp dword [esp + 0x58], 0
jl 0x1006135c
test edx, edx
js 0x1006135c
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x2e], 0
je 0x100614b4
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.100484c0
test eax, eax
jne 0x10061987
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 0x10061987
mov ecx, dword [eax + 0xc]
call fcn.10048610
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x3e60]
mov ecx, dword [esp + 0x2c]
push eax
call fcn.1005a470
test eax, eax
jne 0x10061987
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.1005c510
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 0x1006156d
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 0x10061594
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.1005a470
test eax, eax
jne 0x10061987
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.1005c510
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 0x10061630
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 0x10061987
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
je 0x1006166e
cmp eax, 5
jne 0x100616c2
cmp byte [esp + 0x27], 0
jne 0x100616c2
test eax, eax
jne 0x1006168f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006168b
cmp dword [eax], 0
jne 0x1006168b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100616b3
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100616a3
sub eax, 1
jne 0x100616b3
shl ecx, 0x10
jmp 0x100616b3
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 0x100614ab
cmp byte [esp + 0x2ec8], 0
je 0x10061754
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005b970
cmp byte [esp + 0x2f18], 0
je 0x10061734
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.1005b3e0
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 0x100614ab
cmp byte [edi + 8], 0
jne 0x100614ab
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x100614ab
cmp byte [esp + 0x3f20], 0
je 0x10061792
mov eax, 0x12
jmp 0x10061987
cmp ecx, edx
jne 0x100617ac
mov eax, dword [ebx + 4]
test eax, eax
je 0x100617a8
cmp dword [eax], 0
jne 0x100617a8
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100617d0
cmp dword [ecx - 4], 2
je 0x100617c8
mov eax, dword [ebx + 4]
test eax, eax
je 0x100617c4
cmp dword [eax], 0
jne 0x100617c4
mov dword [eax], 0xa0
xor edx, edx
jmp 0x100617d0
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x100617ee
mov eax, dword [ebx + 4]
test eax, eax
je 0x100617ea
cmp dword [eax], 0
jne 0x100617ea
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10061812
cmp dword [eax - 4], 2
je 0x1006180a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061806
cmp dword [eax], 0
jne 0x10061806
mov dword [eax], 0xa0
xor ebp, ebp
jmp 0x10061812
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x10061830
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006182c
cmp dword [eax], 0
jne 0x1006182c
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1006185a
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1006184a
sub eax, 1
jne 0x1006185a
shl edi, 0x10
jmp 0x1006185a
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 0x10061878
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061874
cmp dword [eax], 0
jne 0x10061874
mov dword [eax], 0xa1
xor esi, esi
jmp 0x100618a2
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10061892
sub eax, 1
jne 0x100618a2
shl esi, 0x10
jmp 0x100618a2
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.1005a3b0
test eax, eax
jne 0x10061987
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.1005c510
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.1005a3b0
test eax, eax
jne 0x10061987
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.1005c510
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 0x10061987
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 0x10061996
cmp dword [ecx], 0
jne 0x10061996
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 0x100619d0
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 0x10061a15
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 0x10061a5a
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 0x10061a7d
mov edx, eax
mov eax, dword [esp + 0xe0]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
test ebx, ebx
je 0x10061aa1
mov edx, dword [ebx + 8]
mov edi, dword [ebx]
test edx, edx
je 0x10061a91
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.1019a294
add esp, 0x3f04
ret 0x18