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

Disassembly:
mov eax, 0x3f04
call fcn.1018e900
mov eax, dword [0x101f80c0]
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.1018f850
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.1018f850
mov eax, dword [esp + 0x8c]
add esp, 0xc
mov dword [esp + 0x138], esi
movaps xmm0, xmmword [0x101ea780]
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.1018f850
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.1018f850
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.1018f850
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 0x1005b4c9
test esi, esi
jmp 0x1005b4cd
mov esi, ebx
test ebx, ebx
jns 0x1005b4d1
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 0x1005b540
mov eax, dword [ecx + 0x214]
mov esi, dword [eax + 0x614]
jmp 0x1005b545
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 0x10060562
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 0x10060552
je 0x1005b687
cmp esi, 0xfffffff
jg 0x10060552
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 0x1005b5e3
mov edx, dword [esp + 0x74]
test edx, edx
jle 0x1005b5e3
lea eax, [edx*8]
push eax
push 0
push esi
call fcn.1018f850
lea edi, [ebx + 8]
add esp, 0xc
mov dword [edi], esi
mov eax, esi
mov dword [esp + 0x1c], edi
jmp 0x1005b5f8
mov dword [ebx + 8], eax
lea edx, [ebx + 8]
mov dword [esp + 0x1c], edx
test ecx, ecx
jne 0x10060559
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.10057ac0
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 0x1006008b
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 0x1005b6ae
lea edi, [ebx + 8]
xor eax, eax
mov dword [esp + 0x1c], edi
mov dword [edi], eax
jmp 0x1005b5fc
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
jmp 0x1005b6ae
mov edi, dword [esp + 0x1c]
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 8]
jb 0x1005b6cb
test ecx, ecx
mov edx, 0xb
mov eax, 0xe
cmove edx, eax
mov dword [esp + 0x28], edx
jmp 0x1005b6fa
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
mov dl, cl
mov dword [esp + 0x28], edx
cmp cl, 0xb
je 0x1005b6e1
cmp cl, 0xe
jne 0x1005b6f6
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 0x1005b7a4
test ah, ah
jne 0x1005b747
cmp dl, 1
je 0x1005b747
cmp dl, 3
je 0x1005b747
cmp dl, 0xd
je 0x1005b747
cmp dl, 0xa
je 0x1005b747
cmp dl, 0xb
je 0x1005b747
cmp dl, 0xc
je 0x1005b747
cmp dl, 0xe
je 0x1005b747
cmp dl, 0x20
jae 0x1005b747
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov dword [ebx + 0xc], eax
jmp 0x1005b6ae
cmp dword [esp + 0x5c], 0
mov edi, dword [esp + 0x1c]
jle 0x1005b77d
cmp dl, 0xa
je 0x1005b77d
cmp dl, 0xb
je 0x1005b77d
cmp dl, 0xc
je 0x1005b77d
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 0x1005b7a4
cmp dl, 0x20
jae 0x1005b7a4
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 0x1006008b
sub dword [esp + 0x7c], 1
je 0x1005ff3c
movzx edx, dl
cmp edx, 0x1f
ja case.default.0x1005b7cc
jmp dword [edx*4 + 0x1006069c]
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1005b7cc.0
cmp byte [edx + 0x5d], 0
jne 0x1005ff3c
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005b813
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005b800
cmp dword [eax], 0
jne 0x1005b800
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 0x1005b6ae
cmp dword [eax - 4], 2
je 0x1005b83e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005b82b
cmp dword [eax], 0
jne 0x1005b82b
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 0x1005b6ae
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js case.0x1005b7cc.0
mov dword [edx + 0x78], eax
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov dword [ebx + 0xc], eax
jmp 0x1005b6ae
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1005b7cc.0
cmp dword [edx + 0x60], 0
je 0x1005ff3c
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 0x1005b8b8
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 0x1006008b
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005b8d5
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1005b8d1
cmp dword [ecx], 0
jne 0x1005b8d1
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x1005b8f9
cmp dword [eax - 4], 2
je 0x1005b8f1
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005b8ed
cmp dword [eax], 0
jne 0x1005b8ed
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1005b8f9
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x74]
ja 0x1005ff3c
push eax
mov edx, ebx
mov ecx, esi
call fcn.1005af00
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 0x1005b6ae
test al, al
jne 0x1005b93b
cmp byte [esp + 0x104], al
jne case.0x1005b7cc.0
xor eax, eax
jmp 0x1005b945
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.1005a9d0
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x1006008b
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005b6ae
test al, al
jne 0x1005b9a7
cmp byte [esp + 0x104], al
jne case.0x1005b7cc.0
xor eax, eax
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0xa8]
jmp 0x1005b952
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 0x1005b952
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x1005ba08
cmp byte [esp + 0x27], 0
jne 0x1005ba08
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005b9e9
sub eax, 1
jne 0x1005b9f9
shl ecx, 0x10
jmp 0x1005b9f9
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 0x1006008b
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005ba4b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ba37
cmp dword [eax], 0
jne 0x1005ba37
mov dword [eax], 0xa1
xor ecx, ecx
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x1005ed6a
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005ba75
sub eax, 1
jne 0x1005ba85
shl ecx, 0x10
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x1005ed6a
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 0x1005ed6a
mov ebp, dword [ebx + 0xc]
sub ebp, dword [edi]
xor edi, edi
sar ebp, 3
test ebp, ebp
je 0x1005bb8c
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 0x1005badf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005badb
cmp dword [eax], 0
jne 0x1005badb
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
xor esi, esi
jmp 0x1005bb05
mov eax, dword [edx + edi*8 + 4]
mov esi, dword [edx + edi*8]
sub eax, 1
je 0x1005baf5
sub eax, 1
jne 0x1005bb05
shl esi, 0x10
jmp 0x1005bb05
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 0x1005bb38
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005bb34
cmp dword [eax], 0
jne 0x1005bb34
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005bb5f
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1005bb4f
sub eax, 1
jne 0x1005bb5f
shl ecx, 0x10
jmp 0x1005bb5f
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.1005a550
add edi, 2
cmp edi, ebp
jb 0x1005bab0
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 0x1005b6ae
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 0x1005f69e
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1005bbe8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005bbe4
cmp dword [eax], 0
jne 0x1005bbe4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005bc0e
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1005bbfe
sub eax, 1
jne 0x1005bc0e
shl ecx, 0x10
jmp 0x1005bc0e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x18]
test dl, dl
je 0x1005bc21
add ebp, ecx
mov dword [esp + 0x3f24], ebp
jmp 0x1005bc2e
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.1005a550
mov dl, byte [esp + 0x3f]
inc esi
mov eax, dword [esp + 0x1c]
cmp esi, edi
jb 0x1005bbc4
mov dword [esp + 0x20], ebp
jmp 0x1005f69e
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 0x1005beed
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 0x1005bcaf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005bcab
cmp dword [eax], 0
jne 0x1005bcab
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [ecx]
xor ecx, ecx
jmp 0x1005bcd6
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x1005bcc6
sub eax, 1
jne 0x1005bcd6
shl ecx, 0x10
jmp 0x1005bcd6
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 0x1005bd0e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005bd0a
cmp dword [eax], 0
jne 0x1005bd0a
mov ebp, dword [esp + 0x1c]
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [ebp]
xor ecx, ecx
jmp 0x1005bd35
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x1005bd25
sub eax, 1
jne 0x1005bd35
shl ecx, 0x10
jmp 0x1005bd35
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 0x1005bd69
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005bd65
cmp dword [eax], 0
jne 0x1005bd65
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005bd8f
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1005bd7f
sub eax, 1
jne 0x1005bd8f
shl ecx, 0x10
jmp 0x1005bd8f
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 0x1005bdc6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005bdc2
cmp dword [eax], 0
jne 0x1005bdc2
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005bded
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1005bddd
sub eax, 1
jne 0x1005bded
shl ecx, 0x10
jmp 0x1005bded
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 0x1005be1c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005be18
cmp dword [eax], 0
jne 0x1005be18
mov dword [eax], 0x82
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005be43
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x1005be33
sub eax, 1
jne 0x1005be43
shl ecx, 0x10
jmp 0x1005be43
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 0x1005be6f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005be6b
cmp dword [eax], 0
jne 0x1005be6b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005be96
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x1005be86
sub eax, 1
jne 0x1005be96
shl ecx, 0x10
jmp 0x1005be96
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.1005a6d0
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 0x1005bc80
mov edi, dword [esp + 0x1c]
cmp byte [esp + 0x28], 0x18
jne 0x1005bfd9
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov esi, dword [edi]
sub eax, esi
sar eax, 3
cmp ebp, eax
jb 0x1005bf24
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005bf20
cmp dword [eax], 0
jne 0x1005bf20
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1005bf4a
mov eax, dword [esi + ebp*8 + 4]
mov edx, dword [esi + ebp*8]
sub eax, 1
je 0x1005bf3a
sub eax, 1
jne 0x1005bf4a
shl edx, 0x10
jmp 0x1005bf4a
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 0x1005bf7d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005bf79
cmp dword [eax], 0
jne 0x1005bf79
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005bfa3
mov ecx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
sub eax, 1
je 0x1005bf93
sub eax, 1
jne 0x1005bfa3
shl ecx, 0x10
jmp 0x1005bfa3
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.1005a550
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005b6ae
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 0x1005b6ae
test al, al
je case.0x1005b7cc.0
cmp byte [esp + 0x2ec8], 0
je 0x1005c078
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005a550
cmp byte [esp + 0x2f18], 0
je 0x1005c058
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.10059fc0
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 0x1005b6ae
cmp ecx, 0x10
jg 0x1005ff3c
lea eax, [ecx + 1]
cmp eax, dword [esp + 0x98]
jb 0x1005c0bc
mov eax, dword [esp + 0x94]
test eax, eax
je 0x1005c0ba
cmp dword [eax], 0
jne 0x1005c0ba
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 0x1005c0eb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c0e7
cmp dword [eax], 0
jne 0x1005c0e7
mov dword [eax], 0xa1
xor eax, eax
jmp 0x1005c10f
cmp dword [eax - 4], 2
je 0x1005c107
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c103
cmp dword [eax], 0
jne 0x1005c103
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1005c10f
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x40]
cmp byte [ecx + 8], 0
je 0x1005c13c
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x268]
test ecx, ecx
je 0x1005c13c
push eax
call fcn.10047380
mov edx, dword [esp + 0x10]
test eax, eax
je 0x1005c139
mov eax, dword [eax]
jmp 0x1005c13c
or eax, 0xffffffff
cmp byte [esp + 0x28], 0x1d
xorps xmm0, xmm0
mov ecx, dword [esp + 0x2c]
movups xmmword [edx], xmm0
je 0x1005c205
mov ecx, dword [ecx + 0x234]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x22c]
jae 0x1005ff3c
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 0x1005c1d3
mov eax, dword [eax + 0x264]
test eax, eax
je 0x1005c1ab
test ecx, ecx
je 0x1005c1a3
mov eax, dword [eax + edx]
add eax, ecx
mov ecx, dword [esp + 0x10]
jmp 0x1005c1e1
mov ecx, dword [esp + 0x10]
xor eax, eax
jmp 0x1005c1e1
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 0x1005c1d7
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 0x1005b6ae
mov ecx, dword [ecx + 0x238]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x230]
jae 0x1005ff3c
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 0x1005b6ae
cmp ecx, 1
jl 0x1005ff3c
dec ecx
mov eax, ecx
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x98]
jb 0x1005c27c
mov eax, dword [esp + 0x94]
test eax, eax
je 0x1005c27a
cmp dword [eax], 0
jne 0x1005c27a
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 0x1005b6ae
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 8]
jae 0x1005c2a7
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
jmp 0x1005c2ba
mov eax, dword [edx]
test eax, eax
je 0x1005c2b8
cmp dword [eax], 0
jne 0x1005c2b8
mov dword [eax], 0x55
xor cl, cl
movzx eax, cl
add eax, 0xfffffff8
mov byte [esp + 0x3f], cl
cmp eax, 0x1d
ja case.0x1005c2d4.9
movzx eax, byte [eax + 0x10060734]
jmp dword [eax*4 + 0x1006071c]
push 0
push 0x101cc098
jmp 0x1005c341
push 0
push 0x101cbf3c
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f34]
push eax
lea edx, [esp + 0x3f34]
call fcn.1005abf0
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 0x1005b6ae
push 0
push 0x101cc0c4
jmp 0x1005c341
push 1
push 0x101cc25c
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f34]
push eax
lea edx, [esp + 0x3f34]
call fcn.1005abf0
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 0x1005b6ae
mov eax, dword [esp + 0x40]
cmp byte [eax + 9], 0
jne case.0x1005c3ce.0
cmp cl, 0x26
jae case.0x1005c3ce.0
mov al, byte [eax + 8]
test al, al
je 0x1005c3c2
cmp dword [esp + 0x5c], 0
jle 0x1005c3c2
cmp cl, 0x11
je 0x1005c3c2
mov eax, dword [edi]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x5c], 0
mov dword [ebx + 0xc], eax
jmp 0x1005b6ae
movzx ecx, cl
cmp ecx, 0x21
ja case.0x1005c3ce.0
jmp dword [ecx*4 + 0x10060754]
test al, al
je case.0x1005c3ce.0
mov eax, dword [ebx + 0xc]
mov ecx, dword [edi]
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x1005c401
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c3fd
cmp dword [eax], 0
jne 0x1005c3fd
mov dword [eax], 0x82
xor esi, esi
jmp 0x1005c425
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005c415
sub eax, 1
jne 0x1005c425
shl esi, 0x10
jmp 0x1005c425
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 0x1005c44a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c446
cmp dword [eax], 0
jne 0x1005c446
mov dword [eax], 0x82
xor edi, edi
jmp 0x1005c46f
mov eax, dword [ecx + 0x14]
mov edi, dword [ecx + 0x10]
sub eax, 1
je 0x1005c45f
sub eax, 1
jne 0x1005c46f
shl edi, 0x10
jmp 0x1005c46f
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 0x1005c499
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c495
cmp dword [eax], 0
jne 0x1005c495
mov dword [eax], 0x82
xor edx, edx
jmp 0x1005c4be
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x20]
sub eax, 1
je 0x1005c4ae
sub eax, 1
jne 0x1005c4be
shl edx, 0x10
jmp 0x1005c4be
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 0x1005c4e4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c4e0
cmp dword [eax], 0
jne 0x1005c4e0
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005c509
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub eax, 1
je 0x1005c4f9
sub eax, 1
jne 0x1005c509
shl ecx, 0x10
jmp 0x1005c509
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 0x1005c530
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c546
cmp dword [eax], 0
jne 0x1005c546
mov dword [eax], 0x82
jmp 0x1005c546
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 0x1005c56f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c56b
cmp dword [eax], 0
jne 0x1005c56b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005c594
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
sub eax, 1
je 0x1005c584
sub eax, 1
jne 0x1005c594
shl ecx, 0x10
jmp 0x1005c594
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 0x1005c5bb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c5cf
cmp dword [eax], 0
jne 0x1005c5cf
mov dword [eax], 0x82
jmp 0x1005c5cf
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 0x1005c5e1
mov eax, dword [eax]
jmp 0x1005c5e4
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.1005a9d0
cmp byte [ebp + 0x224], 0
jne 0x1006008b
mov ebp, dword [esp + 0x20]
jmp 0x1005ee68
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005c63e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c63a
cmp dword [eax], 0
jne 0x1005c63a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005c668
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005c658
sub eax, 1
jne 0x1005c668
shl edx, 0x10
jmp 0x1005c668
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 0x1005c6c5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c681
cmp dword [eax], 0
jne 0x1005c681
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 0x1005fbd6
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005b6ae
cmp dword [eax], 0
jne 0x1005b6ae
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005b6ae
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005c6df
sub eax, 1
jne 0x1005c6ef
shl ecx, 0x10
jmp 0x1005c6ef
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
je 0x1005c681
test edx, edx
je 0x1005c681
mov edx, 1
jmp 0x1005c683
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005c71b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c717
cmp dword [eax], 0
jne 0x1005c717
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005c745
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005c735
sub eax, 1
jne 0x1005c745
shl edx, 0x10
jmp 0x1005c745
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 0x1005c760
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c792
cmp dword [eax], 0
jne 0x1005c792
mov dword [eax], 0xa1
jmp 0x1005c792
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005c77a
sub eax, 1
jne 0x1005c78a
shl ecx, 0x10
jmp 0x1005c78a
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test ecx, ecx
jne 0x1005c6f7
test edx, edx
jne 0x1005c6f7
jmp 0x1005c681
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005c7bc
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c7b8
cmp dword [eax], 0
jne 0x1005c7b8
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005c7e6
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005c7d6
sub eax, 1
jne 0x1005c7e6
shl edx, 0x10
jmp 0x1005c7e6
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 0x1005c696
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 0x1005b6ae
test al, al
je case.0x1005c3ce.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 0x1005fdec
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c852
cmp dword [eax], 0
jne 0x1005c852
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005fe10
test al, al
je case.0x1005c3ce.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005c87e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c87a
cmp dword [eax], 0
jne 0x1005c87a
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005c8a8
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005c898
sub eax, 1
jne 0x1005c8a8
shl ecx, 0x10
jmp 0x1005c8a8
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 0x1005c8cf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c8cb
cmp dword [eax], 0
jne 0x1005c8cb
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005c8f9
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005c8e9
sub eax, 1
jne 0x1005c8f9
shl ecx, 0x10
jmp 0x1005c8f9
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 0x1005c91b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c917
cmp dword [eax], 0
jne 0x1005c917
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005c945
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005c935
sub eax, 1
jne 0x1005c945
shl edx, 0x10
jmp 0x1005c945
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 0x1005c962
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c95e
cmp dword [eax], 0
jne 0x1005c95e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005c98c
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005c97c
sub eax, 1
jne 0x1005c98c
shl ecx, 0x10
jmp 0x1005c98c
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 0x1006008b
cmp byte [esp + 0x33], 0
mov esi, dword [esp + 0x18]
je 0x1005ee70
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 0x1005b6ae
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005ca60
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c9fe
cmp dword [eax], 0
jne 0x1005c9fe
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 0x1005ce13
mov esi, dword [esp + 0x18]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005b6ae
cmp dword [eax], 0
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
jne 0x1005b6ae
mov dword [eax], 0x82
jmp 0x1005b6ae
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005ca7a
sub eax, 1
jne 0x1005ca8a
shl ecx, 0x10
jmp 0x1005ca8a
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 0x1005ca09
lea eax, [edi*8]
mov edi, dword [esp + 0x1c]
add eax, ebp
mov ebp, dword [esp + 0x20]
cmp esi, eax
jne 0x1005cadb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e68c
cmp dword [eax], 0
jne 0x1005e68c
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1005b6ae
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 0x1005b6ae
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005cb19
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cb15
cmp dword [eax], 0
jne 0x1005cb15
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005cb43
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005cb33
sub eax, 1
jne 0x1005cb43
shl esi, 0x10
jmp 0x1005cb43
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 0x1005cb60
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cb5c
cmp dword [eax], 0
jne 0x1005cb5c
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005cb8a
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005cb7a
sub eax, 1
jne 0x1005cb8a
shl edx, 0x10
jmp 0x1005cb8a
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 0x1005cbcc
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 0x1005b6ae
cmp dword [eax], 0
jne 0x1005b6ae
mov dword [eax], 0x82
jmp 0x1005b6ae
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 0x1005b6ae
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005cc11
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cc0d
cmp dword [eax], 0
jne 0x1005cc0d
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005cc3b
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005cc2b
sub eax, 1
jne 0x1005cc3b
shl esi, 0x10
jmp 0x1005cc3b
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 0x1005cc58
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cc54
cmp dword [eax], 0
jne 0x1005cc54
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005cc82
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005cc72
sub eax, 1
jne 0x1005cc82
shl edx, 0x10
jmp 0x1005cc82
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 0x1005cb9d
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 0x1005b6ae
test al, al
je 0x1005cd6d
cmp byte [esp + 0x58], 0
je 0x1005cd6d
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005ccf0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ccec
cmp dword [eax], 0
jne 0x1005ccec
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005cd14
cmp dword [eax - 4], 2
je 0x1005cd0c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cd08
cmp dword [eax], 0
jne 0x1005cd08
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005cd14
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005cd38
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cd2d
cmp dword [eax], 0
jne 0x1005cd2d
mov dword [eax], 0xa1
xor ecx, ecx
mov byte [esp + 0x58], cl
jmp 0x1005cdfb
cmp dword [eax - 4], 2
je 0x1005cd5b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cd50
cmp dword [eax], 0
jne 0x1005cd50
mov dword [eax], 0xa0
xor ecx, ecx
mov byte [esp + 0x58], cl
jmp 0x1005cdfb
add eax, 0xfffffff8
mov byte [esp + 0x58], 0
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
jmp 0x1005cdfb
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005cd8a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cd86
cmp dword [eax], 0
jne 0x1005cd86
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005cdb4
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005cda4
sub eax, 1
jne 0x1005cdb4
shl edx, 0x10
jmp 0x1005cdb4
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 0x1005cdd1
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cdcd
cmp dword [eax], 0
jne 0x1005cdcd
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005cdfb
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005cdeb
sub eax, 1
jne 0x1005cdfb
shl ecx, 0x10
jmp 0x1005cdfb
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.100464b0
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
je 0x1005c696
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 0x1005b6ae
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005ce86
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ce4d
cmp dword [eax], 0
jne 0x1005ce4d
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 0x1005c696
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 0x1005b6ae
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005cea0
sub eax, 1
jne 0x1005ceb0
shl ecx, 0x10
jmp 0x1005ceb0
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 0x1005ce58
lea eax, [esi + eax*8]
cmp edx, eax
jne 0x1005cef3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e688
cmp dword [eax], 0
jne 0x1005e688
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005b6ae
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 0x1005b6ae
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005cf35
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cf31
cmp dword [eax], 0
jne 0x1005cf31
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005cf5f
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005cf4f
sub eax, 1
jne 0x1005cf5f
shl esi, 0x10
jmp 0x1005cf5f
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 0x1005cf7c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cf78
cmp dword [eax], 0
jne 0x1005cf78
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005cfa6
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005cf96
sub eax, 1
jne 0x1005cfa6
shl edx, 0x10
jmp 0x1005cfa6
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 0x1005cb9d
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 0x1005b6ae
mov ecx, dword [esp + 0x14]
test al, al
je 0x1005b6ae
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005d012
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d00e
cmp dword [eax], 0
jne 0x1005d00e
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005d036
cmp dword [eax - 4], 2
je 0x1005d02e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d02a
cmp dword [eax], 0
jne 0x1005d02a
mov dword [eax], 0xa0
xor esi, esi
jmp 0x1005d036
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005d053
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d04f
cmp dword [eax], 0
jne 0x1005d04f
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005d077
cmp dword [eax - 4], 2
je 0x1005d06f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d06b
cmp dword [eax], 0
jne 0x1005d06b
mov dword [eax], 0xa0
xor edi, edi
jmp 0x1005d077
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.0x1005d0ab.4
movzx eax, byte [esi + 0x1006081c]
jmp dword [eax*4 + 0x100607dc]
cmp edi, 3
jne 0x1005ff3c
cmp byte [esp + 0x33], 0
je 0x1005d0e0
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x1d4], 0
je 0x1005ff3c
cmp dword [eax + 0x1d8], 7
jne 0x1005ff3c
mov eax, dword [ebx + 0x10]
mov ebp, dword [esp + 0x20]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1005d102
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d112
cmp dword [eax], 0
jne 0x1005d112
mov dword [eax], 0x82
jmp 0x1005d112
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 0x1005d150
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d160
cmp dword [eax], 0
jne 0x1005d160
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov dword [esp + 0x54], 2
jmp 0x1005b6ae
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 0x1005b6ae
test edi, edi
jne 0x1005ff3c
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 0x1005b6ae
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 0x1005d1cb
push 0
mov edx, 6
mov ecx, esi
call fcn.10046b80
test eax, eax
jne 0x1006008b
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 0x1005b6ae
test edi, edi
jne 0x1005ff3c
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 0x1005b6ae
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 0x1d4], 0
je 0x1005ff3c
mov esi, dword [ecx + 0x1d8]
lea eax, [esi + 1]
mov dword [ecx + 0x1d8], eax
lea eax, [esi - 1]
cmp eax, 5
ja 0x1005e680
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 0x1005d278
push 0
mov edx, 1
mov ecx, edi
call fcn.10046b80
test eax, eax
jne 0x1005ff3c
lea eax, [esi - 3]
cmp esi, 3
jg 0x1005d282
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 0x1005d2a8
cmp esi, 6
jne 0x1005e684
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.1005a6d0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1005b6ae
cmp edi, 1
jne 0x1005ff3c
cmp byte [esp + 0x33], 0
je 0x1005d353
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 0x1005b6ae
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 0x1005b6ae
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x284]
mov dword [esp + 0x28], ecx
test ecx, ecx
je 0x1005ff3c
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 0x1005ff3c
lea edi, [edx + ebp]
test edx, edx
je 0x1005d501
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 0x1005d3fb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d3f7
cmp dword [eax], 0
jne 0x1005d3f7
mov dword [eax], 0x82
xor esi, esi
jmp 0x1005d421
mov eax, dword [esi + ebp*8 + 4]
mov esi, dword [esi + ebp*8]
sub eax, 1
je 0x1005d411
sub eax, 1
jne 0x1005d421
shl esi, 0x10
jmp 0x1005d421
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp dword [ecx], 1
jbe 0x1005d4b4
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 0x1005d45f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d45b
cmp dword [eax], 0
jne 0x1005d45b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d485
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1005d475
sub eax, 1
jne 0x1005d485
shl ecx, 0x10
jmp 0x1005d485
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.1003dc30
mov ecx, dword [esp + 0x28]
inc ebp
add dword [esp + 0x38], 4
add esi, eax
inc edi
cmp ebp, dword [ecx]
jb 0x1005d437
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 0x1005d4da
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d4eb
cmp dword [eax], 0
jne 0x1005d4eb
mov dword [eax], 0x82
jmp 0x1005d4eb
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 0x1005d3d3
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 0x1005d542
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d54e
cmp dword [eax], 0
jne 0x1005d54e
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 0x1005b6ae
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 0x1005b6ae
mov ebp, dword [esp + 0x2c]
mov esi, dword [ebp + 0x284]
cmp edi, 1
jne 0x1005ff3c
test esi, esi
je 0x1005ff3c
cmp ecx, edx
jne 0x1005d598
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d594
cmp dword [eax], 0
jne 0x1005d594
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005d5c4
cmp dword [ecx - 4], 2
je 0x1005d5b4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d5b0
cmp dword [eax], 0
jne 0x1005d5b0
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005d5c4
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x1005ff3c
mov edx, dword [esi]
lea eax, [edx + ecx]
cmp eax, dword [ebp + 0x28c]
ja 0x1005ff3c
lea eax, [edx*4]
push eax
mov eax, dword [ebp + 0x288]
push dword [esi + 0x88]
lea eax, [eax + ecx*4]
push eax
call fcn.1018f2d0
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 0x1005b6ae
cmp edi, 2
jne 0x1005ff3c
cmp ecx, edx
jne 0x1005d631
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d62d
cmp dword [eax], 0
jne 0x1005d62d
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005d65b
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005d64b
sub eax, 1
jne 0x1005d65b
shl esi, 0x10
jmp 0x1005d65b
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 0x1005d67d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d679
cmp dword [eax], 0
jne 0x1005d679
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005d6a7
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005d697
sub eax, 1
jne 0x1005d6a7
shl edx, 0x10
jmp 0x1005d6a7
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 0x1005d6ea
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d6fd
cmp dword [eax], 0
jne 0x1005d6fd
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 0x1005b6ae
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 0x1005b6ae
cmp edi, 2
jne 0x1005ff3c
cmp ecx, edx
jne 0x1005d741
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d73d
cmp dword [eax], 0
jne 0x1005d73d
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005d76b
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005d75b
sub eax, 1
jne 0x1005d76b
shl esi, 0x10
jmp 0x1005d76b
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 0x1005d78d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d789
cmp dword [eax], 0
jne 0x1005d789
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005d7b7
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005d7a7
sub eax, 1
jne 0x1005d7b7
shl edx, 0x10
jmp 0x1005d7b7
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 0x1005d7e6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d6fd
cmp dword [eax], 0
jne 0x1005d6fd
mov dword [eax], 0x82
jmp 0x1005d6fd
sub edx, esi
mov dword [edi], edx
jmp 0x1005d6ef
cmp edi, 2
jne 0x1005ff3c
cmp ecx, edx
jne 0x1005d812
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d80e
cmp dword [eax], 0
jne 0x1005d80e
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005d83c
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005d82c
sub eax, 1
jne 0x1005d83c
shl edx, 0x10
jmp 0x1005d83c
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 0x1005d85d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d859
cmp dword [eax], 0
jne 0x1005d859
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005d887
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005d877
sub eax, 1
jne 0x1005d887
shl ecx, 0x10
jmp 0x1005d887
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.1003dc30
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x1005d8ca
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d8da
cmp dword [eax], 0
jne 0x1005d8da
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 0x1005b6ae
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 0x1005b6ae
cmp edi, 2
jne 0x1005ff3c
cmp ecx, edx
jne 0x1005d91a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d916
cmp dword [eax], 0
jne 0x1005d916
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005d944
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005d934
sub eax, 1
jne 0x1005d944
shl edx, 0x10
jmp 0x1005d944
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 0x1005d965
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d961
cmp dword [eax], 0
jne 0x1005d961
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005d98f
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005d97f
sub eax, 1
jne 0x1005d98f
shl ecx, 0x10
jmp 0x1005d98f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test edx, edx
je 0x1005ff3c
call fcn.100464b0
jmp 0x1005d88c
cmp edi, 2
jne 0x1005ff3c
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x1005ff3c
cmp ecx, edx
jne 0x1005d9d5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d9d1
cmp dword [eax], 0
jne 0x1005d9d1
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005da01
cmp dword [ecx - 4], 2
je 0x1005d9f1
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d9ed
cmp dword [eax], 0
jne 0x1005d9ed
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005da01
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
test edx, edx
js 0x1005ff3c
cmp edx, dword [ebp + 0x28c]
jae 0x1005ff3c
mov edi, dword [esp + 0x1c]
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005da4a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005da2a
cmp dword [eax], 0
jne 0x1005da2a
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 0x1005b6ae
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005da80
sub eax, 1
jne 0x1005da90
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 0x1005b6ae
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 0x1005b6ae
cmp edi, 1
jne 0x1005ff3c
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x1005ff3c
cmp ecx, edx
jne 0x1005dae2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dade
cmp dword [eax], 0
jne 0x1005dade
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005db0e
cmp dword [ecx - 4], 2
je 0x1005dafe
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dafa
cmp dword [eax], 0
jne 0x1005dafa
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005db0e
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x1005ff3c
cmp ecx, dword [ebp + 0x28c]
jae 0x1005ff3c
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 0x1005d89b
mov dword [edx], esi
jmp 0x1005d8cc
cmp edi, 4
jne 0x1005ff3c
cmp ecx, edx
jne 0x1005db64
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005db60
cmp dword [eax], 0
jne 0x1005db60
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005db8e
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x1005db7e
sub eax, 1
jne 0x1005db8e
shl ebp, 0x10
jmp 0x1005db8e
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 0x1005dbaf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dbab
cmp dword [eax], 0
jne 0x1005dbab
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005dbd9
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005dbc9
sub eax, 1
jne 0x1005dbd9
shl edi, 0x10
jmp 0x1005dbd9
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 0x1005dbf6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dbf2
cmp dword [eax], 0
jne 0x1005dbf2
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005dc20
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005dc10
sub eax, 1
jne 0x1005dc20
shl edx, 0x10
jmp 0x1005dc20
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 0x1005dc3d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dc39
cmp dword [eax], 0
jne 0x1005dc39
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005dc67
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005dc57
sub eax, 1
jne 0x1005dc67
shl esi, 0x10
jmp 0x1005dc67
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 0x1005dc99
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d6fd
cmp dword [eax], 0
jne 0x1005d6fd
mov dword [eax], 0x82
jmp 0x1005d6fd
cmp edi, ebp
cmovle edx, esi
mov dword [ecx], edx
jmp 0x1005d6ef
test edi, edi
jne 0x1005ff3c
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 0x1005db3a
jmp 0x1005d89b
test edi, edi
js 0x1005ff3c
test esi, esi
js 0x1005ff3c
cmp edi, 3
jle 0x1005dd18
mov edi, 3
mov dword [esp + 0x5c], edi
jmp 0x1005dd35
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 0x1005b6aa
mov ebp, dword [esp + 0x1c]
lea edx, [esp + edi*4 + 0x3e5c]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebp]
jne 0x1005dd5e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dd5a
cmp dword [eax], 0
jne 0x1005dd5a
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005dd88
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1005dd78
sub eax, 1
jne 0x1005dd88
shl ecx, 0x10
jmp 0x1005dd88
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 0x1005dd40
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 0x1005b6ae
mov ecx, dword [esp + 0x14]
test al, al
je 0x1005b6ae
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x1005ddc9
dec eax
mov dword [esp + 0x54], eax
jmp 0x1005b6ae
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x1005ff3c
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 0x1005c696
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 0x1005b6ae
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005de3f
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x1005b6ae
cmp dword [eax], 0
jne 0x1005b6ae
mov dword [eax], 0xa1
jmp 0x1005b6ae
mov ecx, dword [esp + 0x14]
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
jmp 0x1005b6ae
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005de6b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005de67
cmp dword [eax], 0
jne 0x1005de67
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005de8f
cmp dword [eax - 4], 2
je 0x1005de87
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005de83
cmp dword [eax], 0
jne 0x1005de83
mov dword [eax], 0xa0
xor esi, esi
jmp 0x1005de8f
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005deac
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dea8
cmp dword [eax], 0
jne 0x1005dea8
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005ded6
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005dec6
sub eax, 1
jne 0x1005ded6
shl ecx, 0x10
jmp 0x1005ded6
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x10]
cmp esi, 0x1f
ja 0x1005cace
mov dword [esp + esi*4 + 0x3e88], ecx
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1005b6ae
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005df1e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005df10
cmp dword [eax], 0
jne 0x1005df10
mov dword [eax], 0xa1
xor eax, eax
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005dde1
cmp dword [eax - 4], 2
je 0x1005df44
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005df36
cmp dword [eax], 0
jne 0x1005df36
mov dword [eax], 0xa0
xor eax, eax
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005dde1
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x1005e68c
cmp eax, 0x20
jge 0x1005e68c
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005dde1
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [edi]
jne 0x1005df86
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005df82
cmp dword [eax], 0
jne 0x1005df82
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005dfb1
add ebp, 0xfffffff8
mov dword [ebx + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x1005dfa1
sub eax, 1
jne 0x1005dfb1
shl ebp, 0x10
jmp 0x1005dfb1
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 0x1005dfce
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dfca
cmp dword [eax], 0
jne 0x1005dfca
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005dff8
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005dfe8
sub eax, 1
jne 0x1005dff8
shl edi, 0x10
jmp 0x1005dff8
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 0x1005e019
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e015
cmp dword [eax], 0
jne 0x1005e015
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e043
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e033
sub eax, 1
jne 0x1005e043
shl edx, 0x10
jmp 0x1005e043
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 0x1005e060
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e05c
cmp dword [eax], 0
jne 0x1005e05c
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e08a
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005e07a
sub eax, 1
jne 0x1005e08a
shl esi, 0x10
jmp 0x1005e08a
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 0x1005e0aa
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jmp 0x1005ca29
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 0x1005b6ae
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 0x1005ddf4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e688
cmp dword [eax], 0
jne 0x1005e688
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005b6ae
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005e162
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e15e
cmp dword [eax], 0
jne 0x1005e15e
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e18c
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005e17c
sub eax, 1
jne 0x1005e18c
shl edx, 0x10
jmp 0x1005e18c
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 0x1005e1a9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e1a5
cmp dword [eax], 0
jne 0x1005e1a5
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e1d3
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005e1c3
sub eax, 1
jne 0x1005e1d3
shl ecx, 0x10
jmp 0x1005e1d3
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.1003dc30
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi]
mov esi, dword [ebx + 0xc]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x1005ce13
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e688
cmp dword [eax], 0
jne 0x1005e688
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
mov esi, dword [esp + 0x18]
jmp 0x1005b6ae
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [edi]
jne 0x1005e255
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e22f
cmp dword [eax], 0
jne 0x1005e22f
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 0x1005e2bd
mov edi, dword [esp + 0x1c]
jmp 0x1005ca2d
add ebp, 0xfffffff8
mov dword [ebx + 0xc], ebp
mov eax, dword [ebp + 4]
mov ebp, dword [ebp]
sub eax, 1
je 0x1005e270
sub eax, 1
jne 0x1005e280
shl ebp, 0x10
jmp 0x1005e280
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
test ebp, ebp
jle 0x1005e22f
mov eax, ebp
mov esi, ebp
sar eax, 1
mov ecx, ebp
cmp ebp, 0xa
cmovge esi, eax
mov edx, esi
call fcn.100464b0
lea edi, [esi + 1]
add edi, eax
sar edi, 1
cmp edi, esi
je 0x1005e231
mov edx, edi
mov ecx, ebp
mov esi, edi
call fcn.100464b0
inc edi
add edi, eax
sar edi, 1
cmp edi, esi
jne 0x1005e2a4
jmp 0x1005e231
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 0x1005b6ae
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005e2fb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e2f7
cmp dword [eax], 0
jne 0x1005e2f7
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e325
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edx, dword [edx]
sub eax, 1
je 0x1005e315
sub eax, 1
jne 0x1005e325
shl edx, 0x10
jmp 0x1005e325
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 0x1005e348
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e358
cmp dword [eax], 0
jne 0x1005e358
mov dword [eax], 0x82
jmp 0x1005e358
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 0x1005fdcb
jmp 0x1005c696
mov esi, dword [ebx + 0xc]
cmp esi, dword [edi]
jne 0x1005e38d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e389
cmp dword [eax], 0
jne 0x1005e389
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e3b7
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov esi, dword [esi]
sub eax, 1
je 0x1005e3a7
sub eax, 1
jne 0x1005e3b7
shl esi, 0x10
jmp 0x1005e3b7
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 0x1005e3d4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e3d0
cmp dword [eax], 0
jne 0x1005e3d0
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e3fe
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e3ee
sub eax, 1
jne 0x1005e3fe
shl edx, 0x10
jmp 0x1005e3fe
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 0x1005e425
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e435
cmp dword [eax], 0
jne 0x1005e435
mov dword [eax], 0x82
jmp 0x1005e435
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 0x1005fdcb
jmp 0x1005c696
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e46e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e46a
cmp dword [eax], 0
jne 0x1005e46a
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005e492
cmp dword [eax - 4], 2
je 0x1005e48a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e486
cmp dword [eax], 0
jne 0x1005e486
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005e492
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 0x1005b6a0
test edx, edx
jns 0x1005e4b1
lea ecx, [eax - 1]
jmp 0x1005e4d9
cmp edx, eax
jb 0x1005e4d4
xor ecx, ecx
mov eax, dword [esi + ecx*8 + 4]
mov edx, dword [esi + ecx*8]
sub eax, 1
je 0x1005e4f6
sub eax, 1
jne 0x1005e358
shl edx, 0x10
jmp 0x1005e358
mov ecx, eax
sub ecx, edx
dec ecx
cmp ecx, eax
jb 0x1005e4b7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e4ef
cmp dword [eax], 0
jne 0x1005e4ef
mov dword [eax], 0x82
xor edx, edx
jmp 0x1005e358
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
jmp 0x1005e358
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e528
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e524
cmp dword [eax], 0
jne 0x1005e524
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e54c
cmp dword [eax - 4], 2
je 0x1005e544
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e540
cmp dword [eax], 0
jne 0x1005e540
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005e54c
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [edi]
jne 0x1005e57e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e565
cmp dword [eax], 0
jne 0x1005e565
mov dword [eax], 0xa1
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 2
jmp 0x1005b6ae
cmp dword [eax - 4], 2
je 0x1005e5af
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e596
cmp dword [eax], 0
jne 0x1005e596
mov dword [eax], 0xa0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 2
jmp 0x1005b6ae
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 0x1005e688
sub eax, dword [edi]
sar eax, 3
cmp edx, eax
jbe 0x1005e604
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e688
cmp dword [eax], 0
jne 0x1005e688
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0x82
jmp 0x1005b6ae
test ecx, ecx
jns 0x1005e617
neg ecx
mov eax, ecx
mov ecx, dword [esp + 0x38]
cdq
idiv ecx
neg edx
jmp 0x1005e620
mov eax, ecx
mov ecx, dword [esp + 0x38]
cdq
idiv ecx
mov dword [esp + 0x44], edx
test edx, edx
je 0x1005e688
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 0x1005e668
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 0x1005e699
sub esi, ebx
sub edi, eax
jmp 0x1005e6a1
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 0x1005b6ae
test esi, esi
jns 0x1005e6a1
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 0x1005e641
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 0x1005b6ae
test al, al
je case.0x1005c3ce.0
cmp byte [esp + 0x33], 0
je case.0x1005c3ce.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005e729
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e725
cmp dword [eax], 0
jne 0x1005e725
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005e757
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 0x1005e747
sub eax, 1
jne 0x1005e75b
shl esi, 0x10
jmp 0x1005e757
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 0x1005e77f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e77b
cmp dword [eax], 0
jne 0x1005e77b
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005e7ad
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 0x1005e79d
sub eax, 1
jne 0x1005e7b1
shl ebp, 0x10
jmp 0x1005e7ad
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 0x1005b6ae
mov eax, dword [esp + 0x40]
cmp byte [eax + 8], 0
je case.0x1005b7cc.0
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [edi]
jne 0x1005e7ff
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e7fb
cmp dword [eax], 0
jne 0x1005e7fb
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e829
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005e819
sub eax, 1
jne 0x1005e829
shl ecx, 0x10
jmp 0x1005e829
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 0x1005e859
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e855
cmp dword [eax], 0
jne 0x1005e855
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e883
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005e873
sub eax, 1
jne 0x1005e883
shl ecx, 0x10
jmp 0x1005e883
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 0x1006008b
cmp byte [esp + 0x33], 0
mov edx, dword [esp + 0x10]
je case.0x1005c3ce.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 0x1005b6ae
mov edi, dword [esp + 0x40]
cmp byte [edi + 8], 0
je 0x10060239
test ah, ah
jne 0x10060239
cmp byte [esp + 0x2ec8], ah
je 0x1005e953
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005a550
cmp byte [esp + 0x2f18], 0
je 0x1005e93b
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.10059fc0
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 0x1005e98e
cmp byte [eax + 5], 0
je 0x1005e9b2
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.10059630
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 0x1005ea72
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 0x1005ea58
test ebx, ebx
je 0x1005ea56
cmp dword [ebx], 0
jne 0x1005ea56
mov dword [ebx], 0x82
xor ebp, ebp
imul ebp, edx
dec ecx
add ebp, esi
mov dword [esp + 0x10], ebp
test ecx, ecx
jg 0x1005ea40
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 0x1005b6ae
mov eax, dword [ebx + 0xc]
sub eax, dword [edi]
sar eax, 3
cmp eax, 1
jbe 0x1005eaa9
cmp byte [esp + 0x104], 0
jne case.0x1005b7cc.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.1005a9d0
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x1006008b
cmp byte [esp + 0x28], 0x13
jne 0x1005eb0c
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0x100]
add eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x10]
push eax
call fcn.1005a950
mov eax, dword [edi]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005b6ae
push 0xf1c
lea eax, [esp + 0x2f44]
push 0
push eax
call fcn.1018f850
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.1005a950
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.10059630
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0xc], eax
jmp 0x1005b6ae
mov eax, dword [ebx + 0xc]
mov edx, dword [edi]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x1005ec2e
cmp byte [esp + 0x27], 0
jne 0x1005ec2e
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005ec0f
sub eax, 1
jne 0x1005ec1f
shl ecx, 0x10
jmp 0x1005ec1f
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 0x1006008b
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005ec71
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ec5d
cmp dword [eax], 0
jne 0x1005ec5d
mov dword [eax], 0xa1
xor ecx, ecx
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x1005ed16
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005ec98
sub eax, 1
jne 0x1005eca8
shl ecx, 0x10
add esi, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x3f28], esi
jmp 0x1005ed16
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 0x1005ed16
mov eax, dword [ebx + 0xc]
mov edx, dword [edi]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x1005ed00
cmp byte [esp + 0x27], 0
jne 0x1005ed00
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005ece1
sub eax, 1
jne 0x1005ecf1
shl ecx, 0x10
jmp 0x1005ecf1
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 0x1006008b
mov edx, dword [ebx + 0xc]
cmp edx, dword [edi]
jne 0x1005ed33
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ed2f
cmp dword [eax], 0
jne 0x1005ed2f
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005ed5d
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005ed4d
sub eax, 1
jne 0x1005ed5d
shl ecx, 0x10
jmp 0x1005ed5d
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 0x1005ee70
cmp byte [esp + 0x2ec8], 0
je 0x1005edf4
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005a550
cmp byte [esp + 0x2f18], 0
je 0x1005eddc
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.10059fc0
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 0x1005ee2f
cmp byte [eax + 5], 0
je 0x1005ee53
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.10059630
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 0x1005b6ae
mov ebp, dword [ebx + 0xc]
xor esi, esi
sub ebp, dword [edi]
sar ebp, 3
mov dword [esp + 0x44], ebp
cmp ebp, 6
jbe 0x1005ef81
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 0x1005eec8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eec4
cmp dword [eax], 0
jne 0x1005eec4
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005eeee
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1005eede
sub eax, 1
jne 0x1005eeee
shl ecx, 0x10
jmp 0x1005eeee
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 0x1005ef26
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ef22
cmp dword [eax], 0
jne 0x1005ef22
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005ef4d
mov eax, dword [edx + esi*8 + 0xc]
mov ecx, dword [edx + esi*8 + 8]
sub eax, 1
je 0x1005ef3d
sub eax, 1
jne 0x1005ef4d
shl ecx, 0x10
jmp 0x1005ef4d
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.1005a550
add edi, 2
add esi, 2
cmp edi, ebp
jb 0x1005eea0
mov edi, dword [esp + 0x1c]
cmp esi, ebp
mov ebp, dword [esp + 0x20]
jae 0x1005f6a2
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 0x1005efb7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005efb3
cmp dword [eax], 0
jne 0x1005efb3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005efde
mov eax, dword [edx + esi*8 - 0xc]
mov ecx, dword [edx + esi*8 - 0x10]
sub eax, 1
je 0x1005efce
sub eax, 1
jne 0x1005efde
shl ecx, 0x10
jmp 0x1005efde
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 0x1005f00b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f007
cmp dword [eax], 0
jne 0x1005f007
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f032
mov eax, dword [edx + esi*8 - 4]
mov ecx, dword [edx + esi*8 - 8]
sub eax, 1
je 0x1005f022
sub eax, 1
jne 0x1005f032
shl ecx, 0x10
jmp 0x1005f032
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 0x1005f064
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f060
cmp dword [eax], 0
jne 0x1005f060
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f08a
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1005f07a
sub eax, 1
jne 0x1005f08a
shl ecx, 0x10
jmp 0x1005f08a
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 0x1005f0b3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f0af
cmp dword [eax], 0
jne 0x1005f0af
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f0da
mov eax, dword [edx + esi*8 + 0xc]
mov ecx, dword [edx + esi*8 + 8]
sub eax, 1
je 0x1005f0ca
sub eax, 1
jne 0x1005f0da
shl ecx, 0x10
jmp 0x1005f0da
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 0x1005f107
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f103
cmp dword [eax], 0
jne 0x1005f103
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f12e
mov eax, dword [edx + esi*8 + 0x14]
mov ecx, dword [edx + esi*8 + 0x10]
sub eax, 1
je 0x1005f11e
sub eax, 1
jne 0x1005f12e
shl ecx, 0x10
jmp 0x1005f12e
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 0x1005f160
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f15c
cmp dword [eax], 0
jne 0x1005f15c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f187
mov eax, dword [edx + esi*8 + 0x1c]
mov ecx, dword [edx + esi*8 + 0x18]
sub eax, 1
je 0x1005f177
sub eax, 1
jne 0x1005f187
shl ecx, 0x10
jmp 0x1005f187
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.1005a6d0
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 0x1005ef90
jmp 0x1005f69e
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 0x1005f6a2
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 0x1005f276
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1005f23f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f23b
cmp dword [eax], 0
jne 0x1005f23b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f265
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1005f255
sub eax, 1
jne 0x1005f265
shl ecx, 0x10
jmp 0x1005f265
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 0x1005f29e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f29a
cmp dword [eax], 0
jne 0x1005f29a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f2c4
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1005f2b4
sub eax, 1
jne 0x1005f2c4
shl ecx, 0x10
jmp 0x1005f2c4
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 0x1005f2f2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f2ee
cmp dword [eax], 0
jne 0x1005f2ee
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f318
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1005f308
sub eax, 1
jne 0x1005f318
shl ecx, 0x10
jmp 0x1005f318
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 0x1005f34b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f347
cmp dword [eax], 0
jne 0x1005f347
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f371
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1005f361
sub eax, 1
jne 0x1005f371
shl ecx, 0x10
jmp 0x1005f371
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 0x1005f39e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f39a
cmp dword [eax], 0
jne 0x1005f39a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f3d3
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1005f3bc
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x1005f3d3
shl ecx, 0x10
jmp 0x1005f3d3
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.1005a6d0
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 0x1005f210
jmp 0x1005f69e
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 0x1005f6a2
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 0x1005f4d2
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1005f495
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f491
cmp dword [eax], 0
jne 0x1005f491
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f4bb
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1005f4ab
sub eax, 1
jne 0x1005f4bb
shl ecx, 0x10
jmp 0x1005f4bb
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 0x1005f4d6
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 0x1005f4fe
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f4fa
cmp dword [eax], 0
jne 0x1005f4fa
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f524
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1005f514
sub eax, 1
jne 0x1005f524
shl ecx, 0x10
jmp 0x1005f524
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 0x1005f552
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f54e
cmp dword [eax], 0
jne 0x1005f54e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f578
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1005f568
sub eax, 1
jne 0x1005f578
shl ecx, 0x10
jmp 0x1005f578
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 0x1005f5a5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f5a1
cmp dword [eax], 0
jne 0x1005f5a1
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f5da
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1005f5c3
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x1005f5da
shl ecx, 0x10
jmp 0x1005f5da
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 0x1005f60b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f607
cmp dword [eax], 0
jne 0x1005f607
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f640
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1005f629
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x1005f640
shl ecx, 0x10
jmp 0x1005f640
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.1005a6d0
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 0x1005f466
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 0x1005b6ae
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 0x1005fb58
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 0x1005f917
cmp edi, eax
jb 0x1005f733
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f72f
cmp dword [eax], 0
jne 0x1005f72f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f759
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x1005f749
sub eax, 1
jne 0x1005f759
shl ecx, 0x10
jmp 0x1005f759
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 0x1005f78f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f78b
cmp dword [eax], 0
jne 0x1005f78b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f7b5
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x1005f7a5
sub eax, 1
jne 0x1005f7b5
shl ecx, 0x10
jmp 0x1005f7b5
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 0x1005f7e4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f7e0
cmp dword [eax], 0
jne 0x1005f7e0
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f80a
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1005f7fa
sub eax, 1
jne 0x1005f80a
shl ecx, 0x10
jmp 0x1005f80a
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 0x1005f83a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f836
cmp dword [eax], 0
jne 0x1005f836
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f86f
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1005f858
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x1005f86f
shl ecx, 0x10
jmp 0x1005f86f
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 0x1005f908
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 0x1005f8af
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f8ab
cmp dword [eax], 0
jne 0x1005f8ab
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f8e4
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1005f8cd
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x1005f8e4
shl ecx, 0x10
jmp 0x1005f8e4
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 0x1005fafe
xor al, al
mov dword [esp + 0x20], esi
mov byte [esp + 0x3f], al
jmp 0x1005fafe
mov edx, dword [esp + 0x20]
mov dword [esp + 0x4c], edx
cmp edi, eax
jb 0x1005f939
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f935
cmp dword [eax], 0
jne 0x1005f935
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f95f
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x1005f94f
sub eax, 1
jne 0x1005f95f
shl ecx, 0x10
jmp 0x1005f95f
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 0x1005f98e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f98a
cmp dword [eax], 0
jne 0x1005f98a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f9b4
mov eax, dword [ecx + ebp*8 + 4]
mov ecx, dword [ecx + ebp*8]
sub eax, 1
je 0x1005f9a4
sub eax, 1
jne 0x1005f9b4
shl ecx, 0x10
jmp 0x1005f9b4
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 0x1005f9e3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f9df
cmp dword [eax], 0
jne 0x1005f9df
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005fa09
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + edx*8]
sub eax, 1
je 0x1005f9f9
sub eax, 1
jne 0x1005fa09
shl ecx, 0x10
jmp 0x1005fa09
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 0x1005fa39
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fa35
cmp dword [eax], 0
jne 0x1005fa35
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005fa6e
mov eax, dword [esp + 0x34]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1005fa57
sub eax, 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + eax*8]
jne 0x1005fa6e
shl ecx, 0x10
jmp 0x1005fa6e
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 0x1005faf5
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 0x1005faaa
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005faa6
cmp dword [eax], 0
jne 0x1005faa6
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005fadf
mov eax, dword [esp + 0x28]
mov eax, dword [ecx + eax*8 + 4]
sub eax, 1
je 0x1005fac8
sub eax, 1
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*8]
jne 0x1005fadf
shl ecx, 0x10
jmp 0x1005fadf
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 0x1005faf9
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.1005a6d0
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 0x1005f700
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 0x1005b6ae
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x1005fb85
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edx, cl
jmp 0x1005fb98
mov eax, dword [esi]
test eax, eax
je 0x1005fb96
cmp dword [eax], 0
jne 0x1005fb96
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x1005fbb6
mov cl, byte [eax]
inc eax
shl edx, 8
mov dword [esi + 0xc], eax
movzx eax, cl
movsx edx, dx
or edx, eax
jmp 0x1005c683
mov eax, dword [esi]
test eax, eax
je 0x1005fbc7
cmp dword [eax], 0
jne 0x1005fbc7
mov dword [eax], 0x55
shl edx, 8
xor eax, eax
movsx edx, dx
or edx, eax
jmp 0x1005c683
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 0x1005b6ae
cmp byte [esp + 0x28], 0xf6
ja 0x1005fc1c
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 0x1005fcac
jmp 0x1005c696
cmp byte [esp + 0x28], 0xfa
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
ja 0x1005fc64
shl edx, 8
cmp eax, ecx
jae 0x1005fc47
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx eax, cl
lea esi, [eax - 0xf694]
add esi, edx
jmp 0x1005fc04
mov eax, dword [esi]
test eax, eax
je 0x1005fc58
cmp dword [eax], 0
jne 0x1005fc58
mov dword [eax], 0x55
xor eax, eax
lea esi, [eax - 0xf694]
add esi, edx
jmp 0x1005fc04
cmp byte [esp + 0x28], 0xfe
ja 0x1005fccd
shl edx, 8
cmp eax, ecx
jae 0x1005fc7d
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx eax, cl
jmp 0x1005fc90
mov eax, dword [esi]
test eax, eax
je 0x1005fc8e
cmp dword [eax], 0
jne 0x1005fc8e
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 0x1005c696
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 0x1005b6ae
cmp eax, ecx
jae 0x1005fcdc
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edx, cl
jmp 0x1005fcef
mov eax, dword [esi]
test eax, eax
je 0x1005fced
cmp dword [eax], 0
jne 0x1005fced
mov dword [eax], 0x55
xor edx, edx
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x1005fd02
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx edi, cl
jmp 0x1005fd15
mov eax, dword [esi]
test eax, eax
je 0x1005fd13
cmp dword [eax], 0
jne 0x1005fd13
mov dword [eax], 0x55
xor edi, edi
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jae 0x1005fd28
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movzx esi, cl
jmp 0x1005fd3b
mov eax, dword [esi]
test eax, eax
je 0x1005fd39
cmp dword [eax], 0
jne 0x1005fd39
mov dword [eax], 0x55
xor esi, esi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x1005fd5a
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 0x1005fd6d
mov eax, dword [ecx]
test eax, eax
je 0x1005fd6b
cmp dword [eax], 0
jne 0x1005fd6b
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 0x1005fdb4
cmp edx, 0x7d00
jg 0x1005fd96
cmp edx, 0xffff8300
jge 0x1005fdab
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 0x1005c683
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 0x1005c696
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 0x1005b6ae
cmp dword [eax - 4], 2
je 0x1005fe08
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fe04
cmp dword [eax], 0
jne 0x1005fe04
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005fe10
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 0x1005fe32
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fe2e
cmp dword [eax], 0
jne 0x1005fe2e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005fe56
cmp dword [eax - 4], 2
je 0x1005fe4e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fe4a
cmp dword [eax], 0
jne 0x1005fe4a
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005fe56
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 0x1005fe78
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fe74
cmp dword [eax], 0
jne 0x1005fe74
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1005fea2
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1005fe92
sub eax, 1
jne 0x1005fea2
shl edi, 0x10
jmp 0x1005fea2
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 0x1005fec0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005febc
cmp dword [eax], 0
jne 0x1005febc
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005feea
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1005feda
sub eax, 1
jne 0x1005feea
shl esi, 0x10
jmp 0x1005feea
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 0x1005ff08
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ff04
cmp dword [eax], 0
jne 0x1005ff04
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1005ff32
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1005ff22
sub eax, 1
jne 0x1005ff32
shl ebp, 0x10
jmp 0x1005ff32
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp byte [esp + 0x3f20], 0
je 0x1005ff46
mov eax, 0x12
jmp 0x10060567
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x2f], 0
je 0x1005ff5a
mov eax, 0x12
jmp 0x10060567
cmp dword [eax + 0x244], 0
jne 0x1005ff81
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x80]
cmp dword [eax + 0x34], 0
jne 0x1005ff7d
mov eax, 0x12
jmp 0x10060567
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 0x1005ffb8
mov edx, ecx
mov ecx, dword [esp + 0x2c]
call fcn.10057160
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x58], eax
call fcn.10057160
mov edx, eax
mov dword [esp + 0x38], edx
cmp dword [esp + 0x58], 0
jl 0x1005ff3c
test edx, edx
js 0x1005ff3c
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x2e], 0
je 0x10060094
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.100470a0
test eax, eax
jne 0x10060567
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 0x10060567
mov ecx, dword [eax + 0xc]
call fcn.100471f0
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x3e60]
mov ecx, dword [esp + 0x2c]
push eax
call fcn.10059050
test eax, eax
jne 0x10060567
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.1005b0f0
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 0x1006014d
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 0x10060174
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.10059050
test eax, eax
jne 0x10060567
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.1005b0f0
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 0x10060210
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 0x10060567
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
je 0x1006024e
cmp eax, 5
jne 0x100602a2
cmp byte [esp + 0x27], 0
jne 0x100602a2
test eax, eax
jne 0x1006026f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006026b
cmp dword [eax], 0
jne 0x1006026b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060293
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10060283
sub eax, 1
jne 0x10060293
shl ecx, 0x10
jmp 0x10060293
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 0x1006008b
cmp byte [esp + 0x2ec8], 0
je 0x10060334
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005a550
cmp byte [esp + 0x2f18], 0
je 0x10060314
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.10059fc0
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 0x1006008b
cmp byte [edi + 8], 0
jne 0x1006008b
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x1006008b
cmp byte [esp + 0x3f20], 0
je 0x10060372
mov eax, 0x12
jmp 0x10060567
cmp ecx, edx
jne 0x1006038c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060388
cmp dword [eax], 0
jne 0x10060388
mov dword [eax], 0xa1
xor edx, edx
jmp 0x100603b0
cmp dword [ecx - 4], 2
je 0x100603a8
mov eax, dword [ebx + 4]
test eax, eax
je 0x100603a4
cmp dword [eax], 0
jne 0x100603a4
mov dword [eax], 0xa0
xor edx, edx
jmp 0x100603b0
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x100603ce
mov eax, dword [ebx + 4]
test eax, eax
je 0x100603ca
cmp dword [eax], 0
jne 0x100603ca
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x100603f2
cmp dword [eax - 4], 2
je 0x100603ea
mov eax, dword [ebx + 4]
test eax, eax
je 0x100603e6
cmp dword [eax], 0
jne 0x100603e6
mov dword [eax], 0xa0
xor ebp, ebp
jmp 0x100603f2
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 8]
jne 0x10060410
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006040c
cmp dword [eax], 0
jne 0x1006040c
mov dword [eax], 0xa1
xor edi, edi
jmp 0x1006043a
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1006042a
sub eax, 1
jne 0x1006043a
shl edi, 0x10
jmp 0x1006043a
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 0x10060458
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060454
cmp dword [eax], 0
jne 0x10060454
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10060482
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10060472
sub eax, 1
jne 0x10060482
shl esi, 0x10
jmp 0x10060482
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.10058f90
test eax, eax
jne 0x10060567
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.1005b0f0
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.10058f90
test eax, eax
jne 0x10060567
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.1005b0f0
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 0x10060567
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 0x10060576
cmp dword [ecx], 0
jne 0x10060576
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 0x100605b0
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 0x100605f5
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 0x1006063a
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 0x1006065d
mov edx, eax
mov eax, dword [esp + 0xe0]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
test ebx, ebx
je 0x10060681
mov edx, dword [ebx + 8]
mov edi, dword [ebx]
test edx, edx
je 0x10060671
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.1018daa9
add esp, 0x3f04
ret 0x18