Function at 0x180004410
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rax, qword [0x1800e1080]
xor rax, rsp
mov qword [rbp + 0x18], rax
mov rdi, r8
mov qword [rbp - 0x78], r8
mov rsi, rdx
mov qword [rbp - 0x80], rdx
mov rbx, qword [r8]
mov r8, qword [rbx + 8]
mov rdx, rdi
mov rcx, rdi
call fcn.1800054c0
mov qword [rbx + 8], rbx
mov qword [rbx], rbx
mov qword [rbx + 0x10], rbx
xor eax, eax
mov qword [rdi + 8], rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x30], al
lea r8, [rsp + 0x30]
mov edx, 0x1000
lea rcx, [rsp + 0x40]
call fcn.1800035a0
mov dword [rsp + 0x38], 0x1000
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edx, eax
mov r14, qword [rsp + 0x40]
mov qword [rsp + 0x28], r14
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9, rsi
call fcn.180003080
mov ebx, eax
test eax, eax
je 0x180004527
test r14, r14
je 0x1800044fe
mov rdx, qword [rsp + 0x50]
sub rdx, r14
mov rax, r14
cmp rdx, 0x1000
jb 0x1800044f6
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004a44
mov rcx, r14
call fcn.180088a1c
mov eax, ebx
mov rcx, qword [rbp + 0x18]
xor rcx, rsp
call fcn.180088650
mov rbx, qword [rsp + 0x160]
add rsp, 0x120
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, 0x5a4d
cmp word [r14], ax
je 0x180004539
mov ebx, 0x103
jmp 0x1800044c9
movsxd rcx, dword [r14 + 0x3c]
add rcx, r14
cmp rcx, r14
jb 0x180004a07
lea rax, [r14 + 0x1000]
cmp rcx, rax
jae 0x180004a07
cmp dword [rcx], 0x4550
je 0x18000456b
mov ebx, 0x113
jmp 0x1800044c9
mov eax, 0x20b
cmp word [rcx + 0x18], ax
je 0x180004580
mov ebx, 0xcc
jmp 0x1800044c9
mov ebx, dword [rcx + 0x50]
cmp ebx, 0x3200000
jbe 0x180004595
mov ebx, 0x117
jmp 0x1800044c9
mov qword [rsp + 0x48], r14
mov byte [rsp + 0x30], 0
mov rdi, rbx
mov r15, qword [rsp + 0x50]
test ebx, ebx
je 0x1800045ea
mov rax, r15
sub rax, r14
cmp rbx, rax
jbe 0x1800045d4
lea r8, [rsp + 0x30]
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.1800035a0
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x40]
jmp 0x1800045ea
mov r8, rdi
xor edx, edx
mov rcx, r14
call fcn.18008b920
lea rax, [rbx + r14]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x38], ebx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edx, eax
mov qword [rsp + 0x28], r14
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9, rsi
call fcn.180003080
mov ebx, eax
test eax, eax
je 0x18000464c
test r14, r14
je 0x1800044fe
sub r15, r14
mov rax, r14
cmp r15, 0x1000
jb 0x180004644
add r15, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004a44
mov rdx, r15
jmp 0x1800044f6
movsxd rax, dword [r14 + 0x3c]
mov ecx, dword [rax + r14 + 0x88]
test ecx, ecx
jne 0x180004663
mov ebx, 0xcf
jmp 0x18000461c
lea r12, [r14 + rcx]
cmp r12, r14
jb 0x1800049fd
lea rax, [rdi + r14]
cmp r12, rax
jae 0x1800049fd
mov ecx, dword [r12 + 0x20]
add rcx, r14
mov qword [rbp - 0x70], rcx
cmp rcx, r14
jb 0x1800049fd
cmp rcx, rax
jae 0x1800049fd
xor esi, esi
mov r13d, esi
cmp dword [r12 + 0x18], esi
jbe 0x1800049f6
nop dword [rax + rax]
mov esi, r13d
mov edx, dword [rcx + rsi*4]
add rdx, r14
mov edi, dword [r12 + 0x1c]
add rdi, r14
mov ebx, dword [r12 + 0x24]
add rbx, r14
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
movups xmmword [rbp + 8], xmm0
mov r8d, 0x1f
lea rcx, [rbp - 8]
call fcn.180093060
mov byte [rbp + 0x17], 0
movzx eax, word [rbx + rsi*2]
mov ecx, dword [rdi + rax*4]
add rcx, qword [rbp - 0x80]
mov qword [rsp + 0x38], rcx
xor esi, esi
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x30], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x48], sil
lea rax, [rbp - 8]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], sil
jne 0x180004720
lea rdx, [rbp - 8]
lea rcx, [rbp - 0x48]
call fcn.180004e20
nop
cmp qword [rbp - 0x38], 0
jne 0x1800048bd
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x28]
call fcn.180005260
mov rbx, rax
mov r8, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
mov rax, rcx
sub rax, r8
cmp rax, 4
jb 0x1800047f2
lea rax, [r8 + 4]
mov qword [rbx + 0x10], rax
mov rdi, rbx
cmp rcx, 0x10
jb 0x18000477f
mov rdi, qword [rbx]
lea rax, [0x1800cdeb4]
cmp rax, rdi
jbe 0x1800047a8
lea rax, [rdi + r8]
lea rcx, str.sub_
cmp rcx, rax
ja 0x1800047a8
cmp rdi, rcx
jbe 0x1800047ad
mov rsi, rdi
sub rsi, rcx
jmp 0x1800047ad
mov esi, 4
lea rcx, [rdi + 4]
inc r8
mov rdx, rdi
call fcn.18008b270
mov r8, rsi
lea rdx, str.sub_
mov rcx, rdi
call fcn.18008b270
lea rcx, [rdi + rsi]
mov r8d, 4
sub r8, rsi
lea rdx, str.sub_
add rdx, 4
add rdx, rsi
call fcn.18008b270
xor esi, esi
jmp 0x180004817
mov qword [rsp + 0x28], 4
lea rax, str.sub_
mov qword [rsp + 0x20], rax
mov edx, 4
mov rcx, rbx
call fcn.180008b80
mov rbx, rax
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x58], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x18000487a
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000486c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004a4a
call fcn.180088a1c
movups xmm0, xmmword [rbp - 0x58]
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm1
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x1800048bd
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800048b8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004a50
call fcn.180088a1c
mov rdi, qword [rbp - 0x78]
mov rbx, qword [rdi]
mov rax, qword [rbx + 8]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x68], esi
mov rcx, rbx
mov rdx, qword [rsp + 0x38]
cmp byte [rax + 0x19], 0
jne 0x180004909
nop
mov qword [rsp + 0x60], rax
cmp qword [rax + 0x20], rdx
jae 0x1800048f5
mov dword [rsp + 0x68], esi
mov rax, qword [rax + 0x10]
jmp 0x180004903
mov dword [rsp + 0x68], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1800048e0
cmp byte [rcx + 0x19], 0
jne 0x180004915
cmp rdx, qword [rcx + 0x20]
jae 0x180004987
movabs rax, 0x38e38e38e38e38e
cmp qword [rdi + 8], rax
je 0x180004a3e
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], rsi
mov ecx, 0x48
call fcn.180088a24
mov r8, rax
mov rax, qword [rsp + 0x38]
mov qword [r8 + 0x20], rax
mov qword [r8 + 0x28], rsi
mov qword [r8 + 0x38], rsi
mov qword [r8 + 0x40], reloc.WS2_32.dll_ntohs
mov qword [r8], rbx
mov qword [r8 + 8], rbx
mov qword [r8 + 0x10], rbx
mov word [r8 + 0x18], 0
mov qword [rbp - 0x60], rsi
movups xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x60], xmm0
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.1800064d0
mov rcx, rax
add rcx, 0x28
lea rax, [rbp - 0x48]
cmp rcx, rax
je 0x1800049ac
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae rdx, qword [rbp - 0x48]
mov r8, qword [rbp - 0x38]
call fcn.180004e20
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x1800049e3
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800049de
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004a56
call fcn.180088a1c
inc r13d
cmp r13d, dword [r12 + 0x18]
jae 0x1800049f6
mov rcx, qword [rbp - 0x70]
jmp 0x1800046b0
mov ebx, esi
jmp 0x18000461c
mov ebx, 0x113
jmp 0x18000461c
mov ebx, 0x113
mov rdx, qword [rsp + 0x50]
sub rdx, r14
mov rax, r14
cmp rdx, 0x1000
jb 0x1800044f6
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004a44
jmp 0x1800044f6
call fcn.1800038d0
nop
call fcn.180092abc
nop
call fcn.180092abc
nop
call fcn.180092abc
nop
call fcn.180092abc
int3