Function at 0x1800999c0
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rsi
push r14
sub rsp, 0x58
mov rax, qword [0x1803c1370]
xor rax, rsp
mov qword [rsp + 0x38], rax
xor ebx, ebx
test edx, edx
mov r14, r8
mov eax, ebx
mov ebp, edx
mov qword [r8], rbx
cmovg eax, edx
lea rdx, [rsp + 0x20]
lea r8d, [rbx + 0x18]
movsxd r9, eax
mov rsi, rcx
call fcn.180094050
test eax, eax
jne 0x180099d25
cmp dword [rsp + 0x20], 0x4550
je 0x180099a1a
mov eax, 0xa427
jmp 0x180099d25
mov eax, 0x1000
cmp word [rsp + 0x26], ax
ja 0x18009a0af
mov eax, dword [rsp + 0x34]
mov edx, 0xe0
lea ecx, [rdx + 0x10]
cmp ax, dx
je 0x180099a44
cmp ax, cx
jne 0x18009a0af
test byte [rsp + 0x36], 2
je 0x18009a0af
mov eax, dword [rsp + 0x24]
mov ecx, 0x14c
mov qword [rsp + 0x40], r15
mov r15d, 0x8664
cmp ax, cx
je 0x180099a78
cmp ax, r15w
je 0x180099a78
mov eax, 0xa44d
jmp 0x180099d20
mov rcx, rsi
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0x48], r13
call fcn.1800940f0
mov rcx, rax
call fcn.18009e470
movzx r8d, word [rsp + 0x26]
lea rdx, [r8 + r8*4]
lea ecx, [r8 + 1]
mov rdi, rax
lea r9, [rdx*8 + 0x13b]
movsxd rdx, ecx
and r9, 0xfffffffffffffff0
imul rdx, rdx, 0x58
lea rcx, [rax + r9]
lea rcx, [rdx + rcx + 0x51]
call fcn.18009e490
mov r13, rax
test rax, rax
jne 0x180099ad9
mov eax, 0xa412
jmp 0x180099d13
mov qword [r14], rax
movzx eax, word [rsp + 0x26]
mov qword [rsp + 0x50], r12
lea rcx, [rax + rax*4]
lea r12, [rcx*8 + 0x13b]
mov rcx, rsi
and r12, 0xfffffffffffffff0
add r12, r13
mov qword [r12 + 0x48], r13
mov qword [r12 + 0x40], rsi
mov qword [r12 + 0x38], rbx
movzx eax, word [rsp + 0x26]
mov dword [r12 + 0x18], edi
inc eax
mov dword [r12 + 0x34], eax
imul rax, rax, 0x58
lea rax, [rax + r12 + 0x50]
mov qword [r12 + 0x20], rax
call fcn.1800940f0
mov rcx, qword [r12 + 0x20]
lea r8, [rdi + 1]
mov rdx, rax
call fcn.18009e2d0
mov rcx, qword [r12 + 0x20]
call fcn.18009e4f0
sub edi, eax
mov qword [r12 + 0x28], rax
add edi, dword [r12 + 0x20]
mov dword [r12 + 0x30], edi
movzx eax, word [rsp + 0x24]
cmp eax, 0x14c
je 0x180099b80
cmp eax, r15d
jne 0x180099b9b
mov dword [r12 + 0x10], 0x1b
mov dword [r12 + 0xc], 0x2803
jmp 0x180099b92
mov dword [r12 + reloc.WS2_32.dll_recv], 0x10
mov dword [r12 + 0xc], 0x2402
mov dword [r12 + 0x14], 1
mov dword [r12 + 4], 6
movzx eax, word [rsp + 0x36]
mov ecx, 0x2000
test cx, ax
je 0x180099bbe
and al, 1
neg al
sbb eax, eax
add eax, 6
jmp 0x180099bc9
movzx eax, ax
not eax
and eax, 1
or eax, 2
mov dword [r12 + 8], eax
xor r15d, r15d
test ebp, ebp
mov dword [r12], r15d
mov qword [r13], r12
mov qword [r13 + 8], r15
mov qword [r13 + 0x10], r15
mov dword [r13 + 0x18], r15d
mov dword [r13 + 0x1c], 0xffffffff
mov ecx, r15d
lea rdx, [r13 + 0x3c]
cmovns ecx, ebp
mov dword [r13 + 0x20], ecx
mov eax, dword [rsp + 0x20]
mov dword [r13 + 0x24], eax
mov eax, dword [rsp + 0x24]
lea edi, [rcx + 0x18]
mov dword [r13 + 0x28], eax
mov eax, dword [rsp + 0x28]
movsxd r9, edi
mov dword [r13 + 0x2c], eax
mov eax, dword [rsp + 0x2c]
mov rcx, rsi
mov dword [r13 + 0x30], eax
mov eax, dword [rsp + 0x30]
mov dword [r13 + 0x34], eax
mov eax, dword [rsp + 0x34]
movzx r8d, ax
mov dword [r13 + 0x38], eax
call fcn.180094050
test eax, eax
jne 0x180099d0e
mov eax, 0xf0
cmp word [r13 + 0x38], ax
je 0x180099cbf
lea rcx, [r13 + 0x118]
lea r8, [r13 + 0x94]
lea rdx, [r13 + 0x128]
cmp rcx, r8
jb 0x180099c7f
sub rdx, rcx
mov eax, dword [rcx]
sub rcx, 4
mov dword [rdx + rcx + 4], eax
cmp rcx, r8
jae 0x180099c70
mov eax, dword [r13 + 0x90]
mov qword [r13 + 0x9c], rax
mov eax, dword [r13 + 0x8c]
mov qword [r13 + 0x94], rax
mov eax, dword [r13 + 0x88]
mov qword [r13 + 0x8c], rax
mov eax, dword [r13 + 0x84]
mov qword [r13 + 0x84], rax
mov eax, dword [r13 + 0x58]
mov qword [r13 + 0x54], rax
movzx eax, word [r13 + 0x38]
lea rdx, [r13 + 0x12c]
mov rcx, rsi
add edi, eax
movzx eax, word [r13 + 0x2a]
lea r8, [rax + rax*4]
movsxd r9, edi
shl r8, 3
call fcn.180094050
test eax, eax
jne 0x180099d0e
mov eax, 0x10b
mov edx, 0xe0
mov ecx, 0x20b
cmp word [r13 + 0x38], dx
cmove ecx, eax
movzx eax, word [r13 + 0x3c]
cmp eax, ecx
je 0x180099d3c
mov eax, 0xa44f
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x98]
mov r15, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.180227610
add rsp, 0x58
pop r14
pop rsi
pop rbp
pop rbx
ret
cmp dword [r12 + 0x34], 1
mov qword [r12 + 0x50], r15
mov dword [r12 + 0x60], 0xa
mov dword [r12 + 0x6c], 2
lea rax, str.TheHeaders
mov qword [r12 + 0x58], rax
mov eax, dword [r13 + 0x78]
mov qword [r12 + 0x70], rax
mov eax, dword [r13 + 0x5c]
mov qword [r12 + 0x78], rax
mov rax, qword [r13 + 0x54]
mov dword [r12 + 0x88], r15d
mov qword [r12 + 0x80], rax
mov eax, dword [r13 + 0x78]
mov qword [r12 + 0x90], r15
mov dword [r12 + 0x8c], eax
jbe 0x180099daa
mov eax, dword [r13 + 0x138]
jmp 0x180099dae
mov eax, dword [r13 + 0x78]
mov qword [r12 + 0x98], rax
mov qword [r12 + 0xa0], r15
mov r9d, r15d
cmp r15w, word [r13 + 0x2a]
jae 0x18009a0a5
lea r8, [r13 + 0x160]
lea rdx, [r12 + 0xf8]
nop dword [rax + rax]
lea rax, [r8 - 0x34]
mov qword [rdx - 0x50], r15
mov qword [rdx], r15
mov qword [rdx - 0x3c], r15
mov ecx, 8
mov qword [rdx - 0x48], rax
nop dword [rax + rax]
movzx eax, byte [r8 + rcx - 0x35]
cmp al, 0x20
je 0x180099e0e
test al, al
jne 0x180099e13
dec rcx
jne 0x180099e00
mov dword [rdx - 0x40], ecx
test byte [r8 - 0x10], 2
jne 0x180099e59
mov eax, dword [r8 - 0x2c]
mov qword [rdx - 0x30], rax
mov eax, dword [r8 - 0x28]
add rax, qword [r13 + 0x54]
mov qword [rdx - 0x20], rax
mov eax, dword [r8 - 0x28]
mov qword [rdx - 0x10], rax
mov eax, dword [r8 - 0x2c]
mov qword [rdx - 8], rax
lea eax, [r9 + 2]
cmp eax, dword [r12 + 0x34]
jae 0x180099e6d
mov eax, dword [r8]
sub eax, dword [r8 - 0x28]
mov qword [rdx - 8], rax
jmp 0x180099e6d
mov qword [rdx - 0x30], r15
mov qword [rdx - 8], r15
mov qword [rdx - 0x20], 0xffffffffffffffff
mov qword [rdx - 0x10], r15
mov eax, dword [r8 - 0x20]
mov rcx, qword [rdx - 8]
mov dword [rdx - 0x18], eax
movsxd rax, dword [r8 - 0x24]
mov dword [rdx - 0x14], eax
test rcx, rcx
je 0x180099e8c
cmp rax, rcx
jbe 0x180099e8c
mov dword [rdx - 0x14], ecx
mov eax, dword [r8 - 0x10]
and eax, 0xf0000000
cmp eax, 0x60000000
ja 0x180099eec
je 0x180099f1a
cmp eax, 0x30000000
ja 0x180099ed5
je 0x180099ebd
test eax, eax
je 0x180099ec9
cmp eax, 0x10000000
je 0x180099ec9
cmp eax, 0x20000000
jne 0x180099f58
mov dword [rdx - 0x34], 5
jmp 0x180099f58
mov dword [rdx - 0x34], 1
jmp 0x180099f58
cmp eax, 0x40000000
je 0x180099ee3
cmp eax, 0x50000000
jne 0x180099f58
mov dword [rdx - 0x34], 2
jmp 0x180099f58
cmp eax, 0xb0000000
ja 0x180099f23
je 0x180099f3f
cmp eax, 0x70000000
je 0x180099f1a
cmp eax, 0x80000000
je 0x180099f51
cmp eax, 0x90000000
je 0x180099f48
cmp eax, 0xa0000000
jne 0x180099f58
mov dword [rdx - 0x34], 8
jmp 0x180099f58
mov dword [rdx - 0x34], 6
jmp 0x180099f58
cmp eax, 0xc0000000
je 0x180099f51
cmp eax, 0xd0000000
je 0x180099f48
cmp eax, 0xe0000000
je 0x180099f11
cmp eax, 0xf0000000
jne 0x180099f58
mov dword [rdx - 0x34], 7
jmp 0x180099f58
mov dword [rdx - 0x34], 3
jmp 0x180099f58
mov dword [rdx - 0x34], 4
mov eax, dword [r8 - 0x10]
and eax, 0xf00000
cmp eax, 0x700000
ja 0x18009a00f
je 0x18009a005
cmp eax, 0x300000
ja 0x180099fc5
je 0x180099fb8
test eax, eax
je 0x180099fab
cmp eax, 0x100000
je 0x180099f9e
cmp eax, 0x200000
jne 0x18009a06a
mov qword [rdx - 0x28], 2
jmp 0x18009a08c
mov qword [rdx - 0x28], 1
jmp 0x18009a08c
mov eax, dword [r13 + 0x5c]
mov qword [rdx - 0x28], rax
jmp 0x18009a08c
mov qword [rdx - 0x28], 4
jmp 0x18009a08c
cmp eax, 0x400000
je 0x180099ff8
cmp eax, 0x500000
je 0x180099feb
cmp eax, 0x600000
jne 0x18009a06a
mov qword [rdx - 0x28], 0x20
jmp 0x18009a08c
mov qword [rdx - 0x28], 0x10
jmp 0x18009a08c
mov qword [rdx - 0x28], 8
jmp 0x18009a08c
mov qword [rdx - 0x28], 0x40
jmp 0x18009a08c
cmp eax, 0xb00000
ja 0x18009a055
je 0x18009a04b
cmp eax, 0x800000
je 0x18009a041
cmp eax, 0x900000
je 0x18009a037
cmp eax, 0xa00000
jne 0x18009a06a
mov qword [rdx - 0x28], 0x200
jmp 0x18009a08c
mov qword [rdx - 0x28], 0x100
jmp 0x18009a08c
mov qword [rdx - 0x28], 0x80
jmp 0x18009a08c
mov qword [rdx - 0x28], 0x400
jmp 0x18009a08c
cmp eax, 0xc00000
je 0x18009a084
cmp eax, 0xd00000
je 0x18009a07a
cmp eax, 0xe00000
je 0x18009a070
mov qword [rdx - 0x28], r15
jmp 0x18009a08c
mov qword [rdx - 0x28], 0x2000
jmp 0x18009a08c
mov qword [rdx - 0x28], 0x1000
jmp 0x18009a08c
mov qword [rdx - 0x28], 0x800
movzx eax, word [r13 + 0x2a]
inc r9d
add rdx, 0x58
add r8, 0x28
cmp r9d, eax
jb 0x180099de0
mov qword [r14], r13
xor eax, eax
jmp 0x180099d0e
mov eax, 0xa44e
jmp 0x180099d25