Function at 0x4269a0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c4714
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2a0
mov eax, dword [0x519100]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x13c], ecx
mov eax, dword [ebx + 8]
mov esi, vtable.PkgReader::MemoryReader.0
xorps xmm0, xmm0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x44], 0
mov edx, dword [eax]
mov eax, dword [eax + 4]
sub eax, edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
movlpd qword [ebp - 0x40], xmm0
nop dword [eax + eax]
mov esi, dword [esi + 8]
mov ecx, esi
call dword [0x4cc2f8]
lea ecx, [ebp - 0x50]
call esi
mov ecx, dword [ebp - 0x50]
mov edi, edx
mov dword [ebp - 0x18], eax
mov esi, dword [ecx]
mov ecx, esi
call dword [0x4cc2f8]
lea ecx, [ebp - 0x50]
call esi
cmp edx, edi
jb 0x426a56
ja 0x426a52
cmp eax, dword [ebp - 0x18]
jb 0x426a56
mov al, 1
jmp 0x426a58
xor al, al
test al, al
jne 0x427ab7
sub esp, 0x10
lea ecx, [ebp - 0x50]
mov eax, esp
push 0
mov byte [eax + 8], 0
lea eax, [ebp - 0x98]
push 4
push eax
call fcn.00425150
mov dword [ebp - 4], 0
sub esp, 0x10
mov eax, dword [ebp - 0x50]
mov byte [ebp - 0x238], 0
movups xmm0, xmmword [ebp - 0x240]
mov esi, dword [eax + 0xc]
mov eax, esp
push 0
push 4
mov ecx, esi
movups xmmword [eax], xmm0
lea eax, [ebp - 0xe0]
push eax
call dword [0x4cc2f8]
lea ecx, [ebp - 0x50]
call esi
cmp byte [ebp - 0xd0], 0
mov eax, dword [ebp - 0xe0]
mov esi, dword [eax]
mov dword [ebp - 0x18], esi
je 0x426ad4
push eax
call fcn.00490970
add esp, 4
add esi, dword [ebp - 0x40]
lea ecx, [ebp - 0x98]
mov edi, dword [ebp - 0x98]
mov eax, 0
adc eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x84], 0xf
mov dword [ebp - 0x158], esi
mov esi, dword [ebp - 0x88]
cmova ecx, edi
push 4
push str.CMDL
mov edx, esi
mov dword [ebp - 0x150], eax
seta byte [ebp - 0x129]
mov dword [ebp - 0x130], edi
call fcn.0042a640
add esp, 8
test al, al
je 0x426c86
sub esp, 0x10
lea ecx, [ebp - 0x50]
mov eax, esp
push 0
mov byte [eax + 8], 0
mov eax, dword [ebp - 0x18]
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.00425150
mov byte [ebp - 4], 1
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x426b5a
mov eax, dword [eax]
push 0xfde9
push ecx
mov edx, eax
lea ecx, [ebp - 0x1a4]
call fcn.0040a610
mov esi, dword [ebp - 0x13c]
lea eax, [ebp - 0x1a4]
or dword [ebp - 0x134], 4
add esi, 8
add esp, 8
cmp esi, eax
je 0x426bc5
mov ecx, esi
call fcn.00423780
movups xmm0, xmmword [ebp - 0x1a4]
xor eax, eax
mov word [ebp - 0x1a4], ax
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 0x194]
movq qword [esi + 0x10], xmm0
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x190], 7
lea ecx, [ebp - 0x1a4]
call fcn.00423780
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0xcc]
cmp ecx, 0xf
jbe 0x426c0e
mov edx, dword [ebp - 0xe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x426c04
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x427ad7
push ecx
push edx
call fcn.00484729
add esp, 8
mov edi, dword [ebp - 0x98]
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x84]
cmp eax, 0xf
jbe 0x426c63
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x426c59
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x427ad7
push ecx
push edi
call fcn.00484729
add esp, 8
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
jmp 0x426a20
mov al, byte [ebp - 0x129]
lea ecx, [ebp - 0x98]
test al, al
cmovne ecx, edi
cmp esi, 4
jne 0x426dd2
mov edi, esi
mov edx, str.SFXN
sub edi, esi
jb 0x426cc1
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x426cc6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x426cb0
cmp edi, 0xfffffffc
je 0x426cfa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x426cf3
cmp edi, 0xfffffffd
je 0x426cfa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x426cf3
cmp edi, 0xfffffffe
je 0x426cfa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x426cf3
cmp edi, 0xffffffff
je 0x426cfa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x426cfa
sbb eax, eax
or eax, 1
jmp 0x426cfc
xor eax, eax
test eax, eax
jne 0x426dc6
sub esp, 0x10
lea ecx, [ebp - 0x50]
mov eax, esp
push 0
mov byte [eax + 8], 0
mov eax, dword [ebp - 0x18]
push eax
lea eax, [ebp - 0x258]
push eax
call fcn.00425150
mov byte [ebp - 4], 2
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x426d31
mov eax, dword [eax]
push 0xfde9
push ecx
mov edx, eax
lea ecx, [ebp - 0x1bc]
call fcn.0040a610
mov esi, dword [ebp - 0x13c]
lea eax, [ebp - 0x1bc]
or dword [ebp - 0x134], 8
add esi, 0x20
add esp, 8
cmp esi, eax
je 0x426d9c
mov ecx, esi
call fcn.00423780
movups xmm0, xmmword [ebp - 0x1bc]
xor eax, eax
mov word [ebp - 0x1bc], ax
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 0x1ac]
movq qword [esi + 0x10], xmm0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 7
lea ecx, [ebp - 0x1bc]
call fcn.00423780
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x244]
cmp ecx, 0xf
jbe 0x426c0e
mov edx, dword [ebp - 0x258]
inc ecx
jmp 0x426be6
mov edi, dword [ebp - 0x130]
mov al, byte [ebp - 0x129]
test al, al
lea ecx, [ebp - 0x98]
cmovne ecx, edi
cmp esi, 4
jne 0x426c14
mov edx, str.LIST
sub esi, esi
jb 0x426e01
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x426e06
add ecx, 4
add edx, 4
sub esi, 4
jae 0x426df0
cmp esi, 0xfffffffc
je 0x426e3a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x426e33
cmp esi, 0xfffffffd
je 0x426e3a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x426e33
cmp esi, 0xfffffffe
je 0x426e3a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x426e33
cmp esi, 0xffffffff
je 0x426e3a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x426e3a
sbb eax, eax
or eax, 1
jmp 0x426e3c
xor eax, eax
test eax, eax
jne 0x426c14
mov edi, dword [ebp - 0x13c]
add edi, 0x38
mov ecx, edi
mov esi, dword [edi]
push dword [esi + 4]
push edi
call fcn.00429a30
mov dword [esi + 4], esi
xorps xmm0, xmm0
mov dword [esi], esi
mov dword [esi + 8], esi
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], 0
mov dword [ebp - 0x68], vtable.PkgReader::MemoryReader.0
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], 0
movlpd qword [ebp - 0x58], xmm0
nop
mov eax, dword [ebp - 0x68]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4cc2f8]
lea ecx, [ebp - 0x68]
call esi
mov ecx, dword [ebp - 0x68]
mov edi, edx
mov dword [ebp - 0x130], eax
mov esi, dword [ecx]
mov ecx, esi
call dword [0x4cc2f8]
lea ecx, [ebp - 0x68]
call esi
cmp edx, edi
jb 0x426ecf
ja 0x426ecb
cmp eax, dword [ebp - 0x130]
jb 0x426ecf
mov al, 1
jmp 0x426ed1
xor al, al
test al, al
jne 0x426c0e
sub esp, 0x10
lea ecx, [ebp - 0x68]
mov eax, esp
push 0
mov byte [eax + 8], 0
lea eax, [ebp - 0xc8]
push 4
push eax
call fcn.00425150
mov byte [ebp - 4], 3
sub esp, 0x10
mov eax, dword [ebp - 0x68]
mov byte [ebp - 0x228], 0
movups xmm0, xmmword [ebp - 0x230]
mov esi, dword [eax + 0xc]
mov eax, esp
push 0
push 4
mov ecx, esi
movups xmmword [eax], xmm0
lea eax, [ebp - 0xe0]
push eax
call dword [0x4cc2f8]
lea ecx, [ebp - 0x68]
call esi
cmp byte [ebp - 0xd0], 0
mov eax, dword [ebp - 0xe0]
mov esi, dword [eax]
mov dword [ebp - 0x130], esi
je 0x426f4d
push eax
call fcn.00490970
add esp, 4
add esi, dword [ebp - 0x58]
lea ecx, [ebp - 0xc8]
mov edi, dword [ebp - 0xb4]
mov eax, 0
adc eax, dword [ebp - 0x54]
cmp edi, 0xf
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0x154], esi
mov esi, dword [ebp - 0xc8]
cmova ecx, esi
push 4
push 0x4ff2ec
mov dword [ebp - 0x140], eax
call fcn.0042a640
add esp, 8
test al, al
je 0x427a4f
xor eax, eax
mov dword [ebp - 0x118], 0
xorps xmm0, xmm0
mov dword [ebp - 0x114], 7
movups xmmword [ebp - 0x128], xmm0
mov word [ebp - 0x128], ax
movups xmmword [ebp - 0x100], xmm0
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
movlpd qword [ebp - 0x108], xmm0
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], 7
mov word [ebp - 0x100], ax
mov dword [ebp - 0xe8], 1
mov eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x58]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x30], eax
xor eax, eax
movups xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x38], vtable.PkgReader::MemoryReader.0
mov dword [ebp - 0x2c], 0
movlpd qword [ebp - 0x28], xmm0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
mov byte [ebp - 4], 5
nop dword [eax]
mov eax, dword [ebp - 0x38]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4cc2f8]
lea ecx, [ebp - 0x38]
call esi
mov ecx, dword [ebp - 0x38]
mov edi, edx
mov dword [ebp - 0x130], eax
mov esi, dword [ecx]
mov ecx, esi
call dword [0x4cc2f8]
lea ecx, [ebp - 0x38]
call esi
cmp edx, edi
jb 0x42707f
ja 0x42707b
cmp eax, dword [ebp - 0x130]
jb 0x42707f
mov al, 1
jmp 0x427081
xor al, al
test al, al
jne 0x4276a8
sub esp, 0x10
lea ecx, [ebp - 0x38]
mov eax, esp
push 0
mov byte [eax + 8], 0
lea eax, [ebp - 0xb0]
push 4
push eax
call fcn.00425150
mov byte [ebp - 4], 6
sub esp, 0x10
mov eax, dword [ebp - 0x38]
mov byte [ebp - 0x218], 0
movups xmm0, xmmword [ebp - 0x220]
mov esi, dword [eax + 0xc]
mov eax, esp
push 0
push 4
mov ecx, esi
movups xmmword [eax], xmm0
lea eax, [ebp - 0xe0]
push eax
call dword [0x4cc2f8]
lea ecx, [ebp - 0x38]
call esi
cmp byte [ebp - 0xd0], 0
mov eax, dword [ebp - 0xe0]
mov esi, dword [eax]
je 0x4270f7
push eax
call fcn.00490970
add esp, 4
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0xb0]
mov edi, dword [ebp - 0xa0]
add eax, esi
mov dword [ebp - 0x130], eax
mov edx, edi
mov eax, dword [ebp - 0x24]
adc eax, 0
mov dword [ebp - 0x178], esi
cmp dword [ebp - 0x9c], 0xf
push 4
cmova ecx, dword [ebp - 0xb0]
seta byte [ebp - 0x129]
push str.PTRL
mov dword [ebp - 0x138], eax
call fcn.0042a640
add esp, 8
test al, al
je 0x427262
cmp esi, 0xc
jne 0x427adc
mov eax, dword [ebp - 0x38]
sub esp, 0x10
mov byte [ebp - 0x208], 0
movups xmm0, xmmword [ebp - 0x210]
mov esi, dword [eax + 0xc]
mov eax, esp
push 0
push 4
mov ecx, esi
movups xmmword [eax], xmm0
lea eax, [ebp - 0xe0]
push eax
call dword [0x4cc2f8]
lea ecx, [ebp - 0x38]
call esi
cmp byte [ebp - 0xd0], 0
mov eax, dword [ebp - 0xe0]
mov esi, dword [eax]
je 0x4271a5
push eax
call fcn.00490970
add esp, 4
mov eax, dword [ebp - 0x38]
sub esp, 0x10
mov dword [ebp - 0x110], esi
mov byte [ebp - 0x290], 0
movups xmm0, xmmword [ebp - 0x298]
mov esi, dword [eax + 0xc]
mov eax, esp
push 0
push 4
mov ecx, esi
movups xmmword [eax], xmm0
lea eax, [ebp - 0xe0]
push eax
call dword [0x4cc2f8]
lea ecx, [ebp - 0x38]
call esi
cmp byte [ebp - 0xd0], 0
mov eax, dword [ebp - 0xe0]
mov esi, dword [eax]
je 0x4271f9
push eax
call fcn.00490970
add esp, 4
mov eax, dword [ebp - 0x38]
sub esp, 0x10
mov dword [ebp - 0x10c], esi
mov byte [ebp - 0x1f8], 0
movups xmm0, xmmword [ebp - 0x200]
mov esi, dword [eax + 0xc]
mov eax, esp
push 0
push 4
mov ecx, esi
movups xmmword [eax], xmm0
lea eax, [ebp - 0xe0]
push eax
call dword [0x4cc2f8]
lea ecx, [ebp - 0x38]
call esi
cmp byte [ebp - 0xd0], 0
mov eax, dword [ebp - 0xe0]
mov esi, dword [eax]
je 0x42724d
push eax
call fcn.00490970
add esp, 4
mov dword [ebp - 0x108], esi
mov dword [ebp - 0x104], 0
jmp 0x42764d
mov al, byte [ebp - 0x129]
lea ecx, [ebp - 0xb0]
test al, al
cmovne ecx, dword [ebp - 0xb0]
cmp edi, 4
jne 0x427462
mov eax, dword [ecx]
mov edx, str.NAME
cmp eax, dword [edx]
je 0x4272a7
cmp al, byte [edx]
jne 0x4272ab
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4272ab
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4272ab
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4272ab
xor eax, eax
jmp 0x4272b0
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42745c
sub esp, 0x10
lea ecx, [ebp - 0x38]
mov eax, esp
push 0
mov byte [eax + 8], 0
lea eax, [ebp - 0x270]
push esi
push eax
call fcn.00425150
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x4272e2
mov eax, dword [eax]
push 0xfde9
push ecx
mov edx, eax
lea ecx, [ebp - 0x1d4]
call fcn.0040a610
or dword [ebp - 0x134], 1
add esp, 8
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 8
call fcn.00423780
movups xmm1, xmmword [ebp - 0x1d4]
lea ecx, [ebp - 0x128]
xor eax, eax
movq xmm0, qword [ebp - 0x1c4]
movq qword [ebp - 0x118], xmm0
cmp dword [ebp - 0x114], 7
push dword [ebp - 0x118]
mov word [ebp - 0x1d4], ax
movd eax, xmm1
movups xmmword [ebp - 0x128], xmm1
mov dword [ebp - 0x1c4], 0
cmova ecx, eax
mov dword [ebp - 0x1c0], 7
push ecx
lea ecx, [ebp - 0x80]
call fcn.0040b920
lea ecx, [ebp - 0x1d4]
call fcn.00423780
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x25c]
cmp ecx, 0xf
jbe 0x4273b5
mov edx, dword [ebp - 0x270]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4273ab
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x427ad7
push ecx
push edx
call fcn.00484729
add esp, 8
push 1
mov byte [ebp - 4], 9
call fcn.00482e84
add esp, 4
mov dword [ebp - 0x17c], eax
lea eax, [ebp - 0x180]
mov byte [ebp - 4], 0xa
push eax
call fcn.00429e00
add esp, 4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x6c], 7
lea esi, [ebp - 0x80]
mov eax, dword [ebp - 0x70]
lea ecx, [ebp - 0x80]
cmova esi, dword [ebp - 0x80]
seta byte [ebp - 0x129]
cmp byte [ebp - 0x129], 0
cmovne ecx, dword [ebp - 0x80]
lea edi, [esi + eax*2]
mov eax, dword [ebp - 0x18]
push edi
push ecx
mov eax, dword [eax]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x4cc2f8]
mov ecx, dword [ebp - 0x18]
call esi
mov edi, dword [ebp - 0x17c]
test edi, edi
je 0x42764d
mov eax, dword [edi]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4cc2f8]
mov ecx, edi
call esi
mov edi, eax
test edi, edi
je 0x42764d
mov ecx, dword [edi]
push 1
mov esi, dword [ecx]
mov ecx, esi
call dword [0x4cc2f8]
mov ecx, edi
call esi
jmp 0x42764d
mov al, byte [ebp - 0x129]
test al, al
lea ecx, [ebp - 0xb0]
cmovne ecx, dword [ebp - 0xb0]
cmp edi, 4
jne 0x427591
mov eax, dword [ecx]
mov edx, str.XNAM
cmp eax, dword [edx]
je 0x4274a1
cmp al, byte [edx]
jne 0x4274a5
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4274a5
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4274a5
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4274a5
xor eax, eax
jmp 0x4274aa
sbb eax, eax
or eax, 1
test eax, eax
jne 0x427591
sub esp, 0x10
lea ecx, [ebp - 0x38]
mov eax, esp
push 0
mov byte [eax + 8], 0
lea eax, [ebp - 0x288]
push esi
push eax
call fcn.00425150
mov byte [ebp - 4], 0xb
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x4274dc
mov eax, dword [eax]
push 0xfde9
push ecx
mov edx, eax
lea ecx, [ebp - 0x1ec]
call fcn.0040a610
or dword [ebp - 0x134], 2
lea ecx, [ebp - 0x100]
add esp, 8
call fcn.00423780
movups xmm0, xmmword [ebp - 0x1ec]
xor eax, eax
lea ecx, [ebp - 0x1ec]
mov word [ebp - 0x1ec], ax
movups xmmword [ebp - 0x100], xmm0
movq xmm0, qword [ebp - 0x1dc]
movq qword [ebp - 0xf0], xmm0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 7
call fcn.00423780
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x274]
cmp ecx, 0xf
jbe 0x42764d
mov edx, dword [ebp - 0x288]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x427582
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x427ad7
push ecx
push edx
call fcn.00484729
add esp, 8
jmp 0x42764d
cmp byte [ebp - 0x129], 0
lea eax, [ebp - 0xb0]
cmovne eax, dword [ebp - 0xb0]
cmp edi, 4
jne 0x42764d
mov ecx, dword [eax]
mov edx, str.TYPE
cmp ecx, dword [edx]
je 0x4275d5
cmp cl, byte [edx]
jne 0x4275d9
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4275d9
mov cl, byte [eax + 2]
cmp cl, byte [edx + 2]
jne 0x4275d9
mov al, byte [eax + 3]
cmp al, byte [edx + 3]
jne 0x4275d9
xor eax, eax
jmp 0x4275de
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42764d
cmp esi, 1
jne 0x427a9a
mov byte [ebp - 0x168], al
sub esp, 0x10
mov eax, dword [ebp - 0x38]
movups xmm0, xmmword [ebp - 0x170]
mov esi, dword [eax + 0xc]
mov eax, esp
push 0
push 1
mov ecx, esi
movups xmmword [eax], xmm0
lea eax, [ebp - 0xe0]
push eax
call dword [0x4cc2f8]
lea ecx, [ebp - 0x38]
call esi
cmp byte [ebp - 0xd0], 0
mov eax, dword [ebp - 0xe0]
mov cl, byte [eax]
mov byte [ebp - 0x129], cl
je 0x427644
push eax
call fcn.00490970
mov cl, byte [ebp - 0x129]
add esp, 4
movzx eax, cl
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x9c]
cmp eax, 0xf
jbe 0x427040
mov edx, dword [ebp - 0xb0]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x427699
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x427ad7
push ecx
push edx
call fcn.00484729
add esp, 8
jmp 0x427040
cmp dword [ebp - 0x70], 0
je 0x427aa3
mov eax, dword [ebp - 0xe8]
sub eax, 1
je 0x4276d9
sub eax, 1
je 0x4276d2
sub eax, 1
je 0x4276cb
xor eax, eax
jmp 0x4276de
mov eax, str.FULL_VPX
jmp 0x4276de
mov eax, str.SPECIAL_VPX
jmp 0x4276de
mov eax, str.RAW_FILE
cmp dword [ebp - 0xf0], 0
mov dword [ebp - 0x138], eax
jne 0x4276f4
mov eax, 0x4ff424
jmp 0x427708
cmp dword [ebp - 0xec], 7
lea eax, [ebp - 0x100]
cmova eax, dword [ebp - 0x100]
movq xmm0, qword [str.pkgreader]
mov dword [ebp - 0x130], eax
mov eax, dword [0x4ff6d8]
mov dword [ebp - 0x148], 0x41363346
mov ecx, dword [ebp - 0x148]
movq qword [ebp - 0xe0], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x14c], 0x41453944
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0xd0], ecx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xcc], 0x10f
movlpd qword [ebp - 0x1c], xmm0
call fcn.0040abc0
mov byte [ebp - 4], 0xc
mov edi, dword [ebp - 0x1c]
test edi, edi
je 0x4277f7
mov eax, dword [edi]
push 0
mov esi, dword [eax + 0x3c]
mov ecx, esi
call dword [0x4cc2f8]
mov ecx, edi
call esi
test al, al
je 0x4277f7
push 0x2d
push 0x4ff428
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x2b0]
push eax
call fcn.0042ace0
mov byte [ebp - 4], 0xd
cmp dword [eax + 0x14], 7
mov ecx, dword [edi]
mov esi, dword [ecx + 8]
mov ecx, eax
jbe 0x4277d3
mov ecx, dword [eax]
push dword [eax + 0x10]
lea eax, [ebp - 0xe0]
push ecx
push eax
push 0
mov ecx, esi
call dword [0x4cc2f8]
mov ecx, edi
call esi
lea ecx, [ebp - 0x2b0]
call fcn.00423780
mov byte [ebp - 4], 5
mov edi, dword [ebp - 0x18]
test edi, edi
je 0x427837
or eax, 0xffffffff
lock xadd dword [edi + 4], eax
jne 0x427837
mov eax, dword [edi]
mov esi, dword [eax]
mov ecx, esi
call dword [0x4cc2f8]
mov ecx, edi
call esi
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
jne 0x427837
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x4cc2f8]
mov ecx, edi
call esi
mov edi, dword [ebp - 0x13c]
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x18c]
add edi, 0x38
push eax
mov ecx, edi
call fcn.0042a550
mov esi, dword [ebp - 0x184]
cmp byte [esi + 0xd], 0
jne 0x427892
cmp dword [esi + 0x24], 7
lea eax, [esi + 0x10]
mov edx, dword [eax + 0x10]
jbe 0x42786c
mov eax, dword [eax]
cmp dword [ebp - 0x6c], 7
lea ecx, [ebp - 0x80]
push edx
cmova ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x70]
push eax
call fcn.0042ae90
add esp, 8
test eax, eax
je 0x427968
jns 0x427968
cmp dword [edi + 4], 0x2492492
je 0x427b07
mov eax, dword [edi]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x160], edi
mov byte [ebp - 4], 0xe
push 0x70
mov dword [ebp - 0x15c], 0
call fcn.00484763
mov edi, eax
add esp, 4
mov dword [ebp - 0x15c], edi
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0xf
lea esi, [edi + 0x10]
push eax
mov ecx, esi
call fcn.0040b2f0
push 0x48
add esi, 0x18
push 0
push esi
call fcn.00486ef0
mov ecx, dword [ebp - 0x13c]
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x15c], 0
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea ecx, [ecx + 0x38]
mov dword [esi + 0x14], 7
mov word [esi], ax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
movups xmmword [esi + 0x28], xmm0
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], 7
mov word [esi + 0x28], ax
mov eax, dword [ebp - 0x138]
push edi
push dword [ebp - 0x188]
mov dword [esi + 0x40], 1
push dword [ebp - 0x18c]
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov word [edi + 0xc], 0
call fcn.004249d0
mov esi, eax
add esi, 0x28
lea eax, [ebp - 0x128]
cmp esi, eax
je 0x4279b0
mov ecx, esi
call fcn.00423780
movups xmm0, xmmword [ebp - 0x128]
xor eax, eax
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 0x118]
movq qword [esi + 0x10], xmm0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 7
mov word [ebp - 0x128], ax
mov eax, dword [ebp - 0x110]
lea edi, [esi + 0x28]
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 0x10c]
mov dword [esi + 0x1c], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x104]
mov dword [esi + 0x20], eax
lea eax, [ebp - 0x100]
mov dword [esi + 0x24], ecx
cmp edi, eax
je 0x427a1c
mov ecx, edi
call fcn.00423780
movups xmm0, xmmword [ebp - 0x100]
xor eax, eax
movups xmmword [edi], xmm0
movq xmm0, qword [ebp - 0xf0]
movq qword [edi + 0x10], xmm0
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 7
mov word [ebp - 0x100], ax
mov eax, dword [ebp - 0xe8]
lea ecx, [ebp - 0x80]
mov dword [esi + 0x40], eax
call fcn.00423780
lea ecx, [ebp - 0x100]
call fcn.00423780
lea ecx, [ebp - 0x128]
call fcn.00423780
mov edi, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x54], eax
mov byte [ebp - 4], 0
cmp edi, 0xf
jbe 0x426e90
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x427a8b
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x427ad7
push ecx
push esi
call fcn.00484729
add esp, 8
jmp 0x426e90
push 0x28
push str.SfxReader:_invalid_TYPE_payload_size__
jmp 0x427ae3
push str.SfxReader:_file_does_not_have_required_name_
push 0xb
lea ecx, [ebp - 0x170]
call fcn.00427b30
jmp 0x427af6
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0048471b
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
call fcn.0049091f
push 0x28
push str.SfxReader:_invalid_PTRL_payload_size__
lea eax, [ebp - 0x178]
push eax
push ecx
lea ecx, [ebp - 0x170]
call fcn.00429890
push 0x516930
lea eax, [ebp - 0x170]
push eax
call fcn.00486900
call fcn.00424dd0
int3