Function at 0x14027c4e0
Capabilities:
Enumerate pe sections

Disassembly:
push rbx
push rbp
push rsi
sub rsp, 0x40
mov dword [rsp + 0x70], 0x21585055
mov ebp, r8d
mov rbx, rcx
test rdx, rdx
je 0x14027c524
test r8d, r8d
jle 0x14027c524
lea r9d, [r8 - 4]
xor esi, esi
mov rcx, rdx
test r9d, r9d
js 0x14027c524
mov eax, dword [rsp + 0x70]
cmp byte [rcx], al
jne 0x14027c51a
cmp dword [rcx], eax
je 0x14027c52e
inc esi
inc rcx
cmp esi, r9d
jle 0x14027c512
xor al, al
add rsp, 0x40
pop rsi
pop rbp
pop rbx
ret
test esi, esi
js 0x14027c524
lea eax, [rsi + 8]
test eax, eax
jle 0x14027c813
cmp eax, ebp
jg 0x14027c813
mov rax, qword [0x14045fd58]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x38], r14
movsxd rdi, esi
add rdi, rdx
mov qword [rsp + 0x30], r15
movzx r14d, byte [rdi + 4]
mov dword [rbx], r14d
movzx r15d, byte [rdi + 5]
mov dword [rbx + 4], r15d
movzx r12d, byte [rdi + 6]
mov dword [rbx + 8], r12d
movzx r13d, byte [rdi + 7]
mov dword [rbx + 0xc], r13d
mov dword [rbx + 0x28], 0
cmp dword [rax + 0x50], 0
je 0x14027c5c4
mov ecx, 2
call fcn.1402f48bc
mov rcx, rax
mov dword [rsp + 0x28], r13d
mov r9d, r15d
mov dword [rsp + 0x20], r12d
mov r8d, r14d
lea rdx, str.__fillPackHeader__version_d__format_d__method_d__level_d_n
call fcn.140014a00
mov rcx, rbx
call fcn.14027c140
mov r15, qword [rsp + 0x30]
mov r13, qword [rsp + 0x78]
mov r12, qword [rsp + 0x68]
movsxd r14, eax
lea eax, [rsi + r14]
test eax, eax
jle 0x14027c847
cmp eax, ebp
jg 0x14027c847
cmp dword [rbx + 4], 0x80
jge 0x14027c6aa
mov eax, dword [rdi + 8]
mov dword [rbx + 0x18], eax
mov eax, dword [rdi + 0xc]
mov ecx, dword [rbx + 4]
mov dword [rbx + 0x1c], eax
lea eax, [rcx - 1]
cmp eax, 1
jbe 0x14027c68c
lea eax, [rcx - 3]
test eax, 0xfffffffb
je 0x14027c637
mov eax, dword [rdi + 0x10]
mov dword [rbx + 0x10], eax
mov eax, dword [rdi + 0x14]
mov dword [rbx + 0x14], eax
mov eax, dword [rdi + 0x18]
mov dword [rbx + 0x20], eax
jmp 0x14027c754
movzx eax, byte [rdi + 0x11]
movzx ecx, byte [rdi + 0x12]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi + 0x10]
shl ecx, 8
or ecx, eax
mov dword [rbx + 0x10], ecx
movzx eax, byte [rdi + 0x14]
movzx ecx, byte [rdi + 0x15]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi + 0x13]
shl ecx, 8
or ecx, eax
mov dword [rbx + 0x14], ecx
movzx eax, byte [rdi + 0x17]
movzx ecx, byte [rdi + 0x18]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi + 0x16]
shl ecx, 8
or ecx, eax
mov eax, 0x19
mov dword [rbx + 0x20], ecx
jmp 0x14027c771
movzx eax, word [rdi + 0x10]
mov dword [rbx + 0x10], eax
movzx eax, word [rdi + 0x12]
mov dword [rbx + 0x14], eax
mov eax, dword [rbx + 0x10]
mov dword [rbx + 0x20], eax
mov eax, 0x14
jmp 0x14027c771
movzx eax, byte [rdi + 9]
movzx ecx, byte [rdi + 8]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi + 0xa]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi + 0xb]
shl ecx, 8
or ecx, eax
mov dword [rbx + 0x10], ecx
movzx eax, byte [rdi + 0xd]
movzx ecx, byte [rdi + 0xc]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi + 0xe]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi + 0xf]
shl ecx, 8
or ecx, eax
mov dword [rbx + 0x14], ecx
movzx eax, byte [rdi + 0x11]
movzx ecx, byte [rdi + 0x10]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi + 0x12]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi + 0x13]
shl ecx, 8
or ecx, eax
mov dword [rbx + 0x18], ecx
movzx eax, byte [rdi + 0x15]
movzx ecx, byte [rdi + 0x14]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi + 0x16]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi + 0x17]
shl ecx, 8
or ecx, eax
mov dword [rbx + 0x1c], ecx
movzx eax, byte [rdi + 0x19]
movzx ecx, byte [rdi + 0x18]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi + 0x1a]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi + 0x1b]
shl ecx, 8
or ecx, eax
mov dword [rbx + 0x20], ecx
movzx eax, byte [rdi + 0x1d]
mov dword [rbx + 0x28], eax
movzx eax, byte [rdi + 0x1e]
test al, al
je 0x14027c767
inc eax
jmp 0x14027c769
xor eax, eax
mov dword [rbx + 0x2c], eax
mov eax, 0x1c
mov ecx, dword [rbx]
cmp ecx, 0xa
jl 0x14027c791
movzx eax, byte [rax + rdi]
mov dword [rbx + 0x24], eax
and dword [rbx + 0xc], 0xf
cmp ecx, 0xff
je 0x14027c820
jmp 0x14027c7ca
mov eax, dword [rbx + 0xc]
test al, al
js 0x14027c7a1
mov dword [rbx + 0x24], 0
jmp 0x14027c7c1
and eax, 0x7f
mov dword [rbx + 0xc], eax
mov eax, dword [rbx + 4]
dec eax
cmp eax, 1
jbe 0x14027c7ba
mov dword [rbx + 0x24], 0x26
jmp 0x14027c7c1
mov dword [rbx + 0x24], 6
and dword [rbx + 0xc], 0xf
cmp ecx, 9
jle 0x14027c7dd
lea edx, [r14 - 1]
mov rcx, rdi
call fcn.14027c0d0
cmp byte [r14 + rdi - 1], al
jne 0x14027c82d
mov eax, dword [rbx + 0x14]
cmp eax, 2
jb 0x14027c83a
mov ecx, dword [rbx + 0x10]
cmp ecx, 2
jb 0x14027c83a
cmp eax, 0x30000000
ja 0x14027c83a
cmp ecx, 0x30000000
ja 0x14027c83a
mov rdi, qword [rsp + 0x60]
mov al, 1
mov r14, qword [rsp + 0x38]
mov dword [rbx + 0x3c], esi
add rsp, 0x40
pop rsi
pop rbp
pop rbx
ret
lea rcx, str.header_corrupted_1
call fcn.14000d670
int3
lea rcx, str.cannot_unpack_UPX____
call fcn.14000d670
int3
lea rcx, str.header_corrupted_3
call fcn.14000d670
int3
lea rcx, str.header_corrupted_4
call fcn.14000d670
int3
lea rcx, str.header_corrupted_2
call fcn.14000d670
int3