Function at 0x1401b83a0
Capabilities:
Terminate process

Disassembly:
push rbx
push rsi
push rdi
push rbp
lea rsi, section.UPX1
lea rdi, [rsi - 0x11c000]
lea rax, [rdi + 0x19de48]
push qword [rax]
mov dword [rax], 0x4e936993
push rax
push rdi
mov eax, 0x1b63ff
push rax
mov rcx, rsp
mov rdx, rdi
mov rdi, rsi
mov esi, 0x9b398
push rbp
mov rbp, rsp
mov r9d, dword [rcx]
mov r8, rdx
mov rdx, rsi
lea rsi, [rdi + 2]
push rsi
mov al, byte [rdi]
dec edx
mov cl, al
and al, 7
shr cl, 3
mov rbx, 0xfffffffffffffd00
shl rbx, cl
mov cl, al
lea rbx, [rsp + rbx*2 - 0xe78]
and rbx, 0xffffffffffffffc0
push 0
cmp rsp, rbx
jne 0x1401b840c
push rbx
lea rdi, [rbx + 8]
mov cl, byte [rsi - 1]
dec edx
mov byte [rdi + 2], al
mov al, cl
shr cl, 4
mov byte [rdi + 1], cl
and al, 0xf
mov byte [rdi], al
lea rcx, [rdi - 4]
push rax
push r15
lea rax, [rdi + 4]
xor r15d, r15d
push r14
mov r14d, 1
push r13
xor r13d, r13d
push r12
push rbp
push rbx
mov qword [rsp - 0x10], rcx
mov qword [rsp - 0x28], rax
mov eax, 1
mov qword [rsp - 8], rsi
mov qword [rsp - 0x18], r8
mov ebx, eax
mov dword [rsp - 0x1c], r9d
movzx ecx, byte [rdi + 2]
shl ebx, cl
mov ecx, ebx
mov rbx, qword [rsp + 0x38]
dec ecx
mov dword [rsp - 0x2c], ecx
movzx ecx, byte [rdi + 1]
shl eax, cl
mov rcx, qword [rsp - 0x10]
dec eax
mov dword [rsp - 0x30], eax
movzx eax, byte [rdi]
mov dword [rcx], 0
mov dword [rsp - 0x38], 0
mov dword [rsp - 0x3c], 1
mov dword [rsp - 0x40], 1
mov dword [rsp - 0x44], 1
mov dword [rbx], 0
mov dword [rsp - 0x34], eax
movzx ecx, byte [rdi + 1]
add ecx, eax
mov eax, 0x300
shl eax, cl
xor ecx, ecx
lea edi, [rax + 0x736]
cmp r15d, edi
jae 0x1401b84ef
mov rbx, qword [rsp - 0x28]
mov eax, ecx
inc ecx
cmp ecx, edi
mov word [rbx + rax*2], 0x400
jmp 0x1401b84da
mov rdi, qword [rsp - 8]
mov eax, edx
xor r10d, r10d
or r11d, 0xffffffff
xor edx, edx
mov r12, rdi
add r12, rax
cmp rdi, r12
je 0x1401b8dfd
movzx eax, byte [rdi]
shl r10d, 8
inc edx
inc rdi
or r10d, eax
cmp edx, 4
jle 0x1401b8505
cmp r15d, dword [rsp - 0x1c]
jae 0x1401b8e07
mov eax, dword [rsp - 0x2c]
movsxd rbx, dword [rsp - 0x38]
mov rdx, qword [rsp - 0x28]
and eax, r15d
mov dword [rsp - 0x48], eax
movsxd rbp, dword [rsp - 0x48]
mov rax, rbx
shl rax, 4
add rax, rbp
cmp r11d, 0xffffff
lea r9, [rdx + rax*2]
ja 0x1401b8578
cmp rdi, r12
je 0x1401b8dfd
movzx eax, byte [rdi]
shl r10d, 8
shl r11d, 8
inc rdi
or r10d, eax
movzx edx, word [r9]
mov eax, r11d
shr eax, 0xb
movzx ecx, dx
imul eax, ecx
cmp r10d, eax
jae 0x1401b8756
mov r11d, eax
mov eax, 0x800
mov rbx, qword [rsp - 0x28]
sub eax, ecx
movzx ecx, byte [rsp - 0x34]
mov esi, 1
sar eax, 5
lea eax, [rdx + rax]
movzx edx, r13b
mov word [r9], ax
mov eax, dword [rsp - 0x30]
and eax, r15d
shl eax, cl
mov ecx, 8
sub ecx, dword [rsp - 0x34]
sar edx, cl
add eax, edx
imul eax, eax, 0x300
cmp dword [rsp - 0x38], 6
mov eax, eax
lea r9, [rbx + rax*2 + 0xe6c]
jle 0x1401b86a1
mov rdx, qword [rsp - 0x18]
mov eax, r15d
sub eax, r14d
movzx ebp, byte [rdx + rax]
add ebp, ebp
movsxd rdx, esi
mov ebx, ebp
and ebx, 0x100
cmp r11d, 0xffffff
movsxd rax, ebx
lea rax, [r9 + rax*2]
lea r8, [rax + rdx*2]
ja 0x1401b8633
cmp rdi, r12
je 0x1401b8dfd
movzx eax, byte [rdi]
shl r10d, 8
shl r11d, 8
inc rdi
or r10d, eax
movzx edx, word [r8 + 0x200]
mov eax, r11d
shr eax, 0xb
movzx ecx, dx
imul eax, ecx
cmp r10d, eax
jae 0x1401b866c
mov r11d, eax
mov eax, 0x800
add esi, esi
sub eax, ecx
sar eax, 5
test ebx, ebx
lea eax, [rdx + rax]
mov word [r8 + 0x200], ax
je 0x1401b868b
jmp 0x1401b8699
sub r11d, eax
sub r10d, eax
mov eax, edx
shr ax, 5
lea esi, [rsi + rsi + 1]
sub dx, ax
test ebx, ebx
mov word [r8 + 0x200], dx
je 0x1401b8699
cmp esi, 0xff
jle 0x1401b85f8
jmp 0x1401b8711
cmp esi, 0xff
jg 0x1401b8711
movsxd rax, esi
cmp r11d, 0xffffff
lea r8, [r9 + rax*2]
ja 0x1401b86cb
cmp rdi, r12
je 0x1401b8dfd
movzx eax, byte [rdi]
shl r10d, 8
shl r11d, 8
inc rdi
or r10d, eax
movzx edx, word [r8]
mov eax, r11d
shr eax, 0xb
movzx ecx, dx
imul eax, ecx
cmp r10d, eax
jae 0x1401b86f8
mov r11d, eax
mov eax, 0x800
add esi, esi
sub eax, ecx
sar eax, 5
lea eax, [rdx + rax]
mov word [r8], ax
jmp 0x1401b8699
sub r11d, eax
sub r10d, eax
mov eax, edx
shr ax, 5
lea esi, [rsi + rsi + 1]
sub dx, ax
mov word [r8], dx
jmp 0x1401b8699
mov rcx, qword [rsp - 0x18]
mov eax, r15d
inc r15d
mov r13d, esi
mov byte [rcx + rax], sil
cmp dword [rsp - 0x38], 3
jg 0x1401b8737
mov dword [rsp - 0x38], 0
jmp 0x1401b8ddd
mov edx, dword [rsp - 0x38]
mov eax, dword [rsp - 0x38]
sub edx, 3
sub eax, 6
cmp dword [rsp - 0x38], 9
cmovg edx, eax
mov dword [rsp - 0x38], edx
jmp 0x1401b8ddd
sub r11d, eax
sub r10d, eax
mov eax, edx
shr ax, 5
sub dx, ax
mov rax, qword [rsp - 0x28]
cmp r11d, 0xffffff
mov word [r9], dx
lea rsi, [rax + rbx*2]
ja 0x1401b8795
cmp rdi, r12
je 0x1401b8dfd
movzx eax, byte [rdi]
shl r10d, 8
shl r11d, 8
inc rdi
or r10d, eax
movzx edx, word [rsi + 0x180]
mov eax, r11d
shr eax, 0xb
movzx ecx, dx
imul eax, ecx
cmp r10d, eax
jae 0x1401b87fb
mov r11d, eax
mov eax, 0x800
mov r9, qword [rsp - 0x28]
sub eax, ecx
mov ecx, dword [rsp - 0x3c]
mov dword [rsp - 0x3c], r14d
sar eax, 5
lea eax, [rdx + rax]
mov edx, dword [rsp - 0x40]
mov dword [rsp - 0x40], ecx
mov word [rsi + 0x180], ax
xor eax, eax
cmp dword [rsp - 0x38], 6
mov dword [rsp - 0x44], edx
setg al
add r9, 0x664
lea eax, [rax + rax*2]
mov dword [rsp - 0x38], eax
jmp 0x1401b8a4f
sub r11d, eax
sub r10d, eax
mov eax, edx
shr ax, 5
sub dx, ax
cmp r11d, 0xffffff
mov word [rsi + 0x180], dx
ja 0x1401b8834
cmp rdi, r12
je 0x1401b8dfd
movzx eax, byte [rdi]
shl r10d, 8
shl r11d, 8
inc rdi
or r10d, eax
movzx edx, word [rsi + 0x198]
mov eax, r11d
shr eax, 0xb
movzx ecx, dx
imul eax, ecx
cmp r10d, eax
jae 0x1401b8920
mov r8d, 0x800
mov r11d, eax
shl rbx, 5
mov eax, r8d
sub eax, ecx
sar eax, 5
lea eax, [rdx + rax]
mov word [rsi + 0x198], ax
mov rax, qword [rsp - 0x28]
add rax, rbx
cmp r11d, 0xffffff
lea rsi, [rax + rbp*2]
ja 0x1401b889e
cmp rdi, r12
je 0x1401b8dfd
movzx eax, byte [rdi]
shl r10d, 8
shl r11d, 8
inc rdi
or r10d, eax
movzx edx, word [rsi + 0x1e0]
mov eax, r11d
shr eax, 0xb
movzx ecx, dx
imul eax, ecx
cmp r10d, eax
jae 0x1401b8905
sub r8d, ecx
mov r11d, eax
sar r8d, 5
test r15d, r15d
lea eax, [rdx + r8]
mov word [rsi + 0x1e0], ax
je 0x1401b8dfd
xor eax, eax
cmp dword [rsp - 0x38], 6
mov rbx, qword [rsp - 0x18]
setg al
lea eax, [rax + rax + 9]
mov dword [rsp - 0x38], eax
mov eax, r15d
sub eax, r14d
movzx r13d, byte [rbx + rax]
mov eax, r15d
inc r15d
mov byte [rbx + rax], r13b
jmp 0x1401b8ddd
sub r11d, eax
sub r10d, eax
mov eax, edx
shr ax, 5
sub dx, ax
mov word [rsi + 0x1e0], dx
jmp 0x1401b8a31
sub r11d, eax
sub r10d, eax
mov eax, edx
shr ax, 5
sub dx, ax
cmp r11d, 0xffffff
mov word [rsi + 0x198], dx
ja 0x1401b8959
cmp rdi, r12
je 0x1401b8dfd
movzx eax, byte [rdi]
shl r10d, 8
shl r11d, 8
inc rdi
or r10d, eax
movzx edx, word [rsi + 0x1b0]
mov eax, r11d
shr eax, 0xb
movzx ecx, dx
imul eax, ecx
cmp r10d, eax
jae 0x1401b8991
mov r11d, eax
mov eax, 0x800
sub eax, ecx
sar eax, 5
lea eax, [rdx + rax]
mov word [rsi + 0x1b0], ax
mov eax, dword [rsp - 0x3c]
jmp 0x1401b8a29
sub r11d, eax
sub r10d, eax
mov eax, edx
shr ax, 5
sub dx, ax
cmp r11d, 0xffffff
mov word [rsi + 0x1b0], dx
ja 0x1401b89ca
cmp rdi, r12
je 0x1401b8dfd
movzx eax, byte [rdi]
shl r10d, 8
shl r11d, 8
inc rdi
or r10d, eax
movzx edx, word [rsi + 0x1c8]
mov eax, r11d
shr eax, 0xb
movzx ecx, dx
imul eax, ecx
cmp r10d, eax
jae 0x1401b89ff
mov r11d, eax
mov eax, 0x800
sub eax, ecx
sar eax, 5
lea eax, [rdx + rax]
mov word [rsi + 0x1c8], ax
mov eax, dword [rsp - 0x40]
jmp 0x1401b8a21
sub r11d, eax
sub r10d, eax
mov eax, edx
shr ax, 5
sub dx, ax
mov eax, dword [rsp - 0x44]
mov word [rsi + 0x1c8], dx
mov edx, dword [rsp - 0x40]
mov dword [rsp - 0x44], edx
mov ecx, dword [rsp - 0x3c]
mov dword [rsp - 0x40], ecx
mov dword [rsp - 0x3c], r14d
mov r14d, eax
xor eax, eax
cmp dword [rsp - 0x38], 6
mov r9, qword [rsp - 0x28]
setg al
add r9, 0xa68
lea eax, [rax + rax*2 + 8]
mov dword [rsp - 0x38], eax
cmp r11d, 0xffffff
ja 0x1401b8a72
cmp rdi, r12
je 0x1401b8dfd
movzx eax, byte [rdi]
shl r10d, 8
shl r11d, 8
inc rdi
or r10d, eax
movzx edx, word [r9]
mov eax, r11d
shr eax, 0xb
movzx ecx, dx
imul eax, ecx
cmp r10d, eax
jae 0x1401b8aae
mov r11d, eax
mov eax, 0x800
xor r13d, r13d
sub eax, ecx
sar eax, 5
lea eax, [rdx + rax]
mov word [r9], ax
movsxd rax, dword [rsp - 0x48]
shl rax, 4
lea r8, [r9 + rax + 4]
jmp 0x1401b8b26
sub r11d, eax
sub r10d, eax
mov eax, edx
shr ax, 5
sub dx, ax
cmp r11d, 0xffffff
mov word [r9], dx
ja 0x1401b8ae4
cmp rdi, r12
je 0x1401b8dfd
movzx eax, byte [rdi]
shl r10d, 8
shl r11d, 8
inc rdi
or r10d, eax
movzx edx, word [r9 + 2]
mov eax, r11d
shr eax, 0xb
movzx ecx, dx
imul eax, ecx
cmp r10d, eax
jae 0x1401b8b2e
mov r11d, eax
mov eax, 0x800
mov r13d, 8
sub eax, ecx
sar eax, 5
lea eax, [rdx + rax]
mov word [r9 + 2], ax
movsxd rax, dword [rsp - 0x48]
shl rax, 4
lea r8, [r9 + rax + 0x104]
mov r9d, 3
jmp 0x1401b8b55
sub r11d, eax
sub r10d, eax
mov eax, edx
shr ax, 5
lea r8, [r9 + 0x204]
mov r13d, 0x10
sub dx, ax
mov word [r9 + 2], dx
mov r9d, 8
mov ebx, r9d
mov ebp, 1
movsxd rax, ebp
cmp r11d, 0xffffff
lea rsi, [r8 + rax*2]
ja 0x1401b8b87
cmp rdi, r12
je 0x1401b8dfd
movzx eax, byte [rdi]
shl r10d, 8
shl r11d, 8
inc rdi
or r10d, eax
movzx ecx, word [rsi]
mov eax, r11d
shr eax, 0xb
movzx edx, cx
imul eax, edx
cmp r10d, eax
jae 0x1401b8bb2
mov r11d, eax
mov eax, 0x800
add ebp, ebp
sub eax, edx
sar eax, 5
lea eax, [rcx + rax]
mov word [rsi], ax
jmp 0x1401b8bc8
sub r11d, eax
sub r10d, eax
mov eax, ecx
shr ax, 5
lea ebp, [rbp + rbp + 1]
sub cx, ax
mov word [rsi], cx
dec ebx
jne 0x1401b8b5d
mov eax, 1
mov ecx, r9d
shl eax, cl
sub ebp, eax
add ebp, r13d
cmp dword [rsp - 0x38], 3
jg 0x1401b8da8
add dword [rsp - 0x38], 7
mov eax, 3
cmp ebp, 4
cmovl eax, ebp
mov rbx, qword [rsp - 0x28]
mov r8d, 1
cdqe
shl rax, 7
lea r9, [rbx + rax + 0x360]
mov ebx, 6
movsxd rax, r8d
cmp r11d, 0xffffff
lea rsi, [r9 + rax*2]
ja 0x1401b8c3e
cmp rdi, r12
je 0x1401b8dfd
movzx eax, byte [rdi]
shl r10d, 8
shl r11d, 8
inc rdi
or r10d, eax
movzx edx, word [rsi]
mov eax, r11d
shr eax, 0xb
movzx ecx, dx
imul eax, ecx
cmp r10d, eax
jae 0x1401b8c6a
mov r11d, eax
mov eax, 0x800
add r8d, r8d
sub eax, ecx
sar eax, 5
lea eax, [rdx + rax]
mov word [rsi], ax
jmp 0x1401b8c81
sub r11d, eax
sub r10d, eax
mov eax, edx
shr ax, 5
lea r8d, [r8 + r8 + 1]
sub dx, ax
mov word [rsi], dx
dec ebx
jne 0x1401b8c14
sub r8d, 0x40
cmp r8d, 3
mov r14d, r8d
jle 0x1401b8da3
and r14d, 1
mov eax, r8d
sar eax, 1
or r14d, 2
cmp r8d, 0xd
lea esi, [rax - 1]
jg 0x1401b8ccf
mov ecx, esi
mov rbx, qword [rsp - 0x28]
movsxd rax, r8d
shl r14d, cl
add rax, rax
mov edx, r14d
lea rdx, [rbx + rdx*2]
sub rdx, rax
lea r9, [rdx + 0x55e]
jmp 0x1401b8d20
lea esi, [rax - 5]
cmp r11d, 0xffffff
ja 0x1401b8cf5
cmp rdi, r12
je 0x1401b8dfd
movzx eax, byte [rdi]
shl r10d, 8
shl r11d, 8
inc rdi
or r10d, eax
shr r11d, 1
add r14d, r14d
cmp r10d, r11d
jb 0x1401b8d07
sub r10d, r11d
or r14d, 1
dec esi
jne 0x1401b8cd2
mov r9, qword [rsp - 0x28]
shl r14d, 4
mov esi, 4
add r9, 0x644
mov r13d, 1
mov ebx, 1
movsxd rax, ebx
cmp r11d, 0xffffff
lea r8, [r9 + rax*2]
ja 0x1401b8d55
cmp rdi, r12
je 0x1401b8dfd
movzx eax, byte [rdi]
shl r10d, 8
shl r11d, 8
inc rdi
or r10d, eax
movzx edx, word [r8]
mov eax, r11d
shr eax, 0xb
movzx ecx, dx
imul eax, ecx
cmp r10d, eax
jae 0x1401b8d82
mov r11d, eax
mov eax, 0x800
add ebx, ebx
sub eax, ecx
sar eax, 5
lea eax, [rdx + rax]
mov word [r8], ax
jmp 0x1401b8d9c
sub r11d, eax
sub r10d, eax
mov eax, edx
shr ax, 5
lea ebx, [rbx + rbx + 1]
or r14d, r13d
sub dx, ax
mov word [r8], dx
add r13d, r13d
dec esi
jne 0x1401b8d2b
inc r14d
je 0x1401b8de8
add ebp, 2
cmp r14d, r15d
ja 0x1401b8dfd
mov rdx, qword [rsp - 0x18]
mov eax, r15d
sub eax, r14d
movzx r13d, byte [rdx + rax]
mov eax, r15d
inc r15d
dec ebp
mov byte [rdx + rax], r13b
setne dl
xor eax, eax
cmp r15d, dword [rsp - 0x1c]
setb al
test edx, eax
jne 0x1401b8db0
cmp r15d, dword [rsp - 0x1c]
jb 0x1401b852d
cmp r11d, 0xffffff
ja 0x1401b8e07
cmp rdi, r12
mov eax, 1
je 0x1401b8e1e
jmp 0x1401b8e04
mov eax, 1
jmp 0x1401b8e1e
inc rdi
mov eax, edi
sub eax, dword [rsp - 8]
mov rcx, qword [rsp - 0x10]
mov rbx, qword [rsp + 0x38]
mov dword [rcx], eax
mov dword [rbx], r15d
xor eax, eax
pop rbx
pop rbp
pop r12
pop r13
pop r14
pop r15
leave
pop rax
pop rsi
pop rdi
pop rax
mov dword [rdi], eax
mov rdi, rsi
push rsi
mov rdi, rsi
mov rsi, 0x140200
mov dl, 0x19
push rbx
push rdi
lea rcx, [rdi + rsi - 3]
pop rsi
push rsi
pop rbx
jmp 0x1401b8e7a
cmp rsi, rcx
jae 0x1401b8e82
push rsi
pop rsi
lodsb al, byte [rsi]
cmp al, 0x80
jb 0x1401b8e61
cmp al, 0x8f
ja 0x1401b8e61
cmp byte [rsi - 2], 0xf
je 0x1401b8e67
sub al, 0xe8
cmp al, 1
ja 0x1401b8e4b
cmp rsi, rcx
jae 0x1401b8e82
push rsi
lodsd eax, dword [rsi]
sub al, dl
jne 0x1401b8e51
pop rdi
bswap eax
sub eax, edi
add eax, ebx
stosd dword [rdi], eax
cmp rsi, rcx
jae 0x1401b8e82
lodsb al, byte [rsi]
jmp 0x1401b8e61
pop rbx
pop rsi
sub rsp, 0x28
lea rdi, [rsi + 0x1b4000]
mov eax, dword [rdi]
or eax, eax
je 0x1401b8eeb
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0x1b9b7c]
add rbx, rsi
add rdi, 8
call qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
xchg rbp, rax
mov al, byte [rdi]
inc rdi
or al, al
je 0x1401b8e8f
jns 0x1401b8ec4
movzx rdx, word [rdi]
add rdi, 2
jmp 0x1401b8ece
mov rcx, rdi
mov rdx, rdi
dec eax
repne scasb al, byte [rdi]
mov rcx, rbp
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
or rax, rax
je 0x1401b8ee5
mov qword [rbx], rax
add rbx, 8
jmp 0x1401b8eaf
jmp qword [sym.imp.KERNEL32.DLL_ExitProcess]
add rsp, 0x28
add rdi, 4
lea rbx, [rsi - 4]
xor eax, eax
mov al, byte [rdi]
inc rdi
or eax, eax
je 0x1401b8f2f
cmp al, 0xef
ja 0x1401b8f17
add rbx, rax
mov rax, qword [rbx]
bswap rax
add rax, rsi
mov qword [rbx], rax
jmp 0x1401b8ef7
and al, 0xf
shl eax, 0x10
mov ax, word [rdi]
add rdi, 2
or eax, eax
jne 0x1401b8f06
mov eax, dword [rdi]
add rdi, 4
jmp 0x1401b8f06
mov rbp, qword [sym.imp.KERNEL32.DLL_VirtualProtect]
lea rdi, [rsi - 0x1000]
mov ebx, 0x1000
push rax
mov r9, rsp
mov r8d, 4
mov rdx, rbx
mov rcx, rdi
sub rsp, 0x20
call rbp
lea rax, [rdi + 0x24f]
and byte [rax], 0x7f
and byte [rax + 0x28], 0x7f
lea r9, [rsp + 0x20]
mov r8, qword [r9]
mov rdx, rbx
mov rcx, rdi
call rbp
add rsp, 0x28
pop rbp
pop rdi
pop rsi
pop rbx
lea rax, [rsp - 0x80]
push 0
cmp rsp, rax
jne 0x1401b8f83
sub rsp, 0xffffffffffffff80
jmp 0x1400f3474