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

Disassembly:
mov eax, 0x3f04
call fcn.1019e0f0
mov eax, dword [0x1020a0c0]
xor eax, esp
mov dword [esp + 0x3efc], eax
mov eax, dword [esp + 0x3f08]
push ebx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x3f10]
push ebp
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x3f24]
push esi
mov esi, ecx
mov dword [esp + 0x5c], eax
xor eax, eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x78], eax
push edi
mov ebp, dword [esi + 0xb0]
lea ebx, [esi + 4]
mov eax, dword [esi + 0x34]
mov edi, dword [esi]
mov dword [esp + 0x8c], eax
mov eax, dword [ebp + 0x218]
push 0x80
mov dword [esp + 0x44], esi
mov dword [esp + 0x30], ebp
mov eax, dword [eax + 0x220]
shl eax, 0x10
mov dword [esp + 0x94], eax
xor eax, eax
push eax
mov dword [esp + 0x54], eax
mov byte [esp + 0x4c], al
mov byte [esp + 0x3a], al
mov dword [esp + 0x64], eax
lea eax, [esp + 0x3e90]
push eax
mov dword [esp + 0x78], ebx
mov dword [esp + 0x90], 0x1312d00
call fcn.1019f050
xor eax, eax
mov dword [esp + 0x3e74], 0
add esp, 0xc
mov dword [esp + 0x80], 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.1019f050
mov eax, dword [esp + 0x84]
add esp, 0xc
mov dword [esp + 0x138], esi
movaps xmm0, xmmword [0x101ff640]
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.1019f050
mov eax, dword [esp + 0x98]
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.1019f050
mov eax, dword [esp + 0x98]
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.1019f050
mov ecx, dword [esp + 0x98]
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 + 0x74]
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 + 0x1c], 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, esi
cdq
mov dword [esp + 0x2ee4], ebx
mov ecx, eax
xor ecx, edx
mov eax, ebx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jle 0x1005c511
test esi, esi
jmp 0x1005c515
mov esi, ebx
test ebx, ebx
jns 0x1005c519
neg esi
mov ecx, dword [esp + 0x40]
lea eax, [esi + esi]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x2ee8], eax
mov dword [esp + 0x2eec], 0x199a
cmp byte [ecx + 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 [ebp + 0x218]
mov eax, dword [eax + 0x21c]
shl eax, 0x10
mov dword [edx], eax
cmp byte [ecx + 9], 0
je 0x1005c584
mov eax, dword [ebp + 0x214]
mov esi, dword [eax + 0x614]
jmp 0x1005c589
mov esi, 0x30
mov eax, dword [edi + 4]
mov edx, 0x14
mov ecx, edi
mov dword [esp + 0x88], esi
call eax
mov ebx, eax
mov dword [esp + 0x70], ebx
test ebx, ebx
je 0x100619cf
mov eax, dword [esp + 0x6c]
xor ebp, ebp
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 0x100619c3
je 0x1005c646
cmp esi, 0xfffffff
jg 0x100619c3
mov eax, dword [edi + 4]
lea edx, [esi*8]
mov ecx, edi
call eax
mov esi, eax
mov eax, 0x40
test esi, esi
cmove ebp, eax
mov eax, esi
mov ecx, ebp
test ebp, ebp
jne 0x1005c633
test esi, esi
je 0x1005c633
mov edx, dword [esp + 0x88]
test edx, edx
jle 0x1005c633
lea eax, [edx*8]
push eax
push ebp
push esi
call fcn.1019f050
lea eax, [ebx + 8]
add esp, 0xc
mov dword [eax], esi
mov dword [esp + 0x14], eax
mov eax, esi
lea esi, [ebx + 8]
jmp 0x1005c651
mov dword [ebx + 8], eax
lea esi, [ebx + 8]
mov dword [esp + 0x14], esi
test ecx, ecx
je 0x1005c651
jmp 0x100619c6
lea esi, [ebx + 8]
xor eax, eax
mov dword [esp + 0x14], esi
mov dword [esi], eax
mov ecx, dword [esp + 0x88]
mov edi, 0x11
mov dword [ebx + 0x10], ecx
mov edx, edi
lea ecx, [esp + 0xe0]
mov dword [ebx + 0xc], eax
call fcn.10058af0
mov ecx, dword [esp + 0xf4]
test al, al
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xfc]
cmovne ecx, edi
mov dword [esp + 0x98], ecx
mov ecx, edx
mov dword [esp + 0x80], edx
cmp dword [eax], 0
mov dword [esp + 0x18], ecx
jne 0x100614e1
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x3f24]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x68], 0
movups xmm0, xmmword [eax]
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x50], esi
movups xmmword [edx], xmm0
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x94], edx
mov dword [esp + 0x20], ebp
jmp 0x1005c6fc
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jb 0x1005c71c
cmp dword [esp + 0x68], 0
mov edx, 0xb
mov eax, 0xe
cmove edx, eax
mov dword [esp + 0x28], edx
jmp 0x1005c74f
mov edx, dword [esp + 0x18]
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
mov dl, cl
mov dword [esp + 0x28], edx
cmp cl, 0xb
je 0x1005c736
cmp cl, 0xe
jne 0x1005c74b
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 + 0x18]
mov eax, dword [esp + 0x40]
mov al, byte [eax + 8]
mov ah, byte [esp + 0x32]
test al, al
je 0x1005c7ea
test ah, ah
jne 0x1005c798
cmp dl, 1
je 0x1005c798
cmp dl, 3
je 0x1005c798
cmp dl, 0xd
je 0x1005c798
cmp dl, 0xa
je 0x1005c798
cmp dl, 0xb
je 0x1005c798
cmp dl, 0xc
je 0x1005c798
cmp dl, 0xe
je 0x1005c798
cmp dl, 0x20
jae 0x1005c798
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
mov esi, dword [esp + 0x5c]
test esi, esi
jle 0x1005c7c3
cmp dl, 0xa
je 0x1005c7c3
cmp dl, 0xb
je 0x1005c7c3
cmp dl, 0xc
je 0x1005c7c3
cmp dl, 0x20
mov dword [esp + 0x48], 0
cmovb esi, dword [esp + 0x48]
mov dword [esp + 0x5c], esi
cmp byte [esp + 0x44], 0
mov ebx, dword [esp + 0x70]
je 0x1005c7ea
cmp dl, 0x20
jae 0x1005c7ea
mov ebx, dword [esp + 0x44]
xor esi, esi
movzx ebx, bl
cmp dl, 0xc
cmovne ebx, esi
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
cmp dword [esi], 0
jne 0x100614e1
sub dword [esp + 0x84], 1
je 0x1006139a
movzx esi, dl
cmp esi, 0x1f
ja case.default.0x1005c811
jmp dword [esi*4 + 0x10061b0c]
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1005c811.0
cmp byte [edx + 0x5d], 0
jne 0x1006139a
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
cmp eax, dword [esi]
jne 0x1005c85c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c84d
cmp dword [eax], 0
jne 0x1005c84d
mov dword [eax], 0xa1
xor eax, eax
mov dword [edx + 0x78], eax
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
cmp dword [eax - 4], 2
je 0x1005c883
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c874
cmp dword [eax], 0
jne 0x1005c874
mov dword [eax], 0xa0
xor eax, eax
mov dword [edx + 0x78], eax
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x1005c9c7
mov dword [edx + 0x78], eax
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1005c811.0
cmp dword [edx + 0x60], 0
je 0x1006139a
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 0x1005c901
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 + 0x7c], eax
test eax, eax
jne 0x100614e1
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ecx]
jne 0x1005c922
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1005c91e
cmp dword [ecx], 0
jne 0x1005c91e
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x1005c946
cmp dword [eax - 4], 2
je 0x1005c93e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c93a
cmp dword [eax], 0
jne 0x1005c93a
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1005c946
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x88]
ja 0x1006139a
push eax
mov edx, ebx
mov ecx, esi
call fcn.1005bf60
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov byte [eax + 0x5d], 1
jmp 0x1005c6fc
test al, al
jne 0x1005c987
cmp byte [esp + 0x104], al
jne case.0x1005c811.0
xor eax, eax
jmp 0x1005c991
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.1005ba30
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x100614e1
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
test al, al
jne 0x1005c9f3
cmp byte [esp + 0x104], al
jne case.0x1005c811.0
xor eax, eax
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0xa8]
jmp 0x1005c99e
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 0x1005c99e
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [esi]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x1005ca58
cmp byte [esp + 0x27], 0
jne 0x1005ca58
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005ca39
sub eax, 1
jne 0x1005ca49
shl ecx, 0x10
jmp 0x1005ca49
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x90]
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 0x100614e1
mov edx, dword [ebx + 0xc]
cmp edx, dword [esi]
jne 0x1005ca8b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ca87
cmp dword [eax], 0
jne 0x1005ca87
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005cab5
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005caa5
sub eax, 1
jne 0x1005cab5
shl ecx, 0x10
jmp 0x1005cab5
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x2c]
add edi, ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x3f28], edi
cmp dword [eax + 0x1d4], 0
jne 0x1005c9c3
cmp byte [esp + 0x2ec8], 0
je 0x1005cb4c
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005b5b0
cmp byte [esp + 0x2f18], 0
je 0x1005cb34
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.1005b030
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], edi
mov dword [esp + 0x2f04], edi
mov byte [esp + 0x2ecb], 1
je 0x1005cb87
cmp byte [eax + 5], 0
je 0x1005cbab
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005a650
mov ecx, 0x3c7
lea esi, [esp + 0x140]
lea edi, [esp + 0x105c]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
mov esi, dword [esp + 0x14]
xor edi, edi
mov ebp, dword [ebx + 0xc]
sub ebp, dword [esi]
sar ebp, 3
test ebp, ebp
je 0x10060a20
nop dword [eax]
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [esi]
sub eax, edx
sar eax, 3
cmp edi, eax
jb 0x1005cc1b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cc17
cmp dword [eax], 0
jne 0x1005cc17
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
xor esi, esi
jmp 0x1005cc41
mov eax, dword [edx + edi*8 + 4]
mov esi, dword [edx + edi*8]
sub eax, 1
je 0x1005cc31
sub eax, 1
jne 0x1005cc41
shl esi, 0x10
jmp 0x1005cc41
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
add dword [esp + 0x20], esi
lea eax, [edi + 1]
mov esi, dword [esp + 0x20]
sub ecx, edx
sar ecx, 3
mov dword [esp + 0x3f24], esi
cmp eax, ecx
jb 0x1005cc72
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cc6e
cmp dword [eax], 0
jne 0x1005cc6e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005cc99
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1005cc89
sub eax, 1
jne 0x1005cc99
shl ecx, 0x10
jmp 0x1005cc99
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
mov edx, esi
add eax, ecx
lea ecx, [esp + 0x138]
push eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x3f2c], eax
call fcn.1005b5b0
mov esi, dword [esp + 0x14]
add edi, 2
cmp edi, ebp
jb 0x1005cbf0
jmp 0x10060a1c
mov eax, dword [esp + 0x14]
mov edi, dword [ebx + 0xc]
sub edi, dword [eax]
sar edi, 3
cmp dl, 6
sete dl
xor esi, esi
test edi, edi
je 0x1005cd85
nop dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1005cd14
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cd10
cmp dword [eax], 0
jne 0x1005cd10
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005cd3a
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1005cd2a
sub eax, 1
jne 0x1005cd3a
shl ecx, 0x10
jmp 0x1005cd3a
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
test dl, dl
je 0x1005cd4d
add ebp, ecx
mov dword [esp + 0x3f24], ebp
jmp 0x1005cd5a
add eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x3f28], eax
xor dl, 1
lea ecx, [esp + 0x138]
mov byte [esp + 0x33], dl
mov edx, ebp
push eax
call fcn.1005b5b0
mov dl, byte [esp + 0x33]
inc esi
mov eax, dword [esp + 0x14]
cmp esi, edi
jb 0x1005ccf0
mov dword [esp + 0x20], ebp
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
mov ecx, dword [esp + 0x14]
xor ebp, ebp
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x3c], ebp
sub eax, dword [ecx]
sar eax, 3
mov dword [esp + 0x64], eax
cmp eax, 6
jb 0x1005d02c
lea edi, [ebp + 2]
jmp 0x1005cdc4
mov ecx, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov eax, esi
mov edx, dword [ecx]
sub eax, edx
sar eax, 3
cmp ebp, eax
jb 0x1005cdef
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cdeb
cmp dword [eax], 0
jne 0x1005cdeb
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [ecx]
xor ecx, ecx
jmp 0x1005ce16
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x1005ce06
sub eax, 1
jne 0x1005ce16
shl ecx, 0x10
jmp 0x1005ce16
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 + 0x34], eax
sar ecx, 3
lea eax, [edi - 1]
cmp eax, ecx
jb 0x1005ce4d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ce49
cmp dword [eax], 0
jne 0x1005ce49
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005ce74
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x1005ce64
sub eax, 1
jne 0x1005ce74
shl ecx, 0x10
jmp 0x1005ce74
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x1c]
mov eax, esi
sub eax, edx
add ebp, ecx
sar eax, 3
mov dword [esp + 0x48], ebp
cmp edi, eax
jb 0x1005cea8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cea4
cmp dword [eax], 0
jne 0x1005cea4
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005cece
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1005cebe
sub eax, 1
jne 0x1005cece
shl ecx, 0x10
jmp 0x1005cece
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x34]
add eax, ecx
mov ecx, esi
sub ecx, edx
mov dword [esp + 0x38], eax
sar ecx, 3
lea eax, [edi + 1]
cmp eax, ecx
jb 0x1005cf05
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cf01
cmp dword [eax], 0
jne 0x1005cf01
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005cf2c
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1005cf1c
sub eax, 1
jne 0x1005cf2c
shl ecx, 0x10
jmp 0x1005cf2c
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 0x1005cf5b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cf57
cmp dword [eax], 0
jne 0x1005cf57
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005cf82
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x1005cf72
sub eax, 1
jne 0x1005cf82
shl ecx, 0x10
jmp 0x1005cf82
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x38]
sub esi, edx
add eax, ecx
sar esi, 3
mov dword [esp + 0x20], eax
lea eax, [edi + 3]
cmp eax, esi
jb 0x1005cfae
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005cfaa
cmp dword [eax], 0
jne 0x1005cfaa
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005cfd5
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x1005cfc5
sub eax, 1
jne 0x1005cfd5
shl ecx, 0x10
jmp 0x1005cfd5
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 + 0x34]
lea ecx, [esp + 0x138]
push eax
push esi
push ebp
push dword [esp + 0x44]
mov dword [esp + 0x2c], eax
push dword [esp + 0x58]
call fcn.1005b730
mov eax, dword [esp + 0x1c]
add edi, 6
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x3f28], eax
add ebp, 6
mov dword [esp + 0x3f24], esi
lea eax, [edi + 4]
mov dword [esp + 0x3c], ebp
cmp eax, dword [esp + 0x64]
jbe 0x1005cdc0
mov edx, dword [esp + 0x28]
cmp dl, 0x18
jne 0x1005d11e
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov esi, dword [eax]
mov eax, ecx
sub eax, esi
sar eax, 3
cmp ebp, eax
jb 0x1005d065
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d061
cmp dword [eax], 0
jne 0x1005d061
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1005d08b
mov eax, dword [esi + ebp*8 + 4]
mov edx, dword [esi + ebp*8]
sub eax, 1
je 0x1005d07b
sub eax, 1
jne 0x1005d08b
shl edx, 0x10
jmp 0x1005d08b
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 0x1005d0be
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d0ba
cmp dword [eax], 0
jne 0x1005d0ba
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d0e4
mov ecx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
sub eax, 1
je 0x1005d0d4
sub eax, 1
jne 0x1005d0e4
shl ecx, 0x10
jmp 0x1005d0e4
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
add eax, ecx
push eax
mov edx, ebp
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x13c]
mov dword [esp + 0x3f2c], eax
call fcn.1005b5b0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
test al, al
je case.0x1005c811.0
cmp byte [esp + 0x2ec8], 0
je 0x1005d1c1
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005b5b0
cmp byte [esp + 0x2f18], 0
je 0x1005d1a1
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.1005b030
mov byte [esp + 0x2ecb], 1
mov byte [esp + 0x2ec8], 0
mov byte [esp + 0x2ec9], 0
mov byte [esp + 0x2f18], 0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x27], 1
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
mov eax, dword [esp + 0x68]
cmp eax, 0x10
jg 0x1006139a
inc eax
cmp eax, dword [esp + 0x98]
jb 0x1005d207
mov eax, dword [esp + 0x94]
test eax, eax
je 0x1005d205
cmp dword [eax], 0
jne 0x1005d205
mov dword [eax], 0x82
xor eax, eax
imul eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x80]
add ecx, eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x18], ecx
cmp eax, dword [esi]
jne 0x1005d23d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d239
cmp dword [eax], 0
jne 0x1005d239
mov dword [eax], 0xa1
xor eax, eax
jmp 0x1005d261
cmp dword [eax - 4], 2
je 0x1005d259
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d255
cmp dword [eax], 0
jne 0x1005d255
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1005d261
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
mov ebx, dword [esp + 0x40]
cmp byte [ebx + 8], 0
mov ebx, dword [esp + 0x70]
je 0x1005d29c
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x268]
test ecx, ecx
je 0x1005d298
push eax
call fcn.10047f50
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1005d293
mov eax, dword [eax]
jmp 0x1005d29c
or eax, 0xffffffff
jmp 0x1005d29c
mov ecx, dword [esp + 0x18]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
cmp dl, 0x1d
je 0x1005d35e
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x234]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x22c]
jae 0x1006139a
mov eax, dword [eax + 0x23c]
lea edx, [ecx*4]
mov ecx, dword [edx + eax]
mov eax, dword [esp + 0x18]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x30], 0
je 0x1005d331
mov eax, dword [eax + 0x264]
test eax, eax
je 0x1005d309
test ecx, ecx
je 0x1005d301
mov eax, dword [eax + edx]
add eax, ecx
mov ecx, dword [esp + 0x18]
jmp 0x1005d33f
mov ecx, dword [esp + 0x18]
xor eax, eax
jmp 0x1005d33f
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x64], 0
mov eax, dword [eax + 0x260]
test eax, eax
cmovs eax, dword [esp + 0x64]
add eax, ecx
mov ecx, dword [esp + 0x18]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x2c]
jmp 0x1005d335
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x23c]
mov eax, dword [eax + edx + 4]
inc dword [esp + 0x68]
mov edx, 8
mov dword [esp + 0x14], esi
mov dword [ecx + edx], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
mov dword [ecx + 0xc], eax
jmp 0x1005c6fc
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + 0x238]
add ecx, eax
cmp ecx, dword [edx + 0x230]
jae 0x1006139a
mov eax, dword [edx + 0x240]
mov edx, dword [esp + 0x18]
inc dword [esp + 0x68]
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, edx
mov dword [ecx + 8], eax
jmp 0x1005c6fc
mov edx, dword [esp + 0x68]
cmp edx, 1
jl 0x1006139a
dec edx
mov eax, edx
mov dword [esp + 0x68], edx
cmp edx, dword [esp + 0x98]
jb 0x1005d3da
mov edx, dword [esp + 0x94]
test edx, edx
je 0x1005d3d8
cmp dword [edx], 0
jne 0x1005d3d8
mov dword [edx], 0x82
xor eax, eax
mov ecx, dword [esp + 0x9c]
imul ecx, eax
add ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
jmp 0x1005c6f8
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x1005d404
mov dl, byte [eax]
inc eax
mov dword [ecx + 0xc], eax
jmp 0x1005d417
mov eax, dword [ecx]
test eax, eax
je 0x1005d415
cmp dword [eax], 0
jne 0x1005d415
mov dword [eax], 0x55
xor dl, dl
movzx ecx, dl
mov byte [esp + 0x33], dl
lea eax, [ecx - 8]
cmp eax, 0x1d
ja case.0x1005d431.9
movzx eax, byte [eax + 0x10061ba4]
jmp dword [eax*4 + 0x10061b8c]
push 0
push 0x101dfb70
jmp 0x1005d49e
push 0
push 0x101dfa14
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f34]
push eax
lea edx, [esp + 0x3f34]
call fcn.1005bc50
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x3f28]
mov ebp, dword [esp + 0x3f24]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ebp
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
push 0
push 0x101dfb9c
jmp 0x1005d49e
push 1
push 0x101dfd34
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f34]
push eax
lea edx, [esp + 0x3f34]
call fcn.1005bc50
mov edi, dword [esp + 0x3f28]
mov ebp, dword [esp + 0x3f24]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ebp
jmp 0x1005c6fc
mov eax, dword [esp + 0x40]
cmp byte [eax + 9], 0
jne case.0x1005d52c.0
cmp dl, 0x26
jae case.0x1005d52c.0
mov al, byte [eax + 8]
test al, al
je 0x1005d523
cmp dword [esp + 0x5c], 0
jle 0x1005d523
cmp dl, 0x11
je 0x1005d523
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x5c], 0
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
cmp ecx, 0x21
ja case.0x1005d52c.0
jmp dword [ecx*4 + 0x10061bc4]
test al, al
je case.0x1005d52c.0
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
mov eax, edx
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x1005d56b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d567
cmp dword [eax], 0
jne 0x1005d567
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor ebp, ebp
jmp 0x1005d58f
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x1005d57f
sub eax, 1
jne 0x1005d58f
shl ebp, 0x10
jmp 0x1005d58f
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov eax, edx
sub eax, ecx
sar eax, 3
cmp eax, 2
ja 0x1005d5bd
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d5b3
cmp dword [eax], 0
jne 0x1005d5b3
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x1005d5ea
mov eax, dword [ecx + 0x14]
mov esi, dword [ecx + 0x10]
mov dword [esp + 0x28], esi
sub eax, 1
je 0x1005d5d6
sub eax, 1
jne 0x1005d5ea
shl esi, 0x10
jmp 0x1005d5e6
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov dword [esp + 0x28], esi
mov eax, edx
sub eax, ecx
sar eax, 3
cmp eax, 4
ja 0x1005d612
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d60e
cmp dword [eax], 0
jne 0x1005d60e
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x1005d637
mov eax, dword [ecx + 0x24]
mov edi, dword [ecx + 0x20]
sub eax, 1
je 0x1005d627
sub eax, 1
jne 0x1005d637
shl edi, 0x10
jmp 0x1005d637
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, edx
sub eax, ecx
sar eax, 3
cmp eax, 1
ja 0x1005d65f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d65b
cmp dword [eax], 0
jne 0x1005d65b
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1005d684
mov eax, dword [ecx + 0xc]
mov esi, dword [ecx + 8]
sub eax, 1
je 0x1005d674
sub eax, 1
jne 0x1005d684
shl esi, 0x10
jmp 0x1005d684
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
sub edx, ecx
sar edx, 3
cmp edx, 2
jae 0x1005d6a2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d6ba
cmp dword [eax], 0
jne 0x1005d6ba
mov dword [eax], 0x82
jmp 0x1005d6ba
mov eax, dword [esp + 0x28]
sub eax, esi
sub eax, ebp
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [eax + 0x14], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov esi, dword [eax]
mov eax, ecx
sub eax, esi
sar eax, 3
cmp eax, 3
ja 0x1005d6eb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d6e7
cmp dword [eax], 0
jne 0x1005d6e7
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1005d710
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
sub eax, 1
je 0x1005d700
sub eax, 1
jne 0x1005d710
shl edx, 0x10
jmp 0x1005d710
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
sub ecx, esi
sar ecx, 3
cmp ecx, 4
jae 0x1005d732
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
test eax, eax
je 0x1005d748
cmp dword [eax], 0
jne 0x1005d748
mov dword [eax], 0x82
jmp 0x1005d748
sub edi, edx
sub edi, dword [esp + 0x28]
mov dword [esi + 0x20], edi
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [eax + 0x24], 0
cmp byte [esp + 0x33], 1
mov ebp, dword [esp + 0x2c]
mov eax, dword [ebp + 0x20]
jne 0x1005d75a
mov eax, dword [eax]
jmp 0x1005d75d
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.1005ba30
cmp byte [ebp + 0x224], 0
jne 0x100614e1
mov eax, dword [esi]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1005d7d0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d7cc
cmp dword [eax], 0
jne 0x1005d7cc
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1005d7fc
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005d7ec
sub eax, 1
jne 0x1005d7fc
shl edi, 0x10
jmp 0x1005d7fc
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1005d857
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d818
cmp dword [eax], 0
jne 0x1005d818
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor esi, esi
mov eax, dword [ebx + 0x10]
mov edi, dword [esp + 0x1c]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1005d973
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1005c6fc
cmp dword [eax], 0
mov edi, dword [esp + 0x1c]
jne 0x1005c6fc
mov dword [eax], 0x82
jmp 0x1005c6fc
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005d871
sub eax, 1
jne 0x1005d881
shl esi, 0x10
jmp 0x1005d881
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
test esi, esi
je 0x1005d818
test edi, edi
je 0x1005d818
mov esi, 1
jmp 0x1005d81a
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1005d8b9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d8b5
cmp dword [eax], 0
jne 0x1005d8b5
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1005d8e5
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005d8d5
sub eax, 1
jne 0x1005d8e5
shl edi, 0x10
jmp 0x1005d8e5
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1005d903
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d931
cmp dword [eax], 0
jne 0x1005d931
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
jmp 0x1005d931
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005d91d
sub eax, 1
jne 0x1005d92d
shl esi, 0x10
jmp 0x1005d92d
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
test esi, esi
jne 0x1005d939
test edi, edi
jne 0x1005d939
xor esi, esi
jmp 0x1005d93e
mov esi, 1
mov eax, dword [ebx + 0x10]
mov edi, dword [esp + 0x1c]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1005d973
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1005c6fc
cmp dword [eax], 0
jne 0x1005c6fc
mov dword [eax], 0x82
jmp 0x1005c6fc
mov dword [ecx], esi
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1005c6fc
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov esi, dword [eax]
cmp ecx, esi
jne 0x1005d9b9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d9b5
cmp dword [eax], 0
jne 0x1005d9b5
mov dword [eax], 0xa1
mov esi, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor edx, edx
jmp 0x1005d9e5
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005d9d5
sub eax, 1
jne 0x1005d9e5
shl edx, 0x10
jmp 0x1005d9e5
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [esi + eax*8]
mov esi, dword [esp + 0x14]
cmp ecx, eax
jne 0x1005da1e
mov ecx, dword [esp + 0x18]
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005c6fc
cmp dword [eax], 0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jne 0x1005c6fc
mov dword [eax], 0x82
jmp 0x1005c6fc
xor eax, eax
test edx, edx
sete al
mov dword [ecx], eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1005c6fc
test al, al
je case.0x1005d52c.0
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov eax, dword [eax + 4]
mov dword [esp + 0x50], eax
cmp ecx, edx
jne 0x1006122a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005da77
cmp dword [eax], 0
jne 0x1005da77
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x1006125e
mov esi, dword [esp + 0x14]
test al, al
je 0x1005c9c3
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esi]
jne 0x1005daad
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005daa9
cmp dword [eax], 0
jne 0x1005daa9
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005dad7
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005dac7
sub eax, 1
jne 0x1005dad7
shl ecx, 0x10
jmp 0x1005dad7
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x24]
mov dword [eax + 4], ecx
mov edx, dword [ebx + 0xc]
cmp edx, dword [esi]
jne 0x1005dafe
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dafa
cmp dword [eax], 0
jne 0x1005dafa
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005db28
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005db18
sub eax, 1
jne 0x1005db28
shl ecx, 0x10
jmp 0x1005db28
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x24]
mov dword [eax], ecx
mov ecx, dword [ebx + 0xc]
mov esi, dword [esi]
cmp ecx, esi
jne 0x1005db56
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005db52
cmp dword [eax], 0
jne 0x1005db52
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1005db80
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005db70
sub eax, 1
jne 0x1005db80
shl edx, 0x10
jmp 0x1005db80
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
cmp ecx, esi
jne 0x1005db9a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005db96
cmp dword [eax], 0
jne 0x1005db96
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005dbc4
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005dbb4
sub eax, 1
jne 0x1005dbc4
shl ecx, 0x10
jmp 0x1005dbc4
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 0x100614e1
cmp byte [esp + 0x32], 0
mov esi, dword [esp + 0x14]
je 0x1005c9c3
mov eax, dword [esi]
add ebp, ecx
mov ecx, dword [esp + 0x18]
add edi, edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x3f24], ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x3f28], edi
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [eax]
jne 0x1005dc90
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dc36
cmp dword [eax], 0
jne 0x1005dc36
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 0x1005f37d
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1005c6fc
cmp dword [eax], 0
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jne 0x1005c6fc
mov dword [eax], 0x82
jmp 0x1005c6fc
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005dcaa
sub eax, 1
jne 0x1005dcba
shl ecx, 0x10
jmp 0x1005dcba
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 0x1005dc41
lea eax, [edi*8]
add eax, ebp
cmp esi, eax
jne 0x1005dd0b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f86b
cmp dword [eax], 0
mov esi, dword [esp + 0x14]
jne 0x1005f86f
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
jmp 0x1005c6fc
mov dword [esi], 0x7fffffff
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1005c6fc
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1005dd5d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dd59
cmp dword [eax], 0
jne 0x1005dd59
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1005dd89
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005dd79
sub eax, 1
jne 0x1005dd89
shl edi, 0x10
jmp 0x1005dd89
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1005dda9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dda5
cmp dword [eax], 0
jne 0x1005dda5
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor esi, esi
jmp 0x1005ddd3
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005ddc3
sub eax, 1
jne 0x1005ddd3
shl esi, 0x10
jmp 0x1005ddd3
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1005dde6
mov edi, dword [esp + 0x1c]
jmp 0x1005d82c
lea eax, [esi + edi]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1005c6fc
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1005de33
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005de2f
cmp dword [eax], 0
jne 0x1005de2f
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1005de5f
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005de4f
sub eax, 1
jne 0x1005de5f
shl edi, 0x10
jmp 0x1005de5f
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1005de7f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005de7b
cmp dword [eax], 0
jne 0x1005de7b
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor esi, esi
jmp 0x1005dea9
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005de99
sub eax, 1
jne 0x1005dea9
shl esi, 0x10
jmp 0x1005dea9
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1005debc
mov edi, dword [esp + 0x1c]
jmp 0x1005d82c
sub esi, edi
mov edi, dword [esp + 0x1c]
mov dword [ecx], esi
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1005c6fc
test al, al
je 0x1005df98
cmp byte [esp + 0x44], 0
je 0x1005df98
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x1005df18
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005df14
cmp dword [eax], 0
jne 0x1005df14
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x1005df3f
cmp dword [eax - 4], 2
je 0x1005df37
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005df33
cmp dword [eax], 0
jne 0x1005df33
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x1005df3f
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, ecx
jne 0x1005df63
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005df58
cmp dword [eax], 0
jne 0x1005df58
mov dword [eax], 0xa1
xor ecx, ecx
mov byte [esp + 0x44], cl
jmp 0x1005e02f
cmp dword [eax - 4], 2
je 0x1005df86
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005df7b
cmp dword [eax], 0
jne 0x1005df7b
mov dword [eax], 0xa0
xor ecx, ecx
mov byte [esp + 0x44], cl
jmp 0x1005e02f
add eax, 0xfffffff8
mov byte [esp + 0x44], 0
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
jmp 0x1005e02f
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov esi, dword [eax]
cmp ecx, esi
jne 0x1005dfc1
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dfbd
cmp dword [eax], 0
jne 0x1005dfbd
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1005dfeb
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005dfdb
sub eax, 1
jne 0x1005dfeb
shl edx, 0x10
jmp 0x1005dfeb
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
cmp ecx, esi
jne 0x1005e005
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e001
cmp dword [eax], 0
jne 0x1005e001
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e02f
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005e01f
sub eax, 1
jne 0x1005e02f
shl ecx, 0x10
jmp 0x1005e02f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.10047020
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 0xc]
mov ecx, dword [ecx]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x1005f37d
mov esi, dword [esp + 0x14]
jmp 0x1005d9f3
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [eax]
jne 0x1005e0a6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e071
cmp dword [eax], 0
jne 0x1005e071
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]
mov esi, dword [esp + 0x14]
cmp edx, eax
je 0x1005d9f3
neg ecx
mov dword [edx], ecx
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1005c6fc
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005e0c0
sub eax, 1
jne 0x1005e0d0
shl ecx, 0x10
jmp 0x1005e0d0
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 0x1005e07c
lea eax, [esi + eax*8]
cmp edx, eax
jne 0x1005e10f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f86b
mov esi, dword [esp + 0x14]
cmp dword [eax], 0
jne 0x1005f86f
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
jmp 0x1005c6fc
mov dword [edx], 0x7fffffff
jmp 0x1005f6e5
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1005e143
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e13f
cmp dword [eax], 0
jne 0x1005e13f
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1005e16f
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005e15f
sub eax, 1
jne 0x1005e16f
shl edi, 0x10
jmp 0x1005e16f
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1005e18f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e18b
cmp dword [eax], 0
jne 0x1005e18b
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor esi, esi
jmp 0x1005e1b9
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005e1a9
sub eax, 1
jne 0x1005e1b9
shl esi, 0x10
jmp 0x1005e1b9
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1005e1cc
mov edi, dword [esp + 0x1c]
jmp 0x1005d82c
xor eax, eax
cmp esi, edi
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
sete al
mov dword [ecx], eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1005c6fc
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test al, al
je 0x1005c6fc
mov eax, dword [ebx + 0xc]
mov ecx, esi
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x1005e228
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e224
cmp dword [eax], 0
jne 0x1005e224
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1005e24f
cmp dword [eax - 4], 2
je 0x1005e247
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e243
cmp dword [eax], 0
jne 0x1005e243
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1005e24f
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, ecx
jne 0x1005e26f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e26b
cmp dword [eax], 0
jne 0x1005e26b
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x1005e296
cmp dword [eax - 4], 2
je 0x1005e28e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e28a
cmp dword [eax], 0
jne 0x1005e28a
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x1005e296
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov edx, dword [ebx + 0xc]
xor eax, eax
mov ebp, edx
mov dword [esp + 0x28], edi
sub ebp, ecx
mov dword [esp + 0x4c], eax
sar ebp, 3
sub ebp, edi
mov dword [esp + 0x5c], eax
mov dword [esp + 0x38], ebp
cmp esi, 0x1c
ja case.0x1005e2c4.4
movzx eax, byte [esi + 0x10061c8c]
jmp dword [eax*4 + 0x10061c4c]
cmp edi, 3
jne 0x1006139a
cmp byte [esp + 0x32], 0
je 0x1005e2f9
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x1d4], 0
je 0x1006139a
cmp dword [eax + 0x1d8], 7
jne 0x1006139a
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x1005e31e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e318
cmp dword [eax], 0
jne 0x1005e318
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ebp, dword [esp + 0x20]
jmp 0x1005e335
mov ebp, dword [esp + 0x20]
mov dword [edx], ebp
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov edx, dword [ebx + 0xc]
mov esi, dword [esp + 0x14]
mov ecx, dword [ebx + 0x10]
mov edi, dword [esp + 0x1c]
mov eax, dword [esi]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x1005e36c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e37c
cmp dword [eax], 0
jne 0x1005e37c
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
mov dword [esp + 0x4c], 2
jmp 0x1005c6fc
mov dword [edx], edi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x4c], 2
jmp 0x1005c6fc
test edi, edi
jne 0x1006139a
cmp byte [esp + 0x32], 0
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
je 0x1005c6fc
mov ebp, dword [esp + 0x2c]
mov esi, dword [ebp + 0xc]
movsx eax, word [esi + 0x16]
movsx ecx, word [esi + 0x3a]
add eax, 6
add eax, ecx
cmp eax, dword [esi + 4]
jbe 0x1005e3df
push 0
mov edx, 6
mov ecx, esi
call fcn.10047730
test eax, eax
jne 0x100614e1
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [ebp + 0x1d4], 1
mov dword [ebp + 0x1d8], 0
mov ebp, dword [esp + 0x20]
jmp 0x1005c6fc
test edi, edi
jne 0x1006139a
cmp byte [esp + 0x32], 0
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
je 0x1005c6fc
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 0x1d4], 0
je 0x1006139a
mov esi, dword [ecx + 0x1d8]
lea eax, [esi + 1]
mov dword [ecx + 0x1d8], eax
lea eax, [esi - 1]
cmp eax, 5
ja 0x1005f86b
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 0x1005e480
push 0
mov edx, 1
mov ecx, edi
call fcn.10047730
test eax, eax
jne 0x1006139a
lea eax, [esi - 3]
cmp esi, 3
jg 0x1005e48a
mov eax, esi
mov ebp, dword [esp + 0x20]
add eax, eax
mov edi, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x3e68], ebp
mov dword [esp + eax*4 + 0x3e6c], edi
cmp esi, 3
je 0x1005e4b0
cmp esi, 6
jne 0x1005f86b
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.1005b730
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1005c6fc
cmp edi, 1
jne 0x1006139a
cmp byte [esp + 0x32], 0
je 0x1005e553
mov eax, dword [esp + 0x6c]
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 esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x4c], 1
jmp 0x1005c6fc
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov dword [ebx + 0xc], ecx
mov ecx, dword [esp + 0x18]
jmp 0x1005c6fc
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x284]
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x1006139a
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 + 0x4c], edx
cmp edi, eax
jne 0x1006139a
lea edi, [edx + ebp]
test edx, edx
je 0x1005e6fe
mov dword [esp + 0x48], edx
nop dword [eax + eax]
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, esi
sar eax, 3
cmp ebp, eax
jb 0x1005e5f8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e5f4
cmp dword [eax], 0
jne 0x1005e5f4
mov dword [eax], 0x82
xor esi, esi
jmp 0x1005e61e
mov eax, dword [esi + ebp*8 + 4]
mov esi, dword [esi + ebp*8]
sub eax, 1
je 0x1005e60e
sub eax, 1
jne 0x1005e61e
shl esi, 0x10
jmp 0x1005e61e
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp dword [ecx], 1
jbe 0x1005e6b1
mov ebp, 1
mov dword [esp + 0x34], 4
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, edx
sar eax, 3
cmp edi, eax
jb 0x1005e65c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e658
cmp dword [eax], 0
jne 0x1005e658
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005e682
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1005e672
sub eax, 1
jne 0x1005e682
shl ecx, 0x10
jmp 0x1005e682
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x34]
mov edx, dword [edx + 0x88]
mov edx, dword [eax + edx]
call fcn.1003e8a0
mov ecx, dword [esp + 0x3c]
inc ebp
add dword [esp + 0x34], 4
add esi, eax
inc edi
cmp ebp, dword [ecx]
jb 0x1005e634
mov ebp, dword [esp + 0x38]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp ebp, eax
jbe 0x1005e6d7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e6e8
cmp dword [eax], 0
jne 0x1005e6e8
mov dword [eax], 0x82
jmp 0x1005e6e8
mov eax, dword [esp + 0x14]
mov dword [ecx + ebp*8], esi
mov eax, dword [eax]
mov dword [eax + ebp*8 + 4], 0
mov ecx, dword [esp + 0x3c]
inc ebp
sub edx, 1
mov dword [esp + 0x38], ebp
mov dword [esp + 0x48], edx
jne 0x1005e5d0
mov esi, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [esp + 0x28]
sub edx, dword [esp + 0x4c]
sub eax, dword [esi]
sar eax, 3
cmp edx, eax
jbe 0x1005e743
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060a25
cmp dword [eax], 0
jne 0x10060a25
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [eax], 0xa1
jmp 0x1005c6fc
mov ebp, dword [esp + 0x20]
lea eax, [edx*8]
mov edi, dword [esp + 0x1c]
sub ecx, eax
mov dword [ebx + 0xc], ecx
mov ecx, dword [esp + 0x18]
jmp 0x1005c6fc
mov ebp, dword [esp + 0x2c]
mov esi, dword [ebp + 0x284]
cmp edi, 1
jne 0x1006139a
test esi, esi
je 0x1006139a
cmp edx, ecx
jne 0x1005e795
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e791
cmp dword [eax], 0
jne 0x1005e791
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e7c1
cmp dword [edx - 4], 2
je 0x1005e7b1
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e7ad
cmp dword [eax], 0
jne 0x1005e7ad
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005e7c1
lea eax, [edx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x1006139a
mov edx, dword [esi]
lea eax, [edx + ecx]
cmp eax, dword [ebp + 0x28c]
ja 0x1006139a
lea eax, [edx*4]
push eax
mov eax, dword [ebp + 0x288]
push dword [esi + 0x88]
lea eax, [eax + ecx*4]
push eax
call fcn.1019ead0
mov esi, dword [esp + 0x20]
add esp, 0xc
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1005c6fc
cmp edi, 2
jne 0x1006139a
cmp edx, ecx
jne 0x1005e830
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e82c
cmp dword [eax], 0
jne 0x1005e82c
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x1005e85c
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [edx]
sub eax, 1
je 0x1005e84c
sub eax, 1
jne 0x1005e85c
shl edi, 0x10
jmp 0x1005e85c
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp edx, ecx
jne 0x1005e87c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e878
cmp dword [eax], 0
jne 0x1005e878
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x1005e8a6
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x1005e896
sub eax, 1
jne 0x1005e8a6
shl esi, 0x10
jmp 0x1005e8a6
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x1005e8df
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e8f2
cmp dword [eax], 0
jne 0x1005e8f2
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
mov dword [esp + 0x4c], 1
jmp 0x1005c6fc
lea eax, [esi + edi]
mov dword [edx], eax
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x4c], 1
jmp 0x1005c6fc
cmp edi, 2
jne 0x1006139a
cmp edx, ecx
jne 0x1005e938
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e934
cmp dword [eax], 0
jne 0x1005e934
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x1005e964
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [edx]
sub eax, 1
je 0x1005e954
sub eax, 1
jne 0x1005e964
shl edi, 0x10
jmp 0x1005e964
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp edx, ecx
jne 0x1005e984
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e980
cmp dword [eax], 0
jne 0x1005e980
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x1005e9ae
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x1005e99e
sub eax, 1
jne 0x1005e9ae
shl esi, 0x10
jmp 0x1005e9ae
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x1005e9d7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e8f2
cmp dword [eax], 0
jne 0x1005e8f2
mov dword [eax], 0x82
jmp 0x1005e8f2
sub esi, edi
mov dword [edx], esi
jmp 0x1005e8e4
cmp edi, 2
jne 0x1006139a
cmp edx, ecx
jne 0x1005ea09
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ea05
cmp dword [eax], 0
jne 0x1005ea05
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1005ea35
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov esi, dword [edx]
sub eax, 1
je 0x1005ea25
sub eax, 1
jne 0x1005ea35
shl esi, 0x10
jmp 0x1005ea35
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp edx, ecx
jne 0x1005ea4f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ea4b
cmp dword [eax], 0
jne 0x1005ea4b
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005ea79
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005ea69
sub eax, 1
jne 0x1005ea79
shl ecx, 0x10
jmp 0x1005ea79
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, esi
call fcn.1003e8a0
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 0xc]
mov ecx, dword [ecx]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x1005eab2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e8f2
cmp dword [eax], 0
jne 0x1005e8f2
mov dword [eax], 0x82
jmp 0x1005e8f2
mov dword [esi], eax
jmp 0x1005e8e4
cmp edi, 2
jne 0x1006139a
cmp edx, ecx
jne 0x1005eae2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eade
cmp dword [eax], 0
jne 0x1005eade
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1005eb0e
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov esi, dword [edx]
sub eax, 1
je 0x1005eafe
sub eax, 1
jne 0x1005eb0e
shl esi, 0x10
jmp 0x1005eb0e
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp edx, ecx
jne 0x1005eb28
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eb24
cmp dword [eax], 0
jne 0x1005eb24
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005eb52
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005eb42
sub eax, 1
jne 0x1005eb52
shl ecx, 0x10
jmp 0x1005eb52
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test esi, esi
je 0x1006139a
mov edx, esi
call fcn.10047020
jmp 0x1005ea80
cmp edi, 2
jne 0x1006139a
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x1006139a
cmp edx, ecx
jne 0x1005eb9a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eb96
cmp dword [eax], 0
jne 0x1005eb96
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005ebc6
cmp dword [edx - 4], 2
je 0x1005ebb6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ebb2
cmp dword [eax], 0
jne 0x1005ebb2
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005ebc6
lea eax, [edx - 8]
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
test edx, edx
js 0x1006139a
cmp edx, dword [ebp + 0x28c]
jae 0x1006139a
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
cmp esi, dword [eax]
jne 0x1005ec0f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ebef
cmp dword [eax], 0
jne 0x1005ebef
mov dword [eax], 0xa1
mov eax, dword [ebp + 0x288]
xor ecx, ecx
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov dword [eax + edx*4], ecx
mov ecx, dword [esp + 0x18]
jmp 0x1005c6fc
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005ec45
sub eax, 1
jne 0x1005ec55
mov eax, dword [ebp + 0x288]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
shl ecx, 0x10
mov dword [eax + edx*4], ecx
mov ecx, dword [esp + 0x18]
jmp 0x1005c6fc
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [ebp + 0x288]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov dword [eax + edx*4], ecx
mov ecx, dword [esp + 0x18]
jmp 0x1005c6fc
cmp edi, 1
jne 0x1006139a
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x1006139a
cmp edx, ecx
jne 0x1005eca7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eca3
cmp dword [eax], 0
jne 0x1005eca3
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005ecd3
cmp dword [edx - 4], 2
je 0x1005ecc3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ecbf
cmp dword [eax], 0
jne 0x1005ecbf
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005ecd3
lea eax, [edx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x1006139a
cmp ecx, dword [ebp + 0x28c]
jae 0x1006139a
mov eax, dword [ebp + 0x288]
mov esi, dword [eax + ecx*4]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x1005e9d9
jmp 0x1005ea93
cmp edi, 4
jne 0x1006139a
cmp edx, ecx
jne 0x1005ed33
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ed29
cmp dword [eax], 0
jne 0x1005ed29
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x1005ed6f
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
sub eax, 1
je 0x1005ed59
sub eax, 1
mov eax, dword [edx]
je 0x1005ed50
mov dword [esp + 0x28], eax
jmp 0x1005ed6f
shl eax, 0x10
mov dword [esp + 0x28], eax
jmp 0x1005ed6f
mov ebp, dword [edx]
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov dword [esp + 0x28], ebp
cmp edx, ecx
jne 0x1005ed8f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ed8b
cmp dword [eax], 0
jne 0x1005ed8b
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor ebp, ebp
jmp 0x1005edb9
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ebp, dword [edx]
sub eax, 1
je 0x1005eda9
sub eax, 1
jne 0x1005edb9
shl ebp, 0x10
jmp 0x1005edb9
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp edx, ecx
jne 0x1005edd9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005edd5
cmp dword [eax], 0
jne 0x1005edd5
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1005ee03
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x1005edf3
sub eax, 1
jne 0x1005ee03
shl esi, 0x10
jmp 0x1005ee03
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp edx, ecx
jne 0x1005ee23
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ee1f
cmp dword [eax], 0
jne 0x1005ee1f
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor edi, edi
jmp 0x1005ee4d
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edi, dword [edx]
sub eax, 1
je 0x1005ee3d
sub eax, 1
jne 0x1005ee4d
shl edi, 0x10
jmp 0x1005ee4d
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
je 0x1005ea93
cmp ebp, dword [esp + 0x28]
cmovle esi, edi
mov dword [edx], esi
jmp 0x1005e8e4
test edi, edi
jne 0x1006139a
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
jmp 0x1005ece8
mov ebp, dword [esp + 0x28]
test ebp, ebp
js 0x1006139a
test esi, esi
js 0x1006139a
cmp ebp, 3
jle 0x1005eec9
mov ebp, 3
mov dword [esp + 0x5c], ebp
jmp 0x1005eeda
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x5c], ebp
cmp ebp, 1
jl 0x1005c6f0
lea edi, [esp + ebp*4 + 0x3e5c]
cmp edx, ecx
jne 0x1005ef04
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ef00
cmp dword [eax], 0
jne 0x1005ef00
mov dword [eax], 0xa1
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x1005ef2e
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x1005ef1e
sub eax, 1
jne 0x1005ef2e
shl esi, 0x10
jmp 0x1005ef2e
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov dword [edi], esi
sub edi, 4
sub ebp, 1
jne 0x1005eee1
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1005c6fc
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test al, al
je 0x1005c6fc
mov edx, dword [esp + 0x4c]
test edx, edx
jle 0x1005ef6f
dec edx
mov dword [esp + 0x4c], edx
jmp 0x1005c6fc
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x1006139a
mov esi, dword [esp + eax*4 + 0x3e5c]
dec eax
mov dword [esp + 0x5c], eax
mov edx, dword [ebx + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x10]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x1005f611
mov esi, dword [esp + 0x14]
jmp 0x1005d9f3
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
cmp eax, dword [esi]
jne 0x1005efd5
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1005c6fc
cmp dword [eax], 0
jne 0x1005c6fc
mov dword [eax], 0xa1
jmp 0x1005c6fc
mov ecx, dword [esp + 0x18]
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x1005f00a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f006
cmp dword [eax], 0
jne 0x1005f006
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1005f031
cmp dword [eax - 4], 2
je 0x1005f029
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f025
cmp dword [eax], 0
jne 0x1005f025
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1005f031
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov edx, dword [ebx + 0xc]
cmp edx, ecx
jne 0x1005f04e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f04a
cmp dword [eax], 0
jne 0x1005f04a
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f078
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005f068
sub eax, 1
jne 0x1005f078
shl ecx, 0x10
jmp 0x1005f078
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp esi, 0x1f
ja 0x1005c6f4
mov dword [esp + esi*4 + 0x3e88], ecx
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1005c6fc
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
cmp eax, dword [esi]
jne 0x1005f0c0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f0b2
cmp dword [eax], 0
jne 0x1005f0b2
mov dword [eax], 0xa1
xor eax, eax
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005ef87
cmp dword [eax - 4], 2
je 0x1005f0e6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f0d8
cmp dword [eax], 0
jne 0x1005f0d8
mov dword [eax], 0xa0
xor eax, eax
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005ef87
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x1005f86f
cmp eax, 0x20
jge 0x1005f86f
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005ef87
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1005f13a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f130
cmp dword [eax], 0
jne 0x1005f130
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x1005f176
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
sub eax, 1
je 0x1005f160
sub eax, 1
mov eax, dword [ecx]
je 0x1005f157
mov dword [esp + 0x28], eax
jmp 0x1005f176
shl eax, 0x10
mov dword [esp + 0x28], eax
jmp 0x1005f176
mov ebp, dword [ecx]
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov dword [esp + 0x28], ebp
cmp ecx, edx
jne 0x1005f196
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f192
cmp dword [eax], 0
jne 0x1005f192
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor ebp, ebp
jmp 0x1005f1c0
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x1005f1b0
sub eax, 1
jne 0x1005f1c0
shl ebp, 0x10
jmp 0x1005f1c0
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp ecx, edx
jne 0x1005f1e0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f1dc
cmp dword [eax], 0
jne 0x1005f1dc
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor esi, esi
jmp 0x1005f20a
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005f1fa
sub eax, 1
jne 0x1005f20a
shl esi, 0x10
jmp 0x1005f20a
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp ecx, edx
jne 0x1005f22a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f226
cmp dword [eax], 0
jne 0x1005f226
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor edi, edi
jmp 0x1005f254
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005f244
sub eax, 1
jne 0x1005f254
shl edi, 0x10
jmp 0x1005f254
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1005f26b
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jmp 0x1005dc61
cmp ebp, dword [esp + 0x28]
cmovle esi, edi
mov dword [ecx], esi
jmp 0x1005dd11
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 eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
je 0x1005e0e8
mov dword [edx], esi
jmp 0x1005f6e5
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1005f2ef
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f2eb
cmp dword [eax], 0
jne 0x1005f2eb
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor esi, esi
jmp 0x1005f31b
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005f30b
sub eax, 1
jne 0x1005f31b
shl esi, 0x10
jmp 0x1005f31b
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp ecx, edx
jne 0x1005f335
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f331
cmp dword [eax], 0
jne 0x1005f331
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f35f
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005f34f
sub eax, 1
jne 0x1005f35f
shl ecx, 0x10
jmp 0x1005f35f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, esi
call fcn.1003e8a0
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 0xc]
mov ecx, dword [ecx]
lea ecx, [ecx + edx*8]
cmp esi, ecx
je 0x1005e0e8
mov dword [esi], eax
jmp 0x1005f6e5
mov esi, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
mov dword [esp + 0x3c], edx
cmp ecx, edx
jne 0x1005f3e8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f3a7
cmp dword [eax], 0
jne 0x1005f3a7
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor edi, edi
mov eax, dword [ebx + 0x10]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1005f475
mov eax, dword [ebx + 4]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1005c6fc
cmp dword [eax], 0
jne 0x1005c6fc
mov dword [eax], 0x82
jmp 0x1005c6fc
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov dword [esp + 0x34], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x1005f406
sub eax, 1
jne 0x1005f41e
shl ebp, 0x10
jmp 0x1005f416
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3c], edx
test ebp, ebp
jle 0x1005f3ad
mov eax, ebp
mov esi, ebp
sar eax, 1
mov ecx, ebp
cmp ebp, 0xa
cmovge esi, eax
mov edx, esi
call fcn.10047020
lea edi, [esi + 1]
add edi, eax
sar edi, 1
cmp edi, esi
je 0x1005f464
mov edx, edi
mov ecx, ebp
mov esi, edi
call fcn.10047020
inc edi
add edi, eax
sar edi, 1
cmp edi, esi
jne 0x1005f442
mov esi, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
jmp 0x1005f3af
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
jmp 0x1005f3af
mov ebp, dword [esp + 0x20]
mov dword [ecx], edi
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1005c6fc
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
cmp edx, ecx
jne 0x1005f4bf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f4bb
cmp dword [eax], 0
jne 0x1005f4bb
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x1005f4eb
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov esi, dword [edx]
sub eax, 1
je 0x1005f4db
sub eax, 1
jne 0x1005f4eb
shl esi, 0x10
jmp 0x1005f4eb
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x1005f514
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ef8a
cmp dword [eax], 0
jne 0x1005ef8a
mov dword [eax], 0x82
jmp 0x1005ef87
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1005ef87
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
cmp edx, ecx
jne 0x1005f552
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f54e
cmp dword [eax], 0
jne 0x1005f54e
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x1005f57e
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [edx]
sub eax, 1
je 0x1005f56e
sub eax, 1
jne 0x1005f57e
shl edi, 0x10
jmp 0x1005f57e
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp edx, ecx
jne 0x1005f59e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f59a
cmp dword [eax], 0
jne 0x1005f59a
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x1005f5c8
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x1005f5b8
sub eax, 1
jne 0x1005f5c8
shl esi, 0x10
jmp 0x1005f5c8
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x1005f5e6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f5f9
cmp dword [eax], 0
jne 0x1005f5f9
mov dword [eax], 0x82
jmp 0x1005f5f6
mov dword [edx], edi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov edx, dword [ebx + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x10]
mov edi, dword [esp + 0x1c]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
je 0x1005d82c
mov dword [edx], esi
jmp 0x1005f6e5
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x1005f63e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f63a
cmp dword [eax], 0
jne 0x1005f63a
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x1005f665
cmp dword [eax - 4], 2
je 0x1005f65d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f659
cmp dword [eax], 0
jne 0x1005f659
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x1005f665
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov esi, dword [ebx + 0xc]
mov eax, esi
sub eax, ecx
sar eax, 3
test eax, eax
je 0x1005c6f4
test edx, edx
jns 0x1005f680
lea edi, [eax - 1]
jmp 0x1005f6a1
cmp edx, eax
jb 0x1005f69c
xor edi, edi
mov eax, dword [ecx + edi*8 + 4]
mov edx, dword [ecx + edi*8]
sub eax, 1
je 0x1005f6c1
sub eax, 1
jne 0x1005f6d1
shl edx, 0x10
jmp 0x1005f6d1
mov edi, eax
sub edi, edx
dec edi
cmp edi, eax
jb 0x1005f686
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f6bd
cmp dword [eax], 0
jne 0x1005f6bd
mov dword [eax], 0x82
mov ecx, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
xor edx, edx
jmp 0x1005f6d1
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [ebx + 0x10]
mov edi, dword [esp + 0x1c]
lea eax, [ecx + eax*8]
cmp esi, eax
je 0x1005d82c
mov dword [esi], edx
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1005c6fc
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [esi]
cmp eax, ecx
jne 0x1005f726
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f722
cmp dword [eax], 0
jne 0x1005f722
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x1005f74d
cmp dword [eax - 4], 2
je 0x1005f745
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f741
cmp dword [eax], 0
jne 0x1005f741
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x1005f74d
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, ecx
jne 0x1005f77f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f766
cmp dword [eax], 0
jne 0x1005f766
mov dword [eax], 0xa1
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 2
jmp 0x1005c6fc
cmp dword [eax - 4], 2
je 0x1005f7b0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f797
cmp dword [eax], 0
jne 0x1005f797
mov dword [eax], 0xa0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 2
jmp 0x1005c6fc
add eax, 0xfffffff8
mov dword [esp + 0x34], 0
mov dword [ebx + 0xc], eax
mov dword [esp + 0x3c], 2
mov ecx, dword [eax]
mov dword [esp + 0x38], ecx
cmp ecx, 2
jl 0x1005f86f
sub eax, dword [esi]
sar eax, 3
cmp ecx, eax
jbe 0x1005f7ee
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f86f
jmp 0x1005e0f7
test edx, edx
jns 0x1005f803
neg edx
mov eax, edx
cdq
idiv ecx
mov edi, edx
neg edi
mov dword [esp + 0x48], edi
jmp 0x1005f80e
mov eax, edx
cdq
idiv ecx
mov edi, edx
mov dword [esp + 0x48], edx
test edi, edi
je 0x1005f86f
or ebp, 0xffffffff
lea ebx, [edi*8]
mov dword [esp + 0x64], ebx
lea eax, [ecx*8]
mov ebx, ecx
mov dword [esp + 0x54], eax
or edx, ebp
mov dword [esp + 0x28], ebx
lea esi, [ebp - 7]
mov ecx, dword [esp + 0x50]
mov edi, dword [ecx]
cmp ebp, edx
jne 0x1005f859
inc ebp
mov ecx, dword [edi + ebp*8]
lea esi, [ebp*8]
mov dword [esp + 0x34], ecx
mov edx, ebp
mov ecx, dword [edi + esi + 4]
mov dword [esp + 0x3c], ecx
add edx, dword [esp + 0x48]
add esi, dword [esp + 0x64]
cmp edx, ebx
jl 0x1005f880
sub edx, ebx
sub esi, eax
jmp 0x1005f888
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1005c6fc
test edx, edx
jns 0x1005f888
add edx, ebx
add esi, eax
sub dword [esp + 0x38], 1
mov eax, dword [esi + edi]
mov ecx, dword [esi + edi + 4]
mov ebx, dword [esp + 0x34]
mov dword [esi + edi], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esi + edi + 4], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x3c], ecx
jne 0x1005f836
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1005c6fc
test al, al
je case.0x1005d52c.0
cmp byte [esp + 0x32], 0
je case.0x1005d52c.0
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1005f90a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f906
cmp dword [eax], 0
jne 0x1005f906
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1005f938
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
mov dword [esp + 0x1c], edi
sub eax, 1
je 0x1005f928
sub eax, 1
jne 0x1005f93c
shl edi, 0x10
jmp 0x1005f938
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov dword [esp + 0x1c], edi
mov dword [esp + 0x3f28], edi
cmp ecx, edx
jne 0x1005f95d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f959
cmp dword [eax], 0
jne 0x1005f959
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1005f98b
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
mov dword [esp + 0x20], esi
sub eax, 1
je 0x1005f97b
sub eax, 1
jne 0x1005f98f
shl esi, 0x10
jmp 0x1005f98b
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov dword [esp + 0x20], esi
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x3f24], esi
mov dword [eax + 0x1d4], 0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
mov esi, dword [esp + 0x14]
test al, al
je 0x1005c9c7
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esi]
jne 0x1005f9e3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f9df
cmp dword [eax], 0
jne 0x1005f9df
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005fa0d
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005f9fd
sub eax, 1
jne 0x1005fa0d
shl ecx, 0x10
jmp 0x1005fa0d
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 [esi]
jne 0x1005fa3d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fa39
cmp dword [eax], 0
jne 0x1005fa39
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005fa67
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005fa57
sub eax, 1
jne 0x1005fa67
shl ecx, 0x10
jmp 0x1005fa67
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 0x100614e1
cmp byte [esp + 0x32], 0
je 0x1005c9c3
mov eax, dword [esi]
add ebp, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x3f24], ebp
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
test al, al
je 0x10061686
test ah, ah
jne 0x10061686
cmp byte [esp + 0x2ec8], ah
je 0x1005fb2d
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005b5b0
cmp byte [esp + 0x2f18], 0
je 0x1005fb15
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.1005b030
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], edi
mov dword [esp + 0x2f04], edi
mov byte [esp + 0x2ecb], 1
je 0x1005fb68
cmp byte [eax + 5], 0
je 0x1005fb8c
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005a650
mov edx, dword [esp + 0x68]
lea esi, [esp + 0x140]
mov eax, dword [esp + 0x6c]
xorps xmm0, xmm0
mov byte [esp + 0x32], 1
mov ecx, 0x3c7
mov dword [esp + 0xb4], 0
lea edi, [esp + 0x105c]
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
rep movsd dword es:[edi], dword [esi]
test edx, edx
jle 0x1005fc54
mov ebp, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov esi, dword [esp + 0x80]
nop word [eax + eax]
lea ebx, [edx - 1]
cmp ebx, eax
jb 0x1005fc3a
test ebp, ebp
je 0x1005fc38
cmp dword [ebp], 0
jne 0x1005fc38
mov dword [ebp], 0x82
xor ebx, ebx
imul ebx, ecx
dec edx
add ebx, esi
mov dword [esp + 0x18], ebx
test edx, edx
jg 0x1005fc20
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [ecx + 4]
mov dword [ecx + 0xc], eax
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
sub eax, dword [esi]
sar eax, 3
cmp eax, 1
jbe 0x1005fc8f
cmp byte [esp + 0x104], 0
jne 0x1005c9c7
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.1005ba30
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x100614e1
mov eax, dword [esp + 0x28]
cmp al, 0x13
jne 0x1005fcf1
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0x100]
add eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x18]
push eax
call fcn.1005b9b0
mov eax, dword [esi]
mov ecx, edx
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
push 0xf1c
lea eax, [esp + 0x2f44]
push 0
push eax
call fcn.1019f050
mov ecx, dword [esp + 0x4c]
add esp, 0xc
mov edx, dword [esp + 0x18]
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 + 0x8c]
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.1005b9b0
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.1005a650
mov eax, dword [esi]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov edx, dword [esi]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x1005fe13
cmp byte [esp + 0x27], 0
jne 0x1005fe13
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005fdf4
sub eax, 1
jne 0x1005fe04
shl ecx, 0x10
jmp 0x1005fe04
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x90]
add eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [ecx], eax
mov ebp, dword [esp + 0x2c]
mov byte [esp + 0x27], 1
cmp byte [ebp + 0x224], 0
jne 0x100614e1
mov ecx, dword [ebx + 0xc]
mov esi, dword [esi]
cmp ecx, esi
jne 0x1005fe4e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fe4a
cmp dword [eax], 0
jne 0x1005fe4a
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1005fe78
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005fe68
sub eax, 1
jne 0x1005fe78
shl edx, 0x10
jmp 0x1005fe78
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
add edi, edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x3f28], edi
cmp ecx, esi
jne 0x1005fe9f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fe9b
cmp dword [eax], 0
jne 0x1005fe9b
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005fec9
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005feb9
sub eax, 1
jne 0x1005fec9
shl ecx, 0x10
jmp 0x1005fec9
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x20]
add esi, ecx
cmp dword [ebp + 0x1d4], 0
mov dword [esp + 0x20], esi
mov dword [esp + 0x3f24], esi
jne 0x1005f9a4
cmp byte [esp + 0x2ec8], 0
je 0x1005ff60
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005b5b0
cmp byte [esp + 0x2f18], 0
je 0x1005ff48
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.1005b030
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], esi
mov dword [esp + 0x2f00], esi
mov dword [esp + 0x2f14], edi
mov dword [esp + 0x2f04], edi
mov byte [esp + 0x2ecb], 1
je 0x1005ff9b
cmp byte [eax + 5], 0
je 0x1005ffbf
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005a650
mov ebp, dword [esp + 0x20]
lea esi, [esp + 0x140]
mov ecx, 0x3c7
lea edi, [esp + 0x105c]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov edx, dword [ecx]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x1006003f
cmp byte [esp + 0x27], 0
jne 0x1006003f
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1006001c
sub eax, 1
jne 0x1006002c
shl ecx, 0x10
jmp 0x1006002c
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x90]
add eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [ecx], eax
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
mov byte [esp + 0x27], 1
cmp byte [ebp + 0x224], 0
jne 0x100614e1
mov edx, dword [ebx + 0xc]
cmp edx, dword [ecx]
jne 0x10060072
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006006e
cmp dword [eax], 0
jne 0x1006006e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1006009c
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1006008c
sub eax, 1
jne 0x1006009c
shl ecx, 0x10
jmp 0x1006009c
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x20]
add esi, ecx
cmp dword [ebp + 0x1d4], 0
mov dword [esp + 0x20], esi
mov dword [esp + 0x3f24], esi
jne 0x1005f9a4
cmp byte [esp + 0x2ec8], 0
je 0x10060133
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005b5b0
cmp byte [esp + 0x2f18], 0
je 0x1006011b
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.1005b030
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], esi
mov dword [esp + 0x2f00], esi
mov dword [esp + 0x2f14], edi
mov dword [esp + 0x2f04], edi
mov byte [esp + 0x2ecb], 1
je 0x10060172
cmp byte [eax + 5], 0
je 0x1005ffbf
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005a650
mov ebp, dword [esp + 0x20]
lea esi, [esp + 0x140]
mov ecx, 0x3c7
lea edi, [esp + 0x105c]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
mov edx, dword [esp + 0x14]
xor edi, edi
mov eax, dword [ebx + 0xc]
sub eax, dword [edx]
sar eax, 3
mov dword [esp + 0x34], eax
cmp eax, 6
jbe 0x100602c6
lea ebp, [edi + 6]
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [edx]
sub eax, edx
sar eax, 3
cmp edi, eax
jb 0x10060212
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006020e
cmp dword [eax], 0
jne 0x1006020e
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
xor esi, esi
jmp 0x10060238
mov eax, dword [edx + edi*8 + 4]
mov esi, dword [edx + edi*8]
sub eax, 1
je 0x10060228
sub eax, 1
jne 0x10060238
shl esi, 0x10
jmp 0x10060238
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
add dword [esp + 0x20], esi
lea eax, [ebp - 5]
mov esi, dword [esp + 0x20]
sub ecx, edx
sar ecx, 3
mov dword [esp + 0x3f24], esi
cmp eax, ecx
jb 0x10060269
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060265
cmp dword [eax], 0
jne 0x10060265
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060290
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x10060280
sub eax, 1
jne 0x10060290
shl ecx, 0x10
jmp 0x10060290
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
mov edx, esi
add eax, ecx
lea ecx, [esp + 0x138]
push eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x3f2c], eax
call fcn.1005b5b0
mov eax, dword [esp + 0x34]
add ebp, 2
mov edx, dword [esp + 0x14]
add edi, 2
cmp ebp, eax
jb 0x100601e3
mov ebp, dword [esp + 0x20]
cmp edi, eax
jae 0x10060535
add edi, 2
mov esi, dword [ebx + 0xc]
lea eax, [edi - 2]
mov edx, dword [edx]
mov ecx, esi
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x10060307
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060303
cmp dword [eax], 0
jne 0x10060303
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1006032e
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x1006031e
sub eax, 1
jne 0x1006032e
shl ecx, 0x10
jmp 0x1006032e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [ecx + ebp]
mov ecx, esi
sub ecx, edx
mov dword [esp + 0x38], eax
sar ecx, 3
lea eax, [edi - 1]
cmp eax, ecx
jb 0x10060362
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006035e
cmp dword [eax], 0
jne 0x1006035e
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10060389
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x10060379
sub eax, 1
jne 0x10060389
shl ecx, 0x10
jmp 0x10060389
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x1c]
mov eax, esi
sub eax, edx
add ebp, ecx
sar eax, 3
mov dword [esp + 0x54], ebp
cmp edi, eax
jb 0x100603bd
mov eax, dword [ebx + 4]
test eax, eax
je 0x100603b9
cmp dword [eax], 0
jne 0x100603b9
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x100603e3
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x100603d3
sub eax, 1
jne 0x100603e3
shl ecx, 0x10
jmp 0x100603e3
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x38]
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 0x1006041a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060416
cmp dword [eax], 0
jne 0x10060416
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10060441
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x10060431
sub eax, 1
jne 0x10060441
shl ecx, 0x10
jmp 0x10060441
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 0x10060470
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006046c
cmp dword [eax], 0
jne 0x1006046c
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10060497
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x10060487
sub eax, 1
jne 0x10060497
shl ecx, 0x10
jmp 0x10060497
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 0x100604c3
mov eax, dword [ebx + 4]
test eax, eax
je 0x100604bf
cmp dword [eax], 0
jne 0x100604bf
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100604ea
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x100604da
sub eax, 1
jne 0x100604ea
shl ecx, 0x10
jmp 0x100604ea
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x38]
lea esi, [ecx + ebp]
push esi
push dword [esp + 0x24]
lea ecx, [esp + 0x140]
mov dword [esp + 0x24], esi
push ebp
push dword [esp + 0x54]
push dword [esp + 0x64]
call fcn.1005b730
mov ebp, dword [esp + 0x20]
add edi, 6
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3f24], ebp
mov dword [esp + 0x3f28], esi
lea eax, [edi - 2]
cmp eax, dword [esp + 0x34]
jb 0x100602d5
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
mov esi, dword [esp + 0x14]
mov edi, dword [ebx + 0xc]
sub edi, dword [esi]
sar edi, 3
mov ecx, edi
and ecx, 0xfffffffd
sub edi, ecx
mov dword [esp + 0x54], ecx
cmp edi, ecx
jae 0x10060a20
mov esi, dword [esp + 0x20]
lea eax, [edi + 3]
lea ebp, [edi + 2]
mov dword [esp + 0x28], eax
lea edx, [edi + 1]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x3c], edx
mov eax, ecx
sub eax, edi
test al, 1
je 0x100605ea
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x100605b3
mov eax, dword [ebx + 4]
test eax, eax
je 0x100605af
cmp dword [eax], 0
jne 0x100605af
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100605d9
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100605c9
sub eax, 1
jne 0x100605d9
shl ecx, 0x10
jmp 0x100605d9
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
inc edx
inc ebp
add esi, ecx
mov dword [esp + 0x3c], edx
inc edi
mov dword [esp + 0x34], ebp
inc dword [esp + 0x28]
mov edx, dword [ebx + 0xc]
mov eax, edx
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x14]
mov ecx, dword [esi]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1006061d
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060619
cmp dword [eax], 0
jne 0x10060619
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [esi]
xor esi, esi
jmp 0x10060643
mov eax, dword [ecx + edi*8 + 4]
mov esi, dword [ecx + edi*8]
sub eax, 1
je 0x10060633
sub eax, 1
jne 0x10060643
shl esi, 0x10
jmp 0x10060643
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov ebp, dword [esp + 0x1c]
mov eax, edx
sub eax, ecx
add ebp, esi
mov esi, dword [esp + 0x3c]
sar eax, 3
cmp esi, eax
jb 0x10060677
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060673
cmp dword [eax], 0
jne 0x10060673
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x1006069d
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x1006068d
sub eax, 1
jne 0x1006069d
shl esi, 0x10
jmp 0x1006069d
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [esp + 0x38]
add eax, esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x20], eax
mov eax, edx
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x100606d5
mov eax, dword [ebx + 4]
test eax, eax
je 0x100606d1
cmp dword [eax], 0
jne 0x100606d1
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x100606fb
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x100606eb
sub eax, 1
jne 0x100606fb
shl esi, 0x10
jmp 0x100606fb
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [esp + 0x28]
sub edx, ecx
sar edx, 3
add esi, ebp
cmp eax, edx
jb 0x10060720
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006071c
cmp dword [eax], 0
jne 0x1006071c
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060747
lea ecx, [ecx + eax*8]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x10060737
sub eax, 1
jne 0x10060747
shl ecx, 0x10
jmp 0x10060747
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x38]
lea eax, [esi + ecx]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x140]
mov dword [esp + 0x24], eax
push esi
mov esi, dword [esp + 0x2c]
push esi
push ebp
call fcn.1005b730
mov edx, dword [esp + 0x3c]
add edi, 4
mov ebp, dword [esp + 0x34]
add edx, 4
add dword [esp + 0x28], 4
add ebp, 4
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x3f24], esi
mov dword [esp + 0x3f28], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], ebp
cmp edi, ecx
jb 0x10060583
jmp 0x10060a1c
mov esi, dword [esp + 0x14]
mov edi, dword [ebx + 0xc]
sub edi, dword [esi]
sar edi, 3
mov ecx, edi
and ecx, 0xfffffffd
sub edi, ecx
mov dword [esp + 0x64], ecx
cmp edi, ecx
jae 0x10060a20
lea eax, [edi + 3]
lea ebp, [edi + 2]
mov dword [esp + 0x28], eax
lea edx, [edi + 1]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x34], edx
nop
mov eax, ecx
sub eax, edi
test al, 1
je 0x10060851
mov eax, dword [ebx + 0xc]
mov ecx, dword [esi]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1006080c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060808
cmp dword [eax], 0
jne 0x10060808
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060832
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10060822
sub eax, 1
jne 0x10060832
shl ecx, 0x10
jmp 0x10060832
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x1c]
inc edx
add esi, ecx
mov dword [esp + 0x34], edx
inc ebp
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x14]
inc edi
inc dword [esp + 0x28]
mov dword [esp + 0x3c], ebp
jmp 0x10060859
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x38], eax
mov edx, dword [ebx + 0xc]
mov eax, edx
mov ecx, dword [esi]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x10060884
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060880
cmp dword [eax], 0
jne 0x10060880
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [esi]
xor esi, esi
jmp 0x100608aa
mov eax, dword [ecx + edi*8 + 4]
mov esi, dword [ecx + edi*8]
sub eax, 1
je 0x1006089a
sub eax, 1
jne 0x100608aa
shl esi, 0x10
jmp 0x100608aa
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov ebp, dword [esp + 0x20]
mov eax, edx
sub eax, ecx
add ebp, esi
mov esi, dword [esp + 0x34]
sar eax, 3
mov dword [esp + 0x54], ebp
cmp esi, eax
jb 0x100608e2
mov eax, dword [ebx + 4]
test eax, eax
je 0x100608de
cmp dword [eax], 0
jne 0x100608de
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x10060908
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x100608f8
sub eax, 1
jne 0x10060908
shl esi, 0x10
jmp 0x10060908
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, edx
add ebp, esi
mov esi, dword [esp + 0x3c]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x10060938
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060934
cmp dword [eax], 0
jne 0x10060934
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x1006095e
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x1006094e
sub eax, 1
jne 0x1006095e
shl esi, 0x10
jmp 0x1006095e
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [esp + 0x38]
sub edx, ecx
add eax, esi
sar edx, 3
mov esi, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
cmp esi, edx
jb 0x1006098b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060987
cmp dword [eax], 0
jne 0x10060987
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100609b3
mov eax, dword [ecx + esi*8 + 4]
lea ecx, [ecx + esi*8]
mov ecx, dword [ecx]
sub eax, 1
je 0x100609a3
sub eax, 1
jne 0x100609b3
shl ecx, 0x10
jmp 0x100609b3
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x54]
lea eax, [ecx + ebp]
mov ecx, dword [esp + 0x1c]
push ecx
push eax
push ecx
push ebp
push dword [esp + 0x48]
lea ecx, [esp + 0x14c]
mov dword [esp + 0x34], eax
call fcn.1005b730
mov edx, dword [esp + 0x34]
add esi, 4
mov ebp, dword [esp + 0x3c]
add edi, 4
mov eax, dword [esp + 0x20]
add edx, 4
mov ecx, dword [esp + 0x64]
add ebp, 4
mov dword [esp + 0x3f24], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x3f28], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x3c], ebp
cmp edi, ecx
jb 0x100607e0
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1005c6fc
mov esi, dword [esp + 0x14]
mov ebp, dword [ebx + 0xc]
sub ebp, dword [esi]
sar ebp, 3
cmp dl, 0x1f
mov eax, ebp
sete byte [esp + 0x33]
and eax, 0xfffffffd
sub ebp, eax
mov dword [esp + 0x3c], eax
cmp ebp, eax
jae 0x10060ebe
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x50]
mov edx, dword [ebx + 0xc]
mov ecx, edx
mov eax, dword [eax]
sub ecx, eax
sar ecx, 3
cmp byte [esp + 0x33], 0
je 0x10060c91
cmp ebp, ecx
jb 0x10060a9f
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10060a9b
cmp dword [ecx], 0
jne 0x10060a9b
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10060ac5
mov ecx, dword [eax + ebp*8 + 4]
mov esi, dword [eax + ebp*8]
sub ecx, 1
je 0x10060ab5
sub ecx, 1
jne 0x10060ac5
shl esi, 0x10
jmp 0x10060ac5
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
mov ecx, dword [esp + 0x20]
add ecx, esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ecx
lea edi, [ebp + 1]
mov ecx, edx
mov dword [esp + 0x54], edi
sub ecx, eax
sar ecx, 3
cmp edi, ecx
jb 0x10060b04
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10060b00
cmp dword [ecx], 0
jne 0x10060b00
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10060b2a
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x10060b1a
sub ecx, 1
jne 0x10060b2a
shl esi, 0x10
jmp 0x10060b2a
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
mov ecx, dword [esp + 0x34]
lea edi, [ebp + 2]
add ecx, esi
mov dword [esp + 0x28], ecx
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp edi, ecx
jb 0x10060b61
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10060b5d
cmp dword [ecx], 0
jne 0x10060b5d
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10060b87
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x10060b77
sub ecx, 1
jne 0x10060b87
shl esi, 0x10
jmp 0x10060b87
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
mov edi, dword [esp + 0x1c]
sub edx, eax
add edi, esi
sar edx, 3
lea esi, [ebp + 3]
cmp esi, edx
jb 0x10060baf
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060bab
cmp dword [eax], 0
jne 0x10060bab
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060bd5
mov ecx, dword [eax + esi*8]
mov eax, dword [eax + esi*8 + 4]
sub eax, 1
je 0x10060bc5
sub eax, 1
jne 0x10060bd5
shl ecx, 0x10
jmp 0x10060bd5
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [edi + ecx]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
cmp eax, 5
jne 0x10060c7f
mov eax, dword [esp + 0x14]
lea edx, [ebp + 4]
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, esi
sar eax, 3
cmp edx, eax
jb 0x10060c2b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060c12
cmp dword [eax], 0
jne 0x10060c12
mov dword [eax], 0x82
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov ebp, dword [esp + 0x54]
add eax, ecx
mov dword [esp + 0x20], eax
mov byte [esp + 0x33], cl
jmp 0x10060e79
mov eax, dword [esi + edx*8 + 4]
mov ecx, dword [esi + edx*8]
sub eax, 1
je 0x10060c57
sub eax, 1
jne 0x10060c67
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x54]
shl ecx, 0x10
add eax, ecx
mov byte [esp + 0x33], 0
mov dword [esp + 0x20], eax
jmp 0x10060e79
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x54]
add eax, ecx
mov dword [esp + 0x20], eax
mov byte [esp + 0x33], 0
jmp 0x10060e79
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
mov byte [esp + 0x33], 0
jmp 0x10060e79
mov dword [esp + 0x34], esi
cmp ebp, ecx
jb 0x10060cb8
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10060cb4
cmp dword [ecx], 0
jne 0x10060cb4
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10060cde
mov ecx, dword [eax + ebp*8 + 4]
mov esi, dword [eax + ebp*8]
sub ecx, 1
je 0x10060cce
sub ecx, 1
jne 0x10060cde
shl esi, 0x10
jmp 0x10060cde
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
lea ecx, [esi + edi]
mov dword [esp + 0x38], ecx
lea edi, [ebp + 1]
mov ecx, edx
mov dword [esp + 0x54], edi
sub ecx, eax
sar ecx, 3
cmp edi, ecx
jb 0x10060d16
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10060d12
cmp dword [ecx], 0
jne 0x10060d12
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10060d3c
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x10060d2c
sub ecx, 1
jne 0x10060d3c
shl esi, 0x10
jmp 0x10060d3c
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
mov ecx, dword [esp + 0x20]
lea edi, [ebp + 2]
add ecx, esi
mov dword [esp + 0x28], ecx
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp edi, ecx
jb 0x10060d73
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10060d6f
cmp dword [ecx], 0
jne 0x10060d6f
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10060d99
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x10060d89
sub ecx, 1
jne 0x10060d99
shl esi, 0x10
jmp 0x10060d99
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
mov edi, dword [esp + 0x38]
sub edx, eax
add edi, esi
sar edx, 3
lea esi, [ebp + 3]
cmp esi, edx
jb 0x10060dc1
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060dbd
cmp dword [eax], 0
jne 0x10060dbd
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060de7
mov ecx, dword [eax + esi*8]
mov eax, dword [eax + esi*8 + 4]
sub eax, 1
je 0x10060dd7
sub eax, 1
jne 0x10060de7
shl ecx, 0x10
jmp 0x10060de7
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x28]
add eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
cmp eax, 5
jne 0x10060e70
mov eax, dword [esp + 0x14]
lea edx, [ebp + 4]
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, esi
sar eax, 3
cmp edx, eax
jb 0x10060e32
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060e23
cmp dword [eax], 0
jne 0x10060e23
mov dword [eax], 0x82
mov ebp, dword [esp + 0x54]
xor ecx, ecx
lea eax, [edi + ecx]
mov dword [esp + 0x1c], eax
jmp 0x10060e74
mov eax, dword [esi + edx*8 + 4]
mov ecx, dword [esi + edx*8]
sub eax, 1
je 0x10060e53
sub eax, 1
jne 0x10060e63
mov ebp, dword [esp + 0x54]
shl ecx, 0x10
lea eax, [edi + ecx]
mov dword [esp + 0x1c], eax
jmp 0x10060e74
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x54]
lea eax, [edi + ecx]
mov dword [esp + 0x1c], eax
jmp 0x10060e74
mov dword [esp + 0x1c], edi
mov byte [esp + 0x33], 1
push dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
lea ecx, [esp + 0x13c]
mov edx, dword [esp + 0x38]
push esi
push edi
push dword [esp + 0x34]
push dword [esp + 0x48]
call fcn.1005b730
mov edi, dword [esp + 0x1c]
add ebp, 4
mov dword [esp + 0x3f24], esi
mov dword [esp + 0x3f28], edi
cmp ebp, dword [esp + 0x3c]
jb 0x10060a61
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xc], eax
jmp 0x1005c6fc
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
mov esi, dword [esp + 0x18]
cmp edx, ecx
jae 0x10060ee9
mov al, byte [edx]
inc edx
mov dword [esi + 0xc], edx
movzx esi, al
jmp 0x10060f02
mov eax, dword [esi]
test eax, eax
je 0x10060f00
cmp dword [eax], 0
jne 0x10060f00
mov dword [eax], 0x55
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor esi, esi
cmp edx, ecx
jae 0x10060f17
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x18]
mov dword [edx + 0xc], eax
movzx eax, cl
jmp 0x10060f2e
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x10060f2c
cmp dword [eax], 0
jne 0x10060f2c
mov dword [eax], 0x55
xor eax, eax
mov ecx, dword [ebx + 0x10]
shl esi, 8
movsx edx, si
mov esi, dword [ebx + 0xc]
or edx, eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x18]
cmp esi, eax
jne 0x10060f56
mov esi, dword [esp + 0x14]
jmp 0x1005d9f7
mov dword [esi], edx
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1005c6f8
cmp dl, 0xf6
ja 0x10060fb0
add esi, 0xffffff75
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x10061000
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1005c6fc
cmp dword [eax], 0
jne 0x1005c6fc
mov dword [eax], 0x82
jmp 0x1005c6fc
mov eax, dword [esp + 0x28]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
cmp al, 0xfa
ja 0x1006101d
shl esi, 8
cmp edx, ecx
jae 0x10060fdd
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x18]
mov dword [edx + 0xc], eax
movzx eax, cl
add eax, 0xffff096c
add esi, eax
jmp 0x10060f76
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x10060ff2
cmp dword [eax], 0
jne 0x10060ff2
mov dword [eax], 0x55
xor eax, eax
mov eax, 0xffff096c
add esi, eax
jmp 0x10060f76
mov ecx, dword [esp + 0x18]
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x14]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1005c6fc
cmp al, 0xfe
ja 0x1006108d
shl esi, 8
cmp edx, ecx
jae 0x10061039
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x18]
mov dword [edx + 0xc], eax
movzx eax, cl
jmp 0x10061050
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x1006104e
cmp dword [eax], 0
jne 0x1006104e
mov dword [eax], 0x55
xor eax, eax
mov ecx, dword [ebx + 0x10]
mov edx, 0xfa94
sub edx, eax
mov eax, dword [esp + 0x14]
sub edx, esi
mov esi, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp esi, eax
je 0x10060f89
mov ecx, dword [esp + 0x18]
mov dword [esi], edx
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x14]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1005c6fc
mov edi, dword [esp + 0x18]
cmp edx, ecx
jae 0x100610a0
mov al, byte [edx]
inc edx
mov dword [edi + 0xc], edx
movzx esi, al
jmp 0x100610b9
mov eax, dword [edi]
test eax, eax
je 0x100610b7
cmp dword [eax], 0
jne 0x100610b7
mov dword [eax], 0x55
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor esi, esi
cmp edx, ecx
jae 0x100610c8
mov al, byte [edx]
inc edx
mov dword [edi + 0xc], edx
movzx ebp, al
jmp 0x100610e1
mov eax, dword [edi]
test eax, eax
je 0x100610df
cmp dword [eax], 0
jne 0x100610df
mov dword [eax], 0x55
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor ebp, ebp
cmp edx, ecx
jae 0x100610f0
mov al, byte [edx]
inc edx
mov dword [edi + 0xc], edx
movzx edi, al
jmp 0x10061109
mov eax, dword [edi]
test eax, eax
je 0x10061107
cmp dword [eax], 0
jne 0x10061107
mov dword [eax], 0x55
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor edi, edi
cmp edx, ecx
jae 0x1006111e
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x18]
mov dword [edx + 0xc], eax
movzx eax, cl
jmp 0x10061135
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x10061133
cmp dword [eax], 0
jne 0x10061133
mov dword [eax], 0x55
xor eax, eax
shl esi, 8
or esi, ebp
shl esi, 8
or esi, edi
shl esi, 8
or esi, eax
mov eax, dword [esp + 0x40]
cmp byte [eax + 8], 0
je 0x100611c3
cmp esi, 0x7d00
jg 0x1006115e
cmp esi, 0xffff8300
jge 0x10061173
mov ecx, dword [esp + 0x44]
test cl, cl
movzx eax, cl
mov ecx, 1
cmove eax, ecx
mov byte [esp + 0x44], al
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x100611b5
mov eax, dword [ebx + 4]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1005c6fc
cmp dword [eax], 0
jne 0x1005c6fc
mov dword [eax], 0x82
jmp 0x1005c6fc
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 2
jmp 0x10061211
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x10061205
mov eax, dword [ebx + 4]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1005c6fc
cmp dword [eax], 0
jne 0x1005c6fc
mov dword [eax], 0x82
jmp 0x1005c6fc
mov dword [edx], esi
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 + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1005c6fc
cmp dword [ecx - 4], 2
je 0x10061252
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061248
cmp dword [eax], 0
jne 0x10061248
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x1006125e
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
cmp ecx, edx
jne 0x10061284
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006127a
cmp dword [eax], 0
jne 0x1006127a
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x44], 0
jmp 0x100612b8
cmp dword [ecx - 4], 2
je 0x100612ac
mov eax, dword [ebx + 4]
test eax, eax
je 0x100612a2
cmp dword [eax], 0
jne 0x100612a2
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x44], 0
jmp 0x100612b8
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx]
mov dword [esp + 0x44], eax
cmp ecx, edx
jne 0x100612d8
mov eax, dword [ebx + 4]
test eax, eax
je 0x100612d4
cmp dword [eax], 0
jne 0x100612d4
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x10061302
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x100612f2
sub eax, 1
jne 0x10061302
shl edi, 0x10
jmp 0x10061302
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x10061322
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006131e
cmp dword [eax], 0
jne 0x1006131e
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor esi, esi
jmp 0x1006134c
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1006133c
sub eax, 1
jne 0x1006134c
shl esi, 0x10
jmp 0x1006134c
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp ecx, edx
jne 0x10061366
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061362
cmp dword [eax], 0
jne 0x10061362
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10061390
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10061380
sub eax, 1
jne 0x10061390
shl ebp, 0x10
jmp 0x10061390
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp byte [esp + 0x3f20], 0
je 0x100613a4
mov eax, 0x12
jmp 0x100619d4
mov edx, dword [esp + 0x2c]
cmp byte [edx + 0x2f], 0
je 0x100613b8
mov eax, 0x12
jmp 0x100619d4
cmp dword [edx + 0x244], 0
mov ecx, dword [esp + 0x50]
jne 0x100613db
mov eax, dword [ecx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x100613db
mov eax, 0x12
jmp 0x100619d4
mov eax, dword [edx + 0x20]
add esi, dword [eax]
mov eax, dword [ecx + 0x80]
cmp dword [eax + 0x34], 0
je 0x100613f2
mov eax, dword [esp + 0x28]
jmp 0x10061418
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x2c]
call fcn.10058180
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x44], eax
call fcn.10058180
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x44], 0
jl 0x1006139a
test eax, eax
js 0x1006139a
cmp byte [edx + 0x2e], 0
je 0x100614ea
mov eax, dword [edx + 8]
mov edx, 2
mov dword [esp + 0x54], eax
mov eax, dword [eax + 0x9c]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x50], eax
call fcn.10047c70
test eax, eax
jne 0x100619d4
mov ecx, dword [esp + 0x50]
sub esi, ebp
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
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 + 0x50]
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 + 0x54]
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 + 0x7c]
jmp 0x100619d4
mov ecx, dword [edx + 0xc]
call fcn.10047dc0
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x3e60]
mov ecx, dword [esp + 0x2c]
push eax
call fcn.1005a0c0
test eax, eax
jne 0x100619d4
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x20]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x48], eax
mov eax, dword [edx + 0x24]
lea edx, [esp + 0x3e60]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x64]
push eax
push 0
push 0
push 1
push dword [esp + 0x84]
mov dword [esp + 0x98], ecx
push dword [esp + 0x8c]
mov ecx, dword [esp + 0x58]
call fcn.1005c130
mov ecx, dword [esp + 0x3e64]
mov eax, dword [esp + 0x3e68]
mov edx, dword [esp + 0x2c]
sub eax, ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], ecx
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x80]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x1006159d
mov eax, dword [ecx]
lea edx, [esp + 0x54]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 4]
call eax
mov edx, dword [esp + 0x2c]
cmp byte [esp + 0x27], 0
jne 0x100615c7
mov eax, dword [edx + 0x20]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x48], eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x38], eax
mov eax, dword [edx + 0x20]
mov ecx, dword [esp + 0x2c]
mov dword [eax], 0
mov eax, dword [edx + 0x20]
mov edx, dword [esp + 0x28]
mov dword [eax + 4], 0
lea eax, [esp + 0x3e60]
push eax
call fcn.1005a0c0
test eax, eax
jne 0x100619d4
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x64]
push eax
push edi
sub esi, ebp
lea edx, [esp + 0x3e68]
push esi
push 1
push dword [esp + 0x84]
push dword [esp + 0x8c]
call fcn.1005c130
mov ecx, dword [esp + 0x3e64]
mov eax, dword [esp + 0x3e68]
mov ebp, dword [esp + 0x2c]
sub eax, ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], ecx
mov eax, dword [ebp + 4]
mov eax, dword [eax + 0x80]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x1006165a
mov eax, dword [ecx]
lea edx, [esp + 0x54]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 4]
call eax
mov eax, dword [ebp + 0x20]
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov eax, dword [ebp + 0x24]
mov ecx, dword [esp + 0x84]
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x7c]
jmp 0x100619d4
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
je 0x1006169b
cmp eax, 5
jne 0x100616ef
cmp byte [esp + 0x27], 0
jne 0x100616ef
test eax, eax
jne 0x100616bc
mov eax, dword [ebx + 4]
test eax, eax
je 0x100616b8
cmp dword [eax], 0
jne 0x100616b8
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100616e0
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100616d0
sub eax, 1
jne 0x100616e0
shl ecx, 0x10
jmp 0x100616e0
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x90]
add eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [ecx], eax
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x100614e1
cmp byte [esp + 0x2ec8], 0
je 0x10061781
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005b5b0
cmp byte [esp + 0x2f18], 0
je 0x10061761
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.1005b030
mov byte [esp + 0x2ecb], 1
mov byte [esp + 0x2ec8], 0
mov byte [esp + 0x2ec9], 0
mov byte [esp + 0x2f18], 0
mov eax, dword [esp + 0x40]
cmp byte [eax + 9], 0
jne 0x100614e1
cmp byte [eax + 8], 0
jne 0x100614e1
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x100614e1
cmp byte [esp + 0x3f20], 0
je 0x100617c3
mov eax, 0x12
jmp 0x100619d4
cmp ecx, edx
jne 0x100617e9
mov eax, dword [ebx + 4]
test eax, eax
je 0x100617df
cmp dword [eax], 0
jne 0x100617df
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x38], 0
jmp 0x1006181d
cmp dword [ecx - 4], 2
je 0x10061811
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061807
cmp dword [eax], 0
jne 0x10061807
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x38], 0
jmp 0x1006181d
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx]
mov dword [esp + 0x38], eax
cmp ecx, edx
jne 0x1006183d
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061839
cmp dword [eax], 0
jne 0x10061839
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor ebp, ebp
jmp 0x10061867
cmp dword [ecx - 4], 2
je 0x1006185f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006185b
cmp dword [eax], 0
jne 0x1006185b
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor ebp, ebp
jmp 0x10061867
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov ebp, dword [ecx]
cmp ecx, edx
jne 0x10061887
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061883
cmp dword [eax], 0
jne 0x10061883
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x100618b1
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x100618a1
sub eax, 1
jne 0x100618b1
shl edi, 0x10
jmp 0x100618b1
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x100618cb
mov eax, dword [ebx + 4]
test eax, eax
je 0x100618c7
cmp dword [eax], 0
jne 0x100618c7
mov dword [eax], 0xa1
xor esi, esi
jmp 0x100618f5
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x100618e5
sub eax, 1
jne 0x100618f5
shl esi, 0x10
jmp 0x100618f5
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x3e60]
mov ecx, dword [esp + 0x2c]
push eax
call fcn.1005a000
test eax, eax
jne 0x100619d4
lea eax, [esp + 0x54]
push eax
push edi
mov edi, dword [esp + 0x48]
lea edx, [esp + 0x3e68]
push esi
push 1
push dword [esp + 0x84]
mov ecx, edi
push dword [esp + 0x8c]
call fcn.1005c130
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.1005a000
test eax, eax
jne 0x100619d4
lea eax, [esp + 0x54]
mov ecx, edi
push eax
push 0
push 0
push 1
push dword [esp + 0x84]
lea edx, [esp + 0x3e74]
push dword [esp + 0x8c]
call fcn.1005c130
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 + 0x7c]
jmp 0x100619d4
mov dword [ebx + 8], ebp
mov eax, dword [edi + 8]
mov edx, ebx
mov ecx, edi
call eax
xor ebx, ebx
lea eax, [ebx + 0x40]
mov ecx, dword [esp + 0x6c]
test ecx, ecx
je 0x100619e3
cmp dword [ecx], 0
jne 0x100619e3
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 0x10061a1d
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 0x10061a62
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 0x10061aa7
mov eax, dword [esp + 0xc0]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xdc], 0
test eax, eax
je 0x10061acd
mov edx, eax
mov eax, dword [esp + 0xe0]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
test ebx, ebx
je 0x10061af1
mov edx, dword [ebx + 8]
mov edi, dword [ebx]
test edx, edx
je 0x10061ae1
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.1019d163
add esp, 0x3f04
ret 0x18