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

Disassembly:
mov eax, 0x3f04
call fcn.101a10d0
mov eax, dword [0x1020c0c0]
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.101a2030
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.101a2030
mov eax, dword [esp + 0x84]
add esp, 0xc
mov dword [esp + 0x138], esi
movaps xmm0, xmmword [0x10202560]
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.101a2030
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.101a2030
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.101a2030
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 0x1005cfd1
test esi, esi
jmp 0x1005cfd5
mov esi, ebx
test ebx, ebx
jns 0x1005cfd9
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 0x1005d044
mov eax, dword [ebp + 0x214]
mov esi, dword [eax + 0x614]
jmp 0x1005d049
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 0x1006248f
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 0x10062483
je 0x1005d106
cmp esi, 0xfffffff
jg 0x10062483
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 0x1005d0f3
test esi, esi
je 0x1005d0f3
mov edx, dword [esp + 0x88]
test edx, edx
jle 0x1005d0f3
lea eax, [edx*8]
push eax
push ebp
push esi
call fcn.101a2030
lea eax, [ebx + 8]
add esp, 0xc
mov dword [eax], esi
mov dword [esp + 0x14], eax
mov eax, esi
lea esi, [ebx + 8]
jmp 0x1005d111
mov dword [ebx + 8], eax
lea esi, [ebx + 8]
mov dword [esp + 0x14], esi
test ecx, ecx
je 0x1005d111
jmp 0x10062486
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.100595b0
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 0x10061fa1
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 0x1005d1bc
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 0x1005d1dc
cmp dword [esp + 0x68], 0
mov edx, 0xb
mov eax, 0xe
cmove edx, eax
mov dword [esp + 0x28], edx
jmp 0x1005d20f
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 0x1005d1f6
cmp cl, 0xe
jne 0x1005d20b
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 0x1005d2aa
test ah, ah
jne 0x1005d258
cmp dl, 1
je 0x1005d258
cmp dl, 3
je 0x1005d258
cmp dl, 0xd
je 0x1005d258
cmp dl, 0xa
je 0x1005d258
cmp dl, 0xb
je 0x1005d258
cmp dl, 0xc
je 0x1005d258
cmp dl, 0xe
je 0x1005d258
cmp dl, 0x20
jae 0x1005d258
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005d1bc
mov esi, dword [esp + 0x5c]
test esi, esi
jle 0x1005d283
cmp dl, 0xa
je 0x1005d283
cmp dl, 0xb
je 0x1005d283
cmp dl, 0xc
je 0x1005d283
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 0x1005d2aa
cmp dl, 0x20
jae 0x1005d2aa
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 0x10061fa1
sub dword [esp + 0x84], 1
je 0x10061e5a
movzx esi, dl
cmp esi, 0x1f
ja case.default.0x1005d2d1
jmp dword [esi*4 + 0x100625cc]
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1005d2d1.0
cmp byte [edx + 0x5d], 0
jne 0x10061e5a
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
cmp eax, dword [esi]
jne 0x1005d31c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d30d
cmp dword [eax], 0
jne 0x1005d30d
mov dword [eax], 0xa1
xor eax, eax
mov dword [edx + 0x78], eax
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005d1bc
cmp dword [eax - 4], 2
je 0x1005d343
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d334
cmp dword [eax], 0
jne 0x1005d334
mov dword [eax], 0xa0
xor eax, eax
mov dword [edx + 0x78], eax
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005d1bc
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x1005d487
mov dword [edx + 0x78], eax
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005d1bc
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1005d2d1.0
cmp dword [edx + 0x60], 0
je 0x10061e5a
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 0x1005d3c1
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 0x10061fa1
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ecx]
jne 0x1005d3e2
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1005d3de
cmp dword [ecx], 0
jne 0x1005d3de
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x1005d406
cmp dword [eax - 4], 2
je 0x1005d3fe
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d3fa
cmp dword [eax], 0
jne 0x1005d3fa
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1005d406
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x88]
ja 0x10061e5a
push eax
mov edx, ebx
mov ecx, esi
call fcn.1005ca20
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov byte [eax + 0x5d], 1
jmp 0x1005d1bc
test al, al
jne 0x1005d447
cmp byte [esp + 0x104], al
jne case.0x1005d2d1.0
xor eax, eax
jmp 0x1005d451
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.1005c4f0
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x10061fa1
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1005d1bc
test al, al
jne 0x1005d4b3
cmp byte [esp + 0x104], al
jne case.0x1005d2d1.0
xor eax, eax
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0xa8]
jmp 0x1005d45e
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 0x1005d45e
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [esi]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x1005d518
cmp byte [esp + 0x27], 0
jne 0x1005d518
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005d4f9
sub eax, 1
jne 0x1005d509
shl ecx, 0x10
jmp 0x1005d509
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 0x10061fa1
mov edx, dword [ebx + 0xc]
cmp edx, dword [esi]
jne 0x1005d54b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d547
cmp dword [eax], 0
jne 0x1005d547
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005d575
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005d565
sub eax, 1
jne 0x1005d575
shl ecx, 0x10
jmp 0x1005d575
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 0x1005d483
cmp byte [esp + 0x2ec8], 0
je 0x1005d60c
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005c070
cmp byte [esp + 0x2f18], 0
je 0x1005d5f4
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.1005baf0
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 0x1005d647
cmp byte [eax + 5], 0
je 0x1005d66b
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005b110
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 0x1005d1bc
mov esi, dword [esp + 0x14]
xor edi, edi
mov ebp, dword [ebx + 0xc]
sub ebp, dword [esi]
sar ebp, 3
test ebp, ebp
je 0x100614e0
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 0x1005d6db
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d6d7
cmp dword [eax], 0
jne 0x1005d6d7
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
xor esi, esi
jmp 0x1005d701
mov eax, dword [edx + edi*8 + 4]
mov esi, dword [edx + edi*8]
sub eax, 1
je 0x1005d6f1
sub eax, 1
jne 0x1005d701
shl esi, 0x10
jmp 0x1005d701
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 0x1005d732
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d72e
cmp dword [eax], 0
jne 0x1005d72e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d759
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1005d749
sub eax, 1
jne 0x1005d759
shl ecx, 0x10
jmp 0x1005d759
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.1005c070
mov esi, dword [esp + 0x14]
add edi, 2
cmp edi, ebp
jb 0x1005d6b0
jmp 0x100614dc
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 0x1005d845
nop dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1005d7d4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d7d0
cmp dword [eax], 0
jne 0x1005d7d0
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005d7fa
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1005d7ea
sub eax, 1
jne 0x1005d7fa
shl ecx, 0x10
jmp 0x1005d7fa
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
test dl, dl
je 0x1005d80d
add ebp, ecx
mov dword [esp + 0x3f24], ebp
jmp 0x1005d81a
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.1005c070
mov dl, byte [esp + 0x33]
inc esi
mov eax, dword [esp + 0x14]
cmp esi, edi
jb 0x1005d7b0
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 0x1005d1bc
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 0x1005daec
lea edi, [ebp + 2]
jmp 0x1005d884
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 0x1005d8af
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d8ab
cmp dword [eax], 0
jne 0x1005d8ab
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [ecx]
xor ecx, ecx
jmp 0x1005d8d6
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x1005d8c6
sub eax, 1
jne 0x1005d8d6
shl ecx, 0x10
jmp 0x1005d8d6
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 0x1005d90d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d909
cmp dword [eax], 0
jne 0x1005d909
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005d934
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x1005d924
sub eax, 1
jne 0x1005d934
shl ecx, 0x10
jmp 0x1005d934
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 0x1005d968
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d964
cmp dword [eax], 0
jne 0x1005d964
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005d98e
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1005d97e
sub eax, 1
jne 0x1005d98e
shl ecx, 0x10
jmp 0x1005d98e
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 0x1005d9c5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d9c1
cmp dword [eax], 0
jne 0x1005d9c1
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005d9ec
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1005d9dc
sub eax, 1
jne 0x1005d9ec
shl ecx, 0x10
jmp 0x1005d9ec
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add ebp, ecx
lea eax, [edi + 2]
mov ecx, esi
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x1005da1b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005da17
cmp dword [eax], 0
jne 0x1005da17
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1005da42
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x1005da32
sub eax, 1
jne 0x1005da42
shl ecx, 0x10
jmp 0x1005da42
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 0x1005da6e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005da6a
cmp dword [eax], 0
jne 0x1005da6a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005da95
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x1005da85
sub eax, 1
jne 0x1005da95
shl ecx, 0x10
jmp 0x1005da95
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.1005c1f0
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 0x1005d880
mov edx, dword [esp + 0x28]
cmp dl, 0x18
jne 0x1005dbde
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 0x1005db25
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005db21
cmp dword [eax], 0
jne 0x1005db21
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1005db4b
mov eax, dword [esi + ebp*8 + 4]
mov edx, dword [esi + ebp*8]
sub eax, 1
je 0x1005db3b
sub eax, 1
jne 0x1005db4b
shl edx, 0x10
jmp 0x1005db4b
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov 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 0x1005db7e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005db7a
cmp dword [eax], 0
jne 0x1005db7a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005dba4
mov ecx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
sub eax, 1
je 0x1005db94
sub eax, 1
jne 0x1005dba4
shl ecx, 0x10
jmp 0x1005dba4
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.1005c070
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 0x1005d1bc
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 0x1005d1bc
test al, al
je case.0x1005d2d1.0
cmp byte [esp + 0x2ec8], 0
je 0x1005dc81
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005c070
cmp byte [esp + 0x2f18], 0
je 0x1005dc61
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.1005baf0
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 0x1005d1bc
mov eax, dword [esp + 0x68]
cmp eax, 0x10
jg 0x10061e5a
inc eax
cmp eax, dword [esp + 0x98]
jb 0x1005dcc7
mov eax, dword [esp + 0x94]
test eax, eax
je 0x1005dcc5
cmp dword [eax], 0
jne 0x1005dcc5
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 0x1005dcfd
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dcf9
cmp dword [eax], 0
jne 0x1005dcf9
mov dword [eax], 0xa1
xor eax, eax
jmp 0x1005dd21
cmp dword [eax - 4], 2
je 0x1005dd19
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005dd15
cmp dword [eax], 0
jne 0x1005dd15
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1005dd21
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 0x1005dd5c
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x268]
test ecx, ecx
je 0x1005dd58
push eax
call fcn.10048a10
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1005dd53
mov eax, dword [eax]
jmp 0x1005dd5c
or eax, 0xffffffff
jmp 0x1005dd5c
mov ecx, dword [esp + 0x18]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
cmp dl, 0x1d
je 0x1005de1e
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x234]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x22c]
jae 0x10061e5a
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 0x1005ddf1
mov eax, dword [eax + 0x264]
test eax, eax
je 0x1005ddc9
test ecx, ecx
je 0x1005ddc1
mov eax, dword [eax + edx]
add eax, ecx
mov ecx, dword [esp + 0x18]
jmp 0x1005ddff
mov ecx, dword [esp + 0x18]
xor eax, eax
jmp 0x1005ddff
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 0x1005ddf5
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 0x1005d1bc
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + 0x238]
add ecx, eax
cmp ecx, dword [edx + 0x230]
jae 0x10061e5a
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 0x1005d1bc
mov edx, dword [esp + 0x68]
cmp edx, 1
jl 0x10061e5a
dec edx
mov eax, edx
mov dword [esp + 0x68], edx
cmp edx, dword [esp + 0x98]
jb 0x1005de9a
mov edx, dword [esp + 0x94]
test edx, edx
je 0x1005de98
cmp dword [edx], 0
jne 0x1005de98
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 0x1005d1b8
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x1005dec4
mov dl, byte [eax]
inc eax
mov dword [ecx + 0xc], eax
jmp 0x1005ded7
mov eax, dword [ecx]
test eax, eax
je 0x1005ded5
cmp dword [eax], 0
jne 0x1005ded5
mov dword [eax], 0x55
xor dl, dl
movzx ecx, dl
mov byte [esp + 0x33], dl
lea eax, [ecx - 8]
cmp eax, 0x1d
ja case.0x1005def1.9
movzx eax, byte [eax + 0x10062664]
jmp dword [eax*4 + 0x1006264c]
push 0
push 0x101e2b90
jmp 0x1005df5e
push 0
push 0x101e2a34
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f34]
push eax
lea edx, [esp + 0x3f34]
call fcn.1005c710
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 0x1005d1bc
push 0
push 0x101e2bbc
jmp 0x1005df5e
push 1
push 0x101e2d54
lea eax, [esp + 0x140]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f34]
push eax
lea edx, [esp + 0x3f34]
call fcn.1005c710
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 0x1005d1bc
mov eax, dword [esp + 0x40]
cmp byte [eax + 9], 0
jne case.0x1005dfec.0
cmp dl, 0x26
jae case.0x1005dfec.0
mov al, byte [eax + 8]
test al, al
je 0x1005dfe3
cmp dword [esp + 0x5c], 0
jle 0x1005dfe3
cmp dl, 0x11
je 0x1005dfe3
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 0x1005d1bc
cmp ecx, 0x21
ja case.0x1005dfec.0
jmp dword [ecx*4 + 0x10062684]
test al, al
je case.0x1005dfec.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 0x1005e02b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e027
cmp dword [eax], 0
jne 0x1005e027
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor ebp, ebp
jmp 0x1005e04f
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x1005e03f
sub eax, 1
jne 0x1005e04f
shl ebp, 0x10
jmp 0x1005e04f
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 0x1005e07d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e073
cmp dword [eax], 0
jne 0x1005e073
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x1005e0aa
mov eax, dword [ecx + 0x14]
mov esi, dword [ecx + 0x10]
mov dword [esp + 0x28], esi
sub eax, 1
je 0x1005e096
sub eax, 1
jne 0x1005e0aa
shl esi, 0x10
jmp 0x1005e0a6
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 0x1005e0d2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e0ce
cmp dword [eax], 0
jne 0x1005e0ce
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x1005e0f7
mov eax, dword [ecx + 0x24]
mov edi, dword [ecx + 0x20]
sub eax, 1
je 0x1005e0e7
sub eax, 1
jne 0x1005e0f7
shl edi, 0x10
jmp 0x1005e0f7
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 0x1005e11f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e11b
cmp dword [eax], 0
jne 0x1005e11b
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1005e144
mov eax, dword [ecx + 0xc]
mov esi, dword [ecx + 8]
sub eax, 1
je 0x1005e134
sub eax, 1
jne 0x1005e144
shl esi, 0x10
jmp 0x1005e144
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 0x1005e162
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e17a
cmp dword [eax], 0
jne 0x1005e17a
mov dword [eax], 0x82
jmp 0x1005e17a
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 0x1005e1ab
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e1a7
cmp dword [eax], 0
jne 0x1005e1a7
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1005e1d0
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
sub eax, 1
je 0x1005e1c0
sub eax, 1
jne 0x1005e1d0
shl edx, 0x10
jmp 0x1005e1d0
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 0x1005e1f2
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
test eax, eax
je 0x1005e208
cmp dword [eax], 0
jne 0x1005e208
mov dword [eax], 0x82
jmp 0x1005e208
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 0x1005e21a
mov eax, dword [eax]
jmp 0x1005e21d
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.1005c4f0
cmp byte [ebp + 0x224], 0
jne 0x10061fa1
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 0x1005d1bc
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1005e290
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e28c
cmp dword [eax], 0
jne 0x1005e28c
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1005e2bc
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 0x1005e2ac
sub eax, 1
jne 0x1005e2bc
shl edi, 0x10
jmp 0x1005e2bc
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1005e317
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e2d8
cmp dword [eax], 0
jne 0x1005e2d8
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 0x1005e433
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1005d1bc
cmp dword [eax], 0
mov edi, dword [esp + 0x1c]
jne 0x1005d1bc
mov dword [eax], 0x82
jmp 0x1005d1bc
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005e331
sub eax, 1
jne 0x1005e341
shl esi, 0x10
jmp 0x1005e341
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
test esi, esi
je 0x1005e2d8
test edi, edi
je 0x1005e2d8
mov esi, 1
jmp 0x1005e2da
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1005e379
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e375
cmp dword [eax], 0
jne 0x1005e375
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1005e3a5
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 0x1005e395
sub eax, 1
jne 0x1005e3a5
shl edi, 0x10
jmp 0x1005e3a5
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1005e3c3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e3f1
cmp dword [eax], 0
jne 0x1005e3f1
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
jmp 0x1005e3f1
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005e3dd
sub eax, 1
jne 0x1005e3ed
shl esi, 0x10
jmp 0x1005e3ed
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
test esi, esi
jne 0x1005e3f9
test edi, edi
jne 0x1005e3f9
xor esi, esi
jmp 0x1005e3fe
mov esi, 1
mov eax, dword [ebx + 0x10]
mov edi, dword [esp + 0x1c]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1005e433
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1005d1bc
cmp dword [eax], 0
jne 0x1005d1bc
mov dword [eax], 0x82
jmp 0x1005d1bc
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 0x1005d1bc
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov esi, dword [eax]
cmp ecx, esi
jne 0x1005e479
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e475
cmp dword [eax], 0
jne 0x1005e475
mov dword [eax], 0xa1
mov esi, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor edx, edx
jmp 0x1005e4a5
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 0x1005e495
sub eax, 1
jne 0x1005e4a5
shl edx, 0x10
jmp 0x1005e4a5
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 0x1005e4de
mov ecx, dword [esp + 0x18]
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005d1bc
cmp dword [eax], 0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jne 0x1005d1bc
mov dword [eax], 0x82
jmp 0x1005d1bc
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 0x1005d1bc
test al, al
je case.0x1005dfec.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 0x10061cea
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e537
cmp dword [eax], 0
jne 0x1005e537
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x10061d1e
mov esi, dword [esp + 0x14]
test al, al
je 0x1005d483
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esi]
jne 0x1005e56d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e569
cmp dword [eax], 0
jne 0x1005e569
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e597
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005e587
sub eax, 1
jne 0x1005e597
shl ecx, 0x10
jmp 0x1005e597
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 0x1005e5be
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e5ba
cmp dword [eax], 0
jne 0x1005e5ba
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e5e8
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005e5d8
sub eax, 1
jne 0x1005e5e8
shl ecx, 0x10
jmp 0x1005e5e8
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 0x1005e616
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e612
cmp dword [eax], 0
jne 0x1005e612
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1005e640
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005e630
sub eax, 1
jne 0x1005e640
shl edx, 0x10
jmp 0x1005e640
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
cmp ecx, esi
jne 0x1005e65a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e656
cmp dword [eax], 0
jne 0x1005e656
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005e684
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005e674
sub eax, 1
jne 0x1005e684
shl ecx, 0x10
jmp 0x1005e684
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 0x10061fa1
cmp byte [esp + 0x32], 0
mov esi, dword [esp + 0x14]
je 0x1005d483
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 0x1005d1bc
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [eax]
jne 0x1005e750
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e6f6
cmp dword [eax], 0
jne 0x1005e6f6
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 0x1005fe3d
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1005d1bc
cmp dword [eax], 0
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jne 0x1005d1bc
mov dword [eax], 0x82
jmp 0x1005d1bc
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005e76a
sub eax, 1
jne 0x1005e77a
shl ecx, 0x10
jmp 0x1005e77a
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 0x1005e701
lea eax, [edi*8]
add eax, ebp
cmp esi, eax
jne 0x1005e7cb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006032b
cmp dword [eax], 0
mov esi, dword [esp + 0x14]
jne 0x1006032f
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
jmp 0x1005d1bc
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 0x1005d1bc
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1005e81d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e819
cmp dword [eax], 0
jne 0x1005e819
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1005e849
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 0x1005e839
sub eax, 1
jne 0x1005e849
shl edi, 0x10
jmp 0x1005e849
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1005e869
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e865
cmp dword [eax], 0
jne 0x1005e865
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor esi, esi
jmp 0x1005e893
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005e883
sub eax, 1
jne 0x1005e893
shl esi, 0x10
jmp 0x1005e893
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 0x1005e8a6
mov edi, dword [esp + 0x1c]
jmp 0x1005e2ec
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 0x1005d1bc
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1005e8f3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e8ef
cmp dword [eax], 0
jne 0x1005e8ef
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1005e91f
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 0x1005e90f
sub eax, 1
jne 0x1005e91f
shl edi, 0x10
jmp 0x1005e91f
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1005e93f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e93b
cmp dword [eax], 0
jne 0x1005e93b
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor esi, esi
jmp 0x1005e969
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005e959
sub eax, 1
jne 0x1005e969
shl esi, 0x10
jmp 0x1005e969
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 0x1005e97c
mov edi, dword [esp + 0x1c]
jmp 0x1005e2ec
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 0x1005d1bc
test al, al
je 0x1005ea58
cmp byte [esp + 0x44], 0
je 0x1005ea58
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x1005e9d8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e9d4
cmp dword [eax], 0
jne 0x1005e9d4
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x1005e9ff
cmp dword [eax - 4], 2
je 0x1005e9f7
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005e9f3
cmp dword [eax], 0
jne 0x1005e9f3
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x1005e9ff
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, ecx
jne 0x1005ea23
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ea18
cmp dword [eax], 0
jne 0x1005ea18
mov dword [eax], 0xa1
xor ecx, ecx
mov byte [esp + 0x44], cl
jmp 0x1005eaef
cmp dword [eax - 4], 2
je 0x1005ea46
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ea3b
cmp dword [eax], 0
jne 0x1005ea3b
mov dword [eax], 0xa0
xor ecx, ecx
mov byte [esp + 0x44], cl
jmp 0x1005eaef
add eax, 0xfffffff8
mov byte [esp + 0x44], 0
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
jmp 0x1005eaef
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov esi, dword [eax]
cmp ecx, esi
jne 0x1005ea81
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ea7d
cmp dword [eax], 0
jne 0x1005ea7d
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1005eaab
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1005ea9b
sub eax, 1
jne 0x1005eaab
shl edx, 0x10
jmp 0x1005eaab
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
cmp ecx, esi
jne 0x1005eac5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eac1
cmp dword [eax], 0
jne 0x1005eac1
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005eaef
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005eadf
sub eax, 1
jne 0x1005eaef
shl ecx, 0x10
jmp 0x1005eaef
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.10047ae0
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 0x1005fe3d
mov esi, dword [esp + 0x14]
jmp 0x1005e4b3
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [eax]
jne 0x1005eb66
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005eb31
cmp dword [eax], 0
jne 0x1005eb31
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 0x1005e4b3
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 0x1005d1bc
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005eb80
sub eax, 1
jne 0x1005eb90
shl ecx, 0x10
jmp 0x1005eb90
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 0x1005eb3c
lea eax, [esi + eax*8]
cmp edx, eax
jne 0x1005ebcf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006032b
mov esi, dword [esp + 0x14]
cmp dword [eax], 0
jne 0x1006032f
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
jmp 0x1005d1bc
mov dword [edx], 0x7fffffff
jmp 0x100601a5
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1005ec03
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ebff
cmp dword [eax], 0
jne 0x1005ebff
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1005ec2f
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 0x1005ec1f
sub eax, 1
jne 0x1005ec2f
shl edi, 0x10
jmp 0x1005ec2f
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1005ec4f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ec4b
cmp dword [eax], 0
jne 0x1005ec4b
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor esi, esi
jmp 0x1005ec79
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005ec69
sub eax, 1
jne 0x1005ec79
shl esi, 0x10
jmp 0x1005ec79
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 0x1005ec8c
mov edi, dword [esp + 0x1c]
jmp 0x1005e2ec
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 0x1005d1bc
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test al, al
je 0x1005d1bc
mov eax, dword [ebx + 0xc]
mov ecx, esi
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x1005ece8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ece4
cmp dword [eax], 0
jne 0x1005ece4
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1005ed0f
cmp dword [eax - 4], 2
je 0x1005ed07
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ed03
cmp dword [eax], 0
jne 0x1005ed03
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1005ed0f
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, ecx
jne 0x1005ed2f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ed2b
cmp dword [eax], 0
jne 0x1005ed2b
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x1005ed56
cmp dword [eax - 4], 2
je 0x1005ed4e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ed4a
cmp dword [eax], 0
jne 0x1005ed4a
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x1005ed56
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.0x1005ed84.4
movzx eax, byte [esi + 0x1006274c]
jmp dword [eax*4 + 0x1006270c]
cmp edi, 3
jne 0x10061e5a
cmp byte [esp + 0x32], 0
je 0x1005edb9
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x1d4], 0
je 0x10061e5a
cmp dword [eax + 0x1d8], 7
jne 0x10061e5a
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x1005edde
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005edd8
cmp dword [eax], 0
jne 0x1005edd8
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ebp, dword [esp + 0x20]
jmp 0x1005edf5
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 0x1005ee2c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ee3c
cmp dword [eax], 0
jne 0x1005ee3c
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
mov dword [esp + 0x4c], 2
jmp 0x1005d1bc
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 0x1005d1bc
test edi, edi
jne 0x10061e5a
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 0x1005d1bc
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 0x1005ee9f
push 0
mov edx, 6
mov ecx, esi
call fcn.100481f0
test eax, eax
jne 0x10061fa1
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 0x1005d1bc
test edi, edi
jne 0x10061e5a
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 0x1005d1bc
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 0x1d4], 0
je 0x10061e5a
mov esi, dword [ecx + 0x1d8]
lea eax, [esi + 1]
mov dword [ecx + 0x1d8], eax
lea eax, [esi - 1]
cmp eax, 5
ja 0x1006032b
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 0x1005ef40
push 0
mov edx, 1
mov ecx, edi
call fcn.100481f0
test eax, eax
jne 0x10061e5a
lea eax, [esi - 3]
cmp esi, 3
jg 0x1005ef4a
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 0x1005ef70
cmp esi, 6
jne 0x1006032b
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.1005c1f0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1005d1bc
cmp edi, 1
jne 0x10061e5a
cmp byte [esp + 0x32], 0
je 0x1005f013
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 0x1005d1bc
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 0x1005d1bc
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x284]
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x10061e5a
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 0x10061e5a
lea edi, [edx + ebp]
test edx, edx
je 0x1005f1be
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 0x1005f0b8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f0b4
cmp dword [eax], 0
jne 0x1005f0b4
mov dword [eax], 0x82
xor esi, esi
jmp 0x1005f0de
mov eax, dword [esi + ebp*8 + 4]
mov esi, dword [esi + ebp*8]
sub eax, 1
je 0x1005f0ce
sub eax, 1
jne 0x1005f0de
shl esi, 0x10
jmp 0x1005f0de
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp dword [ecx], 1
jbe 0x1005f171
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 0x1005f11c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f118
cmp dword [eax], 0
jne 0x1005f118
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005f142
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1005f132
sub eax, 1
jne 0x1005f142
shl ecx, 0x10
jmp 0x1005f142
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.1003f360
mov ecx, dword [esp + 0x3c]
inc ebp
add dword [esp + 0x34], 4
add esi, eax
inc edi
cmp ebp, dword [ecx]
jb 0x1005f0f4
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 0x1005f197
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f1a8
cmp dword [eax], 0
jne 0x1005f1a8
mov dword [eax], 0x82
jmp 0x1005f1a8
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 0x1005f090
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 0x1005f203
mov eax, dword [ebx + 4]
test eax, eax
je 0x100614e5
cmp dword [eax], 0
jne 0x100614e5
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [eax], 0xa1
jmp 0x1005d1bc
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 0x1005d1bc
mov ebp, dword [esp + 0x2c]
mov esi, dword [ebp + 0x284]
cmp edi, 1
jne 0x10061e5a
test esi, esi
je 0x10061e5a
cmp edx, ecx
jne 0x1005f255
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f251
cmp dword [eax], 0
jne 0x1005f251
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f281
cmp dword [edx - 4], 2
je 0x1005f271
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f26d
cmp dword [eax], 0
jne 0x1005f26d
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005f281
lea eax, [edx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x10061e5a
mov edx, dword [esi]
lea eax, [edx + ecx]
cmp eax, dword [ebp + 0x28c]
ja 0x10061e5a
lea eax, [edx*4]
push eax
mov eax, dword [ebp + 0x288]
push dword [esi + 0x88]
lea eax, [eax + ecx*4]
push eax
call fcn.101a1ab0
mov esi, dword [esp + 0x20]
add esp, 0xc
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1005d1bc
cmp edi, 2
jne 0x10061e5a
cmp edx, ecx
jne 0x1005f2f0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f2ec
cmp dword [eax], 0
jne 0x1005f2ec
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x1005f31c
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 0x1005f30c
sub eax, 1
jne 0x1005f31c
shl edi, 0x10
jmp 0x1005f31c
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp edx, ecx
jne 0x1005f33c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f338
cmp dword [eax], 0
jne 0x1005f338
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x1005f366
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x1005f356
sub eax, 1
jne 0x1005f366
shl esi, 0x10
jmp 0x1005f366
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 0x1005f39f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f3b2
cmp dword [eax], 0
jne 0x1005f3b2
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 0x1005d1bc
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 0x1005d1bc
cmp edi, 2
jne 0x10061e5a
cmp edx, ecx
jne 0x1005f3f8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f3f4
cmp dword [eax], 0
jne 0x1005f3f4
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x1005f424
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 0x1005f414
sub eax, 1
jne 0x1005f424
shl edi, 0x10
jmp 0x1005f424
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp edx, ecx
jne 0x1005f444
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f440
cmp dword [eax], 0
jne 0x1005f440
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x1005f46e
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x1005f45e
sub eax, 1
jne 0x1005f46e
shl esi, 0x10
jmp 0x1005f46e
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 0x1005f497
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f3b2
cmp dword [eax], 0
jne 0x1005f3b2
mov dword [eax], 0x82
jmp 0x1005f3b2
sub esi, edi
mov dword [edx], esi
jmp 0x1005f3a4
cmp edi, 2
jne 0x10061e5a
cmp edx, ecx
jne 0x1005f4c9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f4c5
cmp dword [eax], 0
jne 0x1005f4c5
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1005f4f5
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 0x1005f4e5
sub eax, 1
jne 0x1005f4f5
shl esi, 0x10
jmp 0x1005f4f5
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp edx, ecx
jne 0x1005f50f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f50b
cmp dword [eax], 0
jne 0x1005f50b
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f539
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005f529
sub eax, 1
jne 0x1005f539
shl ecx, 0x10
jmp 0x1005f539
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, esi
call fcn.1003f360
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 0x1005f572
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f3b2
cmp dword [eax], 0
jne 0x1005f3b2
mov dword [eax], 0x82
jmp 0x1005f3b2
mov dword [esi], eax
jmp 0x1005f3a4
cmp edi, 2
jne 0x10061e5a
cmp edx, ecx
jne 0x1005f5a2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f59e
cmp dword [eax], 0
jne 0x1005f59e
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1005f5ce
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 0x1005f5be
sub eax, 1
jne 0x1005f5ce
shl esi, 0x10
jmp 0x1005f5ce
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp edx, ecx
jne 0x1005f5e8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f5e4
cmp dword [eax], 0
jne 0x1005f5e4
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f612
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005f602
sub eax, 1
jne 0x1005f612
shl ecx, 0x10
jmp 0x1005f612
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test esi, esi
je 0x10061e5a
mov edx, esi
call fcn.10047ae0
jmp 0x1005f540
cmp edi, 2
jne 0x10061e5a
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x10061e5a
cmp edx, ecx
jne 0x1005f65a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f656
cmp dword [eax], 0
jne 0x1005f656
mov dword [eax], 0xa1
xor edx, edx
jmp 0x1005f686
cmp dword [edx - 4], 2
je 0x1005f676
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f672
cmp dword [eax], 0
jne 0x1005f672
mov dword [eax], 0xa0
xor edx, edx
jmp 0x1005f686
lea eax, [edx - 8]
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
test edx, edx
js 0x10061e5a
cmp edx, dword [ebp + 0x28c]
jae 0x10061e5a
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
cmp esi, dword [eax]
jne 0x1005f6cf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f6af
cmp dword [eax], 0
jne 0x1005f6af
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 0x1005d1bc
add esi, 0xfffffff8
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1005f705
sub eax, 1
jne 0x1005f715
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 0x1005d1bc
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 0x1005d1bc
cmp edi, 1
jne 0x10061e5a
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x10061e5a
cmp edx, ecx
jne 0x1005f767
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f763
cmp dword [eax], 0
jne 0x1005f763
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005f793
cmp dword [edx - 4], 2
je 0x1005f783
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f77f
cmp dword [eax], 0
jne 0x1005f77f
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x1005f793
lea eax, [edx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x10061e5a
cmp ecx, dword [ebp + 0x28c]
jae 0x10061e5a
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 0x1005f499
jmp 0x1005f553
cmp edi, 4
jne 0x10061e5a
cmp edx, ecx
jne 0x1005f7f3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f7e9
cmp dword [eax], 0
jne 0x1005f7e9
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x1005f82f
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
sub eax, 1
je 0x1005f819
sub eax, 1
mov eax, dword [edx]
je 0x1005f810
mov dword [esp + 0x28], eax
jmp 0x1005f82f
shl eax, 0x10
mov dword [esp + 0x28], eax
jmp 0x1005f82f
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 0x1005f84f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f84b
cmp dword [eax], 0
jne 0x1005f84b
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor ebp, ebp
jmp 0x1005f879
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ebp, dword [edx]
sub eax, 1
je 0x1005f869
sub eax, 1
jne 0x1005f879
shl ebp, 0x10
jmp 0x1005f879
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp edx, ecx
jne 0x1005f899
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f895
cmp dword [eax], 0
jne 0x1005f895
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1005f8c3
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x1005f8b3
sub eax, 1
jne 0x1005f8c3
shl esi, 0x10
jmp 0x1005f8c3
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp edx, ecx
jne 0x1005f8e3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f8df
cmp dword [eax], 0
jne 0x1005f8df
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor edi, edi
jmp 0x1005f90d
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edi, dword [edx]
sub eax, 1
je 0x1005f8fd
sub eax, 1
jne 0x1005f90d
shl edi, 0x10
jmp 0x1005f90d
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 0x1005f553
cmp ebp, dword [esp + 0x28]
cmovle esi, edi
mov dword [edx], esi
jmp 0x1005f3a4
test edi, edi
jne 0x10061e5a
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 0x1005f7a8
mov ebp, dword [esp + 0x28]
test ebp, ebp
js 0x10061e5a
test esi, esi
js 0x10061e5a
cmp ebp, 3
jle 0x1005f989
mov ebp, 3
mov dword [esp + 0x5c], ebp
jmp 0x1005f99a
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x5c], ebp
cmp ebp, 1
jl 0x1005d1b0
lea edi, [esp + ebp*4 + 0x3e5c]
cmp edx, ecx
jne 0x1005f9c4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005f9c0
cmp dword [eax], 0
jne 0x1005f9c0
mov dword [eax], 0xa1
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x1005f9ee
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x1005f9de
sub eax, 1
jne 0x1005f9ee
shl esi, 0x10
jmp 0x1005f9ee
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 0x1005f9a1
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1005d1bc
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test al, al
je 0x1005d1bc
mov edx, dword [esp + 0x4c]
test edx, edx
jle 0x1005fa2f
dec edx
mov dword [esp + 0x4c], edx
jmp 0x1005d1bc
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x10061e5a
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 0x100600d1
mov esi, dword [esp + 0x14]
jmp 0x1005e4b3
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
cmp eax, dword [esi]
jne 0x1005fa95
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1005d1bc
cmp dword [eax], 0
jne 0x1005d1bc
mov dword [eax], 0xa1
jmp 0x1005d1bc
mov ecx, dword [esp + 0x18]
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
jmp 0x1005d1bc
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x1005faca
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fac6
cmp dword [eax], 0
jne 0x1005fac6
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1005faf1
cmp dword [eax - 4], 2
je 0x1005fae9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fae5
cmp dword [eax], 0
jne 0x1005fae5
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1005faf1
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov edx, dword [ebx + 0xc]
cmp edx, ecx
jne 0x1005fb0e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fb0a
cmp dword [eax], 0
jne 0x1005fb0a
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005fb38
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005fb28
sub eax, 1
jne 0x1005fb38
shl ecx, 0x10
jmp 0x1005fb38
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp esi, 0x1f
ja 0x1005d1b4
mov dword [esp + esi*4 + 0x3e88], ecx
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1005d1bc
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
cmp eax, dword [esi]
jne 0x1005fb80
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fb72
cmp dword [eax], 0
jne 0x1005fb72
mov dword [eax], 0xa1
xor eax, eax
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005fa47
cmp dword [eax - 4], 2
je 0x1005fba6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fb98
cmp dword [eax], 0
jne 0x1005fb98
mov dword [eax], 0xa0
xor eax, eax
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005fa47
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x1006032f
cmp eax, 0x20
jge 0x1006032f
mov esi, dword [esp + eax*4 + 0x3e88]
jmp 0x1005fa47
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1005fbfa
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fbf0
cmp dword [eax], 0
jne 0x1005fbf0
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x1005fc36
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
sub eax, 1
je 0x1005fc20
sub eax, 1
mov eax, dword [ecx]
je 0x1005fc17
mov dword [esp + 0x28], eax
jmp 0x1005fc36
shl eax, 0x10
mov dword [esp + 0x28], eax
jmp 0x1005fc36
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 0x1005fc56
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fc52
cmp dword [eax], 0
jne 0x1005fc52
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor ebp, ebp
jmp 0x1005fc80
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x1005fc70
sub eax, 1
jne 0x1005fc80
shl ebp, 0x10
jmp 0x1005fc80
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp ecx, edx
jne 0x1005fca0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fc9c
cmp dword [eax], 0
jne 0x1005fc9c
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor esi, esi
jmp 0x1005fcca
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1005fcba
sub eax, 1
jne 0x1005fcca
shl esi, 0x10
jmp 0x1005fcca
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp ecx, edx
jne 0x1005fcea
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fce6
cmp dword [eax], 0
jne 0x1005fce6
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor edi, edi
jmp 0x1005fd14
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1005fd04
sub eax, 1
jne 0x1005fd14
shl edi, 0x10
jmp 0x1005fd14
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 0x1005fd2b
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jmp 0x1005e721
cmp ebp, dword [esp + 0x28]
cmovle esi, edi
mov dword [ecx], esi
jmp 0x1005e7d1
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 0x1005eba8
mov dword [edx], esi
jmp 0x100601a5
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1005fdaf
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fdab
cmp dword [eax], 0
jne 0x1005fdab
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor esi, esi
jmp 0x1005fddb
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 0x1005fdcb
sub eax, 1
jne 0x1005fddb
shl esi, 0x10
jmp 0x1005fddb
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp ecx, edx
jne 0x1005fdf5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fdf1
cmp dword [eax], 0
jne 0x1005fdf1
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1005fe1f
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005fe0f
sub eax, 1
jne 0x1005fe1f
shl ecx, 0x10
jmp 0x1005fe1f
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, esi
call fcn.1003f360
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 0x1005eba8
mov dword [esi], eax
jmp 0x100601a5
mov esi, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
mov dword [esp + 0x3c], edx
cmp ecx, edx
jne 0x1005fea8
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fe67
cmp dword [eax], 0
jne 0x1005fe67
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 0x1005ff35
mov eax, dword [ebx + 4]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1005d1bc
cmp dword [eax], 0
jne 0x1005d1bc
mov dword [eax], 0x82
jmp 0x1005d1bc
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 0x1005fec6
sub eax, 1
jne 0x1005fede
shl ebp, 0x10
jmp 0x1005fed6
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 0x1005fe6d
mov eax, ebp
mov esi, ebp
sar eax, 1
mov ecx, ebp
cmp ebp, 0xa
cmovge esi, eax
mov edx, esi
call fcn.10047ae0
lea edi, [esi + 1]
add edi, eax
sar edi, 1
cmp edi, esi
je 0x1005ff24
mov edx, edi
mov ecx, ebp
mov esi, edi
call fcn.10047ae0
inc edi
add edi, eax
sar edi, 1
cmp edi, esi
jne 0x1005ff02
mov esi, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
jmp 0x1005fe6f
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
jmp 0x1005fe6f
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 0x1005d1bc
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
cmp edx, ecx
jne 0x1005ff7f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005ff7b
cmp dword [eax], 0
jne 0x1005ff7b
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x1005ffab
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 0x1005ff9b
sub eax, 1
jne 0x1005ffab
shl esi, 0x10
jmp 0x1005ffab
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 0x1005ffd4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005fa4a
cmp dword [eax], 0
jne 0x1005fa4a
mov dword [eax], 0x82
jmp 0x1005fa47
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1005fa47
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
cmp edx, ecx
jne 0x10060012
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006000e
cmp dword [eax], 0
jne 0x1006000e
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x1006003e
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 0x1006002e
sub eax, 1
jne 0x1006003e
shl edi, 0x10
jmp 0x1006003e
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp edx, ecx
jne 0x1006005e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006005a
cmp dword [eax], 0
jne 0x1006005a
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x10060088
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x10060078
sub eax, 1
jne 0x10060088
shl esi, 0x10
jmp 0x10060088
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 0x100600a6
mov eax, dword [ebx + 4]
test eax, eax
je 0x100600b9
cmp dword [eax], 0
jne 0x100600b9
mov dword [eax], 0x82
jmp 0x100600b6
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 0x1005e2ec
mov dword [edx], esi
jmp 0x100601a5
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x100600fe
mov eax, dword [ebx + 4]
test eax, eax
je 0x100600fa
cmp dword [eax], 0
jne 0x100600fa
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x10060125
cmp dword [eax - 4], 2
je 0x1006011d
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060119
cmp dword [eax], 0
jne 0x10060119
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x10060125
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 0x1005d1b4
test edx, edx
jns 0x10060140
lea edi, [eax - 1]
jmp 0x10060161
cmp edx, eax
jb 0x1006015c
xor edi, edi
mov eax, dword [ecx + edi*8 + 4]
mov edx, dword [ecx + edi*8]
sub eax, 1
je 0x10060181
sub eax, 1
jne 0x10060191
shl edx, 0x10
jmp 0x10060191
mov edi, eax
sub edi, edx
dec edi
cmp edi, eax
jb 0x10060146
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006017d
cmp dword [eax], 0
jne 0x1006017d
mov dword [eax], 0x82
mov ecx, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
xor edx, edx
jmp 0x10060191
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 0x1005e2ec
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 0x1005d1bc
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [esi]
cmp eax, ecx
jne 0x100601e6
mov eax, dword [ebx + 4]
test eax, eax
je 0x100601e2
cmp dword [eax], 0
jne 0x100601e2
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x1006020d
cmp dword [eax - 4], 2
je 0x10060205
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060201
cmp dword [eax], 0
jne 0x10060201
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x1006020d
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, ecx
jne 0x1006023f
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060226
cmp dword [eax], 0
jne 0x10060226
mov dword [eax], 0xa1
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 2
jmp 0x1005d1bc
cmp dword [eax - 4], 2
je 0x10060270
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060257
cmp dword [eax], 0
jne 0x10060257
mov dword [eax], 0xa0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 2
jmp 0x1005d1bc
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 0x1006032f
sub eax, dword [esi]
sar eax, 3
cmp ecx, eax
jbe 0x100602ae
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006032f
jmp 0x1005ebb7
test edx, edx
jns 0x100602c3
neg edx
mov eax, edx
cdq
idiv ecx
mov edi, edx
neg edi
mov dword [esp + 0x48], edi
jmp 0x100602ce
mov eax, edx
cdq
idiv ecx
mov edi, edx
mov dword [esp + 0x48], edx
test edi, edi
je 0x1006032f
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 0x10060319
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 0x10060340
sub edx, ebx
sub esi, eax
jmp 0x10060348
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1005d1bc
test edx, edx
jns 0x10060348
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 0x100602f6
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 0x1005d1bc
test al, al
je case.0x1005dfec.0
cmp byte [esp + 0x32], 0
je case.0x1005dfec.0
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x100603ca
mov eax, dword [ebx + 4]
test eax, eax
je 0x100603c6
cmp dword [eax], 0
jne 0x100603c6
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x100603f8
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 0x100603e8
sub eax, 1
jne 0x100603fc
shl edi, 0x10
jmp 0x100603f8
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 0x1006041d
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060419
cmp dword [eax], 0
jne 0x10060419
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1006044b
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 0x1006043b
sub eax, 1
jne 0x1006044f
shl esi, 0x10
jmp 0x1006044b
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 0x1005d1bc
mov esi, dword [esp + 0x14]
test al, al
je 0x1005d487
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esi]
jne 0x100604a3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006049f
cmp dword [eax], 0
jne 0x1006049f
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100604cd
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x100604bd
sub eax, 1
jne 0x100604cd
shl ecx, 0x10
jmp 0x100604cd
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 0x100604fd
mov eax, dword [ebx + 4]
test eax, eax
je 0x100604f9
cmp dword [eax], 0
jne 0x100604f9
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10060527
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10060517
sub eax, 1
jne 0x10060527
shl ecx, 0x10
jmp 0x10060527
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 0x10061fa1
cmp byte [esp + 0x32], 0
je 0x1005d483
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 0x1005d1bc
test al, al
je 0x10062146
test ah, ah
jne 0x10062146
cmp byte [esp + 0x2ec8], ah
je 0x100605ed
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005c070
cmp byte [esp + 0x2f18], 0
je 0x100605d5
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.1005baf0
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 0x10060628
cmp byte [eax + 5], 0
je 0x1006064c
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005b110
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 0x10060714
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 0x100606fa
test ebp, ebp
je 0x100606f8
cmp dword [ebp], 0
jne 0x100606f8
mov dword [ebp], 0x82
xor ebx, ebx
imul ebx, ecx
dec edx
add ebx, esi
mov dword [esp + 0x18], ebx
test edx, edx
jg 0x100606e0
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 0x1005d1bc
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
sub eax, dword [esi]
sar eax, 3
cmp eax, 1
jbe 0x1006074f
cmp byte [esp + 0x104], 0
jne 0x1005d487
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.1005c4f0
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x10061fa1
mov eax, dword [esp + 0x28]
cmp al, 0x13
jne 0x100607b1
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0x100]
add eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x18]
push eax
call fcn.1005c470
mov eax, dword [esi]
mov ecx, edx
mov dword [ebx + 0xc], eax
jmp 0x1005d1bc
push 0xf1c
lea eax, [esp + 0x2f44]
push 0
push eax
call fcn.101a2030
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.1005c470
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.1005b110
mov eax, dword [esi]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xc], eax
jmp 0x1005d1bc
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov edx, dword [esi]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x100608d3
cmp byte [esp + 0x27], 0
jne 0x100608d3
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100608b4
sub eax, 1
jne 0x100608c4
shl ecx, 0x10
jmp 0x100608c4
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 0x10061fa1
mov ecx, dword [ebx + 0xc]
mov esi, dword [esi]
cmp ecx, esi
jne 0x1006090e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006090a
cmp dword [eax], 0
jne 0x1006090a
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x10060938
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x10060928
sub eax, 1
jne 0x10060938
shl edx, 0x10
jmp 0x10060938
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 0x1006095f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006095b
cmp dword [eax], 0
jne 0x1006095b
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10060989
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10060979
sub eax, 1
jne 0x10060989
shl ecx, 0x10
jmp 0x10060989
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 0x10060464
cmp byte [esp + 0x2ec8], 0
je 0x10060a20
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005c070
cmp byte [esp + 0x2f18], 0
je 0x10060a08
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.1005baf0
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 0x10060a5b
cmp byte [eax + 5], 0
je 0x10060a7f
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005b110
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 0x1005d1bc
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov edx, dword [ecx]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x10060aff
cmp byte [esp + 0x27], 0
jne 0x10060aff
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10060adc
sub eax, 1
jne 0x10060aec
shl ecx, 0x10
jmp 0x10060aec
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 0x10061fa1
mov edx, dword [ebx + 0xc]
cmp edx, dword [ecx]
jne 0x10060b32
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060b2e
cmp dword [eax], 0
jne 0x10060b2e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10060b5c
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10060b4c
sub eax, 1
jne 0x10060b5c
shl ecx, 0x10
jmp 0x10060b5c
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 0x10060464
cmp byte [esp + 0x2ec8], 0
je 0x10060bf3
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005c070
cmp byte [esp + 0x2f18], 0
je 0x10060bdb
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.1005baf0
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 0x10060c32
cmp byte [eax + 5], 0
je 0x10060a7f
mov edx, dword [esp + 0x2ecc]
lea ecx, [esp + 0x140]
push 0
push dword [esp + 0x2edc]
push eax
push dword [esp + 0x2edc]
call fcn.1005b110
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 0x1005d1bc
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 0x10060d86
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 0x10060cd2
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060cce
cmp dword [eax], 0
jne 0x10060cce
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
xor esi, esi
jmp 0x10060cf8
mov eax, dword [edx + edi*8 + 4]
mov esi, dword [edx + edi*8]
sub eax, 1
je 0x10060ce8
sub eax, 1
jne 0x10060cf8
shl esi, 0x10
jmp 0x10060cf8
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 0x10060d29
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060d25
cmp dword [eax], 0
jne 0x10060d25
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060d50
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x10060d40
sub eax, 1
jne 0x10060d50
shl ecx, 0x10
jmp 0x10060d50
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.1005c070
mov eax, dword [esp + 0x34]
add ebp, 2
mov edx, dword [esp + 0x14]
add edi, 2
cmp ebp, eax
jb 0x10060ca3
mov ebp, dword [esp + 0x20]
cmp edi, eax
jae 0x10060ff5
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 0x10060dc7
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060dc3
cmp dword [eax], 0
jne 0x10060dc3
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10060dee
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x10060dde
sub eax, 1
jne 0x10060dee
shl ecx, 0x10
jmp 0x10060dee
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 0x10060e22
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060e1e
cmp dword [eax], 0
jne 0x10060e1e
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10060e49
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x10060e39
sub eax, 1
jne 0x10060e49
shl ecx, 0x10
jmp 0x10060e49
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 0x10060e7d
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060e79
cmp dword [eax], 0
jne 0x10060e79
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10060ea3
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x10060e93
sub eax, 1
jne 0x10060ea3
shl ecx, 0x10
jmp 0x10060ea3
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 0x10060eda
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060ed6
cmp dword [eax], 0
jne 0x10060ed6
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10060f01
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x10060ef1
sub eax, 1
jne 0x10060f01
shl ecx, 0x10
jmp 0x10060f01
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 0x10060f30
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060f2c
cmp dword [eax], 0
jne 0x10060f2c
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10060f57
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x10060f47
sub eax, 1
jne 0x10060f57
shl ecx, 0x10
jmp 0x10060f57
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 0x10060f83
mov eax, dword [ebx + 4]
test eax, eax
je 0x10060f7f
cmp dword [eax], 0
jne 0x10060f7f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10060faa
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x10060f9a
sub eax, 1
jne 0x10060faa
shl ecx, 0x10
jmp 0x10060faa
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.1005c1f0
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 0x10060d95
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 0x1005d1bc
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 0x100614e0
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 0x100610aa
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x10061073
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006106f
cmp dword [eax], 0
jne 0x1006106f
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061099
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10061089
sub eax, 1
jne 0x10061099
shl ecx, 0x10
jmp 0x10061099
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 0x100610dd
mov eax, dword [ebx + 4]
test eax, eax
je 0x100610d9
cmp dword [eax], 0
jne 0x100610d9
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [esi]
xor esi, esi
jmp 0x10061103
mov eax, dword [ecx + edi*8 + 4]
mov esi, dword [ecx + edi*8]
sub eax, 1
je 0x100610f3
sub eax, 1
jne 0x10061103
shl esi, 0x10
jmp 0x10061103
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 0x10061137
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061133
cmp dword [eax], 0
jne 0x10061133
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x1006115d
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x1006114d
sub eax, 1
jne 0x1006115d
shl esi, 0x10
jmp 0x1006115d
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 0x10061195
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061191
cmp dword [eax], 0
jne 0x10061191
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x100611bb
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x100611ab
sub eax, 1
jne 0x100611bb
shl esi, 0x10
jmp 0x100611bb
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 0x100611e0
mov eax, dword [ebx + 4]
test eax, eax
je 0x100611dc
cmp dword [eax], 0
jne 0x100611dc
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061207
lea ecx, [ecx + eax*8]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x100611f7
sub eax, 1
jne 0x10061207
shl ecx, 0x10
jmp 0x10061207
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.1005c1f0
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 0x10061043
jmp 0x100614dc
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 0x100614e0
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 0x10061311
mov eax, dword [ebx + 0xc]
mov ecx, dword [esi]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x100612cc
mov eax, dword [ebx + 4]
test eax, eax
je 0x100612c8
cmp dword [eax], 0
jne 0x100612c8
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100612f2
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100612e2
sub eax, 1
jne 0x100612f2
shl ecx, 0x10
jmp 0x100612f2
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 0x10061319
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 0x10061344
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061340
cmp dword [eax], 0
jne 0x10061340
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [esi]
xor esi, esi
jmp 0x1006136a
mov eax, dword [ecx + edi*8 + 4]
mov esi, dword [ecx + edi*8]
sub eax, 1
je 0x1006135a
sub eax, 1
jne 0x1006136a
shl esi, 0x10
jmp 0x1006136a
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 0x100613a2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006139e
cmp dword [eax], 0
jne 0x1006139e
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x100613c8
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x100613b8
sub eax, 1
jne 0x100613c8
shl esi, 0x10
jmp 0x100613c8
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 0x100613f8
mov eax, dword [ebx + 4]
test eax, eax
je 0x100613f4
cmp dword [eax], 0
jne 0x100613f4
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x1006141e
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x1006140e
sub eax, 1
jne 0x1006141e
shl esi, 0x10
jmp 0x1006141e
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 0x1006144b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061447
cmp dword [eax], 0
jne 0x10061447
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061473
mov eax, dword [ecx + esi*8 + 4]
lea ecx, [ecx + esi*8]
mov ecx, dword [ecx]
sub eax, 1
je 0x10061463
sub eax, 1
jne 0x10061473
shl ecx, 0x10
jmp 0x10061473
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.1005c1f0
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 0x100612a0
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 0x1005d1bc
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 0x1006197e
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 0x10061751
cmp ebp, ecx
jb 0x1006155f
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1006155b
cmp dword [ecx], 0
jne 0x1006155b
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10061585
mov ecx, dword [eax + ebp*8 + 4]
mov esi, dword [eax + ebp*8]
sub ecx, 1
je 0x10061575
sub ecx, 1
jne 0x10061585
shl esi, 0x10
jmp 0x10061585
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 0x100615c4
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x100615c0
cmp dword [ecx], 0
jne 0x100615c0
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x100615ea
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x100615da
sub ecx, 1
jne 0x100615ea
shl esi, 0x10
jmp 0x100615ea
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 0x10061621
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1006161d
cmp dword [ecx], 0
jne 0x1006161d
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10061647
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x10061637
sub ecx, 1
jne 0x10061647
shl esi, 0x10
jmp 0x10061647
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 0x1006166f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006166b
cmp dword [eax], 0
jne 0x1006166b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10061695
mov ecx, dword [eax + esi*8]
mov eax, dword [eax + esi*8 + 4]
sub eax, 1
je 0x10061685
sub eax, 1
jne 0x10061695
shl ecx, 0x10
jmp 0x10061695
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 0x1006173f
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 0x100616eb
mov eax, dword [ebx + 4]
test eax, eax
je 0x100616d2
cmp dword [eax], 0
jne 0x100616d2
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 0x10061939
mov eax, dword [esi + edx*8 + 4]
mov ecx, dword [esi + edx*8]
sub eax, 1
je 0x10061717
sub eax, 1
jne 0x10061727
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 0x10061939
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 0x10061939
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
mov byte [esp + 0x33], 0
jmp 0x10061939
mov dword [esp + 0x34], esi
cmp ebp, ecx
jb 0x10061778
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10061774
cmp dword [ecx], 0
jne 0x10061774
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x1006179e
mov ecx, dword [eax + ebp*8 + 4]
mov esi, dword [eax + ebp*8]
sub ecx, 1
je 0x1006178e
sub ecx, 1
jne 0x1006179e
shl esi, 0x10
jmp 0x1006179e
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 0x100617d6
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x100617d2
cmp dword [ecx], 0
jne 0x100617d2
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x100617fc
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x100617ec
sub ecx, 1
jne 0x100617fc
shl esi, 0x10
jmp 0x100617fc
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 0x10061833
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1006182f
cmp dword [ecx], 0
jne 0x1006182f
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10061859
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x10061849
sub ecx, 1
jne 0x10061859
shl esi, 0x10
jmp 0x10061859
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 0x10061881
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006187d
cmp dword [eax], 0
jne 0x1006187d
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100618a7
mov ecx, dword [eax + esi*8]
mov eax, dword [eax + esi*8 + 4]
sub eax, 1
je 0x10061897
sub eax, 1
jne 0x100618a7
shl ecx, 0x10
jmp 0x100618a7
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 0x10061930
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 0x100618f2
mov eax, dword [ebx + 4]
test eax, eax
je 0x100618e3
cmp dword [eax], 0
jne 0x100618e3
mov dword [eax], 0x82
mov ebp, dword [esp + 0x54]
xor ecx, ecx
lea eax, [edi + ecx]
mov dword [esp + 0x1c], eax
jmp 0x10061934
mov eax, dword [esi + edx*8 + 4]
mov ecx, dword [esi + edx*8]
sub eax, 1
je 0x10061913
sub eax, 1
jne 0x10061923
mov ebp, dword [esp + 0x54]
shl ecx, 0x10
lea eax, [edi + ecx]
mov dword [esp + 0x1c], eax
jmp 0x10061934
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 0x10061934
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.1005c1f0
mov edi, dword [esp + 0x1c]
add ebp, 4
mov dword [esp + 0x3f24], esi
mov dword [esp + 0x3f28], edi
cmp ebp, dword [esp + 0x3c]
jb 0x10061521
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 0x1005d1bc
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
mov esi, dword [esp + 0x18]
cmp edx, ecx
jae 0x100619a9
mov al, byte [edx]
inc edx
mov dword [esi + 0xc], edx
movzx esi, al
jmp 0x100619c2
mov eax, dword [esi]
test eax, eax
je 0x100619c0
cmp dword [eax], 0
jne 0x100619c0
mov dword [eax], 0x55
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor esi, esi
cmp edx, ecx
jae 0x100619d7
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x18]
mov dword [edx + 0xc], eax
movzx eax, cl
jmp 0x100619ee
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x100619ec
cmp dword [eax], 0
jne 0x100619ec
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 0x10061a16
mov esi, dword [esp + 0x14]
jmp 0x1005e4b7
mov dword [esi], edx
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1005d1b8
cmp dl, 0xf6
ja 0x10061a70
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 0x10061ac0
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1005d1bc
cmp dword [eax], 0
jne 0x1005d1bc
mov dword [eax], 0x82
jmp 0x1005d1bc
mov eax, dword [esp + 0x28]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
cmp al, 0xfa
ja 0x10061add
shl esi, 8
cmp edx, ecx
jae 0x10061a9d
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 0x10061a36
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x10061ab2
cmp dword [eax], 0
jne 0x10061ab2
mov dword [eax], 0x55
xor eax, eax
mov eax, 0xffff096c
add esi, eax
jmp 0x10061a36
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 0x1005d1bc
cmp al, 0xfe
ja 0x10061b4d
shl esi, 8
cmp edx, ecx
jae 0x10061af9
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x18]
mov dword [edx + 0xc], eax
movzx eax, cl
jmp 0x10061b10
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x10061b0e
cmp dword [eax], 0
jne 0x10061b0e
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 0x10061a49
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 0x1005d1bc
mov edi, dword [esp + 0x18]
cmp edx, ecx
jae 0x10061b60
mov al, byte [edx]
inc edx
mov dword [edi + 0xc], edx
movzx esi, al
jmp 0x10061b79
mov eax, dword [edi]
test eax, eax
je 0x10061b77
cmp dword [eax], 0
jne 0x10061b77
mov dword [eax], 0x55
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor esi, esi
cmp edx, ecx
jae 0x10061b88
mov al, byte [edx]
inc edx
mov dword [edi + 0xc], edx
movzx ebp, al
jmp 0x10061ba1
mov eax, dword [edi]
test eax, eax
je 0x10061b9f
cmp dword [eax], 0
jne 0x10061b9f
mov dword [eax], 0x55
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor ebp, ebp
cmp edx, ecx
jae 0x10061bb0
mov al, byte [edx]
inc edx
mov dword [edi + 0xc], edx
movzx edi, al
jmp 0x10061bc9
mov eax, dword [edi]
test eax, eax
je 0x10061bc7
cmp dword [eax], 0
jne 0x10061bc7
mov dword [eax], 0x55
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor edi, edi
cmp edx, ecx
jae 0x10061bde
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x18]
mov dword [edx + 0xc], eax
movzx eax, cl
jmp 0x10061bf5
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x10061bf3
cmp dword [eax], 0
jne 0x10061bf3
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 0x10061c83
cmp esi, 0x7d00
jg 0x10061c1e
cmp esi, 0xffff8300
jge 0x10061c33
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 0x10061c75
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 0x1005d1bc
cmp dword [eax], 0
jne 0x1005d1bc
mov dword [eax], 0x82
jmp 0x1005d1bc
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 2
jmp 0x10061cd1
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 0x10061cc5
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 0x1005d1bc
cmp dword [eax], 0
jne 0x1005d1bc
mov dword [eax], 0x82
jmp 0x1005d1bc
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 0x1005d1bc
cmp dword [ecx - 4], 2
je 0x10061d12
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061d08
cmp dword [eax], 0
jne 0x10061d08
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x10061d1e
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
cmp ecx, edx
jne 0x10061d44
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061d3a
cmp dword [eax], 0
jne 0x10061d3a
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x44], 0
jmp 0x10061d78
cmp dword [ecx - 4], 2
je 0x10061d6c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061d62
cmp dword [eax], 0
jne 0x10061d62
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x44], 0
jmp 0x10061d78
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx]
mov dword [esp + 0x44], eax
cmp ecx, edx
jne 0x10061d98
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061d94
cmp dword [eax], 0
jne 0x10061d94
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x10061dc2
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x10061db2
sub eax, 1
jne 0x10061dc2
shl edi, 0x10
jmp 0x10061dc2
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x10061de2
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061dde
cmp dword [eax], 0
jne 0x10061dde
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor esi, esi
jmp 0x10061e0c
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x10061dfc
sub eax, 1
jne 0x10061e0c
shl esi, 0x10
jmp 0x10061e0c
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp ecx, edx
jne 0x10061e26
mov eax, dword [ebx + 4]
test eax, eax
je 0x10061e22
cmp dword [eax], 0
jne 0x10061e22
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10061e50
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10061e40
sub eax, 1
jne 0x10061e50
shl ebp, 0x10
jmp 0x10061e50
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp byte [esp + 0x3f20], 0
je 0x10061e64
mov eax, 0x12
jmp 0x10062494
mov edx, dword [esp + 0x2c]
cmp byte [edx + 0x2f], 0
je 0x10061e78
mov eax, 0x12
jmp 0x10062494
cmp dword [edx + 0x244], 0
mov ecx, dword [esp + 0x50]
jne 0x10061e9b
mov eax, dword [ecx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x10061e9b
mov eax, 0x12
jmp 0x10062494
mov eax, dword [edx + 0x20]
add esi, dword [eax]
mov eax, dword [ecx + 0x80]
cmp dword [eax + 0x34], 0
je 0x10061eb2
mov eax, dword [esp + 0x28]
jmp 0x10061ed8
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x2c]
call fcn.10058c40
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x44], eax
call fcn.10058c40
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x44], 0
jl 0x10061e5a
test eax, eax
js 0x10061e5a
cmp byte [edx + 0x2e], 0
je 0x10061faa
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.10048730
test eax, eax
jne 0x10062494
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 0x10062494
mov ecx, dword [edx + 0xc]
call fcn.10048880
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x3e60]
mov ecx, dword [esp + 0x2c]
push eax
call fcn.1005ab80
test eax, eax
jne 0x10062494
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.1005cbf0
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 0x1006205d
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 0x10062087
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.1005ab80
test eax, eax
jne 0x10062494
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.1005cbf0
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 0x1006211a
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 0x10062494
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
je 0x1006215b
cmp eax, 5
jne 0x100621af
cmp byte [esp + 0x27], 0
jne 0x100621af
test eax, eax
jne 0x1006217c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062178
cmp dword [eax], 0
jne 0x10062178
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100621a0
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10062190
sub eax, 1
jne 0x100621a0
shl ecx, 0x10
jmp 0x100621a0
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 0x10061fa1
cmp byte [esp + 0x2ec8], 0
je 0x10062241
push dword [esp + 0x2f14]
mov edx, dword [esp + 0x2f14]
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2ecd], 1
call fcn.1005c070
cmp byte [esp + 0x2f18], 0
je 0x10062221
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.1005baf0
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 0x10061fa1
cmp byte [eax + 8], 0
jne 0x10061fa1
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x10061fa1
cmp byte [esp + 0x3f20], 0
je 0x10062283
mov eax, 0x12
jmp 0x10062494
cmp ecx, edx
jne 0x100622a9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006229f
cmp dword [eax], 0
jne 0x1006229f
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x38], 0
jmp 0x100622dd
cmp dword [ecx - 4], 2
je 0x100622d1
mov eax, dword [ebx + 4]
test eax, eax
je 0x100622c7
cmp dword [eax], 0
jne 0x100622c7
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x38], 0
jmp 0x100622dd
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx]
mov dword [esp + 0x38], eax
cmp ecx, edx
jne 0x100622fd
mov eax, dword [ebx + 4]
test eax, eax
je 0x100622f9
cmp dword [eax], 0
jne 0x100622f9
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor ebp, ebp
jmp 0x10062327
cmp dword [ecx - 4], 2
je 0x1006231f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1006231b
cmp dword [eax], 0
jne 0x1006231b
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor ebp, ebp
jmp 0x10062327
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov ebp, dword [ecx]
cmp ecx, edx
jne 0x10062347
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062343
cmp dword [eax], 0
jne 0x10062343
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x10062371
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x10062361
sub eax, 1
jne 0x10062371
shl edi, 0x10
jmp 0x10062371
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1006238b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10062387
cmp dword [eax], 0
jne 0x10062387
mov dword [eax], 0xa1
xor esi, esi
jmp 0x100623b5
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x100623a5
sub eax, 1
jne 0x100623b5
shl esi, 0x10
jmp 0x100623b5
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.1005aac0
test eax, eax
jne 0x10062494
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.1005cbf0
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.1005aac0
test eax, eax
jne 0x10062494
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.1005cbf0
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 0x10062494
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 0x100624a3
cmp dword [ecx], 0
jne 0x100624a3
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 0x100624dd
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 0x10062522
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 0x10062567
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 0x1006258d
mov edx, eax
mov eax, dword [esp + 0xe0]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
test ebx, ebx
je 0x100625b1
mov edx, dword [ebx + 8]
mov edi, dword [ebx]
test edx, edx
je 0x100625a1
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.101a0143
add esp, 0x3f04
ret 0x18