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

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x70
push 0xffffffffffffffff
push 0x8165ff
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x160
push ebx
mov ebx, dword [ebp + 0x78]
mov eax, ebx
push esi
mov esi, ecx
mov dword [ebp + 0x1c], eax
push edi
mov ecx, dword [ebx + 0x1cc]
mov dword [ebp - 0x10], esp
mov dword [ebp + 0x6c], esi
mov dword [ebp + 0x44], ebx
test ecx, ecx
je 0x652cf9
mov eax, dword [ecx]
push ebx
call dword [eax + 0x2c]
mov dword [ebp - 4], 0
mov byte [esi + 0x10], 0
nop dword [eax]
nop dword [eax + eax]
cmp byte [ebp + 0x7c], 0
mov byte [ebp - 4], 1
jne 0x65664f
mov eax, dword [0x8261b0]
mov dword [ebp + 0x40], eax
mov eax, dword [0x8261b4]
mov dword [ebp + 0x3c], eax
mov eax, dword [0x826190]
mov dword [ebp + 0x38], eax
jmp case.0x652d5b.0
call fcn.0062efe0
add esp, 0x10
mov esi, dword [ebp + 0x6c]
mov eax, dword [ebx + 0x6c]
movzx ecx, byte [eax]
lea edi, [eax + 1]
mov dword [ebx + 0x6c], edi
cmp ecx, 0x8d
ja case.0x652d5b.47
jmp dword [ecx*4 + 0x6567a0]
movzx edx, byte [edi]
lea ecx, [edi + 1]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or edx, eax
lea eax, [ecx + 1]
mov ecx, dword [ebx + 0x1cc]
mov dword [ebx + 0x6c], eax
test ecx, ecx
je case.0x652d5b.0
mov eax, dword [ecx]
push edx
push ebx
call dword [eax + 0x3c]
jmp case.0x652d5b.0
movzx ecx, byte [edi]
lea eax, [edi + 1]
push ecx
mov edx, 0x924850
mov dword [ebx + 0x6c], eax
mov ecx, ebx
call fcn.00658e00
add esp, 4
jmp case.0x652d5b.0
movzx edx, byte [edi]
lea eax, [edi + 1]
mov ecx, ebx
mov dword [ebx + 0x6c], eax
call fcn.006588e0
push eax
mov edx, 0x924850
mov ecx, ebx
call fcn.00658e00
add esp, 4
jmp case.0x652d5b.0
movzx ecx, byte [edi]
lea eax, [edi + 1]
push ecx
mov edx, 0x924850
mov dword [ebx + 0x6c], eax
mov ecx, ebx
call fcn.006584e0
add esp, 4
jmp case.0x652d5b.0
movzx edx, byte [edi]
lea eax, [edi + 1]
mov ecx, ebx
mov dword [ebx + 0x6c], eax
call fcn.006588e0
push eax
mov edx, 0x924850
mov ecx, ebx
call fcn.006584e0
add esp, 4
jmp case.0x652d5b.0
mov eax, dword [ebx + 0x5c]
push ebx
mov eax, dword [eax]
mov eax, dword [eax]
call eax
add esp, 4
test al, al
je case.default.0x652eff
mov dword [ebp - 4], 2
jmp 0x652ff6
movzx esi, byte [edi]
lea eax, [edi + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [eax + 1]
movzx edx, byte [eax]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or edx, eax
lea eax, [ecx + 1]
mov ecx, dword [ebx + 0x58]
mov dword [ebx + 0x6c], eax
lea eax, [esi*8]
sub ecx, eax
cmp ecx, dword [ebx + 0x50]
jb 0x656670
lea ecx, [esi - 1]
test ecx, ecx
js 0x652e89
nop dword [eax]
add dword [ebx + 0x58], 0xfffffff8
sub ecx, 1
mov eax, dword [ebx + 0x58]
mov dword [eax], 2
mov dword [eax + 4], 0x20000
jns 0x652e70
mov eax, dword [ebx + 0x60]
mov ecx, ebx
push dword [eax + edx*8 + 0x1c]
push dword [eax + edx*8 + 0x18]
mov edx, esi
call fcn.0065a800
add esp, 8
jmp case.default.0x652eff
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [ebx + 0x6c], eax
mov eax, 4
cmp dword [ebx + 0x4c], ecx
jge 0x652ebd
mov eax, 5
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], 0x20000
jmp case.0x652d5b.0
push dword [ebx + 0x74]
mov ecx, ebx
push dword [ebx + 0x70]
call fcn.0065aab0
mov esi, eax
mov edi, edx
mov eax, dword [ebx + 0x6c]
add esp, 8
mov dword [ebx + 0x70], esi
mov dword [ebx + 0x74], edi
movzx ecx, byte [eax]
inc eax
mov dword [ebx + 0x6c], eax
cmp ecx, 6
ja case.default.0x652eff
jmp dword [ecx*4 + 0x6569d8]
mov ecx, ebx
call fcn.0064bc20
push edx
push eax
push edi
push esi
push dword [ebx + 0x84]
mov ecx, ebx
push dword [ebx + 0x80]
call fcn.0063ae20
mov ecx, dword [ebx + 0x58]
mov edi, eax
mov dword [ebx + 0x80], edi
add esp, 0x18
mov dword [ebx + 0x84], edx
mov dword [ebp + 0x58], edx
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
mov esi, dword [edi + 0x40]
mov eax, dword [ecx]
mov edi, dword [edi + 0x44]
mov dword [ebp + 0x5c], eax
mov eax, dword [ecx + 4]
push edi
push esi
mov dword [ebp + 0x64], eax
call fcn.00661530
add esp, 8
test al, al
je 0x656682
push dword [ebp + 0x64]
push dword [ebp + 0x5c]
push edi
push esi
call fcn.0063d030
jmp 0x652d3d
mov ecx, ebx
call fcn.0064bc20
push edx
push eax
push edi
push esi
push dword [ebx + 0x84]
mov ecx, ebx
push dword [ebx + 0x80]
call fcn.0063ae20
add esp, 0x18
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x652eff
mov ecx, ebx
call fcn.0064bc20
push edx
push eax
push edi
push esi
push dword [ebx + 0x84]
mov ecx, ebx
push dword [ebx + 0x80]
call fcn.0063b430
add esp, 0x18
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x652eff
mov eax, dword [ebx + 0x5c]
push ebx
mov eax, dword [eax]
mov eax, dword [eax]
call eax
add esp, 4
test al, al
je case.default.0x652eff
mov dword [ebp - 4], 3
mov eax, dword [ebp + 0x44]
mov ecx, dword [eax + 0x1cc]
test ecx, ecx
je 0x653009
mov edx, dword [ecx]
push eax
call dword [edx + 0x30]
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x70]
pop ebp
ret 8
mov ecx, ebx
mov byte [esi + 0x10], 1
call fcn.006dcc10
mov eax, dword [ebx + 0x40]
mov ecx, ebx
push dword [eax + 0x1c]
push dword [eax + 0x18]
push dword [ebx + 0x84]
push dword [ebx + 0x80]
call fcn.006da680
add esp, 0x10
test al, al
jne 0x6530dc
mov edi, dword [ebx + 0x1f8]
lea ecx, [ebx + 0x1f8]
mov esi, dword [ebx + 0x40]
test edi, edi
je 0x653069
mov edi, dword [edi + 4]
jmp 0x65306b
xor edi, edi
lea eax, [edi + 1]
xor edx, edx
test eax, eax
cmovs eax, edx
push eax
call fcn.004cbefe
mov ecx, dword [ebx + 0x1f8]
mov eax, dword [esi + 0x18]
mov dword [ecx + edi*8 + 0x10], eax
mov eax, dword [esi + 0x1c]
mov dword [ecx + edi*8 + 0x14], eax
mov eax, dword [ebx + 0x1f8]
test eax, eax
je 0x65309e
mov eax, dword [eax + 4]
jmp 0x6530a0
xor eax, eax
cmp eax, 1
jne 0x6530dc
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], 0x8a192c
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x48]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x20]
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x6530dc
mov edx, dword [ecx]
lea eax, [ebp - 0x48]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp - 4], 5
jmp 0x6530f7
mov ecx, ebx
mov byte [esi + 0x10], 1
call fcn.006dcc10
mov dword [ebp - 4], 6
mov eax, dword [ebp + 0x44]
mov ecx, dword [eax + 0x1cc]
test ecx, ecx
je 0x65310a
mov edx, dword [ecx]
push eax
call dword [edx + 0x30]
mov ecx, dword [ebp - 0xc]
xor al, al
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
lea esp, [ebp + 0x70]
pop ebp
ret 8
movzx ecx, byte [edi]
inc edi
sub ecx, 1
mov eax, dword [ebx + 0x74]
mov edx, dword [ebx + 0x70]
mov dword [ebx + 0x6c], edi
mov dword [ebp + 0x58], eax
js 0x653145
sub ecx, 1
lea eax, [edx]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [ebp + 0x58], eax
jns 0x653135
movzx eax, byte [edi]
mov ecx, dword [edx + 0x10]
sub ecx, eax
lea eax, [edi + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [edx + ecx*8 + 0x18]
mov dword [ebx + 0x80], eax
mov eax, dword [edx + ecx*8 + 0x1c]
mov dword [ebx + 0x84], eax
jmp case.0x652d5b.0
movzx ecx, byte [edi]
lea edx, [edi + 1]
sub ecx, 1
mov eax, dword [ebx + 0x74]
mov edi, dword [ebx + 0x70]
mov dword [ebx + 0x6c], edx
mov dword [ebp + 0x68], eax
js 0x653193
sub ecx, 1
lea eax, [edi]
mov edi, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [ebp + 0x68], eax
jns 0x653183
movzx eax, byte [edx]
mov esi, dword [edi + 0x10]
push dword [ebx + 0x84]
sub esi, eax
lea eax, [edx + 1]
push dword [ebx + 0x80]
mov dword [ebx + 0x6c], eax
call fcn.005decd3
push edx
push eax
push dword [ebp + 0x68]
mov ecx, esi
push edi
call fcn.0062efc0
add esp, 0x18
jmp case.default.0x652eff
movzx esi, byte [edi]
lea ecx, [edi + 1]
push dword [ebx + 0x84]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
push dword [ebx + 0x80]
shl eax, 8
or esi, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
call fcn.0065b340
add esp, 8
cmp eax, 4
jne case.default.0x652eff
cmp edx, 0x20000
jne case.default.0x652eff
mov eax, dword [ebx + 0x68]
add eax, esi
mov dword [ebx + 0x6c], eax
jmp case.default.0x652eff
movzx edx, byte [edi]
lea ecx, [edi + 1]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or edx, eax
cmp dword [ebx + 0x80], 1
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
jne 0x653244
cmp dword [ebx + 0x84], 0x20000
je case.0x652d5b.0
mov eax, dword [ebx + 0x68]
add eax, edx
mov dword [ebx + 0x6c], eax
jmp case.0x652d5b.0
movzx edx, byte [edi]
lea ecx, [edi + 1]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or edx, eax
cmp dword [ebx + 0x80], 1
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
jne case.0x652d5b.0
cmp dword [ebx + 0x84], 0x20000
jne case.0x652d5b.0
mov eax, dword [ebx + 0x68]
add eax, edx
mov dword [ebx + 0x6c], eax
jmp case.0x652d5b.0
movzx esi, byte [edi]
lea ecx, [edi + 1]
push dword [ebx + 0x84]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
push dword [ebx + 0x80]
shl eax, 8
or esi, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
call fcn.0065b340
add esp, 8
cmp eax, 5
jmp 0x6531f5
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [ebx + 0x6c], eax
movzx eax, byte [eax]
shl eax, 8
or ecx, eax
mov eax, dword [ebx + 0x68]
add eax, ecx
mov dword [ebx + 0x6c], eax
jmp case.0x652d5b.0
movzx esi, byte [edi]
lea ecx, [edi + 1]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or esi, eax
inc ecx
mov dword [ebx + 0x6c], ecx
sub esi, 1
js 0x653340
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or edx, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov ecx, ebx
mov eax, dword [ebx + 0x60]
push dword [eax + edx*8 + 0x1c]
push dword [eax + edx*8 + 0x18]
push dword [ebx + 0x84]
push dword [ebx + 0x80]
call fcn.0065b4a0
add esp, 0x10
test al, al
jne 0x653340
add dword [ebx + 0x6c], 2
mov ecx, dword [ebx + 0x6c]
jmp 0x6532f8
mov eax, dword [ebx + 0x6c]
movzx ecx, byte [eax]
inc eax
mov dword [ebx + 0x6c], eax
movzx eax, byte [eax]
shl eax, 8
or ecx, eax
mov eax, dword [ebx + 0x68]
add eax, ecx
mov dword [ebx + 0x6c], eax
jmp case.default.0x652eff
mov dword [ebx + 0x80], 4
mov dword [ebx + 0x84], 0x20000
jmp case.0x652d5b.0
mov dword [ebx + 0x80], 5
mov dword [ebx + 0x84], 0x20000
jmp case.0x652d5b.0
mov dword [ebx + 0x80], 3
mov dword [ebx + 0x84], 0x20000
jmp case.0x652d5b.0
mov dword [ebx + 0x80], 2
mov dword [ebx + 0x84], 0x20000
jmp case.0x652d5b.0
mov dword [ebx + 0x80], 1
mov dword [ebx + 0x84], 0x20000
jmp case.0x652d5b.0
mov ecx, dword [ebx + 0x58]
cmp ecx, dword [ebx + 0x50]
jbe 0x656670
mov eax, dword [ebx + 0x80]
add ecx, 0xfffffff8
mov dword [ebx + 0x58], ecx
mov dword [ecx], eax
mov eax, dword [ebx + 0x84]
mov dword [ecx + 4], eax
jmp case.0x652d5b.0
lea esi, [ebx + 0x80]
mov edx, 0x924c48
push esi
push 1
mov ecx, ebx
call fcn.00691b60
add esp, 8
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.default.0x652eff
push dword [ebx + 0x84]
push dword [ebx + 0x80]
call fcn.0065b340
add esp, 8
cmp eax, 4
jne 0x653786
cmp edx, 0x20000
jne 0x653786
jmp 0x652eb8
mov edx, 0x2d
mov ecx, ebx
call fcn.00657910
jmp case.0x652d5b.0
mov esi, dword [ebx + 0x84]
mov edi, dword [ebx + 0x80]
push esi
push edi
call fcn.005de4a4
add esp, 8
test al, al
mov eax, dword [ebx + 0x58]
je 0x653594
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [eax], edi
mov edi, edx
mov dword [eax + 4], esi
mov esi, ecx
push edi
push esi
mov dword [ebx + 0x80], ecx
mov dword [ebx + 0x84], edx
call fcn.005de4a4
add esp, 8
test al, al
jne 0x6534ca
push edi
push esi
mov ecx, ebx
call fcn.006a2ab0
mov esi, eax
mov edi, edx
add esp, 8
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x84], edi
mov ecx, dword [ebx + 0x58]
mov dl, 1
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
push edi
push esi
call fcn.00668090
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x652eff
mov edx, 8
call fcn.00651eb0
jmp case.default.0x652eff
mov esi, dword [ebx + 0x84]
mov edi, dword [ebx + 0x80]
push esi
push edi
call fcn.005de4a4
add esp, 8
test al, al
mov eax, dword [ebx + 0x58]
je 0x653594
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [eax], edi
mov edi, edx
mov dword [eax + 4], esi
mov esi, ecx
push edi
push esi
mov dword [ebx + 0x80], ecx
mov dword [ebx + 0x84], edx
call fcn.005de4a4
add esp, 8
test al, al
jne 0x653567
push edi
push esi
mov ecx, ebx
call fcn.006a2ab0
mov esi, eax
mov edi, edx
add esp, 8
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x84], edi
mov ecx, dword [ebx + 0x58]
xor dl, dl
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
push edi
push esi
call fcn.00668090
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x652eff
push dword [eax + 4]
push dword [eax]
call fcn.005de4a4
add esp, 8
mov ecx, ebx
test al, al
je 0x6534f7
push esi
push edi
call fcn.006a2ab0
mov ecx, dword [ebx + 0x58]
add esp, 8
mov esi, eax
mov dword [ebx + 0x84], edx
mov dword [ebx + 0x80], esi
push edx
lea eax, [ecx + 8]
xor dl, dl
mov dword [ebx + 0x58], eax
push esi
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
call fcn.00668090
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x652eff
mov edx, 9
mov ecx, ebx
call fcn.00651eb0
jmp case.0x652d5b.0
mov edx, 0xa
mov ecx, ebx
call fcn.00651eb0
jmp case.0x652d5b.0
mov edx, 0xb
mov ecx, ebx
call fcn.00651eb0
jmp case.0x652d5b.0
mov edx, 0xc
mov ecx, ebx
call fcn.00651eb0
jmp case.0x652d5b.0
mov edx, 0x49
mov ecx, ebx
call fcn.00657910
jmp case.0x652d5b.0
mov edx, 0x44
mov ecx, ebx
call fcn.00657910
jmp case.0x652d5b.0
mov edx, 0xd
mov ecx, ebx
call fcn.00651eb0
jmp case.0x652d5b.0
mov edx, 0xe
mov ecx, ebx
call fcn.00651eb0
jmp case.0x652d5b.0
mov edx, 0xf
mov ecx, ebx
call fcn.00651eb0
jmp case.0x652d5b.0
mov edx, 0x7e
mov ecx, ebx
call fcn.00657910
jmp case.0x652d5b.0
mov esi, dword [ebx + 0x58]
push dword [esi + 4]
push dword [esi]
call fcn.00422eea
add esp, 8
cmp dword [eax + 0x5c], 0
je 0x6536cb
push dword [ebx + 0x84]
lea ecx, [esi + 8]
push dword [ebx + 0x80]
mov dword [ebx + 0x58], ecx
push dword [esi + 4]
push dword [esi]
push 0x11
jmp 0x65370b
mov edx, 0x11
mov ecx, ebx
call fcn.00651eb0
jmp case.default.0x652eff
mov esi, dword [ebx + 0x58]
push dword [esi + 4]
push dword [esi]
call fcn.00422eea
add esp, 8
cmp dword [eax + 0x5c], 0
je 0x653725
push dword [ebx + 0x84]
lea ecx, [esi + 8]
push dword [ebx + 0x80]
mov dword [ebx + 0x58], ecx
push dword [esi + 4]
push dword [esi]
push 0x12
mov eax, dword [eax + 0x5c]
push ebx
call eax
add esp, 0x18
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x652eff
mov edx, 0x12
mov ecx, ebx
call fcn.00651eb0
jmp case.default.0x652eff
mov edx, 0x59
mov ecx, ebx
call fcn.00651eb0
jmp case.0x652d5b.0
mov edx, 0x5a
mov ecx, ebx
call fcn.00651eb0
jmp case.0x652d5b.0
mov ecx, dword [ebx + 0x58]
xor dl, dl
push dword [ebx + 0x84]
push dword [ebx + 0x80]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
call fcn.0065bca0
add esp, 0x10
test eax, eax
jns 0x652eb8
mov eax, 4
jmp 0x652ebd
mov ecx, dword [ebx + 0x58]
xor dl, dl
push dword [ebx + 0x84]
push dword [ebx + 0x80]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
call fcn.0065bca0
add esp, 0x10
test eax, eax
jg 0x652eb8
mov eax, 4
jmp 0x652ebd
mov ecx, dword [ebx + 0x58]
push dword [ebx + 0x84]
push dword [ebx + 0x80]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
call fcn.0065b4a0
add esp, 0x10
test al, al
je 0x652eb8
mov eax, 4
jmp 0x652ebd
mov ecx, dword [ebx + 0x58]
push dword [ebx + 0x84]
push dword [ebx + 0x80]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
call fcn.0065b4a0
add esp, 0x10
test al, al
jne 0x652eb8
mov eax, 4
jmp 0x652ebd
mov ecx, dword [ebx + 0x58]
push dword [ebx + 0x84]
push dword [ebx + 0x80]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
call fcn.0065b2d0
jmp 0x6537e9
mov ecx, dword [ebx + 0x58]
push dword [ebx + 0x84]
push dword [ebx + 0x80]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
call fcn.0065b2d0
add esp, 0x10
test al, al
jne 0x652eb8
mov eax, 4
jmp 0x652ebd
mov ecx, dword [ebx + 0x58]
xor dl, dl
push dword [ebx + 0x84]
push dword [ebx + 0x80]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
call fcn.0065bca0
add esp, 0x10
test eax, eax
js 0x652eb8
mov eax, 4
jmp 0x652ebd
mov ecx, dword [ebx + 0x58]
xor dl, dl
push dword [ebx + 0x84]
push dword [ebx + 0x80]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
call fcn.0065bca0
add esp, 0x10
test eax, eax
jle 0x652eb8
mov eax, 4
jmp 0x652ebd
mov ecx, dword [ebx + 0x58]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
push dword [ebx + 0x84]
push dword [ebx + 0x80]
call fcn.0065c4b0
jmp 0x6537e9
movzx edx, byte [edi]
lea ecx, [edi + 1]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or edx, eax
lea eax, [ecx + 1]
mov ecx, dword [ebx + 0x60]
mov dword [ebx + 0x6c], eax
mov eax, dword [ecx + edx*8 + 0x18]
mov dword [ebx + 0x80], eax
mov eax, dword [ecx + edx*8 + 0x1c]
mov dword [ebx + 0x84], eax
jmp case.0x652d5b.0
movzx esi, byte [edi]
lea ecx, [edi + 1]
mov dword [ebx + 0x6c], ecx
lea edx, [ebx + 0x80]
movzx eax, byte [ecx]
shl eax, 8
or esi, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov ecx, ebx
mov eax, dword [ebx + 0x60]
push dword [eax + esi*8 + 0x1c]
push dword [eax + esi*8 + 0x18]
call fcn.0064a7c0
add esp, 8
test al, al
je 0x65668a
jmp case.default.0x652eff
movzx esi, byte [edi]
lea ecx, [edi + 1]
push dword [ebx + 0x84]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
push dword [ebx + 0x80]
shl eax, 8
or esi, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x60]
mov edi, dword [eax + esi*8 + 0x18]
mov esi, dword [eax + esi*8 + 0x1c]
call fcn.005decd3
push edx
push eax
push esi
push edi
xor dl, dl
mov ecx, ebx
call fcn.0064a230
add esp, 0x18
jmp case.default.0x652eff
movzx esi, byte [edi]
lea ecx, [edi + 1]
push dword [ebx + 0x84]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
push dword [ebx + 0x80]
shl eax, 8
or esi, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x60]
mov edi, dword [eax + esi*8 + 0x18]
mov esi, dword [eax + esi*8 + 0x1c]
call fcn.005decd3
push edx
push eax
push esi
push edi
mov dl, 1
mov ecx, ebx
call fcn.0064a230
add esp, 0x18
jmp case.default.0x652eff
movzx esi, byte [edi]
lea ecx, [edi + 1]
push dword [ebx + 0x84]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
push dword [ebx + 0x80]
shl eax, 8
or esi, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x60]
mov edi, dword [eax + esi*8 + 0x18]
mov esi, dword [eax + esi*8 + 0x1c]
call fcn.005decd3
push edx
push eax
push esi
push edi
xor dl, dl
mov ecx, ebx
call fcn.0064af10
add esp, 0x18
jmp case.default.0x652eff
movzx esi, byte [edi]
lea ecx, [edi + 1]
push dword [ebx + 0x84]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
push dword [ebx + 0x80]
shl eax, 8
or esi, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x60]
mov edi, dword [eax + esi*8 + 0x18]
mov esi, dword [eax + esi*8 + 0x1c]
call fcn.005decd3
push edx
push eax
push esi
push edi
mov dl, 1
mov ecx, ebx
call fcn.0064af10
add esp, 0x18
jmp case.default.0x652eff
movzx esi, byte [edi]
lea ecx, [edi + 1]
push dword [ebx + 0x84]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
push dword [ebx + 0x80]
shl eax, 8
or esi, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x60]
mov edi, dword [eax + esi*8 + 0x18]
mov esi, dword [eax + esi*8 + 0x1c]
call fcn.005decd3
push edx
push eax
push esi
push edi
mov ecx, ebx
call fcn.0064b860
add esp, 0x18
jmp case.default.0x652eff
movzx edx, byte [edi]
lea ecx, [edi + 1]
push dword [ebx + 0x84]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
push dword [ebx + 0x80]
shl eax, 8
or edx, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov ecx, ebx
mov eax, dword [ebx + 0x60]
push dword [eax + edx*8 + 0x1c]
push dword [eax + edx*8 + 0x18]
xor dl, dl
call fcn.0064b370
add esp, 0x10
jmp case.0x652d5b.0
movzx edx, byte [edi]
lea ecx, [edi + 1]
push dword [ebx + 0x84]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
push dword [ebx + 0x80]
shl eax, 8
or edx, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov ecx, ebx
mov eax, dword [ebx + 0x60]
push dword [eax + edx*8 + 0x1c]
push dword [eax + edx*8 + 0x18]
mov dl, 1
call fcn.0064b370
add esp, 0x10
jmp case.0x652d5b.0
movzx esi, byte [edi]
lea ecx, [edi + 1]
push dword [ebx + 0x84]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
push dword [ebx + 0x80]
shl eax, 8
or esi, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x60]
mov edi, dword [eax + esi*8 + 0x18]
mov esi, dword [eax + esi*8 + 0x1c]
call fcn.005decd3
push edx
push eax
push esi
push edi
mov ecx, ebx
call fcn.00674500
add esp, 0x18
jmp case.default.0x652eff
mov ecx, dword [ebx + 0x58]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
push dword [ebx + 0x84]
push dword [ebx + 0x80]
call fcn.0066b320
add esp, 0x10
jmp case.0x652d5b.0
mov ecx, dword [ebx + 0x58]
lea edx, [ebx + 0x80]
push dword [ebx + 0x84]
push dword [ebx + 0x80]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
call fcn.00675490
add esp, 0x10
test al, al
jne case.default.0x652eff
mov dword [ebx + 0x80], 2
mov dword [ebx + 0x84], 0x20000
jmp case.default.0x652eff
movzx esi, byte [edi]
lea ecx, [edi + 1]
mov edi, dword [ebx + 0x80]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or esi, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x84]
push eax
push edi
mov dword [ebp + 0x68], eax
call fcn.006614d0
add esp, 8
test al, al
je 0x6542b6
push dword [ebp + 0x68]
push edi
call fcn.0062f7e0
add esp, 8
cmp esi, eax
jge 0x6542b6
xorps xmm0, xmm0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
movlpd qword [ebp - 0x58], xmm0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
movlpd qword [ebp - 0x40], xmm0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
push 0
push 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x58]
push ebx
mov dword [ebp - 0x28], 0
call fcn.00636a60
push 0
push 0
push ebx
lea ecx, [ebp - 0x40]
call fcn.00636a60
push dword [ebp + 0x68]
mov ecx, ebx
push edi
call fcn.005de848
add esp, 8
mov dword [ebp + 0x50], edx
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0x68]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp + 0x54]
mov byte [ebp - 4], 1
push eax
call fcn.005de937
test al, al
je 0x653d5a
cmp dword [ebp - 0x28], esi
je 0x653d42
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp + 0x54]
push eax
lea ecx, [ebp - 0x68]
call fcn.005de937
test al, al
jne 0x653d24
jmp 0x653d5a
mov eax, dword [ebp - 0xc8]
mov dword [ebx + 0x80], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebx + 0x84], eax
mov esi, dword [ebp - 0x50]
test esi, esi
je 0x653db1
cmp dword [ebp - 0x4c], 0
je 0x653db1
cmp dword [ebp - 0x48], 0
mov edi, dword [ebp + 0x40]
je 0x653db4
add esi, 0x1d0
push esi
call edi
mov ecx, dword [ebp - 0x4c]
xorps xmm0, xmm0
mov eax, dword [ebp - 0x48]
push esi
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
mov dword [eax + 0xc], ecx
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x50], 0
movlpd qword [ebp - 0x58], xmm0
call dword [ebp + 0x3c]
mov esi, dword [ebp - 0x50]
jmp 0x653db4
mov edi, dword [ebp + 0x40]
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x653e5e
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x653e11
cmp dword [ebp - 0x30], 0
je 0x653e11
lea esi, [eax + 0x1d0]
push esi
call edi
mov ecx, dword [ebp - 0x34]
xorps xmm0, xmm0
mov eax, dword [ebp - 0x30]
push esi
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov dword [eax + 0xc], ecx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x38], 0
movlpd qword [ebp - 0x40], xmm0
call dword [ebp + 0x3c]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x50]
test eax, eax
je 0x653e5e
test ecx, ecx
je 0x653e5e
cmp dword [ebp - 0x30], 0
je 0x653e5e
lea esi, [eax + 0x1d0]
push esi
call edi
mov ecx, dword [ebp - 0x34]
xorps xmm0, xmm0
mov eax, dword [ebp - 0x30]
push esi
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov dword [eax + 0xc], ecx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x38], 0
movlpd qword [ebp - 0x40], xmm0
call dword [ebp + 0x3c]
mov esi, dword [ebp - 0x50]
test esi, esi
je case.default.0x652eff
cmp dword [ebp - 0x4c], 0
je case.default.0x652eff
cmp dword [ebp - 0x48], 0
je case.default.0x652eff
add esi, 0x1d0
push esi
call edi
mov ecx, dword [ebp - 0x4c]
xorps xmm0, xmm0
mov eax, dword [ebp - 0x48]
push esi
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
mov dword [eax + 0xc], ecx
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x50], 0
movlpd qword [ebp - 0x58], xmm0
call dword [ebp + 0x3c]
jmp case.default.0x652eff
mov eax, dword [ebx + 0x58]
push dword [ebx + 0x84]
push dword [ebx + 0x80]
lea ecx, [eax + 8]
mov dword [ebx + 0x58], ecx
mov esi, dword [eax]
mov edi, dword [eax + 4]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
mov eax, dword [ecx]
mov dword [ebp + 0x60], eax
mov eax, dword [ecx + 4]
mov dword [ebp + 0x68], eax
call fcn.005decd3
push edx
push eax
push edi
push esi
push dword [ebp + 0x68]
mov ecx, ebx
push dword [ebp + 0x60]
call fcn.005fb920
add esp, 0x20
test al, al
je 0x6566a4
jmp case.default.0x652eff
mov eax, dword [ebx + 0x58]
lea ecx, [eax + 8]
mov dword [ebx + 0x58], ecx
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp + 0x64], eax
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
mov edi, dword [ecx + 4]
mov esi, dword [ecx]
push edi
push esi
mov dword [ebp + 0x5c], edx
call fcn.005de81f
add esp, 8
test al, al
jne 0x653f51
mov ecx, dword [ebx + 0x190]
push edi
push esi
call fcn.005de317
add esp, 8
test al, al
je 0x6566b4
mov eax, dword [ebx + 0x84]
mov ecx, dword [ebx + 0x80]
push eax
push ecx
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x60], eax
call fcn.00422fd0
add esp, 8
test al, al
je 0x653fc5
push edi
push esi
call fcn.005de658
add esp, 8
test al, al
jne 0x653f9f
mov eax, dword [ebx + 0x80]
mov dword [ebp + 0x68], eax
mov eax, dword [ebx + 0x84]
push edi
push esi
mov dword [ebp + 0x60], eax
call fcn.005fbf30
add esp, 8
test al, al
je 0x653fc5
mov eax, dword [ebx + 0x84]
push edi
push esi
push eax
mov eax, dword [ebx + 0x80]
push eax
call fcn.0063cf90
mov eax, dword [ebx + 0x80]
add esp, 0x10
mov ecx, dword [ebx + 0x84]
jmp 0x653fcb
mov ecx, dword [ebp + 0x60]
mov eax, dword [ebp + 0x68]
push ecx
push eax
push dword [ebp + 0x64]
mov ecx, ebx
push dword [ebp + 0x5c]
push edi
push esi
call fcn.00678480
add esp, 0x18
jmp case.default.0x652eff
mov ecx, dword [ebx + 0x58]
push dword [ebx + 0x84]
push dword [ebx + 0x80]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
call fcn.0062f7b0
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.0x652d5b.0
mov eax, dword [ebx + 0x58]
push dword [ebx + 0x84]
lea ecx, [eax + 8]
push dword [ebx + 0x80]
mov dword [ebx + 0x58], ecx
mov edx, dword [eax]
mov edi, dword [eax + 4]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
mov eax, dword [ecx]
mov esi, dword [ecx + 4]
mov dword [ebp + 0x64], edx
mov dword [ebp + 0x5c], eax
call fcn.005decd3
push edx
push eax
push edi
push dword [ebp + 0x64]
mov ecx, ebx
push esi
push dword [ebp + 0x5c]
call fcn.0062f770
add esp, 0x20
jmp case.default.0x652eff
movzx eax, byte [edi]
mov dword [ebp + 0x68], eax
lea eax, [edi + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x58]
mov edi, dword [eax + 4]
mov esi, dword [eax]
push edi
push esi
call fcn.005de677
add esp, 8
push edi
push esi
test al, al
je 0x6540c2
mov ecx, ebx
call fcn.006930c0
mov ecx, eax
add esp, 8
mov eax, dword [ebp + 0x68]
cmp eax, ecx
jge 0x6540bb
push edi
push esi
mov edx, eax
mov ecx, ebx
call fcn.00693120
mov ecx, dword [ebp + 0x1c]
add esp, 8
mov dword [ecx + 0x80], eax
mov dword [ecx + 0x84], edx
jmp case.default.0x652eff
mov eax, 1
jmp 0x6540f7
call fcn.005de6ce
add esp, 8
test al, al
je 0x6540f2
mov ecx, dword [ebp + 0x68]
cmp ecx, dword [esi + 0x10]
jge 0x6540bb
mov eax, dword [esi + ecx*8 + 0x18]
mov edx, dword [esi + ecx*8 + 0x1c]
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 0x80], eax
mov dword [ecx + 0x84], edx
jmp case.default.0x652eff
mov eax, 2
mov ecx, dword [ebp + 0x1c]
mov edx, 0x20000
mov dword [ecx + 0x80], eax
mov dword [ecx + 0x84], edx
jmp case.default.0x652eff
movzx esi, byte [edi]
lea eax, [edi + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x58]
mov edi, dword [eax]
mov eax, dword [eax + 4]
push eax
push edi
mov dword [ebp + 0x68], eax
call fcn.005de677
add esp, 8
push dword [ebp + 0x68]
push edi
test al, al
je 0x6541d3
mov ecx, ebx
call fcn.006930c0
add esp, 8
mov ecx, 0
sub eax, esi
cmovs eax, ecx
mov ecx, ebx
push 0x20000
push 2
mov edx, eax
call fcn.00692390
add esp, 8
mov dword [ebx + 0x80], eax
mov eax, dword [ebx + 0x58]
lea ecx, [ebp - 0x134]
sub esp, 8
mov dword [ebx + 0x84], edx
mov edi, esp
mov edx, ebx
push dword [eax + 4]
push dword [eax]
call fcn.005de693
add esp, 8
mov ecx, dword [eax + 4]
test ecx, ecx
jg 0x654195
xor esi, esi
jmp 0x65419a
cmp esi, ecx
cmovg esi, ecx
mov eax, dword [eax]
sub ecx, esi
mov dword [edi + 4], ecx
lea ecx, [ebp - 0x13c]
lea eax, [eax + esi*8]
mov dword [edi], eax
lea eax, [ebp - 0x15c]
push eax
push dword [ebx + 0x84]
push dword [ebx + 0x80]
call fcn.006614a0
add esp, 8
mov ecx, eax
call fcn.00660e30
jmp case.default.0x652eff
call fcn.005de6ce
add esp, 8
test al, al
je 0x653c16
mov edx, dword [edi + 0x10]
mov eax, 0
sub edx, esi
mov ecx, ebx
push 0x20000
push 2
cmovs edx, eax
call fcn.00692390
add esp, 8
mov dword [ebx + 0x80], eax
mov eax, dword [ebx + 0x58]
lea ecx, [ebp - 0x144]
sub esp, 8
mov dword [ebx + 0x84], edx
mov edi, esp
push dword [eax + 4]
push dword [eax]
call fcn.006615d0
add esp, 8
mov ecx, dword [eax + 4]
test ecx, ecx
jg 0x654233
xor esi, esi
jmp 0x654238
cmp esi, ecx
cmovg esi, ecx
mov eax, dword [eax]
sub ecx, esi
mov dword [edi + 4], ecx
lea ecx, [ebp - 0x154]
lea eax, [eax + esi*8]
mov dword [edi], eax
lea eax, [ebp - 0x14c]
jmp 0x6541b2
movzx esi, byte [edi]
lea ecx, [edi + 1]
mov edi, dword [ebx + 0x58]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or esi, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
push dword [edi + 4]
push dword [edi]
call fcn.006614d0
add esp, 8
test al, al
je 0x6542b6
mov eax, dword [ebx + 0x60]
lea edx, [ebx + 0x80]
mov ecx, dword [eax + esi*8 + 0x18]
mov eax, dword [eax + esi*8 + 0x1c]
push eax
push ecx
mov dword [ebx + 0x80], ecx
mov ecx, ebx
mov dword [ebx + 0x84], eax
push dword [edi + 4]
push dword [edi]
call fcn.00675490
add esp, 0x10
test al, al
jne case.default.0x652eff
mov dword [ebx + 0x80], 1
mov dword [ebx + 0x84], 0x20000
jmp case.default.0x652eff
movzx esi, byte [edi]
lea eax, [edi + 1]
push esi
lea ecx, [ebp + 0x60]
mov dword [ebp + 0x64], esi
mov dword [ebx + 0x6c], eax
mov dword [ebp + 0x60], 0
call fcn.004cbefe
xor edi, edi
mov byte [ebp - 4], 9
test esi, esi
mov esi, dword [ebp + 0x60]
je 0x65434f
lea eax, [esi + 0x10]
mov dword [ebp + 0x68], eax
nop
mov eax, dword [ebx + 0x6c]
movzx edx, byte [eax]
lea ecx, [eax + 1]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or edx, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x60]
mov ecx, dword [eax + edx*8 + 0x18]
mov edx, dword [eax + edx*8 + 0x1c]
test esi, esi
je 0x65432e
mov eax, dword [esi + 4]
jmp 0x654330
xor eax, eax
test edi, edi
js 0x65433b
cmp edi, eax
mov eax, dword [ebp + 0x68]
jl 0x654340
mov eax, 0x94bab0
add dword [ebp + 0x68], 8
inc edi
mov dword [eax], ecx
mov dword [eax + 4], edx
cmp edi, dword [ebp + 0x64]
jb 0x654300
mov eax, dword [ebx + 0x58]
mov edi, dword [eax]
mov eax, dword [eax + 4]
push eax
push edi
mov dword [ebp + 0x64], eax
call fcn.006614d0
add esp, 8
test al, al
je 0x6543b2
sub esp, 8
mov edx, esp
test esi, esi
je 0x65437d
mov eax, dword [esi + 4]
test eax, eax
je 0x65437d
lea ecx, [esi + 0x10]
jmp 0x654381
xor eax, eax
xor ecx, ecx
sub esp, 8
mov dword [edx + 4], eax
mov eax, esp
mov dword [edx], ecx
mov ecx, ebx
push dword [ebp + 0x64]
mov dword [eax], 0
push edi
mov dword [eax + 4], 0
call fcn.0067ac70
add esp, 0x18
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
mov byte [ebp - 4], 1
test esi, esi
je case.default.0x652eff
or eax, 0xffffffff
lock xadd dword [esi], eax
jne case.default.0x652eff
push esi
mov dword [esi + 4], 0
call fcn.007a0961
add esp, 4
jmp case.default.0x652eff
mov ecx, dword [ebx + 0x58]
push dword [ebx + 0x84]
push dword [ebx + 0x80]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
call fcn.00661460
jmp 0x6537e9
movzx edx, byte [edi]
lea ecx, [edi + 1]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or edx, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov ecx, ebx
mov eax, dword [ebx + 0x60]
push dword [eax + edx*8 + 0x1c]
push dword [eax + edx*8 + 0x18]
call fcn.0064a620
add esp, 8
jmp 0x6537ec
mov ecx, dword [ebx + 0x58]
push dword [ebx + 0x84]
push dword [ebx + 0x80]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
call fcn.00661460
jmp 0x6537e9
mov ecx, dword [ebx + 0x58]
lea eax, [ecx - 0x10]
cmp eax, dword [ebx + 0x50]
jb 0x6566c3
mov eax, dword [ebx + 0x80]
add ecx, 0xfffffff0
mov dword [ebx + 0x58], ecx
mov dword [ecx + 8], eax
mov eax, dword [ebx + 0x84]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebx + 0x58]
mov eax, dword [ecx + 0x10]
mov dword [ecx], eax
mov eax, dword [ecx + 0x14]
mov dword [ecx + 4], eax
jmp case.0x652d5b.0
mov ecx, dword [ebx + 0x58]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
mov eax, dword [ecx]
mov dword [ebx + 0x80], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 0x84], eax
jmp case.0x652d5b.0
mov ecx, dword [ebx + 0x58]
lea eax, [ecx - 8]
cmp eax, dword [ebx + 0x50]
jb 0x6566ca
add ecx, 0xfffffff8
mov dword [ebx + 0x58], ecx
mov eax, dword [ecx + 8]
mov dword [ecx], eax
mov eax, dword [ecx + 0xc]
mov dword [ecx + 4], eax
jmp case.0x652d5b.0
mov ecx, dword [ebx + 0x58]
lea eax, [ecx - 8]
cmp eax, dword [ebx + 0x50]
jb 0x6566d1
add ecx, 0xfffffff8
mov dword [ebx + 0x58], ecx
mov eax, dword [ecx + 0x10]
mov dword [ecx], eax
mov eax, dword [ecx + 0x14]
mov dword [ecx + 4], eax
jmp case.0x652d5b.0
mov esi, dword [ebx + 0x58]
mov ecx, ebx
lea eax, [esi - 0x10]
cmp eax, dword [ebx + 0x50]
jb 0x6566d8
call fcn.0064bc20
lea ecx, [esi - 8]
mov dword [ebx + 0x58], ecx
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, ebx
call fcn.0064bc20
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
add dword [ebx + 0x58], 0xfffffff8
mov eax, dword [ebx + 0x58]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.default.0x652eff
mov ecx, dword [ebx + 0x58]
lea eax, [ecx - 8]
cmp eax, dword [ebx + 0x50]
jb 0x6566dd
mov eax, dword [ebx + 0x78]
add ecx, 0xfffffff8
mov dword [ebx + 0x58], ecx
mov dword [ecx], eax
mov eax, dword [ebx + 0x7c]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 0x80]
mov dword [ebx + 0x78], eax
mov eax, dword [ebx + 0x84]
mov dword [ebx + 0x7c], eax
jmp case.0x652d5b.0
mov ecx, dword [ebx + 0x58]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
mov eax, dword [ecx]
mov dword [ebx + 0x78], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 0x7c], eax
jmp case.0x652d5b.0
mov ecx, ebx
call fcn.0064bc20
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.0x652d5b.0
mov eax, dword [ebx + 0x44]
test eax, eax
je 0x6545bd
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x6545bd
add ecx, 2
lea ecx, [eax + ecx*4]
jmp 0x6545c2
mov ecx, 0x948fa8
mov ecx, dword [ecx]
mov eax, dword [ecx + 8]
mov dword [ebx + 0x80], eax
mov eax, dword [ecx + 0xc]
mov dword [ebx + 0x84], eax
jmp case.0x652d5b.0
movzx eax, byte [edi]
lea ecx, [edi + 1]
mov dword [ebx + 0x6c], ecx
sub eax, 0
je 0x654abc
sub eax, 1
je 0x65462a
sub eax, 1
jne case.0x652d5b.0
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or edx, eax
lea eax, [ecx + 1]
mov ecx, dword [ebx + 0x1cc]
mov dword [ebx + 0x6c], eax
test ecx, ecx
je case.0x652d5b.0
push edx
push ebx
call fcn.00706220
jmp case.0x652d5b.0
mov eax, dword [ebx + 0x90]
mov dword [ebp + 0x50], eax
mov eax, dword [0x948fd4]
test al, 1
jne 0x654675
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0x19
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov byte [ebp - 4], 1
mov esi, dword [0x948fd8]
push 0
push 0
push 0x13
push str._ndebug_stacktrace:_n
push 0
push 3
mov dword [ebp + 0x60], esi
call dword [ebp + 0x38]
mov edi, eax
mov dword [ebp + 0x68], edi
test edi, edi
jne 0x654741
test esi, esi
je 0x6546f3
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x6546d9
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0x1a
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], edi
mov dword [eax + 4], edi
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x6546f3
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6546f3
push esi
call fcn.0079605d
add esp, 4
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x654733
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0x1b
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov esi, dword [0x948fd8]
mov dword [ebp + 0x60], esi
jmp 0x654964
cmp edi, dword [esi + 4]
ja 0x65475d
cmp dword [esi], 1
mov esi, dword [ebp + 0x60]
jg 0x65475d
xor eax, eax
mov dword [esi + 8], edi
mov word [esi + edi*2 + 0xc], ax
jmp 0x654964
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x6547a1
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0x1c
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov byte [ebp - 4], 1
cmp esi, dword [0x948fd8]
jne 0x65481d
test edi, edi
je 0x6547fe
lea eax, [edi*2 + 0x10]
push eax
call fcn.007965bb
mov edi, eax
add esp, 4
test edi, edi
jne 0x6547e2
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x6548b4
or dword [0x948fd4], 1
mov byte [ebp - 4], 0x1d
jmp 0x65488e
mov eax, 1
xchg dword [edi], eax
mov eax, dword [ebp + 0x68]
xor ecx, ecx
mov dword [edi + 8], eax
mov dword [edi + 4], eax
mov word [edi + eax*2 + 0xc], cx
jmp 0x6548ba
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x6548b4
or dword [0x948fd4], 1
mov byte [ebp - 4], 0x1e
jmp 0x65488e
test edi, edi
je 0x654878
lea eax, [edi + edi*2]
shr eax, 1
cmp eax, edi
cmovb eax, edi
mov dword [ebp + 0x64], eax
lea eax, [eax*2 + 0x10]
push eax
call fcn.007965bb
mov edi, eax
add esp, 4
test edi, edi
jne 0x65485c
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x6548b4
or dword [0x948fd4], 1
mov byte [ebp - 4], 0x1f
jmp 0x65488e
mov eax, 1
xchg dword [edi], eax
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x64]
mov dword [edi + 4], ecx
xor ecx, ecx
mov dword [edi + 8], eax
mov word [edi + eax*2 + 0xc], cx
jmp 0x6548ba
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x6548b4
or dword [0x948fd4], 1
mov byte [ebp - 4], 0x20
push 0x10
call fcn.007965bb
mov ecx, 1
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov dword [eax + 4], ecx
mov edi, dword [0x948fd8]
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x6548fa
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0x21
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp edi, dword [0x948fd8]
je 0x654961
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x654942
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0x23
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x65495c
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x65495c
push esi
call fcn.0079605d
add esp, 4
mov esi, edi
mov dword [ebp + 0x60], esi
mov edi, dword [ebp + 0x68]
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x6549a4
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0x24
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
lea eax, [esi + 0xc]
mov dword [ebp + 0x68], eax
cmp esi, dword [0x948fd8]
je 0x6549c4
push edi
push eax
push 0x13
push str._ndebug_stacktrace:_n
push 0
push 0
call dword [ebp + 0x38]
jmp 0x6549c7
mov dword [ebp + 0x68], eax
mov byte [ebp - 4], 0x25
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x654a0f
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0x26
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov byte [ebp - 4], 0x25
cmp esi, dword [0x948fd8]
jne 0x654a1b
xor ecx, ecx
jmp 0x654a1e
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x68]
mov edi, eax
mov dword [ebp + 0x5c], ecx
lea eax, [eax + ecx*2]
cmp edi, eax
jae 0x654a48
mov ecx, dword [ebp + 0x50]
movzx eax, word [edi]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
call eax
mov ecx, dword [ebp + 0x5c]
add edi, 2
test al, al
mov eax, dword [ebp + 0x68]
jne 0x654a26
mov byte [ebp - 4], 0x27
test esi, esi
je 0x654aa6
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x654a8c
or dword [0x948fd4], 1
push 0x10
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x654aa6
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x654aa6
push esi
call fcn.0079605d
add esp, 4
mov byte [ebp - 4], 1
mov ecx, ebx
mov edx, dword [ebx + 0x90]
call fcn.0065c9f0
jmp case.default.0x652eff
mov eax, dword [ebx + 0x90]
mov dword [ebp + 0x64], eax
mov eax, dword [0x948fd4]
test al, 1
jne 0x654b07
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0xa
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov byte [ebp - 4], 1
mov esi, dword [0x948fd8]
push 0
push 0
push 0x13
push str._ndebug_namespaces:_n
push 0
push 3
mov dword [ebp + 0x68], esi
call dword [ebp + 0x38]
mov edi, eax
mov dword [ebp + 0x60], edi
test edi, edi
jne 0x654bd3
test esi, esi
je 0x654b85
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x654b6b
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0xb
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], edi
mov dword [eax + 4], edi
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x654b85
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x654b85
push esi
call fcn.0079605d
add esp, 4
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x654bc5
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0xc
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov esi, dword [0x948fd8]
mov dword [ebp + 0x68], esi
jmp 0x654df6
cmp edi, dword [esi + 4]
ja 0x654bef
cmp dword [esi], 1
mov esi, dword [ebp + 0x68]
jg 0x654bef
xor eax, eax
mov dword [esi + 8], edi
mov word [esi + edi*2 + 0xc], ax
jmp 0x654df6
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x654c33
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0xd
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov byte [ebp - 4], 1
cmp esi, dword [0x948fd8]
jne 0x654caf
test edi, edi
je 0x654c90
lea eax, [edi*2 + 0x10]
push eax
call fcn.007965bb
mov edi, eax
add esp, 4
test edi, edi
jne 0x654c74
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x654d46
or dword [0x948fd4], 1
mov byte [ebp - 4], 0xe
jmp 0x654d20
mov eax, 1
xchg dword [edi], eax
mov eax, dword [ebp + 0x60]
xor ecx, ecx
mov dword [edi + 8], eax
mov dword [edi + 4], eax
mov word [edi + eax*2 + 0xc], cx
jmp 0x654d4c
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x654d46
or dword [0x948fd4], 1
mov byte [ebp - 4], 0xf
jmp 0x654d20
test edi, edi
je 0x654d0a
lea eax, [edi + edi*2]
shr eax, 1
cmp eax, edi
cmovb eax, edi
mov dword [ebp + 0x50], eax
lea eax, [eax*2 + 0x10]
push eax
call fcn.007965bb
mov edi, eax
add esp, 4
test edi, edi
jne 0x654cee
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x654d46
or dword [0x948fd4], 1
mov byte [ebp - 4], 0x10
jmp 0x654d20
mov eax, 1
xchg dword [edi], eax
mov eax, dword [ebp + 0x60]
mov ecx, dword [ebp + 0x50]
mov dword [edi + 4], ecx
xor ecx, ecx
mov dword [edi + 8], eax
mov word [edi + eax*2 + 0xc], cx
jmp 0x654d4c
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x654d46
or dword [0x948fd4], 1
mov byte [ebp - 4], 0x11
push 0x10
call fcn.007965bb
mov ecx, 1
add esp, 4
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov dword [eax + 4], ecx
mov edi, dword [0x948fd8]
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x654d8c
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0x12
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp edi, dword [0x948fd8]
je 0x654df3
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x654dd4
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0x14
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x654dee
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x654dee
push esi
call fcn.0079605d
add esp, 4
mov esi, edi
mov dword [ebp + 0x68], esi
mov edi, dword [ebp + 0x60]
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x654e36
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0x15
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
lea eax, [esi + 0xc]
mov dword [ebp + 0x60], eax
cmp esi, dword [0x948fd8]
je 0x654e56
push edi
push eax
push 0x13
push str._ndebug_namespaces:_n
push 0
push 0
call dword [ebp + 0x38]
jmp 0x654e59
mov dword [ebp + 0x60], eax
mov byte [ebp - 4], 0x16
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x654ea1
or dword [0x948fd4], 1
push 0x10
mov byte [ebp - 4], 0x17
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
mov byte [ebp - 4], 0x16
cmp esi, dword [0x948fd8]
jne 0x654ead
xor ecx, ecx
jmp 0x654eb0
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x60]
mov edi, eax
mov dword [ebp + 0x5c], ecx
lea eax, [eax + ecx*2]
cmp edi, eax
jae 0x654eda
mov ecx, dword [ebp + 0x64]
movzx eax, word [edi]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
call eax
mov ecx, dword [ebp + 0x5c]
add edi, 2
test al, al
mov eax, dword [ebp + 0x60]
jne 0x654eb8
mov byte [ebp - 4], 0x18
test esi, esi
je 0x654f38
mov ecx, dword [0x948fd4]
test cl, 1
jne 0x654f1e
or dword [0x948fd4], 1
push 0x10
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x654f38
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x654f38
push esi
call fcn.0079605d
add esp, 4
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.00634ae0
jmp case.default.0x652eff
mov ecx, ebx
call fcn.0065d0c0
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.0x652d5b.0
mov cl, byte [edi]
lea eax, [edi + 1]
test cl, cl
mov dword [ebx + 0x6c], eax
mov ecx, ebx
je 0x654fdc
mov eax, dword [ebx + 0x58]
sub eax, 0x20
cmp eax, dword [ebx + 0x50]
jb 0x6566e4
push dword [ebx + 0x84]
push dword [ebx + 0x80]
call fcn.00661430
add dword [ebx + 0x58], 0xfffffff8
mov esi, eax
mov ecx, dword [ebx + 0x58]
add esp, 8
mov dword [ecx], esi
mov dword [ecx + 4], edx
add dword [ebx + 0x58], 0xfffffff8
mov eax, dword [ebx + 0x58]
mov dword [eax], esi
mov dword [eax + 4], edx
add dword [ebx + 0x58], 0xfffffff8
mov eax, dword [ebx + 0x58]
mov dword [eax], 9
mov dword [eax + 4], 0x20000
add dword [ebx + 0x58], 0xfffffff8
mov ecx, dword [ebx + 0x58]
mov eax, dword [ebx + 0x80]
mov dword [ecx], eax
mov eax, dword [ebx + 0x84]
mov dword [ecx + 4], eax
jmp case.default.0x652eff
push dword [ebx + 0x84]
push dword [ebx + 0x80]
call fcn.00661430
add esp, 8
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.0x652d5b.0
mov al, byte [edi]
mov ecx, dword [ebx + 0x58]
mov byte [ebp + 0x4b], al
lea eax, [edi + 1]
mov dword [ebx + 0x6c], eax
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
cmp edx, 2
jne 0x655033
cmp eax, 0x20000
jne 0x655033
mov ecx, ebx
call fcn.00429ea5
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
cmp byte [ebp + 0x4b], 0
mov esi, dword [ebx + 0x84]
mov ecx, dword [ebx + 0x80]
push esi
push ecx
push eax
mov ecx, ebx
push edx
je 0x655064
call fcn.00679830
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x652eff
call fcn.0067a0d0
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x652eff
movzx edx, byte [edi]
lea ecx, [edi + 1]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or edx, eax
lea eax, [ecx + 1]
push 0x20000
push 2
mov ecx, ebx
mov dword [ebx + 0x6c], eax
call fcn.00692390
add esp, 8
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.0x652d5b.0
movzx edx, byte [edi]
lea ecx, [edi + 1]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or edx, eax
lea eax, [ecx + 1]
push edx
mov edx, 0x924af8
mov dword [ebx + 0x6c], eax
mov ecx, ebx
call fcn.00693320
mov ecx, dword [ebx + 0x58]
add esp, 4
mov esi, eax
mov dword [ebx + 0x84], edx
mov dword [ebx + 0x80], esi
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
push edx
push esi
jmp 0x652d38
movzx eax, byte [edi]
lea ecx, [edi + 1]
mov dword [ebp + 0x50], eax
mov edx, 0x924af8
mov edi, dword [ebp + 0x50]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or edi, eax
lea eax, [ecx + 1]
push edi
mov ecx, ebx
mov dword [ebx + 0x6c], eax
call fcn.00693320
mov ecx, edx
mov dword [ebp + 0x50], eax
lea esi, [edi + 3]
mov dword [ebp + 0x64], ecx
add esp, 4
mov dword [ebx + 0x80], eax
sub edi, 1
mov dword [ebx + 0x84], ecx
lea esi, [eax + esi*8]
js 0x655181
nop dword [eax]
mov ecx, dword [ebx + 0x58]
lea esi, [esi - 8]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
call fcn.005decd3
add esp, 8
mov dword [esi], eax
sub edi, 1
mov dword [esi + 4], edx
jns 0x655150
mov edx, dword [ebx + 0x80]
mov esi, dword [ebx + 0x84]
jmp 0x655187
mov edx, dword [ebp + 0x50]
mov esi, dword [ebp + 0x64]
mov ecx, dword [ebx + 0x58]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
push esi
push edx
jmp 0x652d38
movzx edx, byte [edi]
lea ecx, [edi + 1]
mov esi, dword [ebx + 0x84]
mov edi, dword [ebx + 0x80]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or edx, eax
lea eax, [ecx + 1]
push esi
push edi
mov dword [ebp + 0x60], edx
mov dword [ebx + 0x6c], eax
call fcn.005de677
add esp, 8
mov ecx, ebx
push esi
push edi
test al, al
je 0x6552bf
call fcn.006930c0
mov ecx, dword [ebx + 0x58]
add esp, 8
mov edi, eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
call fcn.006930c0
mov ecx, dword [ebx + 0x58]
lea edx, [edi - 1]
add esp, 8
mov esi, eax
add edx, esi
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
call fcn.00692ef0
mov eax, dword [ebx + 0x58]
lea ecx, [ebp - 0xf4]
add esp, 8
push dword [eax + 4]
push dword [eax]
call fcn.006614a0
push dword [ebx + 0x84]
mov edx, ebx
lea ecx, [ebp - 0xfc]
push dword [ebx + 0x80]
call fcn.005de693
mov eax, dword [ebp + 0x60]
add esp, 0x10
sub esi, eax
push esi
mov esi, dword [ebp - 0xf0]
mov edx, esi
push eax
dec eax
add eax, edi
mov edi, dword [ebp - 0xf4]
push eax
mov ecx, edi
call fcn.00660f90
mov eax, dword [ebp - 0xfc]
add esp, 4
mov edx, dword [ebp + 0x60]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ebp - 0xf8]
mov dword [ecx + 4], eax
cmp edx, esi
jge 0x65529e
lea eax, [edi + edx*8]
sub esi, edx
mov dword [ebp + 0x10], eax
lea ecx, [ebp + 0x10]
neg eax
sbb eax, eax
and eax, esi
mov dword [ebp + 0x14], eax
lea eax, [ebp - 0x16c]
push eax
call fcn.00660e30
jmp case.default.0x652eff
lea eax, [edi + esi*8]
mov dword [ebp + 0x14], 0
mov dword [ebp + 0x10], eax
lea ecx, [ebp + 0x10]
lea eax, [ebp - 0x16c]
push eax
call fcn.00660e30
jmp case.default.0x652eff
call fcn.006dcb30
add esp, 8
test al, al
je 0x655646
push ebx
lea ecx, [ebp + 0x2c]
call fcn.006327e0
mov eax, dword [ebx + 0x80]
mov edx, dword [ebx + 0x1f0]
mov dword [ebp + 8], eax
mov eax, dword [ebx + 0x84]
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0x100], 1
test edx, edx
je 0x655309
mov eax, dword [edx + 4]
jmp 0x65530b
xor eax, eax
lea esi, [eax + 1]
mov dword [ebp + 0x64], eax
xor eax, eax
test esi, esi
cmovs esi, eax
test edx, edx
je 0x655321
mov ecx, dword [edx + 4]
jmp 0x655323
xor ecx, ecx
mov dword [ebp + 0x5c], ecx
cmp ecx, esi
je 0x6554af
jae 0x6554a8
test edx, edx
je 0x65533d
mov eax, dword [edx + 8]
jmp 0x65533f
xor eax, eax
cmp esi, eax
jbe 0x655475
test eax, eax
je 0x655352
lea eax, [eax + eax*2]
shr eax, 1
jmp 0x65535f
cmp esi, 4
mov eax, esi
mov ecx, 4
cmovl eax, ecx
cmp eax, esi
mov edi, esi
push 1
cmovae edi, eax
lea eax, [edi*4 + 0xc]
push eax
call fcn.007a1529
add esp, 8
mov dword [ebp + 0x68], eax
test eax, eax
je 0x6554af
mov dword [eax + 8], edi
mov ecx, 1
xchg dword [eax], ecx
lea ecx, [esi*4]
mov dword [ebp + 0x50], 0
lea edx, [eax + 0xc]
mov dword [ebp + 0x58], ecx
lea edi, [ecx + 3]
shr edi, 2
lea eax, [ecx + edx]
cmp edx, eax
cmova edi, dword [ebp + 0x50]
test edi, edi
je 0x6553c3
mov ecx, edi
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
lea ecx, [esi*4]
mov eax, dword [ebp + 0x68]
mov dword [eax + 4], esi
mov edi, dword [ebx + 0x1f0]
test edi, edi
je 0x65546a
mov esi, dword [ebp + 0x5c]
add edi, 0xc
shl esi, 2
test esi, esi
je 0x65543c
test edx, edx
jne 0x6553f5
call fcn.007a0305
mov dword [eax], 0x16
jmp 0x655437
test edi, edi
je 0x65540a
cmp ecx, esi
jb 0x65540a
push esi
push edi
push edx
call fcn.00797610
add esp, 0xc
jmp 0x65543c
push ecx
push 0
push edx
call fcn.00798110
add esp, 0xc
test edi, edi
jne 0x655427
call fcn.007a0305
mov dword [eax], 0x16
jmp 0x655437
cmp dword [ebp + 0x58], esi
jae 0x65543c
call fcn.007a0305
mov dword [eax], 0x22
call fcn.0079b0c2
mov ecx, dword [ebx + 0x1f0]
test ecx, ecx
je 0x65546a
or eax, 0xffffffff
lock xadd dword [ecx], eax
jne 0x65546a
mov eax, dword [ebx + 0x1f0]
mov dword [eax + 4], 0
push dword [ebx + 0x1f0]
call fcn.007a0961
add esp, 4
mov eax, dword [ebp + 0x68]
mov dword [ebx + 0x1f0], eax
jmp 0x6554af
mov eax, esi
mov dword [ebp + 0x58], 0
sub eax, ecx
lea edi, [ecx + 3]
shl eax, 2
lea edi, [edx + edi*4]
lea ecx, [eax + edi]
add eax, 3
shr eax, 2
cmp edi, ecx
cmova eax, dword [ebp + 0x58]
test eax, eax
je 0x6554a8
mov ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [ebx + 0x1f0]
test edx, edx
je 0x6554af
mov dword [edx + 4], esi
mov eax, dword [ebx + 0x1f0]
lea edx, [ebp + 8]
mov ecx, dword [ebp + 0x64]
mov dword [eax + ecx*4 + 0xc], edx
mov byte [ebp - 4], 0x29
xor esi, esi
mov dword [ebp + 0x64], esi
cmp esi, 0x2710
jge 0x65552d
push dword [ebp + 0xc]
mov ecx, ebx
push dword [ebp + 8]
call fcn.00657550
add esp, 8
mov dword [ebp + 0x58], eax
mov edi, edx
cmp eax, 1
jne 0x6554f2
cmp edi, 0x20000
je 0x655527
mov esi, dword [ebp + 0x34]
test esi, esi
je 0x6554fe
mov esi, dword [esi + 4]
jmp 0x655500
xor esi, esi
xor ecx, ecx
lea eax, [esi + 1]
test eax, eax
cmovs eax, ecx
lea ecx, [ebp + 0x34]
push eax
call fcn.004cbefe
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x58]
mov dword [eax + esi*8 + 0x10], ecx
mov dword [eax + esi*8 + 0x14], edi
mov esi, dword [ebp + 0x64]
inc esi
jmp 0x6554c5
cmp esi, 0x2710
je 0x6566e9
mov eax, dword [ebp + 0x34]
test eax, eax
je 0x65553f
mov edi, dword [eax + 4]
jmp 0x655541
xor edi, edi
mov eax, dword [ebx + 0x58]
mov ecx, ebx
mov dword [ebp + 0x64], edi
push dword [eax + 4]
push dword [eax]
call fcn.006930c0
mov ecx, dword [ebx + 0x58]
lea edx, [edi - 1]
add esp, 8
mov esi, eax
add edx, esi
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
call fcn.00692ef0
mov eax, dword [ebx + 0x58]
lea ecx, [ebp]
add esp, 8
push dword [eax + 4]
push dword [eax]
call fcn.006614a0
mov eax, dword [ebp + 0x34]
add esp, 8
test eax, eax
je 0x655598
mov edi, dword [eax + 4]
test edi, edi
je 0x655598
add eax, 0x10
mov dword [ebp + 0x5c], eax
jmp 0x65559d
xor edi, edi
mov dword [ebp + 0x5c], edi
mov edx, dword [ebp + 0x60]
sub esi, edx
mov eax, dword [ebp + 0x64]
mov ecx, dword [ebp]
push esi
mov esi, dword [ebp + 4]
push edx
dec edx
add eax, edx
mov edx, esi
push eax
call fcn.00660f90
mov ecx, dword [ebp + 0x5c]
add esp, 4
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebp + 0x60]
mov dword [eax + 4], edi
mov eax, dword [ebp]
cmp ecx, esi
jge 0x6555e2
lea eax, [eax + ecx*8]
sub esi, ecx
mov dword [ebp - 0x18], eax
neg eax
sbb eax, eax
and eax, esi
mov dword [ebp - 0x14], eax
jmp 0x6555ef
lea eax, [eax + esi*8]
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x18]
call fcn.00660e30
lea ecx, [ebp - 0x104]
call fcn.005deb29
mov byte [ebp - 4], 1
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x655639
or eax, 0xffffffff
lock xadd dword [ecx], eax
jne 0x655632
mov eax, dword [ebp + 0x34]
mov dword [eax + 4], 0
push dword [ebp + 0x34]
call fcn.007a0961
add esp, 4
mov dword [ebp + 0x34], 0
lea ecx, [ebp + 0x2c]
call fcn.005fbe4f
jmp case.default.0x652eff
mov eax, dword [ebx + 0x58]
mov ecx, ebx
mov edx, dword [ebp + 0x60]
push esi
push edi
push dword [eax + 4]
push dword [eax]
call fcn.00693160
jmp 0x652d3d
movzx edx, byte [edi]
lea ecx, [edi + 1]
push dword [ebx + 0x84]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
push dword [ebx + 0x80]
shl eax, 8
or edx, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov ecx, ebx
mov eax, dword [ebx + 0x58]
push dword [eax + 4]
push dword [eax]
call fcn.00693160
add esp, 0x10
jmp case.0x652d5b.0
movzx edx, byte [edi]
lea ecx, [edi + 1]
push dword [ebx + 0x84]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
push dword [ebx + 0x80]
shl eax, 8
or edx, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov ecx, edx
mov eax, dword [ebx + 0x58]
push dword [eax + 4]
push dword [eax]
call fcn.0062efc0
add esp, 0x10
jmp case.0x652d5b.0
movzx edx, byte [edi]
lea ecx, [edi + 1]
mov esi, dword [ebx + 0x84]
mov edi, dword [ebx + 0x80]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or edx, eax
lea eax, [ecx + 1]
push esi
push edi
mov dword [ebp + 0x68], edx
mov dword [ebx + 0x6c], eax
call fcn.005de677
add esp, 8
push esi
push edi
test al, al
je 0x65574d
mov edx, ebx
lea ecx, [ebp - 0xdc]
call fcn.005de693
mov eax, dword [ebp - 0xdc]
add esp, 8
sub esp, 8
mov ecx, esp
push dword [ebp + 0x68]
mov dword [ecx], eax
mov eax, dword [ebp - 0xd8]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 0x58]
push dword [eax + 4]
push dword [eax]
push ebx
call fcn.00656a00
mov ecx, dword [ebx + 0x58]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x652eff
call fcn.005de6ce
add esp, 8
push esi
push edi
test al, al
je 0x655797
lea ecx, [ebp - 0xe4]
call fcn.006615d0
mov eax, dword [ebp - 0xe4]
mov ecx, esp
push dword [ebp + 0x68]
mov dword [ecx], eax
mov eax, dword [ebp - 0xe0]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 0x58]
push dword [eax + 4]
push dword [eax]
push ebx
call fcn.00656a00
mov ecx, dword [ebx + 0x58]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x652eff
mov ecx, ebx
call fcn.006dcb30
add esp, 8
test al, al
je 0x655a8f
push ebx
lea ecx, [ebp + 0x20]
call fcn.006327e0
mov eax, dword [ebx + 0x80]
mov edx, dword [ebx + 0x1f0]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x84]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0xe8], 1
test edx, edx
je 0x6557e3
mov eax, dword [edx + 4]
jmp 0x6557e5
xor eax, eax
lea esi, [eax + 1]
mov dword [ebp + 0x60], eax
xor eax, eax
test esi, esi
cmovs esi, eax
test edx, edx
je 0x6557fb
mov ecx, dword [edx + 4]
jmp 0x6557fd
xor ecx, ecx
mov dword [ebp + 0x64], ecx
cmp ecx, esi
je 0x655989
jae 0x655982
test edx, edx
je 0x655817
mov eax, dword [edx + 8]
jmp 0x655819
xor eax, eax
cmp esi, eax
jbe 0x65594f
test eax, eax
je 0x65582c
lea eax, [eax + eax*2]
shr eax, 1
jmp 0x655839
cmp esi, 4
mov eax, esi
mov ecx, 4
cmovl eax, ecx
cmp eax, esi
mov edi, esi
push 1
cmovae edi, eax
lea eax, [edi*4 + 0xc]
push eax
call fcn.007a1529
add esp, 8
mov dword [ebp + 0x5c], eax
test eax, eax
je 0x655989
mov dword [eax + 8], edi
mov ecx, 1
xchg dword [eax], ecx
lea ecx, [esi*4]
mov dword [ebp + 0x58], 0
lea edx, [eax + 0xc]
mov dword [ebp + 0x50], ecx
lea edi, [ecx + 3]
shr edi, 2
lea eax, [ecx + edx]
cmp edx, eax
cmova edi, dword [ebp + 0x58]
test edi, edi
je 0x65589d
mov ecx, edi
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
lea ecx, [esi*4]
mov eax, dword [ebp + 0x5c]
mov dword [eax + 4], esi
mov edi, dword [ebx + 0x1f0]
test edi, edi
je 0x655944
mov esi, dword [ebp + 0x64]
add edi, 0xc
shl esi, 2
test esi, esi
je 0x655916
test edx, edx
jne 0x6558cf
call fcn.007a0305
mov dword [eax], 0x16
jmp 0x655911
test edi, edi
je 0x6558e4
cmp ecx, esi
jb 0x6558e4
push esi
push edi
push edx
call fcn.00797610
add esp, 0xc
jmp 0x655916
push ecx
push 0
push edx
call fcn.00798110
add esp, 0xc
test edi, edi
jne 0x655901
call fcn.007a0305
mov dword [eax], 0x16
jmp 0x655911
cmp dword [ebp + 0x50], esi
jae 0x655916
call fcn.007a0305
mov dword [eax], 0x22
call fcn.0079b0c2
mov ecx, dword [ebx + 0x1f0]
test ecx, ecx
je 0x655944
or eax, 0xffffffff
lock xadd dword [ecx], eax
jne 0x655944
mov eax, dword [ebx + 0x1f0]
mov dword [eax + 4], 0
push dword [ebx + 0x1f0]
call fcn.007a0961
add esp, 4
mov eax, dword [ebp + 0x5c]
mov dword [ebx + 0x1f0], eax
jmp 0x655989
mov eax, esi
mov dword [ebp + 0x58], 0
sub eax, ecx
lea edi, [ecx + 3]
shl eax, 2
lea edi, [edx + edi*4]
lea ecx, [eax + edi]
add eax, 3
shr eax, 2
cmp edi, ecx
cmova eax, dword [ebp + 0x58]
test eax, eax
je 0x655982
mov ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [ebx + 0x1f0]
test edx, edx
je 0x655989
mov dword [edx + 4], esi
mov eax, dword [ebx + 0x1f0]
lea edx, [ebp - 0x20]
mov ecx, dword [ebp + 0x60]
mov dword [eax + ecx*4 + 0xc], edx
mov byte [ebp - 4], 0x2b
xor esi, esi
mov dword [ebp + 0x64], esi
cmp esi, 0x2710
jge 0x655a07
push dword [ebp - 0x1c]
mov ecx, ebx
push dword [ebp - 0x20]
call fcn.00657550
add esp, 8
mov dword [ebp + 0x58], eax
mov edi, edx
cmp eax, 1
jne 0x6559cc
cmp edi, 0x20000
je 0x655a01
mov esi, dword [ebp + 0x28]
test esi, esi
je 0x6559d8
mov esi, dword [esi + 4]
jmp 0x6559da
xor esi, esi
xor ecx, ecx
lea eax, [esi + 1]
test eax, eax
cmovs eax, ecx
lea ecx, [ebp + 0x28]
push eax
call fcn.004cbefe
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x58]
mov dword [eax + esi*8 + 0x10], ecx
mov dword [eax + esi*8 + 0x14], edi
mov esi, dword [ebp + 0x64]
inc esi
jmp 0x65599f
cmp esi, 0x2710
je 0x6566f6
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x655a20
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x655a20
lea edx, [eax + 0x10]
jmp 0x655a24
xor ecx, ecx
xor edx, edx
sub esp, 8
mov eax, esp
push dword [ebp + 0x68]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov eax, dword [ebx + 0x58]
push dword [eax + 4]
push dword [eax]
push ebx
call fcn.00656a00
mov ecx, dword [ebx + 0x58]
mov dword [ecx], eax
mov dword [ecx + 4], edx
lea ecx, [ebp - 0xec]
call fcn.005deb29
mov byte [ebp - 4], 1
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x655a82
or eax, 0xffffffff
lock xadd dword [ecx], eax
jne 0x655a7b
mov eax, dword [ebp + 0x28]
mov dword [eax + 4], 0
push dword [ebp + 0x28]
call fcn.007a0961
add esp, 4
mov dword [ebp + 0x28], 0
lea ecx, [ebp + 0x20]
call fcn.005fbe4f
jmp case.default.0x652eff
mov eax, dword [ebx + 0x58]
mov ecx, dword [ebp + 0x68]
push esi
push edi
push dword [eax + 4]
push dword [eax]
call fcn.0062efc0
jmp 0x652d3d
mov ecx, dword [ebx + 0x58]
push dword [ebx + 0x84]
push dword [ebx + 0x80]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
call fcn.006a73d0
jmp 0x6537e9
mov ecx, dword [ebx + 0x58]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
push dword [ebx + 0x84]
push dword [ebx + 0x80]
call fcn.006a75a0
jmp 0x6537e9
push dword [ebx + 0x84]
mov ecx, ebx
push dword [ebx + 0x80]
call fcn.006a3be0
add esp, 8
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.0x652d5b.0
movzx esi, byte [edi]
lea ecx, [edi + 1]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or esi, eax
lea eax, [ecx + 1]
push 0x50
mov dword [ebx + 0x6c], eax
call fcn.00795dab
add esp, 4
mov dword [ebp + 0x58], eax
mov ecx, eax
push ebx
call fcn.00651f70
mov dword [eax + 0x48], esi
mov esi, dword [ebp + 0x6c]
inc dword [esi + 0xc]
jmp case.0x652d5b.0
mov ecx, dword [esi + 8]
test ecx, ecx
je case.0x652d5b.0
cmp dword [ecx + 0x48], 0
jl case.0x652d5b.0
dec dword [esi + 0xc]
mov edx, dword [ecx]
test edx, edx
je 0x655b83
mov edx, dword [edx + 0x40]
test edx, edx
je 0x655b83
cmp dword [edx + 8], ecx
jne 0x655b83
mov eax, dword [ecx + 0x4c]
mov dword [edx + 8], eax
push 0x50
push ecx
call fcn.0079602c
add esp, 8
jmp case.0x652d5b.0
movzx esi, byte [edi]
lea ecx, [edi + 1]
mov edx, dword [ebx + 0x58]
mov dword [ebx + 0x6c], ecx
movzx eax, byte [ecx]
shl eax, 8
or esi, eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov ecx, ebx
push esi
push dword [edx + 0xc]
push dword [edx + 8]
call fcn.00660b90
add esp, 0xc
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x652eff
mov ecx, dword [ebx + 0x5c]
mov dword [ebx + 0x80], 3
mov dword [ebx + 0x84], 0x20000
test ecx, ecx
je case.0x652d5b.0
nop
mov eax, dword [ecx]
cmp eax, 0x923e8c
je 0x655c1a
cmp eax, 0x924850
je 0x655c1a
mov eax, dword [ecx + 4]
test eax, eax
je case.0x652d5b.0
mov ecx, dword [ebx + 0x54]
sub ecx, eax
add ecx, 1
jne 0x655bf0
jmp case.0x652d5b.0
mov eax, dword [ecx + 0x20]
mov dword [ebx + 0x80], eax
mov eax, dword [ecx + 0x24]
mov dword [ebx + 0x84], eax
jmp case.0x652d5b.0
push dword [ebx + 0x84]
mov edx, dword [ebx + 0x90]
mov ecx, ebx
push dword [ebx + 0x80]
call fcn.0062fa80
add esp, 8
jmp case.0x652d5b.0
movzx esi, byte [edi]
lea eax, [edi + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x58]
push dword [eax + esi*8 - 4]
lea edi, [eax + esi*8]
push dword [edi - 8]
call fcn.0065b340
add esp, 8
cmp eax, 4
jne 0x655c85
cmp edx, 0x20000
jne 0x655c85
mov dword [ebx + 0x58], edi
jmp case.default.0x652eff
mov ecx, ebx
cmp esi, 2
je 0x656720
push 0x20000
push 2
lea edx, [esi - 2]
call fcn.00692390
add esp, 8
mov dword [ebx + 0x80], eax
add esi, 0xfffffffd
mov dword [ebx + 0x84], edx
js 0x65673b
mov ecx, dword [ebx + 0x58]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, esi
push dword [ebx + 0x84]
push dword [ebx + 0x80]
call fcn.006613d0
add esp, 0x10
sub esi, 1
js 0x65673b
jmp 0x655cb7
mov ecx, dword [ebx + 0x90]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, ebx
call fcn.0065d410
mov ecx, dword [ebx + 0x6c]
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x50], edx
movzx eax, byte [ecx]
mov dword [ebp + 0x64], eax
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ebp - 0x30]
movzx edi, byte [eax]
inc eax
mov dword [ebx + 0x6c], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
cmp edi, 0x10
jbe 0x655d50
push edi
call fcn.004cbefe
mov edx, dword [ebp - 0x30]
test edx, edx
je 0x655d4a
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x655d4a
add edx, 0x10
jmp 0x655d5f
xor ecx, ecx
xor edx, edx
jmp 0x655d5f
push 0
call fcn.004cbefe
lea edx, [ebp - 0xb0]
mov ecx, edi
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x2c], edx
mov byte [ebp - 4], 0x2c
test edi, edi
je 0x655d97
lea esi, [edi*8]
mov ecx, dword [ebx + 0x58]
lea esi, [esi - 8]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
mov eax, dword [ecx]
mov dword [esi + edx], eax
mov eax, dword [ecx + 4]
mov dword [esi + edx + 4], eax
mov edx, dword [ebp - 0x2c]
sub edi, 1
jne 0x655d74
mov ecx, dword [ebp - 0x28]
test byte [ebp + 0x64], 1
mov eax, 0x20000
mov edi, 3
mov dword [ebp + 0x5c], eax
je 0x655de4
test ecx, ecx
mov dword [ebp + 0x58], 0
mov eax, 0x94bfa0
mov esi, 1
cmovne eax, edx
cmp ecx, esi
cmovbe esi, ecx
test ecx, ecx
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp + 0x5c], eax
lea edx, [edx + esi*8]
mov eax, ecx
cmovne eax, dword [ebp + 0x58]
sub ecx, eax
cmp esi, ecx
jae 0x655de2
sub ecx, esi
jmp 0x655de4
xor ecx, ecx
mov eax, dword [ebp + 0x64]
shr eax, 1
and al, 1
mov byte [ebp - 0xc0], al
push dword [ebp - 0xc0]
mov eax, dword [ebp + 0x5c]
push dword [ebp + 0x50]
push dword [ebp + 0x68]
push eax
push edi
sub esp, 8
mov eax, esp
mov dword [eax + 4], ecx
mov ecx, ebx
mov dword [eax], edx
mov eax, dword [ebx]
call dword [eax + 0x14]
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je case.default.0x652eff
or eax, 0xffffffff
lock xadd dword [ecx], eax
jne case.default.0x652eff
mov dword [ecx + 4], 0
push dword [ebp - 0x30]
call fcn.007a0961
add esp, 4
jmp case.default.0x652eff
mov eax, dword [ebx + 0x58]
push dword [ebx + 0x84]
lea ecx, [eax + 8]
push dword [ebx + 0x80]
mov dword [ebx + 0x58], ecx
mov edx, dword [eax + 4]
mov esi, dword [eax]
lea eax, [ecx + 8]
push edx
mov dword [ebx + 0x58], eax
push esi
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
call fcn.00660c20
add esp, 0x18
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x652eff
push dword [ebx + 0x84]
mov ecx, ebx
push dword [ebx + 0x80]
call fcn.00616090
add esp, 8
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.0x652d5b.0
mov eax, dword [ebx + 0x78]
mov ecx, dword [ebx + 0x7c]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], ecx
mov byte [ebp - 0x114], 0
mov edx, dword [ebx + 0x44]
test edx, edx
je 0x655efa
mov eax, dword [edx + 4]
jmp 0x655efc
xor eax, eax
lea esi, [eax + 1]
mov dword [ebp + 0x5c], eax
xor eax, eax
test esi, esi
cmovs esi, eax
test edx, edx
je 0x655f12
mov ecx, dword [edx + 4]
jmp 0x655f14
xor ecx, ecx
mov dword [ebp + 0x64], ecx
cmp ecx, esi
je 0x65603a
jae 0x656033
test edx, edx
je 0x655f2e
mov eax, dword [edx + 8]
jmp 0x655f30
xor eax, eax
cmp esi, eax
jbe 0x656003
test eax, eax
je 0x655f43
lea eax, [eax + eax*2]
shr eax, 1
jmp 0x655f50
cmp esi, 4
mov eax, esi
mov ecx, 4
cmovl eax, ecx
cmp eax, esi
mov ecx, esi
push 1
cmovae ecx, eax
mov dword [ebp + 0x58], ecx
lea eax, [ecx*4 + 0xc]
push eax
call fcn.007a1529
mov edi, eax
add esp, 8
mov dword [ebp + 0x50], edi
test edi, edi
je 0x65603a
mov eax, dword [ebp + 0x58]
mov ecx, 1
mov dword [edi + 8], eax
xchg dword [edi], ecx
lea ecx, [esi*4]
mov dword [ebp + 0x58], 0
lea edx, [edi + 0xc]
mov dword [ebp + 0x68], ecx
lea eax, [ecx + edx]
add ecx, 3
shr ecx, 2
cmp edx, eax
cmova ecx, dword [ebp + 0x58]
test ecx, ecx
je 0x655fb6
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 0x50]
mov dword [edi + 4], esi
mov esi, dword [ebx + 0x44]
test esi, esi
je 0x655ffe
mov eax, dword [ebp + 0x64]
lea ecx, [edi + 0xc]
mov edx, dword [ebp + 0x68]
add esi, 0xc
shl eax, 2
push eax
push esi
call fcn.0042d46f
mov ecx, dword [ebx + 0x44]
add esp, 8
test ecx, ecx
je 0x655ffe
or eax, 0xffffffff
lock xadd dword [ecx], eax
jne 0x655ffe
mov eax, dword [ebx + 0x44]
mov dword [eax + 4], 0
push dword [ebx + 0x44]
call fcn.007a0961
add esp, 4
mov dword [ebx + 0x44], edi
jmp 0x65603a
mov eax, esi
mov dword [ebp + 0x58], 0
sub eax, ecx
lea edi, [ecx + 3]
shl eax, 2
lea edi, [edx + edi*4]
lea ecx, [eax + edi]
add eax, 3
shr eax, 2
cmp edi, ecx
cmova eax, dword [ebp + 0x58]
test eax, eax
je 0x656033
mov ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [ebx + 0x44]
test edx, edx
je 0x65603a
mov dword [edx + 4], esi
mov eax, dword [ebx + 0x44]
lea edx, [ebp - 0x12c]
mov ecx, dword [ebp + 0x5c]
mov dword [eax + ecx*4 + 0xc], edx
mov byte [ebp - 4], 0x2d
mov eax, dword [ebx + 0x44]
test eax, eax
je 0x656064
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x656064
add ecx, 2
lea ecx, [eax + ecx*4]
jmp 0x656069
mov ecx, 0x948fa8
push dword [ebx + 0x84]
mov ecx, dword [ecx]
xor dl, dl
push dword [ebx + 0x80]
call fcn.006141e0
mov byte [ebp - 4], 1
add esp, 8
mov edi, dword [ebp - 0x12c]
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
mov dword [ebp + 0x5c], edi
mov edx, dword [edi + 0x44]
test edx, edx
je 0x656205
mov ecx, dword [edx + 4]
mov dword [ebp + 0x50], ecx
test ecx, ecx
jle 0x656205
lea esi, [ecx - 1]
xor eax, eax
test esi, esi
cmovs esi, eax
cmp ecx, esi
je 0x656205
jae 0x6561fe
mov eax, dword [edx + 8]
cmp esi, eax
jbe 0x6561cb
test eax, eax
je 0x6560e1
lea eax, [eax + eax*2]
shr eax, 1
jmp 0x6560ee
cmp esi, 4
mov eax, esi
mov ecx, 4
cmovl eax, ecx
cmp eax, esi
mov ecx, esi
push 1
cmovae ecx, eax
mov dword [ebp + 0x58], ecx
lea eax, [ecx*4 + 0xc]
push eax
call fcn.007a1529
add esp, 8
mov dword [ebp + 0x64], eax
test eax, eax
je 0x656205
mov ecx, dword [ebp + 0x58]
mov dword [eax + 8], ecx
mov ecx, 1
xchg dword [eax], ecx
lea edx, [eax + 0xc]
mov dword [ebp + 0x58], 0
lea ecx, [esi*4]
mov dword [ebp + 0x68], edx
lea eax, [edx + ecx]
add ecx, 3
shr ecx, 2
cmp edx, eax
cmova ecx, dword [ebp + 0x58]
test ecx, ecx
je 0x656152
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 0x5c]
mov eax, dword [ebp + 0x64]
mov dword [eax + 4], esi
mov ecx, dword [edi + 0x44]
test ecx, ecx
je 0x6561a8
mov eax, dword [ebp + 0x50]
lea edx, [esi*4]
shl eax, 2
push eax
lea eax, [ecx + 0xc]
mov ecx, dword [ebp + 0x68]
push eax
call fcn.0042d46f
mov ecx, dword [edi + 0x44]
add esp, 8
test ecx, ecx
je 0x6561a8
or eax, 0xffffffff
lock xadd dword [ecx], eax
jne 0x6561a1
mov eax, dword [edi + 0x44]
mov dword [eax + 4], 0
push dword [edi + 0x44]
call fcn.007a0961
add esp, 4
mov dword [edi + 0x44], 0
mov esi, dword [ebp + 0x64]
mov dword [edi + 0x44], esi
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x11c]
mov dword [ecx + 0x78], eax
mov eax, dword [ebp - 0x118]
mov dword [ecx + 0x7c], eax
jmp case.default.0x652eff
mov eax, esi
mov dword [ebp + 0x58], 0
sub eax, ecx
lea edi, [edx + 0xc]
shl eax, 2
lea edi, [edi + ecx*4]
lea ecx, [eax + edi]
add eax, 3
shr eax, 2
cmp edi, ecx
cmova eax, dword [ebp + 0x58]
test eax, eax
je 0x6561fe
mov edx, dword [ebp + 0x5c]
mov ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [edx + 0x44]
test edx, edx
je 0x656205
mov dword [edx + 4], esi
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x11c]
mov dword [ecx + 0x78], eax
mov eax, dword [ebp - 0x118]
mov dword [ecx + 0x7c], eax
jmp case.default.0x652eff
push dword [ebx + 0x84]
lea ecx, [ebp - 0xb4]
push dword [ebx + 0x80]
call fcn.00668670
add esp, 8
mov edx, eax
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebx + 0x44]
test ecx, ecx
je 0x656258
mov eax, dword [ecx + 4]
test eax, eax
jle 0x656258
lea ecx, [ecx + eax*4]
add ecx, 8
jmp 0x65625d
mov ecx, 0x948fa8
mov ecx, dword [ecx]
call fcn.00617eb0
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
mov byte [ebp - 4], 0x2f
mov esi, dword [ebp - 0xb4]
test esi, esi
je 0x6562d2
mov eax, dword [0x948fd4]
test al, 1
jne 0x6562b8
or dword [0x948fd4], 1
push 0x10
call fcn.007965bb
add esp, 4
mov ecx, 1
xchg dword [eax], ecx
xor ecx, ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov word [eax + 0xc], cx
mov dword [0x948fd8], eax
cmp esi, dword [0x948fd8]
je 0x6562d2
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6562d2
push esi
call fcn.0079605d
add esp, 4
mov byte [ebp - 4], 1
jmp case.default.0x652eff
mov ecx, dword [ebx + 0x58]
lea eax, [ecx - 8]
cmp eax, dword [ebx + 0x50]
jb 0x656762
sub edi, dword [ebx + 0x68]
add ecx, 0xfffffff8
mov dword [ebx + 0x58], ecx
xor eax, eax
or eax, 0x30000
add edi, 2
mov dword [ecx], edi
mov dword [ecx + 4], eax
mov eax, dword [ebx + 0x6c]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
shl ecx, 8
or ecx, eax
add ecx, dword [ebx + 0x68]
mov dword [ebx + 0x6c], ecx
jmp case.0x652d5b.0
mov ecx, dword [ebx + 0x58]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
mov eax, dword [ebx + 0x68]
add eax, dword [ecx]
mov dword [ebx + 0x6c], eax
jmp case.0x652d5b.0
mov ecx, dword [ebx + 0x58]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
mov edi, dword [ecx + 4]
mov esi, dword [ecx]
push edi
push esi
call fcn.005de4a4
add esp, 8
mov ecx, ebx
test al, al
je 0x656769
push dword [ebx + 0x84]
push dword [ebx + 0x80]
push edi
push esi
call fcn.00665e60
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x652eff
mov ecx, dword [ebx + 0x58]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
mov edi, dword [ecx + 4]
mov esi, dword [ecx]
push edi
push esi
call fcn.005de4a4
add esp, 8
mov ecx, ebx
test al, al
je 0x656769
push dword [ebx + 0x84]
push dword [ebx + 0x80]
push edi
push esi
call fcn.00665f50
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x652eff
mov ecx, dword [ebx + 0x58]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
mov edi, dword [ecx + 4]
mov esi, dword [ecx]
push edi
push esi
call fcn.005de4a4
add esp, 8
mov ecx, ebx
test al, al
je 0x656769
push dword [ebx + 0x84]
push dword [ebx + 0x80]
push edi
push esi
call fcn.00666040
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x652eff
mov ecx, dword [ebx + 0x58]
lea eax, [ecx + 8]
mov dword [ebx + 0x58], eax
mov edi, dword [ecx + 4]
mov esi, dword [ecx]
push edi
push esi
call fcn.005de4a4
add esp, 8
mov ecx, ebx
test al, al
je 0x656769
push dword [ebx + 0x84]
push dword [ebx + 0x80]
push edi
push esi
call fcn.00666130
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x652eff
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [ebx + 0x6c], eax
cmp ecx, 1
jbe case.0x652d5b.0
mov edi, dword [ebx + 0x58]
mov dword [ebp + 0x58], edi
mov eax, dword [edi + 4]
lea esi, [edi + 8]
mov edx, dword [edi]
mov dword [ebp + 0x50], eax
lea eax, [ecx - 1]
mov ecx, eax
and ecx, 0x1fffffff
add ecx, ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x58]
mov ecx, dword [ebp + 0x50]
mov dword [esi + eax*8], edx
mov dword [esi + eax*8 + 4], ecx
jmp case.default.0x652eff
mov eax, dword [ebx + 0x58]
mov esi, dword [eax]
mov ecx, dword [eax + 4]
movzx eax, byte [edi]
mov dword [ebp + 0x50], eax
lea eax, [edi + 1]
mov dword [ebp + 0x58], ecx
mov dword [ebx + 0x6c], eax
cmp esi, 1
jne 0x6564c2
cmp ecx, 0x20000
je case.default.0x652eff
push ecx
push esi
call fcn.005de601
add esp, 8
test al, al
jne 0x6564e4
mov eax, dword [ebp + 0x58]
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x84], eax
jmp case.default.0x652eff
mov eax, dword [ebp + 0x50]
cmp eax, dword [esi + 8]
jge 0x656505
mov ecx, dword [esi + eax*8 + 0x10]
mov eax, dword [esi + eax*8 + 0x14]
mov dword [ebx + 0x80], ecx
mov dword [ebx + 0x84], eax
jmp case.default.0x652eff
mov ecx, 2
mov eax, 0x20000
mov dword [ebx + 0x80], ecx
mov dword [ebx + 0x84], eax
jmp case.default.0x652eff
movzx eax, byte [edi]
mov edx, 0x924b68
mov dword [ebp + 0x58], eax
mov ecx, ebx
lea eax, [edi + 1]
mov edi, dword [ebp + 0x58]
push edi
mov dword [ebx + 0x6c], eax
call fcn.00691b00
add esp, 4
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
test edi, edi
je case.default.0x652eff
lea esi, [edi*8]
nop word [eax + eax]
mov edx, dword [ebx + 0x58]
lea esi, [esi - 8]
mov ecx, dword [ebx + 0x80]
lea eax, [edx + 8]
mov dword [ebx + 0x58], eax
mov eax, dword [edx]
mov dword [esi + ecx + 0x10], eax
mov eax, dword [edx + 4]
mov dword [esi + ecx + 0x14], eax
sub edi, 1
jne 0x656560
jmp case.default.0x652eff
push 0x2000
lea ecx, [ebp - 0xb8]
mov byte [ebp + 0x7c], 0
call fcn.00438186
push 0x91f8ec
mov eax, ecx
push eax
call fcn.007975a0
mov ecx, ebx
call fcn.0065acd0
movzx edx, byte [edi - 1]
mov ecx, ebx
call fcn.0065aeb0
push 0xe
push ebx
call fcn.0069a440
push dword [ebx + 0x64]
mov ecx, esi
push dword [ebx + 0x60]
call fcn.00661550
add esp, 8
push edx
push eax
push 7
push ebx
call fcn.0069a440
push edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x60]
push 0xa
push ebx
call fcn.0069a440
push str.either__class__or__object_
push edi
push esi
push 6
push ebx
call fcn.0069a440
mov ecx, ebx
call fcn.0065acd0
mov ecx, ebx
call fcn.0065acd0
mov ecx, ebx
call fcn.0065acd0
call fcn.0065acd0
mov ecx, ebx
call fcn.0065acd0
call fcn.0065acd0
push str.too_many_elements
push 0x1f
push ebx
call fcn.0069a440
push str.too_many_elements
push 0x1f
push ebx
call fcn.0069a440
push 0x2000
lea ecx, [ebp - 0xbc]
call fcn.00438186
push 0x91f8ec
mov eax, ecx
push eax
call fcn.007975a0
call fcn.005de2dd
mov ecx, ebx
mov edi, dword [eax]
mov esi, dword [eax + 4]
call fcn.005de2dd
push esi
push edi
push 0x23
push ebx
call fcn.0069a440
mov ecx, ebx
call fcn.005de2dd
mov edi, dword [eax]
mov esi, dword [eax + 4]
call fcn.005de2dd
push dword [ebx + 0x84]
push dword [ebx + 0x80]
push esi
push edi
push 0x24
push ebx
call fcn.0069a440
mov ecx, ebx
call fcn.0065acd0
push edi
push esi
mov edx, str.string
call fcn.0065acb0
mov eax, dword [ebp + 0x6c]
mov ecx, dword [eax + 8]
call fcn.006523a0
lea eax, [ebp + 0x18]
push eax
lea ecx, [ebp - 0xcc]
call fcn.0043719c
push 0x91f8ec
lea eax, [ebp - 0xcc]
push eax
call fcn.007975a0
inc ebx
sub eax, 835125349
add byte gs:[edx - 0x3aff9ace], dl
xor ah, byte [ebp]
pop edi
xor esp, dword [ebp]
xchg ecx, eax
xor esp, dword [ebp]
fdiv qword [ebx]
add byte gs:[esi], ah
xor al, 0x65
add byte [esi], al
xor eax, 0x35f00065
add byte gs:[ecx], al
add byte gs:[edx], dl
add byte gs:[ebx], ah
add byte gs:[esi + 0x36], dl
add byte gs:[edi + 0x36], ah
add byte gs:[eax + 0x36], bh
add byte gs:[ecx - 0x65ff9aca], cl
add ah, bl
add byte gs:[eax + 0x37], bl
add byte gs:[eax - 0x37ff9ac9], dl
aaa
add dh, bh
aaa
add byte gs:[ecx - 0x3eff9ac8], cl
cmp byte [ebp], ah
pop ds
cmp dword [ebp], esp
push edx
cmp dword [ebp], esp
xchg ecx, eax
cmp dword [ebp], esp
in al, 0x3b
add byte gs:[ebx - 637508290], bh
das
add byte gs:[ebp + ebp + 0x2dcc0065], cl
add byte gs:[eax], ah
xor dword [ebp], esp
insb byte es:[edi], dx
xor dword [ebp], esp
xor byte [esi], ch
add byte gs:[edi], cl
add ah, ah
aas
add byte gs:[ecx], bl
inc eax
add byte gs:[esp + esi + 0x65], dl
add byte [esi + esi], dh
add byte gs:[ebp + 0x36], al
add byte gs:[ebp + 0x44], bl
add byte gs:[edi - 0x49ff9abc], dl
inc esp
add bl, bl
inc esp
add byte gs:[eax + 0x4f], ah
add byte gs:[edi + 0x66], dh
add byte gs:[ebp + 0x50], bh
add byte gs:[edi + 0x66], dh
add byte gs:[edi + 0x66], dh
add dl, dl
add bl, ah
xor ah, byte [ebp]
movsd dword es:[edi], dword [esi]
add byte gs:[eax], al
inc ebp
add byte gs:[ebx], al
add byte gs:[bp + si + 0x6533], ch
add byte [esi - 0xdff9aa6], ah
pop edx
add byte gs:[ecx], bl
pop ebx
add byte gs:[ebx + 0x5b], dl
add byte gs:[edi + 0x66], dh
add ah, cl
pop edx
add byte gs:[ebx - 0x3cff9aa5], dl
xor esp, dword [ebp]
adc al, 0x32
add byte gs:[ecx], dh
pop esp
add byte gs:[eax + edi], dh
add byte gs:[ebp + 0x38], dl
add byte gs:[esi + 0x5e], al
add byte gs:[eax + 0x33], bh
add byte gs:[edi + edi], cl
add byte gs:[ecx + 0x3f00653a], dh
inc ebp
add byte gs:[edi + 0x66], dh
add byte gs:[edi + 0x66], dh
add byte gs:[edi + 0x66], dh
add byte gs:[edi + 0x66], dh
add byte gs:[edi + 0x66], dh
add byte gs:[edi + 0x66], dh
add byte gs:[esi + 0x45], dh
add bh, cl
pop ebx
add byte gs:[ecx + 0x32], dl
add byte gs:[edi - 0x6ff9aa2], ch
cmp byte [ebp], ah
fild dword [ebp + 0x65]
add bl, bl
bound esp, qword [ebp]
sbb al, 0x63
add byte gs:[ecx], al
push eax
add byte gs:[esi], dh
aaa
add byte gs:[edi + 0x37], al
add byte gs:[edi + 0x32006545], cl
arpl word [ebp], sp
jnp 0x656979
add ah, al
arpl word [ebp], sp
or eax, 0x21006564
cmp ah, byte [ebp]
push esi
add byte gs:[edx], ah
bound esp, qword [ebp]
push edx
pop esp
add byte gs:[eax], al
push ecx
add byte gs:[edx + 0x62006564], bl
inc eax
add byte gs:[eax], dl
inc ecx
add byte gs:[ebp + 0x42], dl
add bh, cl
inc edx
add byte gs:[ecx + 0x3a], ch
add byte gs:[edi + 0x66], dh
add byte gs:[edi - 0x1fff9abb], ah
inc ebx
add byte gs:[esi], al
inc esp
add byte gs:[edi], dh
inc esp
add byte gs:[eax + 0x4f], cl
add cl, bl
cmp dword [ebp], esp
mov dh, 0x50
add byte gs:[ebp + 59], dh
add byte gs:[edx + 0x2d], ah
add cl, bh
cmp byte [ebp], ah
pop ds
xor byte [ebp], ah
in eax, 0x30
add byte gs:[ebx + 1694524731], bh
xor al, 0x65
add byte [edi + 0x66], dh
add byte gs:[edi + 0x66], dh
add byte gs:[edi + 0x66], dh
add byte gs:[edi + 0x66], dh
add byte gs:[edi + 0x66], dh
add byte gs:[edi + 0x66], dh
add byte gs:[esp + esi], al
add byte gs:[edi - 0x15ff9ad3], ah
sub eax, 0x565f0065
add byte gs:[ecx + edx*2 + 0x56990065], bl
add bl, dl
push esi
add byte gs:[eax], ah
add ah, bl
xor esp, dword [ebp]
out 0x5c, al
add byte gs:[eax + 788555102], cl
cmp al, 0x65
add bh, dh
cmp ah, byte [ebp]
cmp esp, dword ss:[ebp]
jbe 6646281
add byte gs:[esi + 0x2f], dh
add byte gs:[esi + 0x2f], dh
add byte gs:[eax - 0x57ff9ad1], ch
das
add byte gs:[esi], al
das
add byte gs:[esi + 0x2f], dh
add ah, cl
int3
add byte [ecx], ah
add byte [eax], al
add byte [eax + 0x64], dl
mov dword [0], esp
sub esp, 0x30
push ebx
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x3c]
push esi
push edi
push ebx
call fcn.006327e0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x30]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.006615d0
mov esi, eax
add esp, 8
xor eax, eax
mov ecx, dword [esi + 4]
test ecx, ecx
cmovs ecx, eax
push ecx
lea ecx, [ebp - 0x34]
call fcn.004cbefe
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x656ae3
cmp dword [esi + 4], 0
je 0x656aa6
mov eax, dword [esi]
sub esp, 8
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x656a86
mov edx, dword [eax + 4]
lea ecx, [eax + 0x10]
jmp 0x656a8a
xor edx, edx
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
lea ecx, [ebp - 0x20]
cmovne eax, edx
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00660e30
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + 0x14]
test eax, eax
je 0x656ae6
dec dword [eax + 4]
lea esi, [ecx + 2]
lea esi, [eax + esi*8]
mov eax, dword [ebp - 0x34]
mov edx, dword [eax + 4]
cmp ecx, edx
jge 0x656ae6
sub edx, ecx
lea edi, [esi + 8]
shl edx, 3
test edx, edx
je 0x656ae6
test esi, esi
jne 0x656b07
call fcn.007a0305
mov dword [eax], 0x16
call fcn.0079b0c2
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + 0x14]
mov edi, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x18]
test edi, edi
je 0x656b99
xor edx, edx
test ecx, ecx
cmovns edx, ecx
mov dword [ebp + 0x14], edx
test eax, eax
je 0x656b18
mov ecx, dword [eax + 4]
jmp 0x656b1a
test edi, edi
je 0x656ad0
push edx
push edi
push esi
call fcn.00797b90
add esp, 0xc
jmp 0x656ae0
xor ecx, ecx
cmp edx, ecx
jl 0x656b2a
push edi
push esi
lea ecx, [ebp - 0x34]
call fcn.00661020
jmp 0x656b99
test eax, eax
je 0x656b33
mov ebx, dword [eax + 4]
jmp 0x656b35
xor ebx, ebx
lea eax, [ebx + edi]
push eax
lea ecx, [ebp - 0x34]
call fcn.004cbefe
mov edx, dword [ebp - 0x34]
mov eax, dword [edx + 4]
inc eax
lea ecx, [edx + eax*8]
mov eax, dword [ebp + 0x14]
lea edx, [edx + ebx*8]
add edx, 8
sub ebx, eax
je 0x656b71
mov eax, dword [edx]
lea ecx, [ecx - 8]
mov dword [ecx + 8], eax
lea edx, [edx - 8]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0xc], eax
sub ebx, 1
jne 0x656b58
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x34]
lea ecx, [ecx + eax*8]
add ecx, 0x10
test edi, edi
je 0x656b96
nop
mov eax, dword [esi]
lea ecx, [ecx + 8]
mov dword [ecx - 8], eax
lea esi, [esi + 8]
mov eax, dword [esi - 4]
mov dword [ecx - 4], eax
sub edi, 1
jne 0x656b80
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebx + 0x1f0]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], 1
mov eax, dword [ecx + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x24], eax
test edx, edx
je 0x656bc1
mov eax, dword [edx + 4]
jmp 0x656bc3
xor eax, eax
lea esi, [eax + 1]
mov dword [ebp - 0x10], eax
xor eax, eax
test esi, esi
cmovs esi, eax
test edx, edx
je 0x656bd9
mov edi, dword [edx + 4]
jmp 0x656bdb
xor edi, edi
mov dword [ebp + 0x14], edi
cmp edi, esi
je 0x656d6b
jae 0x656d64
test edx, edx
je 0x656bf5
mov eax, dword [edx + 8]
jmp 0x656bf7
xor eax, eax
cmp esi, eax
jbe 0x656d2f
test eax, eax
je 0x656c0a
lea eax, [eax + eax*2]
shr eax, 1
jmp 0x656c16
mov ecx, 4
mov eax, esi
cmp esi, ecx
cmovl eax, ecx
cmp eax, esi
mov ecx, esi
push 1
cmovae ecx, eax
mov dword [ebp - 0x14], ecx
lea eax, [ecx*4 + 0xc]
push eax
call fcn.007a1529
add esp, 8
mov dword [ebp + 0x10], eax
test eax, eax
je 0x656d6b
mov ecx, dword [ebp - 0x14]
mov dword [eax + 8], ecx
mov ecx, 1
xchg dword [eax], ecx
lea ecx, [esi*4]
lea edx, [eax + 0xc]
mov dword [ebp - 0x1c], ecx
lea ebx, [ecx + 3]
shr ebx, 2
lea eax, [ecx + edx]
mov dword [ebp - 0x14], ebx
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x14]
cmova eax, ebx
mov ebx, dword [ebp + 8]
test eax, eax
je 0x656c86
mov ecx, eax
mov edi, edx
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 0x14]
lea ecx, [esi*4]
mov eax, dword [ebp + 0x10]
mov dword [eax + 4], esi
mov esi, dword [ebx + 0x1f0]
test esi, esi
je 0x656d24
shl edi, 2
add esi, 0xc
test edi, edi
je 0x656cfc
test edx, edx
jne 0x656cb5
call fcn.007a0305
mov dword [eax], 0x16
jmp 0x656cf7
test esi, esi
je 0x656cca
cmp ecx, edi
jb 0x656cca
push edi
push esi
push edx
call fcn.00797610
add esp, 0xc
jmp 0x656cfc
push ecx
push 0
push edx
call fcn.00798110
add esp, 0xc
test esi, esi
jne 0x656ce7
call fcn.007a0305
mov dword [eax], 0x16
jmp 0x656cf7
cmp dword [ebp - 0x1c], edi
jae 0x656cfc
call fcn.007a0305
mov dword [eax], 0x22
call fcn.0079b0c2
mov ecx, dword [ebx + 0x1f0]
test ecx, ecx
je 0x656d24
or eax, 0xffffffff
lock xadd dword [ecx], eax
jne 0x656d24
mov dword [ecx + 4], 0
push dword [ebx + 0x1f0]
call fcn.007a0961
add esp, 4
mov eax, dword [ebp + 0x10]
mov dword [ebx + 0x1f0], eax
jmp 0x656d6b
lea ecx, [edi + 3]
mov eax, esi
sub eax, edi
lea ecx, [edx + ecx*4]
shl eax, 2
mov dword [ebp + 0x14], ecx
add ecx, eax
mov edi, dword [ebp + 0x14]
add eax, 3
shr eax, 2
cmp edi, ecx
mov ecx, 0
cmova eax, ecx
test eax, eax
je 0x656d64
mov ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [ebx + 0x1f0]
test edx, edx
je 0x656d6b
mov dword [edx + 4], esi
mov eax, dword [ebx + 0x1f0]
lea edx, [ebp - 0x28]
mov ecx, dword [ebp - 0x10]
mov dword [eax + ecx*4 + 0xc], edx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x656d8b
mov eax, dword [eax + 4]
jmp 0x656d8d
xor eax, eax
push eax
mov edx, 0x924af8
mov ecx, ebx
call fcn.00693320
push dword [ebp - 0x24]
mov edi, edx
mov esi, eax
push dword [ebp - 0x28]
push edi
push esi
call fcn.0062efe0
mov ecx, dword [ebp - 0x34]
add esp, 0xc
mov edx, esp
test ecx, ecx
je 0x656dc3
mov eax, dword [ecx + 4]
test eax, eax
je 0x656dc3
add ecx, 0x10
jmp 0x656dc7
xor ecx, ecx
xor eax, eax
mov dword [edx + 4], eax
lea eax, [ebp + 0xc]
push eax
mov dword [edx], ecx
lea ecx, [ebp - 0x20]
push edi
push esi
call fcn.006615a0
add esp, 8
mov ecx, eax
call fcn.00660e30
lea ecx, [ebp - 0x30]
call fcn.005deb29
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x656e15
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x656e0e
mov dword [eax + 4], 0
push dword [ebp - 0x34]
call fcn.007a0961
add esp, 4
mov dword [ebp - 0x34], 0
lea ecx, [ebp - 0x3c]
call fcn.005fbe4f
mov ecx, dword [ebp - 0xc]
mov edx, edi
pop edi
mov eax, esi
mov dword fs:[0], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18