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

Disassembly:
mov eax, 0x3f04
call fcn.1019a0f0
mov eax, dword [0x102060c0]
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.1019b040
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.1019b040
mov eax, dword [esp + 0x8c]
add esp, 0xc
mov dword [esp + 0x138], esi
movaps xmm0, xmmword [0x101f7bb0]
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.1019b040
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.1019b040
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.1019b040
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 0x1005c7f9
test esi, esi
jmp 0x1005c7fd
mov esi, ebx
test ebx, ebx
jns 0x1005c801
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 0x1005c870
mov eax, dword [ecx + 0x214]
mov esi, dword [eax + 0x614]
jmp 0x1005c875
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 0x10061892
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 0x10061882
je 0x1005c9b7
cmp esi, 0xfffffff
jg 0x10061882
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 0x1005c913
mov edx, dword [esp + 0x74]
test edx, edx
jle 0x1005c913
lea eax, [edx*8]
push eax
push 0
push esi
call fcn.1019b040
lea edi, [ebx + 8]
add esp, 0xc
mov dword [edi], esi
mov eax, esi
mov dword [esp + 0x1c], edi
jmp 0x1005c928
mov dword [ebx + 8], eax
lea edx, [ebx + 8]
mov dword [esp + 0x1c], edx
test ecx, ecx
jne 0x10061889
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.10058df0
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 0x100613bb
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 0x1005c9de
lea edi, [ebx + 8]
xor eax, eax
mov dword [esp + 0x1c], edi
mov dword [edi], eax
jmp 0x1005c92c
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
jmp 0x1005c9de
mov edi, dword [esp + 0x1c]
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 8]
jb 0x1005c9fb
test ecx, ecx
mov edx, 0xb
mov eax, 0xe
cmove edx, eax
mov dword [esp + 0x28], edx
jmp 0x1005ca2a
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
mov dl, cl
mov dword [esp + 0x28], edx
cmp cl, 0xb
je 0x1005ca11
cmp cl, 0xe
jne 0x1005ca26
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 0x1005cad4
test ah, ah
jne 0x1005ca77
cmp dl, 1
je 0x1005ca77
cmp dl, 3
je 0x1005ca77
cmp dl, 0xd
je 0x1005ca77
cmp dl, 0xa
je 0x1005ca77
cmp dl, 0xb
je 0x1005ca77
cmp dl, 0xc
je 0x1005ca77
cmp dl, 0xe
je 0x1005ca77
cmp dl, 0x20
jae 0x1005ca77
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov dword [ebx + 0xc], eax
jmp 0x1005c9de
cmp dword [esp + 0x5c], 0
mov edi, dword [esp + 0x1c]
jle 0x1005caad
cmp dl, 0xa
je 0x1005caad
cmp dl, 0xb
je 0x1005caad
cmp dl, 0xc
je 0x1005caad
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 0x1005cad4
cmp dl, 0x20
jae 0x1005cad4
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 0x100613bb
sub dword [esp + 0x7c], 1
je 0x1006126c
movzx edx, dl
cmp edx, 0x1f
ja case.default.0x1005cafc
jmp dword [edx*4 + 0x100619cc]
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1005cafc.0
cmp byte [edx + 0x5d], 0
jne 0x1006126c
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005cb43
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cb30
cmp dword [eax], 0
jne 0x1005cb30
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 0x1005c9de
cmp dword [eax - 4], 2
je 0x1005cb6e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cb5b
cmp dword [eax], 0
jne 0x1005cb5b
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 0x1005c9de
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js case.0x1005cafc.0
mov dword [edx + 0x78], eax
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov dword [ebx + 0xc], eax
jmp 0x1005c9de
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1005cafc.0
cmp dword [edx + 0x60], 0
je 0x1006126c
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 0x1005cbe8
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 0x100613bb
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005cc05
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1005cc01
cmp dword [ecx], 0
jne 0x1005cc01
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x1005cc29
cmp dword [eax - 4], 2
je 0x1005cc21
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cc1d
cmp dword [eax], 0
jne 0x1005cc1d
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1005cc29
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x74]
ja 0x1006126c
push eax
mov edx, ebx
mov ecx, esi
call fcn.1005c230
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 0x1005c9de
test al, al
jne 0x1005cc6b
cmp byte [esp + 0x104], al
jne case.0x1005cafc.0
xor eax, eax
jmp 0x1005cc75
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.1005bd00
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x100613bb
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005c9de
test al, al
jne 0x1005ccd7
cmp byte [esp + 0x104], al
jne case.0x1005cafc.0
xor eax, eax
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0xa8]
jmp 0x1005cc82
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 0x1005cc82
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x1005cd38
cmp byte [esp + 0x27], 0
jne 0x1005cd38
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005cd19
sub eax, 1
jne 0x1005cd29
shl ecx, 0x10
jmp 0x1005cd29
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 0x100613bb
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005cd7b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cd67
cmp dword [eax], 0
jne 0x1005cd67
mov dword [eax], 0xa1
xor ecx, ecx
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x1006009a
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005cda5
sub eax, 1
jne 0x1005cdb5
shl ecx, 0x10
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x1006009a
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 0x1006009a
mov ebp, dword [ebx + 0xc]
sub ebp, dword [edi]
xor edi, edi
sar ebp, 3
test ebp, ebp
je 0x1005cebc
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 0x1005ce0f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ce0b
cmp dword [eax], 0
jne 0x1005ce0b
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
xor esi, esi
jmp 0x1005ce35
mov eax, dword [edx + edi*8 + 4]
mov esi, dword [edx + edi*8]
sub eax, 1
je 0x1005ce25
sub eax, 1
jne 0x1005ce35
shl esi, 0x10
jmp 0x1005ce35
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 0x1005ce68
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ce64
cmp dword [eax], 0
jne 0x1005ce64
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005ce8f
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1005ce7f
sub eax, 1
jne 0x1005ce8f
shl ecx, 0x10
jmp 0x1005ce8f
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.1005b880
add edi, 2
cmp edi, ebp
jb 0x1005cde0
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 0x1005c9de
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 0x100609ce
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1005cf18
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cf14
cmp dword [eax], 0
jne 0x1005cf14
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005cf3e
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1005cf2e
sub eax, 1
jne 0x1005cf3e
shl ecx, 0x10
jmp 0x1005cf3e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x18]
test dl, dl
je 0x1005cf51
add ebp, ecx
mov dword [esp + 0x3f24], ebp
jmp 0x1005cf5e
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.1005b880
mov dl, byte [esp + 0x3f]
inc esi
mov eax, dword [esp + 0x1c]
cmp esi, edi
jb 0x1005cef4
mov dword [esp + 0x20], ebp
jmp 0x100609ce
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 0x1005d21d
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 0x1005cfdf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cfdb
cmp dword [eax], 0
jne 0x1005cfdb
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [ecx]
xor ecx, ecx
jmp 0x1005d006
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x1005cff6
sub eax, 1
jne 0x1005d006
shl ecx, 0x10
jmp 0x1005d006
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 0x1005d03e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d03a
cmp dword [eax], 0
jne 0x1005d03a
mov ebp, dword [esp + 0x1c]
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [ebp]
xor ecx, ecx
jmp 0x1005d065
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x1005d055
sub eax, 1
jne 0x1005d065
shl ecx, 0x10
jmp 0x1005d065
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 0x1005d099
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d095
cmp dword [eax], 0
jne 0x1005d095
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005d0bf
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1005d0af
sub eax, 1
jne 0x1005d0bf
shl ecx, 0x10
jmp 0x1005d0bf
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 0x1005d0f6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d0f2
cmp dword [eax], 0
jne 0x1005d0f2
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005d11d
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1005d10d
sub eax, 1
jne 0x1005d11d
shl ecx, 0x10
jmp 0x1005d11d
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 0x1005d14c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d148
cmp dword [eax], 0
jne 0x1005d148
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005d173
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x1005d163
sub eax, 1
jne 0x1005d173
shl ecx, 0x10
jmp 0x1005d173
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 0x1005d19f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d19b
cmp dword [eax], 0
jne 0x1005d19b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d1c6
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x1005d1b6
sub eax, 1
jne 0x1005d1c6
shl ecx, 0x10
jmp 0x1005d1c6
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.1005ba00
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 0x1005cfb0
mov edi, dword [esp + 0x1c]
cmp byte [esp + 0x28], 0x18
jne 0x1005d309
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov esi, dword [edi]
sub eax, esi
sar eax, 3
cmp ebp, eax
jb 0x1005d254
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d250
cmp dword [eax], 0
jne 0x1005d250
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1005d27a
mov eax, dword [esi + ebp*8 + 4]
mov edx, dword [esi + ebp*8]
sub eax, 1
je 0x1005d26a
sub eax, 1
jne 0x1005d27a
shl edx, 0x10
jmp 0x1005d27a
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 0x1005d2ad
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d2a9
cmp dword [eax], 0
jne 0x1005d2a9
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d2d3
mov ecx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
sub eax, 1
je 0x1005d2c3
sub eax, 1
jne 0x1005d2d3
shl ecx, 0x10
jmp 0x1005d2d3
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.1005b880
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005c9de
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 0x1005c9de
test al, al
je case.0x1005cafc.0
cmp byte [esp + 0x2ec8], 0
je 0x1005d3a8
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005b880
cmp byte [esp + 0x2f18], 0
je 0x1005d388
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.1005b2f0
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 0x1005c9de
cmp ecx, 0x10
jg 0x1006126c
lea eax, [ecx + 1]
cmp eax, dword [esp + 0x98]
jb 0x1005d3ec
mov eax, dword [esp + 0x94]
test eax, eax
je 0x1005d3ea
cmp dword [eax], 0
jne 0x1005d3ea
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 0x1005d41b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d417
cmp dword [eax], 0
jne 0x1005d417
mov dword [eax], 0xa1
xor eax, eax
jmp 0x1005d43f
cmp dword [eax - 4], 2
je 0x1005d437
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d433
cmp dword [eax], 0
jne 0x1005d433
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1005d43f
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x40]
cmp byte [ecx + 8], 0
je 0x1005d46c
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x268]
test ecx, ecx
je 0x1005d46c
push eax
call fcn.100486b0
mov edx, dword [esp + 0x10]
test eax, eax
je 0x1005d469
mov eax, dword [eax]
jmp 0x1005d46c
or eax, 0xffffffff
cmp byte [esp + 0x28], 0x1d
xorps xmm0, xmm0
mov ecx, dword [esp + 0x2c]
movups xmmword [edx], xmm0
je 0x1005d535
mov ecx, dword [ecx + 0x234]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x22c]
jae 0x1006126c
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 0x1005d503
mov eax, dword [eax + 0x264]
test eax, eax
je 0x1005d4db
test ecx, ecx
je 0x1005d4d3
mov eax, dword [eax + edx]
add eax, ecx
mov ecx, dword [esp + 0x10]
jmp 0x1005d511
mov ecx, dword [esp + 0x10]
xor eax, eax
jmp 0x1005d511
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 0x1005d507
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 0x1005c9de
mov ecx, dword [ecx + 0x238]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x230]
jae 0x1006126c
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 0x1005c9de
cmp ecx, 1
jl 0x1006126c
dec ecx
mov eax, ecx
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x98]
jb 0x1005d5ac
mov eax, dword [esp + 0x94]
test eax, eax
je 0x1005d5aa
cmp dword [eax], 0
jne 0x1005d5aa
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 0x1005c9de
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 8]
jae 0x1005d5d7
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
jmp 0x1005d5ea
mov eax, dword [edx]
test eax, eax
je 0x1005d5e8
cmp dword [eax], 0
jne 0x1005d5e8
mov dword [eax], 0x55
xor cl, cl
movzx eax, cl
add eax, 0xfffffff8
mov byte [esp + 0x3f], cl
cmp eax, 0x1d
ja case.0x1005d604.9
movzx eax, byte [eax + 0x10061a64]
jmp dword [eax*4 + 0x10061a4c]
push 0
push 0x101d81f0
jmp 0x1005d671
push 0
push 0x101d8094
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f34]
push eax
lea edx, [esp + 0x3f34]
call fcn.1005bf20
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 0x1005c9de
push 0
push 0x101d821c
jmp 0x1005d671
push 1
push 0x101d83b4
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f34]
push eax
lea edx, [esp + 0x3f34]
call fcn.1005bf20
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 0x1005c9de
mov eax, dword [esp + 0x40]
cmp byte [eax + 9], 0
jne case.0x1005d6fe.0
cmp cl, 0x26
jae case.0x1005d6fe.0
mov al, byte [eax + 8]
test al, al
je 0x1005d6f2
cmp dword [esp + 0x5c], 0
jle 0x1005d6f2
cmp cl, 0x11
je 0x1005d6f2
mov eax, dword [edi]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x5c], 0
mov dword [ebx + 0xc], eax
jmp 0x1005c9de
movzx ecx, cl
cmp ecx, 0x21
ja case.0x1005d6fe.0
jmp dword [ecx*4 + 0x10061a84]
test al, al
je case.0x1005d6fe.0
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x1005d731
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d72d
cmp dword [eax], 0
jne 0x1005d72d
mov dword [eax], 0x82
xor esi, esi
jmp 0x1005d755
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005d745
sub eax, 1
jne 0x1005d755
shl esi, 0x10
jmp 0x1005d755
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 0x1005d77a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d776
cmp dword [eax], 0
jne 0x1005d776
mov dword [eax], 0x82
xor edi, edi
jmp 0x1005d79f
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, 1
je 0x1005d78f
sub eax, 1
jne 0x1005d79f
shl edi, 0x10
jmp 0x1005d79f
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 0x1005d7c9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d7c5
cmp dword [eax], 0
jne 0x1005d7c5
mov dword [eax], 0x82
xor edx, edx
jmp 0x1005d7ee
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x20]
sub eax, 1
je 0x1005d7de
sub eax, 1
jne 0x1005d7ee
shl edx, 0x10
jmp 0x1005d7ee
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 0x1005d814
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d810
cmp dword [eax], 0
jne 0x1005d810
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d839
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub eax, 1
je 0x1005d829
sub eax, 1
jne 0x1005d839
shl ecx, 0x10
jmp 0x1005d839
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 0x1005d860
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d876
cmp dword [eax], 0
jne 0x1005d876
mov dword [eax], 0x82
jmp 0x1005d876
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 0x1005d89f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d89b
cmp dword [eax], 0
jne 0x1005d89b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d8c4
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
sub eax, 1
je 0x1005d8b4
sub eax, 1
jne 0x1005d8c4
shl ecx, 0x10
jmp 0x1005d8c4
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 0x1005d8eb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d8ff
cmp dword [eax], 0
jne 0x1005d8ff
mov dword [eax], 0x82
jmp 0x1005d8ff
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 0x1005d911
mov eax, dword [eax]
jmp 0x1005d914
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.1005bd00
cmp byte [ebp + 0x224], 0
jne 0x100613bb
mov ebp, dword [esp + 0x20]
jmp 0x10060198
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005d96e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d96a
cmp dword [eax], 0
jne 0x1005d96a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005d998
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005d988
sub eax, 1
jne 0x1005d998
shl edx, 0x10
jmp 0x1005d998
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 0x1005d9f5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d9b1
cmp dword [eax], 0
jne 0x1005d9b1
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 0x10060f06
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005c9de
cmp dword [eax], 0
jne 0x1005c9de
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005c9de
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005da0f
sub eax, 1
jne 0x1005da1f
shl ecx, 0x10
jmp 0x1005da1f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
je 0x1005d9b1
test edx, edx
je 0x1005d9b1
mov edx, 1
jmp 0x1005d9b3
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005da4b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005da47
cmp dword [eax], 0
jne 0x1005da47
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005da75
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005da65
sub eax, 1
jne 0x1005da75
shl edx, 0x10
jmp 0x1005da75
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 0x1005da90
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dac2
cmp dword [eax], 0
jne 0x1005dac2
mov dword [eax], 0xa1
jmp 0x1005dac2
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005daaa
sub eax, 1
jne 0x1005daba
shl ecx, 0x10
jmp 0x1005daba
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
jne 0x1005da27
test edx, edx
jne 0x1005da27
jmp 0x1005d9b1
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005daec
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dae8
cmp dword [eax], 0
jne 0x1005dae8
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005db16
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005db06
sub eax, 1
jne 0x1005db16
shl edx, 0x10
jmp 0x1005db16
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 0x1005d9c6
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 0x1005c9de
test al, al
je case.0x1005d6fe.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 0x1006111c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005db82
cmp dword [eax], 0
jne 0x1005db82
mov dword [eax], 0xa1
xor edx, edx
jmp 0x10061140
test al, al
je case.0x1005d6fe.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005dbae
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dbaa
cmp dword [eax], 0
jne 0x1005dbaa
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005dbd8
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005dbc8
sub eax, 1
jne 0x1005dbd8
shl ecx, 0x10
jmp 0x1005dbd8
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 0x1005dbff
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dbfb
cmp dword [eax], 0
jne 0x1005dbfb
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005dc29
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005dc19
sub eax, 1
jne 0x1005dc29
shl ecx, 0x10
jmp 0x1005dc29
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 0x1005dc4b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dc47
cmp dword [eax], 0
jne 0x1005dc47
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005dc75
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005dc65
sub eax, 1
jne 0x1005dc75
shl edx, 0x10
jmp 0x1005dc75
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 0x1005dc92
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dc8e
cmp dword [eax], 0
jne 0x1005dc8e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005dcbc
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005dcac
sub eax, 1
jne 0x1005dcbc
shl ecx, 0x10
jmp 0x1005dcbc
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 0x100613bb
cmp byte [esp + 0x33], 0
mov esi, dword [esp + 0x18]
je 0x100601a0
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 0x1005c9de
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005dd90
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dd2e
cmp dword [eax], 0
jne 0x1005dd2e
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 0x1005e143
mov esi, dword [esp + 0x18]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005c9de
cmp dword [eax], 0
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
jne 0x1005c9de
mov dword [eax], 0x82
jmp 0x1005c9de
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005ddaa
sub eax, 1
jne 0x1005ddba
shl ecx, 0x10
jmp 0x1005ddba
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 0x1005dd39
lea eax, [edi*8]
mov edi, dword [esp + 0x1c]
add eax, ebp
mov ebp, dword [esp + 0x20]
cmp esi, eax
jne 0x1005de0b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f9bc
cmp dword [eax], 0
jne 0x1005f9bc
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1005c9de
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 0x1005c9de
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005de49
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005de45
cmp dword [eax], 0
jne 0x1005de45
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005de73
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005de63
sub eax, 1
jne 0x1005de73
shl esi, 0x10
jmp 0x1005de73
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 0x1005de90
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005de8c
cmp dword [eax], 0
jne 0x1005de8c
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005deba
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005deaa
sub eax, 1
jne 0x1005deba
shl edx, 0x10
jmp 0x1005deba
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 0x1005defc
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 0x1005c9de
cmp dword [eax], 0
jne 0x1005c9de
mov dword [eax], 0x82
jmp 0x1005c9de
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 0x1005c9de
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005df41
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005df3d
cmp dword [eax], 0
jne 0x1005df3d
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005df6b
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005df5b
sub eax, 1
jne 0x1005df6b
shl esi, 0x10
jmp 0x1005df6b
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 0x1005df88
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005df84
cmp dword [eax], 0
jne 0x1005df84
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005dfb2
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005dfa2
sub eax, 1
jne 0x1005dfb2
shl edx, 0x10
jmp 0x1005dfb2
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 0x1005decd
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 0x1005c9de
test al, al
je 0x1005e09d
cmp byte [esp + 0x58], 0
je 0x1005e09d
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e020
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e01c
cmp dword [eax], 0
jne 0x1005e01c
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e044
cmp dword [eax - 4], 2
je 0x1005e03c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e038
cmp dword [eax], 0
jne 0x1005e038
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005e044
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e068
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e05d
cmp dword [eax], 0
jne 0x1005e05d
mov dword [eax], 0xa1
xor ecx, ecx
mov byte [esp + 0x58], cl
jmp 0x1005e12b
cmp dword [eax - 4], 2
je 0x1005e08b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e080
cmp dword [eax], 0
jne 0x1005e080
mov dword [eax], 0xa0
xor ecx, ecx
mov byte [esp + 0x58], cl
jmp 0x1005e12b
add eax, 0xfffffff8
mov byte [esp + 0x58], 0
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
jmp 0x1005e12b
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005e0ba
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e0b6
cmp dword [eax], 0
jne 0x1005e0b6
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e0e4
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e0d4
sub eax, 1
jne 0x1005e0e4
shl edx, 0x10
jmp 0x1005e0e4
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 0x1005e101
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e0fd
cmp dword [eax], 0
jne 0x1005e0fd
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e12b
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005e11b
sub eax, 1
jne 0x1005e12b
shl ecx, 0x10
jmp 0x1005e12b
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.100477e0
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
je 0x1005d9c6
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 0x1005c9de
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005e1b6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e17d
cmp dword [eax], 0
jne 0x1005e17d
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 0x1005d9c6
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 0x1005c9de
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005e1d0
sub eax, 1
jne 0x1005e1e0
shl ecx, 0x10
jmp 0x1005e1e0
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 0x1005e188
lea eax, [esi + eax*8]
cmp edx, eax
jne 0x1005e223
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f9b8
cmp dword [eax], 0
jne 0x1005f9b8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005c9de
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 0x1005c9de
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005e265
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e261
cmp dword [eax], 0
jne 0x1005e261
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e28f
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005e27f
sub eax, 1
jne 0x1005e28f
shl esi, 0x10
jmp 0x1005e28f
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 0x1005e2ac
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e2a8
cmp dword [eax], 0
jne 0x1005e2a8
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e2d6
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e2c6
sub eax, 1
jne 0x1005e2d6
shl edx, 0x10
jmp 0x1005e2d6
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 0x1005decd
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 0x1005c9de
mov ecx, dword [esp + 0x14]
test al, al
je 0x1005c9de
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e342
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e33e
cmp dword [eax], 0
jne 0x1005e33e
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e366
cmp dword [eax - 4], 2
je 0x1005e35e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e35a
cmp dword [eax], 0
jne 0x1005e35a
mov dword [eax], 0xa0
xor esi, esi
jmp 0x1005e366
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e383
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e37f
cmp dword [eax], 0
jne 0x1005e37f
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005e3a7
cmp dword [eax - 4], 2
je 0x1005e39f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e39b
cmp dword [eax], 0
jne 0x1005e39b
mov dword [eax], 0xa0
xor edi, edi
jmp 0x1005e3a7
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.0x1005e3db.4
movzx eax, byte [esi + 0x10061b4c]
jmp dword [eax*4 + 0x10061b0c]
cmp edi, 3
jne 0x1006126c
cmp byte [esp + 0x33], 0
je 0x1005e410
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x1d4], 0
je 0x1006126c
cmp dword [eax + 0x1d8], 7
jne 0x1006126c
mov eax, dword [ebx + 0x10]
mov ebp, dword [esp + 0x20]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1005e432
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e442
cmp dword [eax], 0
jne 0x1005e442
mov dword [eax], 0x82
jmp 0x1005e442
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 0x1005e480
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e490
cmp dword [eax], 0
jne 0x1005e490
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov dword [esp + 0x54], 2
jmp 0x1005c9de
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 0x1005c9de
test edi, edi
jne 0x1006126c
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 0x1005c9de
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 0x1005e4fb
push 0
mov edx, 6
mov ecx, esi
call fcn.10047eb0
test eax, eax
jne 0x100613bb
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 0x1005c9de
test edi, edi
jne 0x1006126c
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 0x1005c9de
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 0x1d4], 0
je 0x1006126c
mov esi, dword [ecx + 0x1d8]
lea eax, [esi + 1]
mov dword [ecx + 0x1d8], eax
lea eax, [esi - 1]
cmp eax, 5
ja 0x1005f9b0
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 0x1005e5a8
push 0
mov edx, 1
mov ecx, edi
call fcn.10047eb0
test eax, eax
jne 0x1006126c
lea eax, [esi - 3]
cmp esi, 3
jg 0x1005e5b2
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 0x1005e5d8
cmp esi, 6
jne 0x1005f9b4
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.1005ba00
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1005c9de
cmp edi, 1
jne 0x1006126c
cmp byte [esp + 0x33], 0
je 0x1005e683
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 0x1005c9de
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 0x1005c9de
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x284]
mov dword [esp + 0x28], ecx
test ecx, ecx
je 0x1006126c
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 0x1006126c
lea edi, [edx + ebp]
test edx, edx
je 0x1005e831
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 0x1005e72b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e727
cmp dword [eax], 0
jne 0x1005e727
mov dword [eax], 0x82
xor esi, esi
jmp 0x1005e751
mov eax, dword [esi + ebp*8 + 4]
mov esi, dword [esi + ebp*8]
sub eax, 1
je 0x1005e741
sub eax, 1
jne 0x1005e751
shl esi, 0x10
jmp 0x1005e751
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp dword [ecx], 1
jbe 0x1005e7e4
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 0x1005e78f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e78b
cmp dword [eax], 0
jne 0x1005e78b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005e7b5
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1005e7a5
sub eax, 1
jne 0x1005e7b5
shl ecx, 0x10
jmp 0x1005e7b5
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.1003ef60
mov ecx, dword [esp + 0x28]
inc ebp
add dword [esp + 0x38], 4
add esi, eax
inc edi
cmp ebp, dword [ecx]
jb 0x1005e767
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 0x1005e80a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e81b
cmp dword [eax], 0
jne 0x1005e81b
mov dword [eax], 0x82
jmp 0x1005e81b
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 0x1005e703
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 0x1005e872
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e87e
cmp dword [eax], 0
jne 0x1005e87e
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 0x1005c9de
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 0x1005c9de
mov ebp, dword [esp + 0x2c]
mov esi, dword [ebp + 0x284]
cmp edi, 1
jne 0x1006126c
test esi, esi
je 0x1006126c
cmp ecx, edx
jne 0x1005e8c8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e8c4
cmp dword [eax], 0
jne 0x1005e8c4
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e8f4
cmp dword [ecx - 4], 2
je 0x1005e8e4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e8e0
cmp dword [eax], 0
jne 0x1005e8e0
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005e8f4
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x1006126c
mov edx, dword [esi]
lea eax, [edx + ecx]
cmp eax, dword [ebp + 0x28c]
ja 0x1006126c
lea eax, [edx*4]
push eax
mov eax, dword [ebp + 0x288]
push dword [esi + 0x88]
lea eax, [eax + ecx*4]
push eax
call fcn.1019aac0
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 0x1005c9de
cmp edi, 2
jne 0x1006126c
cmp ecx, edx
jne 0x1005e961
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e95d
cmp dword [eax], 0
jne 0x1005e95d
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e98b
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005e97b
sub eax, 1
jne 0x1005e98b
shl esi, 0x10
jmp 0x1005e98b
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 0x1005e9ad
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e9a9
cmp dword [eax], 0
jne 0x1005e9a9
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e9d7
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e9c7
sub eax, 1
jne 0x1005e9d7
shl edx, 0x10
jmp 0x1005e9d7
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 0x1005ea1a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ea2d
cmp dword [eax], 0
jne 0x1005ea2d
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 0x1005c9de
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 0x1005c9de
cmp edi, 2
jne 0x1006126c
cmp ecx, edx
jne 0x1005ea71
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ea6d
cmp dword [eax], 0
jne 0x1005ea6d
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005ea9b
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005ea8b
sub eax, 1
jne 0x1005ea9b
shl esi, 0x10
jmp 0x1005ea9b
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 0x1005eabd
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eab9
cmp dword [eax], 0
jne 0x1005eab9
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005eae7
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005ead7
sub eax, 1
jne 0x1005eae7
shl edx, 0x10
jmp 0x1005eae7
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 0x1005eb16
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ea2d
cmp dword [eax], 0
jne 0x1005ea2d
mov dword [eax], 0x82
jmp 0x1005ea2d
sub edx, esi
mov dword [edi], edx
jmp 0x1005ea1f
cmp edi, 2
jne 0x1006126c
cmp ecx, edx
jne 0x1005eb42
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eb3e
cmp dword [eax], 0
jne 0x1005eb3e
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005eb6c
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005eb5c
sub eax, 1
jne 0x1005eb6c
shl edx, 0x10
jmp 0x1005eb6c
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 0x1005eb8d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eb89
cmp dword [eax], 0
jne 0x1005eb89
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005ebb7
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005eba7
sub eax, 1
jne 0x1005ebb7
shl ecx, 0x10
jmp 0x1005ebb7
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.1003ef60
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x1005ebfa
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ec0a
cmp dword [eax], 0
jne 0x1005ec0a
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 0x1005c9de
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 0x1005c9de
cmp edi, 2
jne 0x1006126c
cmp ecx, edx
jne 0x1005ec4a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ec46
cmp dword [eax], 0
jne 0x1005ec46
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005ec74
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005ec64
sub eax, 1
jne 0x1005ec74
shl edx, 0x10
jmp 0x1005ec74
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 0x1005ec95
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ec91
cmp dword [eax], 0
jne 0x1005ec91
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005ecbf
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005ecaf
sub eax, 1
jne 0x1005ecbf
shl ecx, 0x10
jmp 0x1005ecbf
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test edx, edx
je 0x1006126c
call fcn.100477e0
jmp 0x1005ebbc
cmp edi, 2
jne 0x1006126c
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x1006126c
cmp ecx, edx
jne 0x1005ed05
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ed01
cmp dword [eax], 0
jne 0x1005ed01
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005ed31
cmp dword [ecx - 4], 2
je 0x1005ed21
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ed1d
cmp dword [eax], 0
jne 0x1005ed1d
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005ed31
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
test edx, edx
js 0x1006126c
cmp edx, dword [ebp + 0x28c]
jae 0x1006126c
mov edi, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005ed7a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ed5a
cmp dword [eax], 0
jne 0x1005ed5a
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 0x1005c9de
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005edb0
sub eax, 1
jne 0x1005edc0
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 0x1005c9de
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 0x1005c9de
cmp edi, 1
jne 0x1006126c
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x1006126c
cmp ecx, edx
jne 0x1005ee12
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ee0e
cmp dword [eax], 0
jne 0x1005ee0e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005ee3e
cmp dword [ecx - 4], 2
je 0x1005ee2e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ee2a
cmp dword [eax], 0
jne 0x1005ee2a
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005ee3e
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x1006126c
cmp ecx, dword [ebp + 0x28c]
jae 0x1006126c
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 0x1005ebcb
mov dword [edx], esi
jmp 0x1005ebfc
cmp edi, 4
jne 0x1006126c
cmp ecx, edx
jne 0x1005ee94
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ee90
cmp dword [eax], 0
jne 0x1005ee90
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005eebe
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x1005eeae
sub eax, 1
jne 0x1005eebe
shl ebp, 0x10
jmp 0x1005eebe
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 0x1005eedf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eedb
cmp dword [eax], 0
jne 0x1005eedb
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005ef09
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005eef9
sub eax, 1
jne 0x1005ef09
shl edi, 0x10
jmp 0x1005ef09
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 0x1005ef26
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ef22
cmp dword [eax], 0
jne 0x1005ef22
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005ef50
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005ef40
sub eax, 1
jne 0x1005ef50
shl edx, 0x10
jmp 0x1005ef50
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 0x1005ef6d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ef69
cmp dword [eax], 0
jne 0x1005ef69
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005ef97
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005ef87
sub eax, 1
jne 0x1005ef97
shl esi, 0x10
jmp 0x1005ef97
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 0x1005efc9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ea2d
cmp dword [eax], 0
jne 0x1005ea2d
mov dword [eax], 0x82
jmp 0x1005ea2d
cmp edi, ebp
cmovle edx, esi
mov dword [ecx], edx
jmp 0x1005ea1f
test edi, edi
jne 0x1006126c
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 0x1005ee6a
jmp 0x1005ebcb
test edi, edi
js 0x1006126c
test esi, esi
js 0x1006126c
cmp edi, 3
jle 0x1005f048
mov edi, 3
mov dword [esp + 0x5c], edi
jmp 0x1005f065
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 0x1005c9da
mov ebp, dword [esp + 0x1c]
lea edx, [esp + edi*4 + 0x3e5c]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebp]
jne 0x1005f08e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f08a
cmp dword [eax], 0
jne 0x1005f08a
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f0b8
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1005f0a8
sub eax, 1
jne 0x1005f0b8
shl ecx, 0x10
jmp 0x1005f0b8
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 0x1005f070
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 0x1005c9de
mov ecx, dword [esp + 0x14]
test al, al
je 0x1005c9de
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x1005f0f9
dec eax
mov dword [esp + 0x54], eax
jmp 0x1005c9de
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x1006126c
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 0x1005d9c6
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 0x1005c9de
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f16f
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005c9de
cmp dword [eax], 0
jne 0x1005c9de
mov dword [eax], 0xa1
jmp 0x1005c9de
mov ecx, dword [esp + 0x14]
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
jmp 0x1005c9de
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f19b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f197
cmp dword [eax], 0
jne 0x1005f197
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f1bf
cmp dword [eax - 4], 2
je 0x1005f1b7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f1b3
cmp dword [eax], 0
jne 0x1005f1b3
mov dword [eax], 0xa0
xor esi, esi
jmp 0x1005f1bf
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005f1dc
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f1d8
cmp dword [eax], 0
jne 0x1005f1d8
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f206
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005f1f6
sub eax, 1
jne 0x1005f206
shl ecx, 0x10
jmp 0x1005f206
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x10]
cmp esi, 0x1f
ja 0x1005ddfe
mov dword [esp + esi*4 + 0x3e88], ecx
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1005c9de
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f24e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f240
cmp dword [eax], 0
jne 0x1005f240
mov dword [eax], 0xa1
xor eax, eax
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005f111
cmp dword [eax - 4], 2
je 0x1005f274
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f266
cmp dword [eax], 0
jne 0x1005f266
mov dword [eax], 0xa0
xor eax, eax
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005f111
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x1005f9bc
cmp eax, 0x20
jge 0x1005f9bc
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005f111
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [edi]
jne 0x1005f2b6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f2b2
cmp dword [eax], 0
jne 0x1005f2b2
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005f2e1
add ebp, 0xfffffff8
mov dword [ebx + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x1005f2d1
sub eax, 1
jne 0x1005f2e1
shl ebp, 0x10
jmp 0x1005f2e1
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 0x1005f2fe
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f2fa
cmp dword [eax], 0
jne 0x1005f2fa
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005f328
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005f318
sub eax, 1
jne 0x1005f328
shl edi, 0x10
jmp 0x1005f328
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 0x1005f349
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f345
cmp dword [eax], 0
jne 0x1005f345
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f373
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005f363
sub eax, 1
jne 0x1005f373
shl edx, 0x10
jmp 0x1005f373
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 0x1005f390
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f38c
cmp dword [eax], 0
jne 0x1005f38c
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f3ba
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005f3aa
sub eax, 1
jne 0x1005f3ba
shl esi, 0x10
jmp 0x1005f3ba
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 0x1005f3da
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jmp 0x1005dd59
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 0x1005c9de
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 0x1005f124
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f9b8
cmp dword [eax], 0
jne 0x1005f9b8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005c9de
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005f492
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f48e
cmp dword [eax], 0
jne 0x1005f48e
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f4bc
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005f4ac
sub eax, 1
jne 0x1005f4bc
shl edx, 0x10
jmp 0x1005f4bc
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 0x1005f4d9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f4d5
cmp dword [eax], 0
jne 0x1005f4d5
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f503
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005f4f3
sub eax, 1
jne 0x1005f503
shl ecx, 0x10
jmp 0x1005f503
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.1003ef60
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x1005e143
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f9b8
cmp dword [eax], 0
jne 0x1005f9b8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005c9de
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [edi]
jne 0x1005f585
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f55f
cmp dword [eax], 0
jne 0x1005f55f
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 0x1005f5ed
mov edi, dword [esp + 0x1c]
jmp 0x1005dd5d
add ebp, 0xfffffff8
mov dword [ebx + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x1005f5a0
sub eax, 1
jne 0x1005f5b0
shl ebp, 0x10
jmp 0x1005f5b0
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
test ebp, ebp
jle 0x1005f55f
mov eax, ebp
mov esi, ebp
sar eax, 1
mov ecx, ebp
cmp ebp, 0xa
cmovge esi, eax
mov edx, esi
call fcn.100477e0
lea edi, [esi + 1]
add edi, eax
sar edi, 1
cmp edi, esi
je 0x1005f561
mov edx, edi
mov ecx, ebp
mov esi, edi
call fcn.100477e0
inc edi
add edi, eax
sar edi, 1
cmp edi, esi
jne 0x1005f5d4
jmp 0x1005f561
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 0x1005c9de
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005f62b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f627
cmp dword [eax], 0
jne 0x1005f627
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f655
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005f645
sub eax, 1
jne 0x1005f655
shl edx, 0x10
jmp 0x1005f655
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 0x1005f678
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f688
cmp dword [eax], 0
jne 0x1005f688
mov dword [eax], 0x82
jmp 0x1005f688
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 0x100610fb
jmp 0x1005d9c6
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005f6bd
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f6b9
cmp dword [eax], 0
jne 0x1005f6b9
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f6e7
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005f6d7
sub eax, 1
jne 0x1005f6e7
shl esi, 0x10
jmp 0x1005f6e7
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 0x1005f704
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f700
cmp dword [eax], 0
jne 0x1005f700
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f72e
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005f71e
sub eax, 1
jne 0x1005f72e
shl edx, 0x10
jmp 0x1005f72e
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 0x1005f755
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f765
cmp dword [eax], 0
jne 0x1005f765
mov dword [eax], 0x82
jmp 0x1005f765
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 0x100610fb
jmp 0x1005d9c6
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f79e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f79a
cmp dword [eax], 0
jne 0x1005f79a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f7c2
cmp dword [eax - 4], 2
je 0x1005f7ba
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f7b6
cmp dword [eax], 0
jne 0x1005f7b6
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005f7c2
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 0x1005c9d0
test edx, edx
jns 0x1005f7e1
lea ecx, [eax - 1]
jmp 0x1005f809
cmp edx, eax
jb 0x1005f804
xor ecx, ecx
mov eax, dword [esi + ecx*8 + 4]
mov edx, dword [esi + ecx*8]
sub eax, 1
je 0x1005f826
sub eax, 1
jne 0x1005f688
shl edx, 0x10
jmp 0x1005f688
mov ecx, eax
sub ecx, edx
dec ecx
cmp ecx, eax
jb 0x1005f7e7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f81f
cmp dword [eax], 0
jne 0x1005f81f
mov dword [eax], 0x82
xor edx, edx
jmp 0x1005f688
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
jmp 0x1005f688
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f858
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f854
cmp dword [eax], 0
jne 0x1005f854
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f87c
cmp dword [eax - 4], 2
je 0x1005f874
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f870
cmp dword [eax], 0
jne 0x1005f870
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005f87c
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005f8ae
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f895
cmp dword [eax], 0
jne 0x1005f895
mov dword [eax], 0xa1
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 2
jmp 0x1005c9de
cmp dword [eax - 4], 2
je 0x1005f8df
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f8c6
cmp dword [eax], 0
jne 0x1005f8c6
mov dword [eax], 0xa0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 2
jmp 0x1005c9de
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 0x1005f9b8
sub eax, dword [edi]
sar eax, 3
cmp edx, eax
jbe 0x1005f934
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f9b8
cmp dword [eax], 0
jne 0x1005f9b8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
jmp 0x1005c9de
test ecx, ecx
jns 0x1005f947
neg ecx
mov eax, ecx
mov ecx, dword [esp + 0x38]
cdq
idiv ecx
neg edx
jmp 0x1005f950
mov eax, ecx
mov ecx, dword [esp + 0x38]
cdq
idiv ecx
mov dword [esp + 0x44], edx
test edx, edx
je 0x1005f9b8
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 0x1005f998
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 0x1005f9c9
sub esi, ebx
sub edi, eax
jmp 0x1005f9d1
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 0x1005c9de
test esi, esi
jns 0x1005f9d1
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 0x1005f971
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 0x1005c9de
test al, al
je case.0x1005d6fe.0
cmp byte [esp + 0x33], 0
je case.0x1005d6fe.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005fa59
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fa55
cmp dword [eax], 0
jne 0x1005fa55
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005fa87
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 0x1005fa77
sub eax, 1
jne 0x1005fa8b
shl esi, 0x10
jmp 0x1005fa87
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 0x1005faaf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005faab
cmp dword [eax], 0
jne 0x1005faab
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005fadd
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 0x1005facd
sub eax, 1
jne 0x1005fae1
shl ebp, 0x10
jmp 0x1005fadd
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 0x1005c9de
mov eax, dword [esp + 0x40]
cmp byte [eax + 8], 0
je case.0x1005cafc.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005fb2f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fb2b
cmp dword [eax], 0
jne 0x1005fb2b
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005fb59
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005fb49
sub eax, 1
jne 0x1005fb59
shl ecx, 0x10
jmp 0x1005fb59
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 0x1005fb89
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fb85
cmp dword [eax], 0
jne 0x1005fb85
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005fbb3
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005fba3
sub eax, 1
jne 0x1005fbb3
shl ecx, 0x10
jmp 0x1005fbb3
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 0x100613bb
cmp byte [esp + 0x33], 0
mov edx, dword [esp + 0x10]
je case.0x1005d6fe.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 0x1005c9de
mov edi, dword [esp + 0x40]
cmp byte [edi + 8], 0
je 0x10061569
test ah, ah
jne 0x10061569
cmp byte [esp + 0x2ec8], ah
je 0x1005fc83
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005b880
cmp byte [esp + 0x2f18], 0
je 0x1005fc6b
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.1005b2f0
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 0x1005fcbe
cmp byte [eax + 5], 0
je 0x1005fce2
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005a960
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 0x1005fda2
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 0x1005fd88
test ebx, ebx
je 0x1005fd86
cmp dword [ebx], 0
jne 0x1005fd86
mov dword [ebx], 0x82
xor ebp, ebp
imul ebp, edx
dec ecx
add ebp, esi
mov dword [esp + 0x10], ebp
test ecx, ecx
jg 0x1005fd70
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 0x1005c9de
mov eax, dword [ebx + 0xc]
sub eax, dword [edi]
sar eax, 3
cmp eax, 1
jbe 0x1005fdd9
cmp byte [esp + 0x104], 0
jne case.0x1005cafc.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.1005bd00
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x100613bb
cmp byte [esp + 0x28], 0x13
jne 0x1005fe3c
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0x100]
add eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x10]
push eax
call fcn.1005bc80
mov eax, dword [edi]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005c9de
push 0xf1c
lea eax, [esp + 0x2f44]
push 0
push eax
call fcn.1019b040
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.1005bc80
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.1005a960
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005c9de
mov eax, dword [ebx + 0xc]
mov edx, dword [edi]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x1005ff5e
cmp byte [esp + 0x27], 0
jne 0x1005ff5e
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005ff3f
sub eax, 1
jne 0x1005ff4f
shl ecx, 0x10
jmp 0x1005ff4f
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 0x100613bb
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005ffa1
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ff8d
cmp dword [eax], 0
jne 0x1005ff8d
mov dword [eax], 0xa1
xor ecx, ecx
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x10060046
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005ffc8
sub eax, 1
jne 0x1005ffd8
shl ecx, 0x10
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x10060046
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 0x10060046
mov eax, dword [ebx + 0xc]
mov edx, dword [edi]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x10060030
cmp byte [esp + 0x27], 0
jne 0x10060030
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10060011
sub eax, 1
jne 0x10060021
shl ecx, 0x10
jmp 0x10060021
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 0x100613bb
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x10060063
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006005f
cmp dword [eax], 0
jne 0x1006005f
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1006008d
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1006007d
sub eax, 1
jne 0x1006008d
shl ecx, 0x10
jmp 0x1006008d
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 0x100601a0
cmp byte [esp + 0x2ec8], 0
je 0x10060124
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005b880
cmp byte [esp + 0x2f18], 0
je 0x1006010c
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.1005b2f0
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 0x1006015f
cmp byte [eax + 5], 0
je 0x10060183
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005a960
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 0x1005c9de
mov ebp, dword [ebx + 0xc]
xor esi, esi
sub ebp, dword [edi]
sar ebp, 3
mov dword [esp + 0x44], ebp
cmp ebp, 6
jbe 0x100602b1
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 0x100601f8
mov eax, dword [ebx + 4]
test eax, eax
je 0x100601f4
cmp dword [eax], 0
jne 0x100601f4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006021e
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1006020e
sub eax, 1
jne 0x1006021e
shl ecx, 0x10
jmp 0x1006021e
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 0x10060256
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060252
cmp dword [eax], 0
jne 0x10060252
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006027d
mov eax, dword [edx + esi*8 + 0xc]
mov ecx, dword [edx + esi*8 + 8]
sub eax, 1
je 0x1006026d
sub eax, 1
jne 0x1006027d
shl ecx, 0x10
jmp 0x1006027d
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.1005b880
add edi, 2
add esi, 2
cmp edi, ebp
jb 0x100601d0
mov edi, dword [esp + 0x1c]
cmp esi, ebp
mov ebp, dword [esp + 0x20]
jae 0x100609d2
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 0x100602e7
mov eax, dword [ebx + 4]
test eax, eax
je 0x100602e3
cmp dword [eax], 0
jne 0x100602e3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006030e
mov eax, dword [edx + esi*8 - 0xc]
mov ecx, dword [edx + esi*8 - 0x10]
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 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 0x1006033b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060337
cmp dword [eax], 0
jne 0x10060337
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060362
mov eax, dword [edx + esi*8 - 4]
mov ecx, dword [edx + esi*8 - 8]
sub eax, 1
je 0x10060352
sub eax, 1
jne 0x10060362
shl ecx, 0x10
jmp 0x10060362
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 0x10060394
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060390
cmp dword [eax], 0
jne 0x10060390
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100603ba
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x100603aa
sub eax, 1
jne 0x100603ba
shl ecx, 0x10
jmp 0x100603ba
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 0x100603e3
mov eax, dword [ebx + 4]
test eax, eax
je 0x100603df
cmp dword [eax], 0
jne 0x100603df
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006040a
mov eax, dword [edx + esi*8 + 0xc]
mov ecx, dword [edx + esi*8 + 8]
sub eax, 1
je 0x100603fa
sub eax, 1
jne 0x1006040a
shl ecx, 0x10
jmp 0x1006040a
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 0x10060437
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060433
cmp dword [eax], 0
jne 0x10060433
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006045e
mov eax, dword [edx + esi*8 + 0x14]
mov ecx, dword [edx + esi*8 + 0x10]
sub eax, 1
je 0x1006044e
sub eax, 1
jne 0x1006045e
shl ecx, 0x10
jmp 0x1006045e
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 0x10060490
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006048c
cmp dword [eax], 0
jne 0x1006048c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100604b7
mov eax, dword [edx + esi*8 + 0x1c]
mov ecx, dword [edx + esi*8 + 0x18]
sub eax, 1
je 0x100604a7
sub eax, 1
jne 0x100604b7
shl ecx, 0x10
jmp 0x100604b7
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.1005ba00
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 0x100602c0
jmp 0x100609ce
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 0x100609d2
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 0x100605a6
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1006056f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006056b
cmp dword [eax], 0
jne 0x1006056b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060595
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10060585
sub eax, 1
jne 0x10060595
shl ecx, 0x10
jmp 0x10060595
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 0x100605ce
mov eax, dword [ebx + 4]
test eax, eax
je 0x100605ca
cmp dword [eax], 0
jne 0x100605ca
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100605f4
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x100605e4
sub eax, 1
jne 0x100605f4
shl ecx, 0x10
jmp 0x100605f4
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 0x10060622
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006061e
cmp dword [eax], 0
jne 0x1006061e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060648
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060638
sub eax, 1
jne 0x10060648
shl ecx, 0x10
jmp 0x10060648
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 0x1006067b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060677
cmp dword [eax], 0
jne 0x10060677
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100606a1
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060691
sub eax, 1
jne 0x100606a1
shl ecx, 0x10
jmp 0x100606a1
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 0x100606ce
mov eax, dword [ebx + 4]
test eax, eax
je 0x100606ca
cmp dword [eax], 0
jne 0x100606ca
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060703
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100606ec
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x10060703
shl ecx, 0x10
jmp 0x10060703
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.1005ba00
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 0x10060540
jmp 0x100609ce
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 0x100609d2
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 0x10060802
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x100607c5
mov eax, dword [ebx + 4]
test eax, eax
je 0x100607c1
cmp dword [eax], 0
jne 0x100607c1
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100607eb
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x100607db
sub eax, 1
jne 0x100607eb
shl ecx, 0x10
jmp 0x100607eb
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 0x10060806
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 0x1006082e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006082a
cmp dword [eax], 0
jne 0x1006082a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060854
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10060844
sub eax, 1
jne 0x10060854
shl ecx, 0x10
jmp 0x10060854
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 0x10060882
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006087e
cmp dword [eax], 0
jne 0x1006087e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100608a8
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060898
sub eax, 1
jne 0x100608a8
shl ecx, 0x10
jmp 0x100608a8
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 0x100608d5
mov eax, dword [ebx + 4]
test eax, eax
je 0x100608d1
cmp dword [eax], 0
jne 0x100608d1
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1006090a
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x100608f3
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x1006090a
shl ecx, 0x10
jmp 0x1006090a
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 0x1006093b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060937
cmp dword [eax], 0
jne 0x10060937
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060970
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060959
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x10060970
shl ecx, 0x10
jmp 0x10060970
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.1005ba00
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 0x10060796
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 0x1005c9de
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 0x10060e88
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 0x10060c47
cmp edi, eax
jb 0x10060a63
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060a5f
cmp dword [eax], 0
jne 0x10060a5f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060a89
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10060a79
sub eax, 1
jne 0x10060a89
shl ecx, 0x10
jmp 0x10060a89
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 0x10060abf
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060abb
cmp dword [eax], 0
jne 0x10060abb
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060ae5
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x10060ad5
sub eax, 1
jne 0x10060ae5
shl ecx, 0x10
jmp 0x10060ae5
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 0x10060b14
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060b10
cmp dword [eax], 0
jne 0x10060b10
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060b3a
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060b2a
sub eax, 1
jne 0x10060b3a
shl ecx, 0x10
jmp 0x10060b3a
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 0x10060b6a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060b66
cmp dword [eax], 0
jne 0x10060b66
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060b9f
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060b88
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x10060b9f
shl ecx, 0x10
jmp 0x10060b9f
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 0x10060c38
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 0x10060bdf
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060bdb
cmp dword [eax], 0
jne 0x10060bdb
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060c14
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060bfd
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x10060c14
shl ecx, 0x10
jmp 0x10060c14
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 0x10060e2e
xor al, al
mov dword [esp + 0x20], esi
mov byte [esp + 0x3f], al
jmp 0x10060e2e
mov edx, dword [esp + 0x20]
mov dword [esp + 0x4c], edx
cmp edi, eax
jb 0x10060c69
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060c65
cmp dword [eax], 0
jne 0x10060c65
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060c8f
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10060c7f
sub eax, 1
jne 0x10060c8f
shl ecx, 0x10
jmp 0x10060c8f
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 0x10060cbe
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060cba
cmp dword [eax], 0
jne 0x10060cba
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060ce4
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x10060cd4
sub eax, 1
jne 0x10060ce4
shl ecx, 0x10
jmp 0x10060ce4
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 0x10060d13
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060d0f
cmp dword [eax], 0
jne 0x10060d0f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060d39
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x10060d29
sub eax, 1
jne 0x10060d39
shl ecx, 0x10
jmp 0x10060d39
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 0x10060d69
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060d65
cmp dword [eax], 0
jne 0x10060d65
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060d9e
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060d87
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x10060d9e
shl ecx, 0x10
jmp 0x10060d9e
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 0x10060e25
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 0x10060dda
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060dd6
cmp dword [eax], 0
jne 0x10060dd6
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060e0f
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x10060df8
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x10060e0f
shl ecx, 0x10
jmp 0x10060e0f
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 0x10060e29
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.1005ba00
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 0x10060a30
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 0x1005c9de
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10060eb5
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edx, cl
jmp 0x10060ec8
mov eax, dword [esi]
test eax, eax
je 0x10060ec6
cmp dword [eax], 0
jne 0x10060ec6
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10060ee6
mov cl, byte [eax]
inc eax
shl edx, 8
mov dword [esi + 0xc], eax
movzx eax, cl
movsx edx, dx
or edx, eax
jmp 0x1005d9b3
mov eax, dword [esi]
test eax, eax
je 0x10060ef7
cmp dword [eax], 0
jne 0x10060ef7
mov dword [eax], 0x55
shl edx, 8
xor eax, eax
movsx edx, dx
or edx, eax
jmp 0x1005d9b3
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 0x1005c9de
cmp byte [esp + 0x28], 0xf6
ja 0x10060f4c
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 0x10060fdc
jmp 0x1005d9c6
cmp byte [esp + 0x28], 0xfa
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
ja 0x10060f94
shl edx, 8
cmp eax, ecx
jae 0x10060f77
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx eax, cl
lea esi, [eax - 0xf694]
add esi, edx
jmp 0x10060f34
mov eax, dword [esi]
test eax, eax
je 0x10060f88
cmp dword [eax], 0
jne 0x10060f88
mov dword [eax], 0x55
xor eax, eax
lea esi, [eax - 0xf694]
add esi, edx
jmp 0x10060f34
cmp byte [esp + 0x28], 0xfe
ja 0x10060ffd
shl edx, 8
cmp eax, ecx
jae 0x10060fad
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx eax, cl
jmp 0x10060fc0
mov eax, dword [esi]
test eax, eax
je 0x10060fbe
cmp dword [eax], 0
jne 0x10060fbe
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 0x1005d9c6
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 0x1005c9de
cmp eax, ecx
jae 0x1006100c
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edx, cl
jmp 0x1006101f
mov eax, dword [esi]
test eax, eax
je 0x1006101d
cmp dword [eax], 0
jne 0x1006101d
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10061032
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edi, cl
jmp 0x10061045
mov eax, dword [esi]
test eax, eax
je 0x10061043
cmp dword [eax], 0
jne 0x10061043
mov dword [eax], 0x55
xor edi, edi
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x10061058
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx esi, cl
jmp 0x1006106b
mov eax, dword [esi]
test eax, eax
je 0x10061069
cmp dword [eax], 0
jne 0x10061069
mov dword [eax], 0x55
xor esi, esi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x1006108a
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 0x1006109d
mov eax, dword [ecx]
test eax, eax
je 0x1006109b
cmp dword [eax], 0
jne 0x1006109b
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 0x100610e4
cmp edx, 0x7d00
jg 0x100610c6
cmp edx, 0xffff8300
jge 0x100610db
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 0x1005d9b3
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 0x1005d9c6
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 0x1005c9de
cmp dword [eax - 4], 2
je 0x10061138
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061134
cmp dword [eax], 0
jne 0x10061134
mov dword [eax], 0xa0
xor edx, edx
jmp 0x10061140
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 0x10061162
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006115e
cmp dword [eax], 0
jne 0x1006115e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10061186
cmp dword [eax - 4], 2
je 0x1006117e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006117a
cmp dword [eax], 0
jne 0x1006117a
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x10061186
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 0x100611a8
mov eax, dword [ebx + 4]
test eax, eax
je 0x100611a4
cmp dword [eax], 0
jne 0x100611a4
mov dword [eax], 0xa1
xor edi, edi
jmp 0x100611d2
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x100611c2
sub eax, 1
jne 0x100611d2
shl edi, 0x10
jmp 0x100611d2
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 0x100611f0
mov eax, dword [ebx + 4]
test eax, eax
je 0x100611ec
cmp dword [eax], 0
jne 0x100611ec
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1006121a
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1006120a
sub eax, 1
jne 0x1006121a
shl esi, 0x10
jmp 0x1006121a
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 0x10061238
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061234
cmp dword [eax], 0
jne 0x10061234
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10061262
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10061252
sub eax, 1
jne 0x10061262
shl ebp, 0x10
jmp 0x10061262
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp byte [esp + 0x3f20], 0
je 0x10061276
mov eax, 0x12
jmp 0x10061897
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x2f], 0
je 0x1006128a
mov eax, 0x12
jmp 0x10061897
cmp dword [eax + 0x244], 0
jne 0x100612b1
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x80]
cmp dword [eax + 0x34], 0
jne 0x100612ad
mov eax, 0x12
jmp 0x10061897
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 0x100612e8
mov edx, ecx
mov ecx, dword [esp + 0x2c]
call fcn.10058490
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x58], eax
call fcn.10058490
mov edx, eax
mov dword [esp + 0x38], edx
cmp dword [esp + 0x58], 0
jl 0x1006126c
test edx, edx
js 0x1006126c
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x2e], 0
je 0x100613c4
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.100483d0
test eax, eax
jne 0x10061897
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 0x10061897
mov ecx, dword [eax + 0xc]
call fcn.10048520
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x3e60]
mov ecx, dword [esp + 0x2c]
push eax
call fcn.1005a380
test eax, eax
jne 0x10061897
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.1005c420
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 0x1006147d
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 0x100614a4
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.1005a380
test eax, eax
jne 0x10061897
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.1005c420
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 0x10061540
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 0x10061897
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
je 0x1006157e
cmp eax, 5
jne 0x100615d2
cmp byte [esp + 0x27], 0
jne 0x100615d2
test eax, eax
jne 0x1006159f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006159b
cmp dword [eax], 0
jne 0x1006159b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100615c3
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100615b3
sub eax, 1
jne 0x100615c3
shl ecx, 0x10
jmp 0x100615c3
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 0x100613bb
cmp byte [esp + 0x2ec8], 0
je 0x10061664
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005b880
cmp byte [esp + 0x2f18], 0
je 0x10061644
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.1005b2f0
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 0x100613bb
cmp byte [edi + 8], 0
jne 0x100613bb
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x100613bb
cmp byte [esp + 0x3f20], 0
je 0x100616a2
mov eax, 0x12
jmp 0x10061897
cmp ecx, edx
jne 0x100616bc
mov eax, dword [ebx + 4]
test eax, eax
je 0x100616b8
cmp dword [eax], 0
jne 0x100616b8
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100616e0
cmp dword [ecx - 4], 2
je 0x100616d8
mov eax, dword [ebx + 4]
test eax, eax
je 0x100616d4
cmp dword [eax], 0
jne 0x100616d4
mov dword [eax], 0xa0
xor edx, edx
jmp 0x100616e0
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x100616fe
mov eax, dword [ebx + 4]
test eax, eax
je 0x100616fa
cmp dword [eax], 0
jne 0x100616fa
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10061722
cmp dword [eax - 4], 2
je 0x1006171a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061716
cmp dword [eax], 0
jne 0x10061716
mov dword [eax], 0xa0
xor ebp, ebp
jmp 0x10061722
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x10061740
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006173c
cmp dword [eax], 0
jne 0x1006173c
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1006176a
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1006175a
sub eax, 1
jne 0x1006176a
shl edi, 0x10
jmp 0x1006176a
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 0x10061788
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061784
cmp dword [eax], 0
jne 0x10061784
mov dword [eax], 0xa1
xor esi, esi
jmp 0x100617b2
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x100617a2
sub eax, 1
jne 0x100617b2
shl esi, 0x10
jmp 0x100617b2
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.1005a2c0
test eax, eax
jne 0x10061897
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.1005c420
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.1005a2c0
test eax, eax
jne 0x10061897
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.1005c420
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 0x10061897
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 0x100618a6
cmp dword [ecx], 0
jne 0x100618a6
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 0x100618e0
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 0x10061925
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 0x1006196a
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 0x1006198d
mov edx, eax
mov eax, dword [esp + 0xe0]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
test ebx, ebx
je 0x100619b1
mov edx, dword [ebx + 8]
mov edi, dword [ebx]
test edx, edx
je 0x100619a1
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.10199294
add esp, 0x3f04
ret 0x18