Function at 0x1801a4f10
Capabilities:
Enumerate pe sections

Disassembly:
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x38
mov ebx, r8d
mov rsi, rdx
mov rdi, rcx
mov edx, ebx
mov rcx, rsi
mov r8d, 0x21585055
call fcn.180163a70
movsxd rbp, eax
test eax, eax
jns 0x1801a4f44
xor al, al
add rsp, 0x38
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov qword [rsp + 0x60], r12
lea eax, [rbp + 8]
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x30], r15
test eax, eax
jle 0x1801a4f63
cmp eax, ebx
jle 0x1801a4f6f
lea rcx, str.header_corrupted_1
call fcn.180164ae0
add rsi, rbp
movzx r13d, byte [rsi + 4]
mov dword [rdi], r13d
movzx r12d, byte [rsi + 5]
mov dword [rdi + 4], r12d
movzx r15d, byte [rsi + 6]
mov dword [rdi + 8], r15d
movzx r14d, byte [rsi + 7]
mov dword [rdi + 0xc], r14d
mov dword [rdi + 0x28], 0
mov rax, qword [0x180dcd1c8]
cmp dword [rax + 0x50], 0
je 0x1801a4fd2
mov ecx, 2
call fcn.180261510
mov r9d, r12d
mov dword [rsp + 0x28], r14d
mov r8d, r13d
mov dword [rsp + 0x20], r15d
lea rdx, str.__fillPackHeader__version_d__format_d__method_d__level_d_n
mov rcx, rax
call fcn.1801529b0
mov rcx, rdi
call fcn.1801a51b0
mov r15, qword [rsp + 0x30]
mov r14d, eax
mov r13, qword [rsp + 0x68]
mov r12, qword [rsp + 0x60]
lea ecx, [rax + rbp]
test ecx, ecx
jle 0x1801a4ff7
cmp ecx, ebx
jle 0x1801a5003
lea rcx, str.header_corrupted_2
call fcn.180164ae0
cmp dword [rdi + 4], 0x80
lea rcx, [rsi + 8]
jge 0x1801a5087
mov eax, dword [rcx]
mov dword [rdi + 0x18], eax
mov eax, dword [rsi + 0xc]
mov ecx, dword [rdi + 4]
mov dword [rdi + 0x1c], eax
lea eax, [rcx - 1]
cmp eax, 1
jbe 0x1801a506c
lea eax, [rcx - 3]
test eax, 0xfffffffb
je 0x1801a5041
mov eax, dword [rsi + 0x10]
mov dword [rdi + 0x10], eax
mov eax, dword [rsi + 0x14]
mov dword [rdi + 0x14], eax
mov eax, dword [rsi + 0x18]
jmp 0x1801a50bc
lea rcx, [rsi + 0x10]
call fcn.180163850
lea rcx, [rsi + 0x13]
mov dword [rdi + 0x10], eax
call fcn.180163850
lea rcx, [rsi + 0x16]
mov dword [rdi + 0x14], eax
call fcn.180163850
mov dword [rdi + 0x20], eax
mov eax, 0x19
jmp 0x1801a50dc
movzx eax, word [rsi + 0x10]
mov dword [rdi + 0x10], eax
movzx eax, word [rsi + 0x12]
mov dword [rdi + 0x14], eax
mov eax, dword [rdi + 0x10]
mov dword [rdi + 0x20], eax
mov eax, 0x14
jmp 0x1801a50dc
call fcn.1801637d0
lea rcx, [rsi + 0xc]
mov dword [rdi + 0x10], eax
call fcn.1801637d0
lea rcx, [rsi + 0x10]
mov dword [rdi + 0x14], eax
call fcn.1801637d0
lea rcx, [rsi + 0x14]
mov dword [rdi + 0x18], eax
call fcn.1801637d0
lea rcx, [rsi + 0x18]
mov dword [rdi + 0x1c], eax
call fcn.1801637d0
mov dword [rdi + 0x20], eax
movzx eax, byte [rsi + 0x1d]
mov dword [rdi + 0x28], eax
movzx eax, byte [rsi + 0x1e]
test al, al
je 0x1801a50d2
inc eax
jmp 0x1801a50d4
xor eax, eax
mov dword [rdi + 0x2c], eax
mov eax, 0x1c
mov ecx, dword [rdi]
cmp ecx, 0xa
jl 0x1801a5106
movzx eax, byte [rax + rsi]
mov dword [rdi + 0x24], eax
and dword [rdi + 0xc], 0xf
cmp ecx, 0xff
jne 0x1801a513f
lea rcx, str.cannot_unpack_UPX____
call fcn.180164ae0
mov ecx, dword [rdi]
jmp 0x1801a513a
mov eax, dword [rdi + 0xc]
test al, al
js 0x1801a5116
mov dword [rdi + 0x24], 0
jmp 0x1801a5136
and eax, 0x7f
mov dword [rdi + 0xc], eax
mov eax, dword [rdi + 4]
dec eax
cmp eax, 1
jbe 0x1801a512f
mov dword [rdi + 0x24], 0x26
jmp 0x1801a5136
mov dword [rdi + 0x24], 6
and dword [rdi + 0xc], 0xf
cmp ecx, 9
jle 0x1801a5161
lea ebx, [r14 - 1]
mov rcx, rsi
mov edx, ebx
call fcn.1801a5250
movsxd rcx, ebx
cmp byte [rcx + rsi], al
je 0x1801a5161
lea rcx, str.header_corrupted_3
call fcn.180164ae0
mov eax, dword [rdi + 0x14]
mov r14, qword [rsp + 0x70]
cmp eax, 2
jb 0x1801a518b
cmp dword [rdi + 0x10], 2
jb 0x1801a518b
mov ecx, eax
call fcn.180163fb0
test al, al
je 0x1801a518b
mov ecx, dword [rdi + 0x10]
call fcn.180163fb0
test al, al
jne 0x1801a5197
lea rcx, str.header_corrupted_4
call fcn.180164ae0
mov dword [rdi + 0x3c], ebp
mov al, 1
add rsp, 0x38
pop rdi
pop rsi
pop rbp
pop rbx
ret