Function at 0x1801af480
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
sub rsp, 0x20
cmp byte [rdx], 0x31
mov rbx, rcx
jne 0x1801af68a
test rcx, rcx
jne 0x1801af4a0
lea eax, [rcx - 2]
add rsp, 0x20
pop rbx
ret
mov rax, qword [rcx + 0x30]
mov qword [rsp + 0x30], rsi
xor esi, esi
mov qword [rsp + 0x38], rdi
mov qword [rcx + 0x20], rsi
test rax, rax
jne 0x1801af4cc
lea rax, [0x1801b1d40]
mov qword [rcx + 0x40], rsi
mov qword [rcx + 0x30], rax
mov ecx, esi
jmp 0x1801af4d0
mov rcx, qword [rcx + 0x40]
cmp qword [rbx + 0x38], rsi
jne 0x1801af4e1
lea rdx, [0x1801b1d50]
mov qword [rbx + 0x38], rdx
mov edx, 1
mov r8d, 0x1720
call rax
mov rdi, rax
test rax, rax
je 0x1801af675
mov qword [rbx + 0x28], rax
mov edx, 0x8000
mov qword [rax], rbx
mov r8d, 2
mov dword [rax + 8], 0x2a
mov dword [rax + 0x2c], 2
mov qword [rax + 0x30], rsi
mov dword [rax + 0x48], InitCommonControls
mov dword [rax + 0x44], 0x8000
mov dword [rax + 0x4c], 0x7fff
mov dword [rax + 0x78], InitCommonControls
mov dword [rax + 0x74], 0x800
mov dword [rax + 0x7c], 0x7ff
mov dword [rax + 0x80], 4
mov rcx, qword [rbx + 0x40]
call qword [rbx + 0x30]
mov edx, dword [rdi + 0x44]
mov r8d, 2
mov qword [rdi + 0x50], rax
mov rcx, qword [rbx + 0x40]
call qword [rbx + 0x30]
mov edx, dword [rdi + 0x74]
mov r8d, 2
mov qword [rdi + 0x60], rax
mov rcx, qword [rbx + 0x40]
call qword [rbx + 0x30]
mov dword [rdi + 0x1718], esi
mov edx, 0x400
mov qword [rdi + 0x68], rax
mov r8d, 4
mov dword [rdi + 0x16f0], 0x400
mov rcx, qword [rbx + 0x40]
call qword [rbx + 0x30]
mov rdx, rax
mov qword [rdi + 0x10], rax
mov eax, dword [rdi + 0x16f0]
lea ecx, [rax*4]
mov dword [rdi + 0x18], ecx
cmp qword [rdi + 0x50], rsi
je 0x1801af619
cmp qword [rdi + 0x60], rsi
je 0x1801af619
cmp qword [rdi + 0x68], rsi
je 0x1801af619
test rdx, rdx
je 0x1801af619
mov ecx, eax
mov qword [rdi + 0xac], 6
shr rax, 1
mov byte [rdi + 0x3c], 8
lea rax, [rdx + rax*2]
mov qword [rdi + 0x16f8], rax
lea rax, [rdx + rcx*2]
add rcx, rax
mov qword [rdi + 0x16e8], rcx
mov rcx, rbx
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
jmp 0x1801af6a0
mov rax, qword [str.insufficient_memory]
mov dword [rdi + 8], 0x29a
mov qword [rbx + 0x20], rax
cmp qword [rbx + 0x30], rsi
je 0x1801af675
cmp qword [rbx + 0x38], rsi
je 0x1801af675
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x1801af675
cmp qword [rax], rbx
jne 0x1801af675
mov ecx, dword [rax + 8]
lea eax, [rcx - 0x2a]
cmp eax, 0x3d
ja 0x1801af660
movabs rdx, 0x2002000088008001
bt rdx, rax
jb 0x1801af66d
cmp ecx, 0x71
je 0x1801af66d
cmp ecx, 0x29a
jne 0x1801af675
mov rcx, rbx
call fcn.1801b03a0
mov rsi, qword [rsp + 0x30]
mov eax, 0xfffffffc
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
ret
mov eax, 0xfffffffa
add rsp, 0x20
pop rbx
ret
push rbx
sub rsp, 0x20
mov rbx, rcx
test rcx, rcx
je 0x1801af876
cmp qword [rcx + 0x30], 0
je 0x1801af876
cmp qword [rcx + 0x38], 0
je 0x1801af876
mov rcx, qword [rcx + 0x28]
test rcx, rcx
je 0x1801af876
cmp qword [rcx], rbx
jne 0x1801af876
mov edx, dword [rcx + 8]
lea eax, [rdx - 0x2a]
cmp eax, 0x3d
ja 0x1801af6f9
movabs r8, 0x2002000088008001
bt r8, rax
jb 0x1801af70a
cmp edx, 0x71
je 0x1801af70a
cmp edx, 0x29a
jne 0x1801af876
mov dword [rbx + 0x48], 2
mov qword [rsp + 0x30], rdi
xor edi, edi
mov dword [rbx + 0x1c], edi
mov dword [rbx + 0xc], edi
mov qword [rbx + 0x20], rdi
mov rax, qword [rcx + 0x10]
mov edx, dword [rcx + 0x2c]
mov qword [rcx + 0x20], rax
mov dword [rcx + 0x28], edi
test edx, edx
jns 0x1801af739
neg edx
mov dword [rcx + 0x2c], edx
cmp edx, 2
jne 0x1801af743
lea eax, [rdx + 0x37]
jmp 0x1801af754
test edx, edx
mov eax, WSAStartup
mov r8d, 0x2a
cmovne eax, r8d
mov dword [rcx + 8], eax
cmp edx, 2
mov eax, edi
setne al
mov dword [rbx + 0x4c], eax
lea rax, [rcx + 0xbc]
mov qword [rcx + 0xb40], rax
lea rax, [0x180268148]
mov qword [rcx + 0xb50], rax
lea rax, [rcx + 0x9b0]
mov qword [rcx + 0xb58], rax
lea rax, [0x18026afa8]
mov qword [rcx + 0xb68], rax
lea rax, [rcx + 0xaa4]
mov qword [rcx + 0xb70], rax
lea rax, [0x180268a18]
mov qword [rcx + 0xb80], rax
mov dword [rcx + 0x40], edi
mov word [rcx + 0x1710], di
mov dword [rcx + 0x1714], edi
call fcn.1801b2d10
mov rbx, qword [rbx + 0x28]
xor edx, edx
mov eax, dword [rbx + 0x44]
mov ecx, dword [rbx + 0x74]
add eax, eax
mov dword [rbx + 0x58], eax
dec ecx
mov rax, qword [rbx + 0x68]
mov word [rax + rcx*2], di
mov r8d, dword [rbx + 0x74]
mov rcx, qword [rbx + 0x68]
dec r8d
add r8, r8
call sub.VCRUNTIME140.dll_memset
movsxd rdx, dword [rbx + 0xac]
lea r8, [0x180268a40]
add rdx, rdx
movzx eax, word [r8 + rdx*8 + 2]
mov dword [rbx + 0xa8], eax
movzx eax, word [r8 + rdx*8]
mov dword [rbx + 0xb4], eax
mov eax, edi
movzx ecx, word [r8 + rdx*8 + 4]
mov dword [rbx + 0xb8], ecx
movzx ecx, word [r8 + rdx*8 + 6]
mov qword [rbx + 0x90], rdi
mov dword [rbx + 0x84], edi
mov dword [rbx + 0x9c], edi
mov dword [rbx + 0x170c], edi
mov dword [rbx + 0x70], edi
mov rdi, qword [rsp + 0x30]
mov dword [rbx + 0xa4], ecx
mov dword [rbx + 0xa0], 2
mov dword [rbx + 0x88], 2
add rsp, 0x20
pop rbx
ret
mov eax, 0xfffffffe
add rsp, 0x20
pop rbx
ret