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

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x70
push 0xffffffffffffffff
push 0x818a6f
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 0x654909
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 0x65826f
mov eax, dword [0x8281bc]
mov dword [ebp + 0x40], eax
mov eax, dword [0x8281c0]
mov dword [ebp + 0x3c], eax
mov eax, dword [0x82819c]
mov dword [ebp + 0x38], eax
jmp case.0x65496b.0
call fcn.00630b80
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.0x65496b.47
jmp dword [ecx*4 + 0x6583c0]
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.0x65496b.0
mov eax, dword [ecx]
push edx
push ebx
call dword [eax + 0x3c]
jmp case.0x65496b.0
movzx ecx, byte [edi]
lea eax, [edi + 1]
push ecx
mov edx, 0x929848
mov dword [ebx + 0x6c], eax
mov ecx, ebx
call fcn.0065aa20
add esp, 4
jmp case.0x65496b.0
movzx edx, byte [edi]
lea eax, [edi + 1]
mov ecx, ebx
mov dword [ebx + 0x6c], eax
call fcn.0065a500
push eax
mov edx, 0x929848
mov ecx, ebx
call fcn.0065aa20
add esp, 4
jmp case.0x65496b.0
movzx ecx, byte [edi]
lea eax, [edi + 1]
push ecx
mov edx, 0x929848
mov dword [ebx + 0x6c], eax
mov ecx, ebx
call fcn.0065a100
add esp, 4
jmp case.0x65496b.0
movzx edx, byte [edi]
lea eax, [edi + 1]
mov ecx, ebx
mov dword [ebx + 0x6c], eax
call fcn.0065a500
push eax
mov edx, 0x929848
mov ecx, ebx
call fcn.0065a100
add esp, 4
jmp case.0x65496b.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.0x654b0f
mov dword [ebp - 4], 2
jmp 0x654c06
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 0x658290
lea ecx, [esi - 1]
test ecx, ecx
js 0x654a99
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 0x654a80
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.0065c430
add esp, 8
jmp case.default.0x654b0f
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [ebx + 0x6c], eax
mov eax, 4
cmp dword [ebx + 0x4c], ecx
jge 0x654acd
mov eax, 5
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], 0x20000
jmp case.0x65496b.0
push dword [ebx + 0x74]
mov ecx, ebx
push dword [ebx + 0x70]
call fcn.0065c6e0
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.0x654b0f
jmp dword [ecx*4 + 0x6585f8]
mov ecx, ebx
call fcn.0064d830
push edx
push eax
push edi
push esi
push dword [ebx + 0x84]
mov ecx, ebx
push dword [ebx + 0x80]
call fcn.0063ca10
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.00663190
add esp, 8
test al, al
je 0x6582a2
push dword [ebp + 0x64]
push dword [ebp + 0x5c]
push edi
push esi
call fcn.0063ec20
jmp 0x65494d
mov ecx, ebx
call fcn.0064d830
push edx
push eax
push edi
push esi
push dword [ebx + 0x84]
mov ecx, ebx
push dword [ebx + 0x80]
call fcn.0063ca10
add esp, 0x18
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x654b0f
mov ecx, ebx
call fcn.0064d830
push edx
push eax
push edi
push esi
push dword [ebx + 0x84]
mov ecx, ebx
push dword [ebx + 0x80]
call fcn.0063d020
add esp, 0x18
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x654b0f
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.0x654b0f
mov dword [ebp - 4], 3
mov eax, dword [ebp + 0x44]
mov ecx, dword [eax + 0x1cc]
test ecx, ecx
je 0x654c19
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.006defe0
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.006dca50
add esp, 0x10
test al, al
jne 0x654cf6
mov edi, dword [ebx + 0x1f8]
lea ecx, [ebx + 0x1f8]
mov esi, dword [ebx + 0x40]
test edi, edi
je 0x654c79
mov edi, dword [edi + 4]
jmp 0x654c7b
xor edi, edi
lea eax, [edi + 1]
xor edx, edx
test eax, eax
cmovs eax, edx
push eax
call fcn.004cc1e4
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 0x654cae
mov eax, dword [eax + 4]
jmp 0x654cb0
xor eax, eax
cmp eax, 1
jne 0x654cf6
lea eax, [ebp - 0x48]
push eax
push 8
call fcn.004035e0
add esp, 8
mov dword [eax], 0x8a5dd8
mov dword [eax + 4], 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 0x654cf6
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 0x654d11
mov ecx, ebx
mov byte [esi + 0x10], 1
call fcn.006defe0
mov dword [ebp - 4], 6
mov eax, dword [ebp + 0x44]
mov ecx, dword [eax + 0x1cc]
test ecx, ecx
je 0x654d24
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 0x654d60
nop
sub ecx, 1
lea eax, [edx]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [ebp + 0x58], eax
jns 0x654d50
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.0x65496b.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 0x654db0
nop
sub ecx, 1
lea eax, [edi]
mov edi, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [ebp + 0x68], eax
jns 0x654da0
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.005dfcd3
push edx
push eax
push dword [ebp + 0x68]
mov ecx, esi
push edi
call fcn.00630b60
add esp, 0x18
jmp case.default.0x654b0f
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.0065cf70
add esp, 8
cmp eax, 4
jne case.default.0x654b0f
cmp edx, 0x20000
jne case.default.0x654b0f
mov eax, dword [ebx + 0x68]
add eax, esi
mov dword [ebx + 0x6c], eax
jmp case.default.0x654b0f
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 0x654e61
cmp dword [ebx + 0x84], 0x20000
je case.0x65496b.0
mov eax, dword [ebx + 0x68]
add eax, edx
mov dword [ebx + 0x6c], eax
jmp case.0x65496b.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.0x65496b.0
cmp dword [ebx + 0x84], 0x20000
jne case.0x65496b.0
mov eax, dword [ebx + 0x68]
add eax, edx
mov dword [ebx + 0x6c], eax
jmp case.0x65496b.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.0065cf70
add esp, 8
cmp eax, 5
jmp 0x654e12
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.0x65496b.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 0x654f5d
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.0065d0d0
add esp, 0x10
test al, al
jne 0x654f5d
add dword [ebx + 0x6c], 2
mov ecx, dword [ebx + 0x6c]
jmp 0x654f15
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.0x654b0f
mov dword [ebx + 0x80], 4
mov dword [ebx + 0x84], 0x20000
jmp case.0x65496b.0
mov dword [ebx + 0x80], 5
mov dword [ebx + 0x84], 0x20000
jmp case.0x65496b.0
mov dword [ebx + 0x80], 3
mov dword [ebx + 0x84], 0x20000
jmp case.0x65496b.0
mov dword [ebx + 0x80], 2
mov dword [ebx + 0x84], 0x20000
jmp case.0x65496b.0
mov dword [ebx + 0x80], 1
mov dword [ebx + 0x84], 0x20000
jmp case.0x65496b.0
mov ecx, dword [ebx + 0x58]
cmp ecx, dword [ebx + 0x50]
jbe 0x658290
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.0x65496b.0
lea esi, [ebx + 0x80]
mov edx, 0x929c48
push esi
push 1
mov ecx, ebx
call fcn.00693e40
add esp, 8
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.default.0x654b0f
push dword [ebx + 0x84]
push dword [ebx + 0x80]
call fcn.0065cf70
add esp, 8
cmp eax, 4
jne 0x6553a3
cmp edx, 0x20000
jne 0x6553a3
jmp 0x654ac8
mov edx, 0x2d
mov ecx, ebx
call fcn.00659530
jmp case.0x65496b.0
mov esi, dword [ebx + 0x84]
mov edi, dword [ebx + 0x80]
push esi
push edi
call fcn.005df4a4
add esp, 8
test al, al
mov eax, dword [ebx + 0x58]
je 0x6551b1
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.005df4a4
add esp, 8
test al, al
jne 0x6550e7
push edi
push esi
mov ecx, ebx
call fcn.006a4dd0
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.0066a300
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x654b0f
mov edx, 8
call fcn.00653ac0
jmp case.default.0x654b0f
mov esi, dword [ebx + 0x84]
mov edi, dword [ebx + 0x80]
push esi
push edi
call fcn.005df4a4
add esp, 8
test al, al
mov eax, dword [ebx + 0x58]
je 0x6551b1
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.005df4a4
add esp, 8
test al, al
jne 0x655184
push edi
push esi
mov ecx, ebx
call fcn.006a4dd0
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.0066a300
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x654b0f
push dword [eax + 4]
push dword [eax]
call fcn.005df4a4
add esp, 8
mov ecx, ebx
test al, al
je 0x655114
push esi
push edi
call fcn.006a4dd0
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.0066a300
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x654b0f
mov edx, 9
mov ecx, ebx
call fcn.00653ac0
jmp case.0x65496b.0
mov edx, 0xa
mov ecx, ebx
call fcn.00653ac0
jmp case.0x65496b.0
mov edx, 0xb
mov ecx, ebx
call fcn.00653ac0
jmp case.0x65496b.0
mov edx, 0xc
mov ecx, ebx
call fcn.00653ac0
jmp case.0x65496b.0
mov edx, 0x49
mov ecx, ebx
call fcn.00659530
jmp case.0x65496b.0
mov edx, 0x44
mov ecx, ebx
call fcn.00659530
jmp case.0x65496b.0
mov edx, 0xd
mov ecx, ebx
call fcn.00653ac0
jmp case.0x65496b.0
mov edx, 0xe
mov ecx, ebx
call fcn.00653ac0
jmp case.0x65496b.0
mov edx, 0xf
mov ecx, ebx
call fcn.00653ac0
jmp case.0x65496b.0
mov edx, 0x7e
mov ecx, ebx
call fcn.00659530
jmp case.0x65496b.0
mov esi, dword [ebx + 0x58]
push dword [esi + 4]
push dword [esi]
call fcn.00423149
add esp, 8
cmp dword [eax + 0x5c], 0
je 0x6552e8
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 0x655328
mov edx, 0x11
mov ecx, ebx
call fcn.00653ac0
jmp case.default.0x654b0f
mov esi, dword [ebx + 0x58]
push dword [esi + 4]
push dword [esi]
call fcn.00423149
add esp, 8
cmp dword [eax + 0x5c], 0
je 0x655342
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.0x654b0f
mov edx, 0x12
mov ecx, ebx
call fcn.00653ac0
jmp case.default.0x654b0f
mov edx, 0x59
mov ecx, ebx
call fcn.00653ac0
jmp case.0x65496b.0
mov edx, 0x5a
mov ecx, ebx
call fcn.00653ac0
jmp case.0x65496b.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.0065d8d0
add esp, 0x10
test eax, eax
jns 0x654ac8
mov eax, 4
jmp 0x654acd
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.0065d8d0
add esp, 0x10
test eax, eax
jg 0x654ac8
mov eax, 4
jmp 0x654acd
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.0065d0d0
add esp, 0x10
test al, al
je 0x654ac8
mov eax, 4
jmp 0x654acd
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.0065d0d0
add esp, 0x10
test al, al
jne 0x654ac8
mov eax, 4
jmp 0x654acd
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.0065cf00
jmp 0x655406
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.0065cf00
add esp, 0x10
test al, al
jne 0x654ac8
mov eax, 4
jmp 0x654acd
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.0065d8d0
add esp, 0x10
test eax, eax
js 0x654ac8
mov eax, 4
jmp 0x654acd
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.0065d8d0
add esp, 0x10
test eax, eax
jle 0x654ac8
mov eax, 4
jmp 0x654acd
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.0065e0e0
jmp 0x655406
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.0x65496b.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.0064c3d0
add esp, 8
test al, al
je 0x6582aa
jmp case.default.0x654b0f
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.005dfcd3
push edx
push eax
push esi
push edi
xor dl, dl
mov ecx, ebx
call fcn.0064be40
add esp, 0x18
jmp case.default.0x654b0f
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.005dfcd3
push edx
push eax
push esi
push edi
mov dl, 1
mov ecx, ebx
call fcn.0064be40
add esp, 0x18
jmp case.default.0x654b0f
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.005dfcd3
push edx
push eax
push esi
push edi
xor dl, dl
mov ecx, ebx
call fcn.0064cb20
add esp, 0x18
jmp case.default.0x654b0f
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.005dfcd3
push edx
push eax
push esi
push edi
mov dl, 1
mov ecx, ebx
call fcn.0064cb20
add esp, 0x18
jmp case.default.0x654b0f
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.005dfcd3
push edx
push eax
push esi
push edi
mov ecx, ebx
call fcn.0064d470
add esp, 0x18
jmp case.default.0x654b0f
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.0064cf80
add esp, 0x10
jmp case.0x65496b.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.0064cf80
add esp, 0x10
jmp case.0x65496b.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.005dfcd3
push edx
push eax
push esi
push edi
mov ecx, ebx
call fcn.00676780
add esp, 0x18
jmp case.default.0x654b0f
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.0066d590
add esp, 0x10
jmp case.0x65496b.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.00677710
add esp, 0x10
test al, al
jne case.default.0x654b0f
mov dword [ebx + 0x80], 2
mov dword [ebx + 0x84], 0x20000
jmp case.default.0x654b0f
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.00663130
add esp, 8
test al, al
je 0x655ed3
push dword [ebp + 0x68]
push edi
call fcn.00631380
add esp, 8
cmp esi, eax
jge 0x655ed3
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.006385e0
push 0
push 0
push ebx
lea ecx, [ebp - 0x40]
call fcn.006385e0
push dword [ebp + 0x68]
mov ecx, ebx
push edi
call fcn.005df848
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.005df937
test al, al
je 0x655977
cmp dword [ebp - 0x28], esi
je 0x65595f
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp + 0x54]
push eax
lea ecx, [ebp - 0x68]
call fcn.005df937
test al, al
jne 0x655941
jmp 0x655977
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 0x6559ce
cmp dword [ebp - 0x4c], 0
je 0x6559ce
cmp dword [ebp - 0x48], 0
mov edi, dword [ebp + 0x40]
je 0x6559d1
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 0x6559d1
mov edi, dword [ebp + 0x40]
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x655a7b
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x655a2e
cmp dword [ebp - 0x30], 0
je 0x655a2e
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 0x655a7b
test ecx, ecx
je 0x655a7b
cmp dword [ebp - 0x30], 0
je 0x655a7b
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.0x654b0f
cmp dword [ebp - 0x4c], 0
je case.default.0x654b0f
cmp dword [ebp - 0x48], 0
je case.default.0x654b0f
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.0x654b0f
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.005dfcd3
push edx
push eax
push edi
push esi
push dword [ebp + 0x68]
mov ecx, ebx
push dword [ebp + 0x60]
call fcn.005fcc1b
add esp, 0x20
test al, al
je 0x6582c4
jmp case.default.0x654b0f
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.005df81f
add esp, 8
test al, al
jne 0x655b6e
mov ecx, dword [ebx + 0x190]
push edi
push esi
call fcn.005df317
add esp, 8
test al, al
je 0x6582d4
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.0042322f
add esp, 8
test al, al
je 0x655be2
push edi
push esi
call fcn.005df658
add esp, 8
test al, al
jne 0x655bbc
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.005fd22b
add esp, 8
test al, al
je 0x655be2
mov eax, dword [ebx + 0x84]
push edi
push esi
push eax
mov eax, dword [ebx + 0x80]
push eax
call fcn.0063eb80
mov eax, dword [ebx + 0x80]
add esp, 0x10
mov ecx, dword [ebx + 0x84]
jmp 0x655be8
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.0067a700
add esp, 0x18
jmp case.default.0x654b0f
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.00631350
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.0x65496b.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.005dfcd3
push edx
push eax
push edi
push dword [ebp + 0x64]
mov ecx, ebx
push esi
push dword [ebp + 0x5c]
call fcn.00631310
add esp, 0x20
jmp case.default.0x654b0f
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.005df677
add esp, 8
push edi
push esi
test al, al
je 0x655cdf
mov ecx, ebx
call fcn.006953a0
mov ecx, eax
add esp, 8
mov eax, dword [ebp + 0x68]
cmp eax, ecx
jge 0x655cd8
push edi
push esi
mov edx, eax
mov ecx, ebx
call fcn.00695400
mov ecx, dword [ebp + 0x1c]
add esp, 8
mov dword [ecx + 0x80], eax
mov dword [ecx + 0x84], edx
jmp case.default.0x654b0f
mov eax, 1
jmp 0x655d14
call fcn.005df6ce
add esp, 8
test al, al
je 0x655d0f
mov ecx, dword [ebp + 0x68]
cmp ecx, dword [esi + 0x10]
jge 0x655cd8
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.0x654b0f
mov eax, 2
mov ecx, dword [ebp + 0x1c]
mov edx, 0x20000
mov dword [ecx + 0x80], eax
mov dword [ecx + 0x84], edx
jmp case.default.0x654b0f
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.005df677
add esp, 8
push dword [ebp + 0x68]
push edi
test al, al
je 0x655df0
mov ecx, ebx
call fcn.006953a0
add esp, 8
mov ecx, 0
sub eax, esi
cmovs eax, ecx
mov ecx, ebx
push 0x20000
push 2
mov edx, eax
call fcn.00694670
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.005df693
add esp, 8
mov ecx, dword [eax + 4]
test ecx, ecx
jg 0x655db2
xor esi, esi
jmp 0x655db7
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.00663100
add esp, 8
mov ecx, eax
call fcn.00662a70
jmp case.default.0x654b0f
call fcn.005df6ce
add esp, 8
test al, al
je 0x655833
mov edx, dword [edi + 0x10]
mov eax, 0
sub edx, esi
mov ecx, ebx
push 0x20000
push 2
cmovs edx, eax
call fcn.00694670
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.00663230
add esp, 8
mov ecx, dword [eax + 4]
test ecx, ecx
jg 0x655e50
xor esi, esi
jmp 0x655e55
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 0x655dcf
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.00663130
add esp, 8
test al, al
je 0x655ed3
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.00677710
add esp, 0x10
test al, al
jne case.default.0x654b0f
mov dword [ebx + 0x80], 1
mov dword [ebx + 0x84], 0x20000
jmp case.default.0x654b0f
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.004cc1e4
xor edi, edi
mov byte [ebp - 4], 9
test esi, esi
mov esi, dword [ebp + 0x60]
je 0x655f6f
lea eax, [esi + 0x10]
mov dword [ebp + 0x68], eax
nop dword [eax + eax]
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 0x655f4e
mov eax, dword [esi + 4]
jmp 0x655f50
xor eax, eax
test edi, edi
js 0x655f5b
cmp edi, eax
mov eax, dword [ebp + 0x68]
jl 0x655f60
mov eax, 0x950aa8
add dword [ebp + 0x68], 8
inc edi
mov dword [eax], ecx
mov dword [eax + 4], edx
cmp edi, dword [ebp + 0x64]
jb 0x655f20
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.00663130
add esp, 8
test al, al
je 0x655fd2
sub esp, 8
mov edx, esp
test esi, esi
je 0x655f9d
mov eax, dword [esi + 4]
test eax, eax
je 0x655f9d
lea ecx, [esi + 0x10]
jmp 0x655fa1
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.0067cef0
add esp, 0x18
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
mov byte [ebp - 4], 1
test esi, esi
je case.default.0x654b0f
or eax, 0xffffffff
lock xadd dword [esi], eax
jne case.default.0x654b0f
push esi
mov dword [esi + 4], 0
call fcn.007a2dd1
add esp, 4
jmp case.default.0x654b0f
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.006630c0
jmp 0x655406
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.0064c230
add esp, 8
jmp 0x655409
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.006630c0
jmp 0x655406
mov ecx, dword [ebx + 0x58]
lea eax, [ecx - 0x10]
cmp eax, dword [ebx + 0x50]
jb 0x6582e3
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.0x65496b.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.0x65496b.0
mov ecx, dword [ebx + 0x58]
lea eax, [ecx - 8]
cmp eax, dword [ebx + 0x50]
jb 0x6582ea
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.0x65496b.0
mov ecx, dword [ebx + 0x58]
lea eax, [ecx - 8]
cmp eax, dword [ebx + 0x50]
jb 0x6582f1
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.0x65496b.0
mov esi, dword [ebx + 0x58]
mov ecx, ebx
lea eax, [esi - 0x10]
cmp eax, dword [ebx + 0x50]
jb 0x6582f8
call fcn.0064d830
lea ecx, [esi - 8]
mov dword [ebx + 0x58], ecx
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, ebx
call fcn.0064d830
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.0x654b0f
mov ecx, dword [ebx + 0x58]
lea eax, [ecx - 8]
cmp eax, dword [ebx + 0x50]
jb 0x6582fd
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.0x65496b.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.0x65496b.0
mov ecx, ebx
call fcn.0064d830
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.0x65496b.0
mov eax, dword [ebx + 0x44]
test eax, eax
je 0x6561dd
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x6561dd
add ecx, 2
lea ecx, [eax + ecx*4]
jmp 0x6561e2
mov ecx, 0x94dbc8
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.0x65496b.0
movzx eax, byte [edi]
lea ecx, [edi + 1]
mov dword [ebx + 0x6c], ecx
sub eax, 0
je 0x6566d9
sub eax, 1
je 0x65624a
sub eax, 1
jne case.0x65496b.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.0x65496b.0
push edx
push ebx
call fcn.007086d0
jmp case.0x65496b.0
mov eax, dword [ebx + 0x90]
mov dword [ebp + 0x50], eax
mov eax, dword [0x94dbf4]
test al, 1
jne 0x656295
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0x19
call fcn.00403650
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 [0x94dbf8], eax
mov byte [ebp - 4], 1
mov esi, dword [0x94dbf8]
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 0x656361
test esi, esi
je 0x656313
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6562f9
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0x1a
call fcn.00403650
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 [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x656313
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x656313
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x656353
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0x1b
call fcn.00403650
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 [0x94dbf8], eax
mov esi, dword [0x94dbf8]
mov dword [ebp + 0x60], esi
jmp 0x656581
cmp edi, dword [esi + 4]
ja 0x65637d
cmp dword [esi], 1
mov esi, dword [ebp + 0x60]
jg 0x65637d
xor eax, eax
mov dword [esi + 8], edi
mov word [esi + edi*2 + 0xc], ax
jmp 0x656581
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6563c1
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0x1c
call fcn.00403650
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 [0x94dbf8], eax
mov byte [ebp - 4], 1
cmp esi, dword [0x94dbf8]
jne 0x65643a
test edi, edi
je 0x65641e
lea eax, [edi*2 + 0x10]
push eax
call fcn.00403650
mov edi, eax
add esp, 4
test edi, edi
jne 0x656402
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6564d1
or dword [0x94dbf4], 1
mov byte [ebp - 4], 0x1d
jmp 0x6564ab
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 0x6564d7
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6564d1
or dword [0x94dbf4], 1
mov byte [ebp - 4], 0x1e
jmp 0x6564ab
test edi, edi
je 0x656495
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.00403650
mov edi, eax
add esp, 4
test edi, edi
jne 0x656479
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6564d1
or dword [0x94dbf4], 1
mov byte [ebp - 4], 0x1f
jmp 0x6564ab
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 0x6564d7
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6564d1
or dword [0x94dbf4], 1
mov byte [ebp - 4], 0x20
push 0x10
call fcn.00403650
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 [0x94dbf8], eax
mov dword [eax + 4], ecx
mov edi, dword [0x94dbf8]
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x656517
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0x21
call fcn.00403650
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 [0x94dbf8], eax
cmp edi, dword [0x94dbf8]
je 0x65657e
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x65655f
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0x23
call fcn.00403650
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 [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x656579
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x656579
push esi
call fcn.007984d6
add esp, 4
mov esi, edi
mov dword [ebp + 0x60], esi
mov edi, dword [ebp + 0x68]
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6565c1
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0x24
call fcn.00403650
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 [0x94dbf8], eax
lea eax, [esi + 0xc]
mov dword [ebp + 0x68], eax
cmp esi, dword [0x94dbf8]
je 0x6565e1
push edi
push eax
push 0x13
push str._ndebug_stacktrace:_n
push 0
push 0
call dword [ebp + 0x38]
jmp 0x6565e4
mov dword [ebp + 0x68], eax
mov byte [ebp - 4], 0x25
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x65662c
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0x26
call fcn.00403650
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 [0x94dbf8], eax
mov byte [ebp - 4], 0x25
cmp esi, dword [0x94dbf8]
jne 0x656638
xor ecx, ecx
jmp 0x65663b
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 0x656665
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 0x656643
mov byte [ebp - 4], 0x27
test esi, esi
je 0x6566c3
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6566a9
or dword [0x94dbf4], 1
push 0x10
call fcn.00403650
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 [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6566c3
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6566c3
push esi
call fcn.007984d6
add esp, 4
mov byte [ebp - 4], 1
mov ecx, ebx
mov edx, dword [ebx + 0x90]
call fcn.0065e620
jmp case.default.0x654b0f
mov eax, dword [ebx + 0x90]
mov dword [ebp + 0x64], eax
mov eax, dword [0x94dbf4]
test al, 1
jne 0x656724
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0xa
call fcn.00403650
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 [0x94dbf8], eax
mov byte [ebp - 4], 1
mov esi, dword [0x94dbf8]
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 0x6567f0
test esi, esi
je 0x6567a2
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x656788
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0xb
call fcn.00403650
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 [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x6567a2
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x6567a2
push esi
call fcn.007984d6
add esp, 4
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6567e2
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0xc
call fcn.00403650
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 [0x94dbf8], eax
mov esi, dword [0x94dbf8]
mov dword [ebp + 0x68], esi
jmp 0x656a10
cmp edi, dword [esi + 4]
ja 0x65680c
cmp dword [esi], 1
mov esi, dword [ebp + 0x68]
jg 0x65680c
xor eax, eax
mov dword [esi + 8], edi
mov word [esi + edi*2 + 0xc], ax
jmp 0x656a10
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x656850
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0xd
call fcn.00403650
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 [0x94dbf8], eax
mov byte [ebp - 4], 1
cmp esi, dword [0x94dbf8]
jne 0x6568c9
test edi, edi
je 0x6568ad
lea eax, [edi*2 + 0x10]
push eax
call fcn.00403650
mov edi, eax
add esp, 4
test edi, edi
jne 0x656891
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x656960
or dword [0x94dbf4], 1
mov byte [ebp - 4], 0xe
jmp 0x65693a
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 0x656966
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x656960
or dword [0x94dbf4], 1
mov byte [ebp - 4], 0xf
jmp 0x65693a
test edi, edi
je 0x656924
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.00403650
mov edi, eax
add esp, 4
test edi, edi
jne 0x656908
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x656960
or dword [0x94dbf4], 1
mov byte [ebp - 4], 0x10
jmp 0x65693a
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 0x656966
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x656960
or dword [0x94dbf4], 1
mov byte [ebp - 4], 0x11
push 0x10
call fcn.00403650
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 [0x94dbf8], eax
mov dword [eax + 4], ecx
mov edi, dword [0x94dbf8]
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6569a6
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0x12
call fcn.00403650
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 [0x94dbf8], eax
cmp edi, dword [0x94dbf8]
je 0x656a0d
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x6569ee
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0x14
call fcn.00403650
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 [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x656a08
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x656a08
push esi
call fcn.007984d6
add esp, 4
mov esi, edi
mov dword [ebp + 0x68], esi
mov edi, dword [ebp + 0x60]
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x656a50
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0x15
call fcn.00403650
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 [0x94dbf8], eax
lea eax, [esi + 0xc]
mov dword [ebp + 0x60], eax
cmp esi, dword [0x94dbf8]
je 0x656a70
push edi
push eax
push 0x13
push str._ndebug_namespaces:_n
push 0
push 0
call dword [ebp + 0x38]
jmp 0x656a73
mov dword [ebp + 0x60], eax
mov byte [ebp - 4], 0x16
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x656abb
or dword [0x94dbf4], 1
push 0x10
mov byte [ebp - 4], 0x17
call fcn.00403650
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 [0x94dbf8], eax
mov byte [ebp - 4], 0x16
cmp esi, dword [0x94dbf8]
jne 0x656ac7
xor ecx, ecx
jmp 0x656aca
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 0x656af4
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 0x656ad2
mov byte [ebp - 4], 0x18
test esi, esi
je 0x656b52
mov ecx, dword [0x94dbf4]
test cl, 1
jne 0x656b38
or dword [0x94dbf4], 1
push 0x10
call fcn.00403650
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 [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x656b52
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x656b52
push esi
call fcn.007984d6
add esp, 4
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.00636660
jmp case.default.0x654b0f
mov ecx, ebx
call fcn.0065ecf0
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.0x65496b.0
mov cl, byte [edi]
lea eax, [edi + 1]
test cl, cl
mov dword [ebx + 0x6c], eax
mov ecx, ebx
je 0x656bf6
mov eax, dword [ebx + 0x58]
sub eax, 0x20
cmp eax, dword [ebx + 0x50]
jb 0x658304
push dword [ebx + 0x84]
push dword [ebx + 0x80]
call fcn.00663090
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.0x654b0f
push dword [ebx + 0x84]
push dword [ebx + 0x80]
call fcn.00663090
add esp, 8
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.0x65496b.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 0x656c4d
cmp eax, 0x20000
jne 0x656c4d
mov ecx, ebx
call fcn.0042a0fe
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 0x656c7e
call fcn.0067bab0
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x654b0f
call fcn.0067c350
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x654b0f
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.00694670
add esp, 8
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.0x65496b.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, 0x929af8
mov dword [ebx + 0x6c], eax
mov ecx, ebx
call fcn.00695600
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 0x654948
movzx eax, byte [edi]
lea ecx, [edi + 1]
mov dword [ebp + 0x50], eax
mov edx, 0x929af8
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.00695600
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 0x656d97
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.005dfcd3
add esp, 8
mov dword [esi], eax
sub edi, 1
mov dword [esi + 4], edx
jns 0x656d66
mov edx, dword [ebx + 0x80]
mov esi, dword [ebx + 0x84]
jmp 0x656d9d
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 0x654948
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.005df677
add esp, 8
mov ecx, ebx
push esi
push edi
test al, al
je 0x656ed5
call fcn.006953a0
mov ecx, dword [ebx + 0x58]
add esp, 8
mov edi, eax
push dword [ecx + 4]
push dword [ecx]
mov ecx, ebx
call fcn.006953a0
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.006951d0
mov eax, dword [ebx + 0x58]
lea ecx, [ebp - 0xf4]
add esp, 8
push dword [eax + 4]
push dword [eax]
call fcn.00663100
push dword [ebx + 0x84]
mov edx, ebx
lea ecx, [ebp - 0xfc]
push dword [ebx + 0x80]
call fcn.005df693
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.00662bd0
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 0x656eb4
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.00662a70
jmp case.default.0x654b0f
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.00662a70
jmp case.default.0x654b0f
call fcn.006def00
add esp, 8
test al, al
je 0x65725c
push ebx
lea ecx, [ebp + 0x2c]
call fcn.00634370
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 0x656f1f
mov eax, dword [edx + 4]
jmp 0x656f21
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 0x656f37
mov ecx, dword [edx + 4]
jmp 0x656f39
xor ecx, ecx
mov dword [ebp + 0x5c], ecx
cmp ecx, esi
je 0x6570c5
jae 0x6570be
test edx, edx
je 0x656f53
mov eax, dword [edx + 8]
jmp 0x656f55
xor eax, eax
cmp esi, eax
jbe 0x65708b
test eax, eax
je 0x656f68
lea eax, [eax + eax*2]
shr eax, 1
jmp 0x656f75
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.007a3999
add esp, 8
mov dword [ebp + 0x68], eax
test eax, eax
je 0x6570c5
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 0x656fd9
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 0x657080
mov esi, dword [ebp + 0x5c]
add edi, 0xc
shl esi, 2
test esi, esi
je 0x657052
test edx, edx
jne 0x65700b
call fcn.007a2775
mov dword [eax], 0x16
jmp 0x65704d
test edi, edi
je 0x657020
cmp ecx, esi
jb 0x657020
push esi
push edi
push edx
call fcn.00799a80
add esp, 0xc
jmp 0x657052
push ecx
push 0
push edx
call fcn.0079a580
add esp, 0xc
test edi, edi
jne 0x65703d
call fcn.007a2775
mov dword [eax], 0x16
jmp 0x65704d
cmp dword [ebp + 0x58], esi
jae 0x657052
call fcn.007a2775
mov dword [eax], 0x22
call fcn.0079d532
mov ecx, dword [ebx + 0x1f0]
test ecx, ecx
je 0x657080
or eax, 0xffffffff
lock xadd dword [ecx], eax
jne 0x657080
mov eax, dword [ebx + 0x1f0]
mov dword [eax + 4], 0
push dword [ebx + 0x1f0]
call fcn.007a2dd1
add esp, 4
mov eax, dword [ebp + 0x68]
mov dword [ebx + 0x1f0], eax
jmp 0x6570c5
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 0x6570be
mov ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [ebx + 0x1f0]
test edx, edx
je 0x6570c5
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 0x657143
push dword [ebp + 0xc]
mov ecx, ebx
push dword [ebp + 8]
call fcn.00659170
add esp, 8
mov dword [ebp + 0x58], eax
mov edi, edx
cmp eax, 1
jne 0x657108
cmp edi, 0x20000
je 0x65713d
mov esi, dword [ebp + 0x34]
test esi, esi
je 0x657114
mov esi, dword [esi + 4]
jmp 0x657116
xor esi, esi
xor ecx, ecx
lea eax, [esi + 1]
test eax, eax
cmovs eax, ecx
lea ecx, [ebp + 0x34]
push eax
call fcn.004cc1e4
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 0x6570db
cmp esi, 0x2710
je 0x658309
mov eax, dword [ebp + 0x34]
test eax, eax
je 0x657155
mov edi, dword [eax + 4]
jmp 0x657157
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.006953a0
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.006951d0
mov eax, dword [ebx + 0x58]
lea ecx, [ebp]
add esp, 8
push dword [eax + 4]
push dword [eax]
call fcn.00663100
mov eax, dword [ebp + 0x34]
add esp, 8
test eax, eax
je 0x6571ae
mov edi, dword [eax + 4]
test edi, edi
je 0x6571ae
add eax, 0x10
mov dword [ebp + 0x5c], eax
jmp 0x6571b3
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.00662bd0
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 0x6571f8
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 0x657205
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.00662a70
lea ecx, [ebp - 0x104]
call fcn.005dfb29
mov byte [ebp - 4], 1
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x65724f
or eax, 0xffffffff
lock xadd dword [ecx], eax
jne 0x657248
mov eax, dword [ebp + 0x34]
mov dword [eax + 4], 0
push dword [ebp + 0x34]
call fcn.007a2dd1
add esp, 4
mov dword [ebp + 0x34], 0
lea ecx, [ebp + 0x2c]
call fcn.005fd14a
jmp case.default.0x654b0f
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.00695440
jmp 0x65494d
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.00695440
add esp, 0x10
jmp case.0x65496b.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.00630b60
add esp, 0x10
jmp case.0x65496b.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.005df677
add esp, 8
push esi
push edi
test al, al
je 0x657363
mov edx, ebx
lea ecx, [ebp - 0xdc]
call fcn.005df693
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.00658620
mov ecx, dword [ebx + 0x58]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x654b0f
call fcn.005df6ce
add esp, 8
push esi
push edi
test al, al
je 0x6573ad
lea ecx, [ebp - 0xe4]
call fcn.00663230
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.00658620
mov ecx, dword [ebx + 0x58]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x654b0f
mov ecx, ebx
call fcn.006def00
add esp, 8
test al, al
je 0x6576a5
push ebx
lea ecx, [ebp + 0x20]
call fcn.00634370
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 0x6573f9
mov eax, dword [edx + 4]
jmp 0x6573fb
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 0x657411
mov ecx, dword [edx + 4]
jmp 0x657413
xor ecx, ecx
mov dword [ebp + 0x64], ecx
cmp ecx, esi
je 0x65759f
jae 0x657598
test edx, edx
je 0x65742d
mov eax, dword [edx + 8]
jmp 0x65742f
xor eax, eax
cmp esi, eax
jbe 0x657565
test eax, eax
je 0x657442
lea eax, [eax + eax*2]
shr eax, 1
jmp 0x65744f
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.007a3999
add esp, 8
mov dword [ebp + 0x5c], eax
test eax, eax
je 0x65759f
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 0x6574b3
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 0x65755a
mov esi, dword [ebp + 0x64]
add edi, 0xc
shl esi, 2
test esi, esi
je 0x65752c
test edx, edx
jne 0x6574e5
call fcn.007a2775
mov dword [eax], 0x16
jmp 0x657527
test edi, edi
je 0x6574fa
cmp ecx, esi
jb 0x6574fa
push esi
push edi
push edx
call fcn.00799a80
add esp, 0xc
jmp 0x65752c
push ecx
push 0
push edx
call fcn.0079a580
add esp, 0xc
test edi, edi
jne 0x657517
call fcn.007a2775
mov dword [eax], 0x16
jmp 0x657527
cmp dword [ebp + 0x50], esi
jae 0x65752c
call fcn.007a2775
mov dword [eax], 0x22
call fcn.0079d532
mov ecx, dword [ebx + 0x1f0]
test ecx, ecx
je 0x65755a
or eax, 0xffffffff
lock xadd dword [ecx], eax
jne 0x65755a
mov eax, dword [ebx + 0x1f0]
mov dword [eax + 4], 0
push dword [ebx + 0x1f0]
call fcn.007a2dd1
add esp, 4
mov eax, dword [ebp + 0x5c]
mov dword [ebx + 0x1f0], eax
jmp 0x65759f
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 0x657598
mov ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [ebx + 0x1f0]
test edx, edx
je 0x65759f
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 0x65761d
push dword [ebp - 0x1c]
mov ecx, ebx
push dword [ebp - 0x20]
call fcn.00659170
add esp, 8
mov dword [ebp + 0x58], eax
mov edi, edx
cmp eax, 1
jne 0x6575e2
cmp edi, 0x20000
je 0x657617
mov esi, dword [ebp + 0x28]
test esi, esi
je 0x6575ee
mov esi, dword [esi + 4]
jmp 0x6575f0
xor esi, esi
xor ecx, ecx
lea eax, [esi + 1]
test eax, eax
cmovs eax, ecx
lea ecx, [ebp + 0x28]
push eax
call fcn.004cc1e4
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 0x6575b5
cmp esi, 0x2710
je 0x658316
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x657636
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x657636
lea edx, [eax + 0x10]
jmp 0x65763a
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.00658620
mov ecx, dword [ebx + 0x58]
mov dword [ecx], eax
mov dword [ecx + 4], edx
lea ecx, [ebp - 0xec]
call fcn.005dfb29
mov byte [ebp - 4], 1
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x657698
or eax, 0xffffffff
lock xadd dword [ecx], eax
jne 0x657691
mov eax, dword [ebp + 0x28]
mov dword [eax + 4], 0
push dword [ebp + 0x28]
call fcn.007a2dd1
add esp, 4
mov dword [ebp + 0x28], 0
lea ecx, [ebp + 0x20]
call fcn.005fd14a
jmp case.default.0x654b0f
mov eax, dword [ebx + 0x58]
mov ecx, dword [ebp + 0x68]
push esi
push edi
push dword [eax + 4]
push dword [eax]
call fcn.00630b60
jmp 0x65494d
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.006a96f0
jmp 0x655406
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.006a98c0
jmp 0x655406
push dword [ebx + 0x84]
mov ecx, ebx
push dword [ebx + 0x80]
call fcn.006a5f00
add esp, 8
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.0x65496b.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.00798224
add esp, 4
mov dword [ebp + 0x58], eax
mov ecx, eax
push ebx
call fcn.00653b80
mov dword [eax + 0x48], esi
mov esi, dword [ebp + 0x6c]
inc dword [esi + 0xc]
jmp case.0x65496b.0
mov ecx, dword [esi + 8]
test ecx, ecx
je case.0x65496b.0
cmp dword [ecx + 0x48], 0
jl case.0x65496b.0
dec dword [esi + 0xc]
mov edx, dword [ecx]
test edx, edx
je 0x657799
mov edx, dword [edx + 0x40]
test edx, edx
je 0x657799
cmp dword [edx + 8], ecx
jne 0x657799
mov eax, dword [ecx + 0x4c]
mov dword [edx + 8], eax
push 0x50
push ecx
call fcn.007984a5
add esp, 8
jmp case.0x65496b.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.006627d0
add esp, 0xc
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x654b0f
mov ecx, dword [ebx + 0x5c]
mov dword [ebx + 0x80], 3
mov dword [ebx + 0x84], 0x20000
test ecx, ecx
je case.0x65496b.0
mov eax, dword [ecx]
cmp eax, 0x928e8c
je 0x65782e
cmp eax, 0x929848
je 0x65782e
mov eax, dword [ecx + 4]
test eax, eax
je case.0x65496b.0
mov ecx, dword [ebx + 0x54]
sub ecx, eax
add ecx, 1
jne 0x657804
jmp case.0x65496b.0
mov eax, dword [ecx + 0x20]
mov dword [ebx + 0x80], eax
mov eax, dword [ecx + 0x24]
mov dword [ebx + 0x84], eax
jmp case.0x65496b.0
push dword [ebx + 0x84]
mov edx, dword [ebx + 0x90]
mov ecx, ebx
push dword [ebx + 0x80]
call fcn.00631620
add esp, 8
jmp case.0x65496b.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.0065cf70
add esp, 8
cmp eax, 4
jne 0x657899
cmp edx, 0x20000
jne 0x657899
mov dword [ebx + 0x58], edi
jmp case.default.0x654b0f
mov ecx, ebx
cmp esi, 2
je 0x658340
push 0x20000
push 2
lea edx, [esi - 2]
call fcn.00694670
add esp, 8
mov dword [ebx + 0x80], eax
add esi, 0xfffffffd
mov dword [ebx + 0x84], edx
js 0x65835b
nop dword [eax + eax]
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.00663030
add esp, 0x10
sub esi, 1
js 0x65835b
jmp 0x6578d0
mov ecx, dword [ebx + 0x90]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, ebx
call fcn.0065f040
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 0x657969
push edi
call fcn.004cc1e4
mov edx, dword [ebp - 0x30]
test edx, edx
je 0x657963
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x657963
add edx, 0x10
jmp 0x657978
xor ecx, ecx
xor edx, edx
jmp 0x657978
push 0
call fcn.004cc1e4
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 0x6579b3
lea esi, [edi*8]
nop dword [eax]
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 0x657990
mov ecx, dword [ebp - 0x28]
test byte [ebp + 0x64], 1
mov eax, 0x20000
mov edi, 3
mov dword [ebp + 0x5c], eax
je 0x657a00
test ecx, ecx
mov dword [ebp + 0x58], 0
mov eax, 0x950f98
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 0x6579fe
sub ecx, esi
jmp 0x657a00
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.0x654b0f
or eax, 0xffffffff
lock xadd dword [ecx], eax
jne case.default.0x654b0f
mov dword [ecx + 4], 0
push dword [ebp - 0x30]
call fcn.007a2dd1
add esp, 4
jmp case.default.0x654b0f
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.00662860
add esp, 0x18
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x654b0f
push dword [ebx + 0x84]
mov ecx, ebx
push dword [ebx + 0x80]
call fcn.00617790
add esp, 8
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.0x65496b.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 0x657b16
mov eax, dword [edx + 4]
jmp 0x657b18
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 0x657b2e
mov ecx, dword [edx + 4]
jmp 0x657b30
xor ecx, ecx
mov dword [ebp + 0x64], ecx
cmp ecx, esi
je 0x657c56
jae 0x657c4f
test edx, edx
je 0x657b4a
mov eax, dword [edx + 8]
jmp 0x657b4c
xor eax, eax
cmp esi, eax
jbe 0x657c1f
test eax, eax
je 0x657b5f
lea eax, [eax + eax*2]
shr eax, 1
jmp 0x657b6c
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.007a3999
mov edi, eax
add esp, 8
mov dword [ebp + 0x50], edi
test edi, edi
je 0x657c56
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, [edx + ecx]
add ecx, 3
shr ecx, 2
cmp edx, eax
cmova ecx, dword [ebp + 0x58]
test ecx, ecx
je 0x657bd2
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 0x657c1a
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.0042d69c
mov ecx, dword [ebx + 0x44]
add esp, 8
test ecx, ecx
je 0x657c1a
or eax, 0xffffffff
lock xadd dword [ecx], eax
jne 0x657c1a
mov eax, dword [ebx + 0x44]
mov dword [eax + 4], 0
push dword [ebx + 0x44]
call fcn.007a2dd1
add esp, 4
mov dword [ebx + 0x44], edi
jmp 0x657c56
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 0x657c4f
mov ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [ebx + 0x44]
test edx, edx
je 0x657c56
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 0x657c80
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x657c80
add ecx, 2
lea ecx, [eax + ecx*4]
jmp 0x657c85
mov ecx, 0x94dbc8
push dword [ebx + 0x84]
mov ecx, dword [ecx]
xor dl, dl
push dword [ebx + 0x80]
call fcn.006155b0
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 0x657e21
mov ecx, dword [edx + 4]
mov dword [ebp + 0x50], ecx
test ecx, ecx
jle 0x657e21
lea esi, [ecx - 1]
xor eax, eax
test esi, esi
cmovs esi, eax
cmp ecx, esi
je 0x657e21
jae 0x657e1a
mov eax, dword [edx + 8]
cmp esi, eax
jbe 0x657de7
test eax, eax
je 0x657cfd
lea eax, [eax + eax*2]
shr eax, 1
jmp 0x657d0a
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.007a3999
add esp, 8
mov dword [ebp + 0x64], eax
test eax, eax
je 0x657e21
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 0x657d6e
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 0x657dc4
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.0042d69c
mov ecx, dword [edi + 0x44]
add esp, 8
test ecx, ecx
je 0x657dc4
or eax, 0xffffffff
lock xadd dword [ecx], eax
jne 0x657dbd
mov eax, dword [edi + 0x44]
mov dword [eax + 4], 0
push dword [edi + 0x44]
call fcn.007a2dd1
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.0x654b0f
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 0x657e1a
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 0x657e21
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.0x654b0f
push dword [ebx + 0x84]
lea ecx, [ebp - 0xb4]
push dword [ebx + 0x80]
call fcn.0066a8e0
add esp, 8
mov edx, eax
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebx + 0x44]
test ecx, ecx
je 0x657e74
mov eax, dword [ecx + 4]
test eax, eax
jle 0x657e74
lea ecx, [ecx + eax*4]
add ecx, 8
jmp 0x657e79
mov ecx, 0x94dbc8
mov ecx, dword [ecx]
call fcn.006198d0
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
mov byte [ebp - 4], 0x2f
mov esi, dword [ebp - 0xb4]
test esi, esi
je 0x657eee
mov eax, dword [0x94dbf4]
test al, 1
jne 0x657ed4
or dword [0x94dbf4], 1
push 0x10
call fcn.00403650
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 [0x94dbf8], eax
cmp esi, dword [0x94dbf8]
je 0x657eee
or eax, 0xffffffff
lock xadd dword [esi], eax
jne 0x657eee
push esi
call fcn.007984d6
add esp, 4
mov byte [ebp - 4], 1
jmp case.default.0x654b0f
mov ecx, dword [ebx + 0x58]
lea eax, [ecx - 8]
cmp eax, dword [ebx + 0x50]
jb 0x658382
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.0x65496b.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.0x65496b.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.005df4a4
add esp, 8
mov ecx, ebx
test al, al
je 0x658389
push dword [ebx + 0x84]
push dword [ebx + 0x80]
push edi
push esi
call fcn.006680d0
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x654b0f
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.005df4a4
add esp, 8
mov ecx, ebx
test al, al
je 0x658389
push dword [ebx + 0x84]
push dword [ebx + 0x80]
push edi
push esi
call fcn.006681c0
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x654b0f
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.005df4a4
add esp, 8
mov ecx, ebx
test al, al
je 0x658389
push dword [ebx + 0x84]
push dword [ebx + 0x80]
push edi
push esi
call fcn.006682b0
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x654b0f
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.005df4a4
add esp, 8
mov ecx, ebx
test al, al
je 0x658389
push dword [ebx + 0x84]
push dword [ebx + 0x80]
push edi
push esi
call fcn.006683a0
add esp, 0x10
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
jmp case.default.0x654b0f
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [ebx + 0x6c], eax
cmp ecx, 1
jbe case.0x65496b.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.0x654b0f
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 0x6580de
cmp ecx, 0x20000
je case.default.0x654b0f
push ecx
push esi
call fcn.005df601
add esp, 8
test al, al
jne 0x658100
mov eax, dword [ebp + 0x58]
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x84], eax
jmp case.default.0x654b0f
mov eax, dword [ebp + 0x50]
cmp eax, dword [esi + 8]
jge 0x658121
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.0x654b0f
mov ecx, 2
mov eax, 0x20000
mov dword [ebx + 0x80], ecx
mov dword [ebx + 0x84], eax
jmp case.default.0x654b0f
movzx eax, byte [edi]
mov edx, 0x929b68
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.00693de0
add esp, 4
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
test edi, edi
je case.default.0x654b0f
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 0x658180
jmp case.default.0x654b0f
push 0x2000
lea ecx, [ebp - 0xb8]
mov byte [ebp + 0x7c], 0
call fcn.004383a3
push 0x923d98
mov eax, ecx
push eax
call fcn.00799a10
mov ecx, ebx
call fcn.0065c900
movzx edx, byte [edi - 1]
mov ecx, ebx
call fcn.0065cae0
push 0xe
push ebx
call fcn.0069c760
push dword [ebx + 0x64]
mov ecx, esi
push dword [ebx + 0x60]
call fcn.006631b0
add esp, 8
push edx
push eax
push 7
push ebx
call fcn.0069c760
push edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x60]
push 0xa
push ebx
call fcn.0069c760
push str.either__class__or__object_
push edi
push esi
push 6
push ebx
call fcn.0069c760
mov ecx, ebx
call fcn.0065c900
mov ecx, ebx
call fcn.0065c900
mov ecx, ebx
call fcn.0065c900
call fcn.0065c900
mov ecx, ebx
call fcn.0065c900
call fcn.0065c900
push str.too_many_elements
push 0x1f
push ebx
call fcn.0069c760
push str.too_many_elements
push 0x1f
push ebx
call fcn.0069c760
push 0x2000
lea ecx, [ebp - 0xbc]
call fcn.004383a3
push 0x923d98
mov eax, ecx
push eax
call fcn.00799a10
call fcn.005df2dd
mov ecx, ebx
mov edi, dword [eax]
mov esi, dword [eax + 4]
call fcn.005df2dd
push esi
push edi
push 0x23
push ebx
call fcn.0069c760
mov ecx, ebx
call fcn.005df2dd
mov edi, dword [eax]
mov esi, dword [eax + 4]
call fcn.005df2dd
push dword [ebx + 0x84]
push dword [ebx + 0x80]
push esi
push edi
push 0x24
push ebx
call fcn.0069c760
mov ecx, ebx
call fcn.0065c900
push edi
push esi
mov edx, str.string
call fcn.0065c8e0
mov eax, dword [ebp + 0x6c]
mov ecx, dword [eax + 8]
call fcn.00653fb0
lea eax, [ebp + 0x18]
push eax
lea ecx, [ebp - 0xcc]
call fcn.004373b9
push 0x923d98
lea eax, [ebp - 0xcc]
push eax
call fcn.00799a10
push ebx
dec ecx
add ah, ah
dec ebp
add byte gs:[edi - 0x1dff9ab2], ch
dec esi
add byte gs:[edi + ecx*2 + 0x65], bh
add byte [esi - 0x6ff9ab1], ch
dec edi
add byte gs:[ebx + 0x50], al
add byte gs:[ebx], ah
push ecx
add byte gs:[0x1e006552], cl
push edx
add byte gs:[edi], ch
push edx
add byte gs:[eax + 0x52], al
add byte gs:[ebx + 0x52], dh
add byte gs:[edx + edx*2 + 0x52950065], al
add byte gs:[esi - 0x48ff9aae], ah
push edx
add cl, bh
push edx
add byte gs:[ebp + 0x53], dh
add byte gs:[ebp - 0x1aff9aad], ch
push ebx
add byte gs:[ebx], bl
push esp
add byte gs:[esi - 0x21ff9aac], ah
push esp
add byte gs:[edx*2 + 0x556f0065], bh
add byte gs:[esi + 0x1006555], ch
pop eax
add al, bl
pop edx
add dl, ch
dec ebx
add byte gs:[ecx + ecx*2 + 0x49dc0065], bl
add byte gs:[edx], bh
dec ebp
add byte gs:[edi + 0x4000654d], al
dec edx
add byte gs:[edi], bl
dec edx
add byte gs:[ecx], al
pop esp
add byte gs:[esi], dh
pop esp
add byte gs:[ecx + 0x50], dh
add byte gs:[ecx + 0x52], dl
add byte gs:[edx + 0x52], ah
add byte gs:[ebp + 0x60], bh
add byte gs:[edi - 0x29ff9aa0], dh
pushal
add bl, bh
pushal
add byte gs:[edx + 0x6b], bh
add byte gs:[edi - 0x68ff9a7e], dl
insb byte es:[edi], dx
add byte gs:[edi - 0x68ff9a7e], dl
and byte [ebp], 0xe2
dec edx
add byte gs:[eax], al
dec edi
add byte gs:[ebp + 0x2000654a], dh
popal
add byte gs:[ebx], ah
and dword [ebp], 0xffffffc7
dec edi
add byte gs:[esi + esi*2 + 0x77080065], bh
add byte gs:[edi], ch
ja 0x658514
add byte [ecx + 0x77], ch
add byte gs:[edi - 0x1dff9a7e], dl
jbe 0x658520
add byte [ecx - 0x1fff9a89], ch
dec edi
add byte gs:[ecx], dh
dec esi
add byte gs:[ebp + 0x78], al
add byte gs:[ecx + 0x54], dl
add byte gs:[edx + 0x54], dh
add byte gs:[edx + 0x7a], ah
add byte gs:[ebp + 0x2900654f], dl
pop ebx
add dh, cl
push esi
add byte gs:[edi + 0x61], bl
add byte gs:[edi - 0x68ff9a7e], dl
and byte [ebp], 0x97
and byte [ebp], 0x97
and byte [ebp], 0x97
and byte [ebp], 0x97
and byte [ebp], 0x96
popal
add ch, ah
ja 0x65856c
add byte [esi + 0x4e], ch
add bl, cl
jp 0x658574
add byte [esi], dl
push ebp
add bl, bh
sti
popal
add bh, dh
jle 0x658580
add byte [eax], bh
jg 0x658584
add byte [ebx], bl
insb byte es:[edi], dx
add byte gs:[ebx + 0x53], dl
sbb ebp, dword [ebp]
push ebx
push ebx
add byte gs:[ebx + edx*2 + 0x65], ah
add byte [edi + 0x4e006561], ch
jg 0x658598
add byte [edi - 0x1fff9a81], dl
jg 0x6585a0
add byte [ecx], ch
and byte [ebp], 0x3e
push esi
add byte gs:[edx - 0x80], dh
add byte gs:[esi], bh
jle 0x6585b0
add byte [esi + 0x78], ah
add byte gs:[edx], bl
insd dword es:[edi], dx
add byte gs:[esi + 0x7f006580], dh
pop esp
add byte gs:[0x7200655d], ch
pop esi
add ah, ch
pop esi
add byte gs:[esi - 0x68ff9aaa], al
xchg edi, eax
and byte [ebp], 0xc7
popal
add byte gs:[eax], al
pushal
add byte gs:[esi], ah
add byte [eax + 0x65], ah
add byte [esi], ah
pushal
add byte gs:[edi + 0x60], dl
add byte gs:[edx + 0x6b], ah
add dh, dh
bound ebp, qword [ebx + 0x65]
add dh, dh
not byte [ebp + 0x65]
add al, dl
push ebp
add al, dl
insb byte es:[edi], dx
add byte gs:[edx + 0x72006557], dl
dec ecx
add byte gs:[esi], dl
push ebp
add byte gs:[edi], ch
das
dec esp
add bh, bh
dec esp
add al, bl
push edi
add byte gs:[edx - 0x68ff9ab0], al
fcom dword [edi + 0x65]
add byte [edx - 1761581744], al
and byte [ebp], 0x97
and byte [ebp], 0x97
xchg edi, eax
and byte [ebp], 0x97
and byte [ebp], 0x97
and byte [ebp], 0x97
and byte [ebp], 0x21
push eax
add byte gs:[edi - 0x5ff9ab7], dh
dec ecx
add byte gs:[ebp + 0x72], dh
add byte gs:[edx - 0x50ff9a93], dh
jb 0x65863c
add cl, ch
jb 0x658640
add byte [ecx + eax*4], bh
add cl, bh
dec edi
add bh, bh
js 0x65864c
add byte [edx + edi*2 + 0x584c0065], ah
add byte gs:[edi + edx*2], dl
add byte gs:[ebx + 0x57], dl
add byte gs:[esi - 0x79ff9ab5], al
dec ebx
add byte gs:[esi - 0x47ff9ab5], al
dec ebx
add byte gs:[eax + 0x1600654b], bh
dec ebx
add byte gs:[esi - 0x33ff9ab5], al
int3
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x3c]
push esi
push edi
dec ebp
les edx, [esi + 0x57]
push ebx
call fcn.00634370
mov dword [ebp - 4], 0
cld
add byte [eax], al
add byte [eax], al
lea ecx, [ebp - 0x30]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00663230
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.004cc1e4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x658703
cmp dword [esi + 4], 0
je 0x6586c6
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 0x6586a6
mov edx, dword [eax + 4]
lea ecx, [eax + 0x10]
jmp 0x6586aa
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.00662a70
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + 0x14]
test eax, eax
je 0x658706
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 0x658706
sub edx, ecx
lea edi, [esi + 8]
shl edx, 3
test edx, edx
je 0x658706
test esi, esi
jne 0x658727
call fcn.007a2775
mov dword [eax], 0x16
call fcn.0079d532
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + 0x14]
mov edi, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x18]
test edi, edi
je 0x6587b9
xor edx, edx
test ecx, ecx
cmovns edx, ecx
mov dword [ebp + 0x14], edx
test eax, eax
je 0x658738
mov ecx, dword [eax + 4]
jmp 0x65873a
test edi, edi
je 0x6586f0
push edx
push edi
push esi
call fcn.0079a000
add esp, 0xc
jmp 0x658700
xor ecx, ecx
cmp edx, ecx
jl 0x65874a
push edi
push esi
lea ecx, [ebp - 0x34]
call fcn.00662c60
jmp 0x6587b9
test eax, eax
je 0x658753
mov ebx, dword [eax + 4]
jmp 0x658755
xor ebx, ebx
lea eax, [ebx + edi]
push eax
lea ecx, [ebp - 0x34]
call fcn.004cc1e4
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 0x658791
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 0x658778
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x34]
lea ecx, [ecx + eax*8]
add ecx, 0x10
test edi, edi
je 0x6587b6
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 0x6587a0
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 0x6587e1
mov eax, dword [edx + 4]
jmp 0x6587e3
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 0x6587f9
mov edi, dword [edx + 4]
jmp 0x6587fb
xor edi, edi
mov dword [ebp + 0x14], edi
cmp edi, esi
je 0x65898b
jae 0x658984
test edx, edx
je 0x658815
mov eax, dword [edx + 8]
jmp 0x658817
xor eax, eax
cmp esi, eax
jbe 0x65894f
test eax, eax
je 0x65882a
lea eax, [eax + eax*2]
shr eax, 1
jmp 0x658836
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.007a3999
add esp, 8
mov dword [ebp + 0x10], eax
test eax, eax
je 0x65898b
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 0x6588a6
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 0x658944
shl edi, 2
add esi, 0xc
test edi, edi
je 0x65891c
test edx, edx
jne 0x6588d5
call fcn.007a2775
mov dword [eax], 0x16
jmp 0x658917
test esi, esi
je 0x6588ea
cmp ecx, edi
jb 0x6588ea
push edi
push esi
push edx
call fcn.00799a80
add esp, 0xc
jmp 0x65891c
push ecx
push 0
push edx
call fcn.0079a580
add esp, 0xc
test esi, esi
jne 0x658907
call fcn.007a2775
mov dword [eax], 0x16
jmp 0x658917
cmp dword [ebp - 0x1c], edi
jae 0x65891c
call fcn.007a2775
mov dword [eax], 0x22
call fcn.0079d532
mov ecx, dword [ebx + 0x1f0]
test ecx, ecx
je 0x658944
or eax, 0xffffffff
lock xadd dword [ecx], eax
jne 0x658944
mov dword [ecx + 4], 0
push dword [ebx + 0x1f0]
call fcn.007a2dd1
add esp, 4
mov eax, dword [ebp + 0x10]
mov dword [ebx + 0x1f0], eax
jmp 0x65898b
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 0x658984
mov ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [ebx + 0x1f0]
test edx, edx
je 0x65898b
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 0x6589ab
mov eax, dword [eax + 4]
jmp 0x6589ad
xor eax, eax
push eax
mov edx, 0x929af8
mov ecx, ebx
call fcn.00695600
push dword [ebp - 0x24]
mov edi, edx
mov esi, eax
push dword [ebp - 0x28]
push edi
push esi
call fcn.00630b80
mov ecx, dword [ebp - 0x34]
add esp, 0xc
mov edx, esp
test ecx, ecx
je 0x6589e3
mov eax, dword [ecx + 4]
test eax, eax
je 0x6589e3
add ecx, 0x10
jmp 0x6589e7
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.00663200
add esp, 8
mov ecx, eax
call fcn.00662a70
lea ecx, [ebp - 0x30]
call fcn.005dfb29
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x658a35
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x658a2e
mov dword [eax + 4], 0
push dword [ebp - 0x34]
call fcn.007a2dd1
add esp, 4
mov dword [ebp - 0x34], 0
lea ecx, [ebp - 0x3c]
call fcn.005fd14a
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