Function at 0x180006738
Capabilities:
Access peb ldr_data
Inspect section memory permissions
Parse pe header
Resolve function by hash
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
xor ebp, ebp
mov r12d, ebp
mov qword [rsp + 0x20], rbp
mov r13d, ebp
mov qword [rsp + 0x88], rbp
mov r14d, ebp
mov edi, ebp
mov r15d, ebp
call fcn.18000672c
mov rbx, rax
lea r9d, [rbp + 1]
mov eax, 0x5a4d
cmp word [rbx], ax
jne 0x180006796
movsxd rdx, dword [rbx + 0x3c]
lea rcx, [rdx - 0x40]
cmp rcx, 0x3bf
ja 0x180006796
cmp dword [rdx + rbx], 0x4550
je 0x18000679b
sub rbx, r9
jmp 0x180006772
mov rax, qword gs:[0x60]
mov qword [rsp + 0x98], rbx
mov rcx, qword [rax + 0x18]
mov rsi, qword [rcx + 0x20]
mov qword [rsp + 0x90], rsi
test rsi, rsi
je 0x1800069ce
mov r10d, 0xffff
mov rdx, qword [rsi + 0x50]
mov rax, rbp
movzx r8d, word [rsi + 0x48]
movzx ecx, byte [rdx]
ror eax, 0xd
cmp cl, 0x61
jb 0x1800067e6
add rax, 0xffffffffffffffe0
add rax, rcx
add rdx, r9
add r8w, r10w
jne 0x1800067d7
cmp eax, 0x6a4abc5b
jne 0x1800068f5
mov rdx, qword [rsi + 0x20]
mov edi, 5
mov esi, 0xffff
movsxd rax, dword [rdx + 0x3c]
mov ebp, dword [rax + rdx + 0x88]
mov r10d, dword [rbp + rdx + 0x20]
mov r11d, dword [rbp + rdx + 0x24]
add r10, rdx
add r11, rdx
xor ebx, ebx
mov eax, dword [r10]
mov ecx, ebx
lea r8, [rax + rdx]
mov al, byte [r8]
add r8, r9
ror ecx, 0xd
movsx eax, al
add ecx, eax
mov al, byte [r8]
test al, al
jne 0x180006834
cmp ecx, 0xec0e4e8e
je 0x18000686e
cmp ecx, 0x7c0dfcaa
je 0x18000686e
cmp ecx, 0x91afca54
je 0x18000686e
cmp ecx, 0x7946c61b
je 0x18000686e
cmp ecx, 0xef632f2
jne 0x1800068dd
mov r9d, dword [rbp + rdx + 0x1c]
movzx r8d, word [r11]
add r9, rdx
cmp ecx, 0xec0e4e8e
jne 0x18000688b
mov r12d, dword [r9 + r8*4]
add r12, rdx
jmp 0x1800068d4
cmp ecx, 0x7c0dfcaa
jne 0x18000689c
mov r13d, dword [r9 + r8*4]
add r13, rdx
jmp 0x1800068d4
cmp ecx, 0x91afca54
jne 0x1800068ad
mov r14d, dword [r9 + r8*4]
add r14, rdx
jmp 0x1800068d4
cmp ecx, 0x7946c61b
jne 0x1800068c5
mov ebx, dword [r9 + r8*4]
add rbx, rdx
mov qword [rsp + 0x20], rbx
xor ebx, ebx
jmp 0x1800068d4
cmp ecx, 0xef632f2
jne 0x1800068d4
mov r15d, dword [r9 + r8*4]
add r15, rdx
add di, si
mov r9d, 1
add r10, 4
add r11, 2
test di, di
jne 0x180006828
xor ebp, ebp
jmp 0x18000697d
cmp eax, 0x3cfa685d
jne 0x180006993
mov r8, qword [rsi + 0x20]
mov ebx, 1
movzx edi, bx
mov esi, 0xffff
movsxd rax, dword [r8 + 0x3c]
mov r11d, dword [rax + r8 + 0x88]
mov r9d, dword [r11 + r8 + 0x20]
mov r10d, dword [r11 + r8 + 0x24]
add r9, r8
add r10, r8
mov eax, dword [r9]
mov ecx, ebp
lea rdx, [rax + r8]
mov al, byte [rdx]
add rdx, rbx
ror ecx, 0xd
movsx eax, al
add ecx, eax
mov al, byte [rdx]
test al, al
jne 0x180006938
cmp ecx, 0x534c0ab8
jne 0x180006970
mov ecx, dword [r11 + r8 + 0x1c]
add di, si
movzx edx, word [r10]
add rcx, r8
mov ebp, dword [rcx + rdx*4]
add rbp, r8
mov qword [rsp + 0x88], rbp
xor ebp, ebp
add r9, 4
add r10, 2
test di, di
jne 0x18000692d
mov rdi, qword [rsp + 0x88]
mov r10d, 0xffff
mov rsi, qword [rsp + 0x90]
test r12, r12
je 0x1800069ac
test r13, r13
je 0x1800069ac
test r14, r14
je 0x1800069ac
test r15, r15
je 0x1800069ac
test rdi, rdi
jne 0x1800069c6
mov rsi, qword [rsi]
mov r9d, 1
mov qword [rsp + 0x90], rsi
test rsi, rsi
jne 0x1800067cb
mov rbx, qword [rsp + 0x98]
movsxd rdi, dword [rbx + 0x3c]
xor ecx, ecx
add rdi, rbx
mov r8d, 0x3000
mov qword [rsp + 0x90], rdi
lea r9d, [rcx + 4]
mov edx, dword [rdi + 0x50]
call r14
mov edx, dword [rdi + 0x50]
mov rcx, rax
mov rbp, rax
call r15
mov edx, dword [rdi + 0x54]
xor r11d, r11d
mov rcx, rbx
lea esi, [r11 + 1]
test rdx, rdx
je 0x180006a21
mov r8, rbp
sub r8, rbx
mov al, byte [rcx]
mov byte [r8 + rcx], al
add rcx, rsi
sub rdx, rsi
jne 0x180006a13
movzx ecx, word [rdi + 0x14]
movzx r9d, word [rdi + 6]
add rcx, rdi
test r9, r9
je 0x180006a67
add rcx, 0x2c
mov edx, dword [rcx - 8]
sub r9, rsi
mov r8d, dword [rcx]
add rdx, rbp
mov r10d, dword [rcx - 4]
add r8, rbx
test r10, r10
je 0x180006a5e
mov al, byte [r8]
add r8, rsi
mov byte [rdx], al
add rdx, rsi
sub r10, rsi
jne 0x180006a4e
add rcx, 0x28
test r9, r9
jne 0x180006a36
mov ebx, dword [rdi + 0x90]
add rbx, rbp
jmp 0x180006af9
mov ecx, dword [rbx + 0xc]
add rcx, rbp
call r12
xor r11d, r11d
mov r15, rax
test rax, rax
je 0x180006af5
mov esi, dword [rbx]
mov r14d, dword [rbx + 0x10]
add rsi, rbp
add r14, rbp
jmp 0x180006af0
test rsi, rsi
je 0x180006ac8
cmp qword [rsi], r11
jge 0x180006ac8
movsxd rax, dword [r15 + 0x3c]
movzx edx, word [rsi]
mov ecx, dword [rax + r15 + 0x88]
mov eax, dword [rcx + r15 + 0x10]
mov ecx, dword [rcx + r15 + 0x1c]
sub rdx, rax
add rcx, r15
mov eax, dword [rcx + rdx*4]
add rax, r15
jmp 0x180006adb
mov rdx, qword [r14]
mov rcx, r15
add rdx, 2
add rdx, rbp
call r13
xor r11d, r11d
mov qword [r14], rax
lea rax, [rsi + 8]
add r14, 8
test rsi, rsi
cmove rax, rsi
mov rsi, rax
cmp qword [r14], r11
jne 0x180006a97
add rbx, 0x14
cmp dword [rbx], r11d
jne 0x180006a75
mov eax, dword [rdi + 0xb4]
mov r10, rbp
sub r10, qword [rdi + 0x30]
test eax, eax
je 0x180006bda
mov r8d, dword [rdi + 0xb0]
mov ebx, eax
add r8, rbp
test eax, eax
je 0x180006bda
mov edi, 2
mov r14d, 0xfff
mov eax, dword [r8 + 4]
test eax, eax
je 0x180006bd2
mov edx, dword [r8]
lea r11, [rax - 8]
add rdx, rbp
lea rsi, [r8 + 8]
shr r11, 1
je 0x180006bc3
mov r15d, 1
movzx r9d, word [rsi]
sub r11, r15
movzx eax, r9w
movzx ecx, r9w
shr ax, 0xc
cmp ax, 0xa
jne 0x180006b85
and r9, r14
mov rax, qword [r9 + rdx]
lea rcx, [r10 + rax]
mov qword [r9 + rdx], rcx
jmp 0x180006bb7
cmp ax, 3
jne 0x180006b94
and rcx, r14
add dword [rcx + rdx], r10d
jmp 0x180006bb7
cmp ax, r15w
jne 0x180006baa
and rcx, r14
mov rax, r10
shr rax, 0x10
add word [rcx + rdx], ax
jmp 0x180006bb7
cmp ax, di
jne 0x180006bb7
and rcx, r14
add word [rcx + rdx], r10w
add rsi, rdi
test r11, r11
jne 0x180006b5b
mov eax, dword [r8 + 4]
add r8, rax
xor r11d, r11d
sub rbx, rax
jne 0x180006b36
mov rdi, qword [rsp + 0x90]
movzx ebx, word [rdi + 0x14]
movzx esi, word [rdi + 6]
add rbx, 0x3c
test rsi, rsi
je 0x180006cfa
mov r14, qword [rsp + 0x20]
add rbx, rdi
mov edi, 2
mov r15d, 0xc0000000
mov r12d, 0xa0000000
mov r13d, 0x60000000
mov r10d, dword [rbx - 0x18]
dec rsi
add r10, rbp
mov dword [rsp + 0x80], r11d
mov ecx, dword [rbx]
mov r8d, r11d
test ecx, ecx
jns 0x180006c39
mov r8d, 8
mov dword [rsp + 0x80], r8d
mov ecx, dword [rbx]
bt ecx, 0x1e
jae 0x180006c4b
mov dword [rsp + 0x80], edi
mov r8d, edi
mov ecx, dword [rbx]
mov eax, ecx
and eax, r15d
cmp eax, r15d
jne 0x180006c65
mov r8d, 4
mov dword [rsp + 0x80], r8d
mov ecx, dword [rbx]
bt ecx, 0x1d
jae 0x180006c7b
mov r8d, reloc.WS2_32.dll_recv
mov dword [rsp + 0x80], r8d
mov ecx, dword [rbx]
mov eax, ecx
and eax, r12d
cmp eax, r12d
jne 0x180006c95
mov r8d, 0x80
mov dword [rsp + 0x80], r8d
mov ecx, dword [rbx]
mov eax, ecx
and eax, r13d
cmp eax, r13d
jne 0x180006caf
mov r8d, 0x20
mov dword [rsp + 0x80], r8d
mov ecx, dword [rbx]
and ecx, 0xe0000000
mov eax, 0x40
cmp ecx, 0xe0000000
cmove r8d, eax
mov dword [rsp + 0x80], r8d
mov edx, dword [rbx - 0x14]
test rdx, rdx
je 0x180006ce5
lea r9, [rsp + 0x80]
mov rcx, r10
call r14
xor r11d, r11d
add rbx, 0x28
test rsi, rsi
jne 0x180006c0e
mov rdi, qword [rsp + 0x90]
mov ebx, dword [rdi + 0x28]
xor r8d, r8d
xor edx, edx
or rcx, 0xffffffffffffffff
add rbx, rbp
call qword [rsp + 0x88]
xor r8d, r8d
mov rcx, rbp
lea edx, [r8 + 1]
call rbx
mov rax, rbx
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret