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

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x60
mov rbp, qword [rcx]
xor r14d, r14d
mov qword [rsp + 0x50], rbp
mov r13d, r9d
mov dword [rsp + 0x4c], r14d
mov rbx, r8
mov dword [rsp + 0x48], r14d
mov rsi, rdx
mov rdi, rcx
mov r12d, r14d
test r8, r8
jne 0x180293ffd
xor eax, eax
add rsp, 0x60
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp qword [rcx + 0x190], r12
jne 0x180293fec
cmp qword [r8 + 0x68], r12
jne 0x180293fec
call fcn.1802614f0
test rax, rax
jne 0x180293fec
cmp dword [rsi + 0x54], r12d
jne 0x180293fec
cmp r13d, 0xb
jne 0x18029403a
cmp word [rsi + 0x44], r12w
jl 0x180294034
movzx r13d, byte [rsi + 0x4e]
cmp r13d, 0xb
jne 0x18029403a
mov r13d, 2
mov r8, qword [rbx + 0x28]
cmp dword [r8], 1
jne 0x180293fec
cmp qword [r8 + 0x30], r12
jne 0x180293fec
cmp qword [rbx + 0x30], r12
jne 0x180293fec
cmp qword [rbx + 0x48], r12
jne 0x180293fec
cmp qword [rbx + 0x38], r12
jne 0x180293fec
cmp qword [rbx + 0x60], r12
jne 0x180293fec
cmp qword [rbx + 0x50], r12
jne 0x180293fec
test byte [rbx + 4], 1
jne 0x180293fec
mov rax, qword [rbx + 0x20]
cmp dword [rax], 1
jne 0x180293fec
mov rax, qword [rax + 8]
cmp byte [rax], 0xb1
jne 0x180293fec
add r8, 8
xor edx, edx
mov rcx, rdi
call fcn.180250990
mov qword [rsp + 0x40], rax
mov rbx, rax
test rax, rax
je 0x180293fec
mov eax, dword [rsi + 0x38]
cmp dword [rbx + 0x38], eax
jne 0x1802940c1
mov rax, qword [rsi + 0x70]
cmp qword [rbx + 0x70], rax
je 0x180293fec
mov ecx, dword [rsi + 0x40]
mov eax, dword [rbx + 0x40]
shr ecx, 7
shr eax, 7
not ecx
not eax
xor ecx, eax
test cl, 1
jne 0x180293fec
cmp dword [rbx + 0x54], r12d
jne 0x180293fec
cmp qword [rbx + 0x18], r12
jne 0x180293fec
movzx ecx, word [rsi + 0x46]
cmp cx, word [rbx + 0x46]
jne 0x180293fec
movzx eax, word [rbx + 0x44]
cmp word [rsi + 0x44], ax
jne 0x180293fec
mov qword [rsp + 0xa8], r15
mov r15d, r14d
cmp r14w, cx
jge 0x18029422c
mov rbp, r14
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsp + 0x40]
mov rbx, qword [rsi + 8]
add rbx, r14
mov rdi, qword [rax + 8]
add rdi, r14
movzx ecx, word [rbx + 0x1c]
and cx, 0x60
movzx eax, word [rdi + 0x1c]
and ax, 0x60
cmp cx, ax
jne 0x1802949cb
test cx, cx
je 0x18029417c
mov r8, qword [rbx + 8]
or r9d, 0xffffffff
mov rdx, qword [rdi + 8]
xor ecx, ecx
call fcn.180243530
test eax, eax
jne 0x1802949cb
movzx eax, byte [rdi + 0x19]
cmp byte [rbx + 0x19], al
jne 0x1802949cb
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.1801ec270
test eax, eax
jne 0x1802949cb
cmp byte [rbx + 0x18], r12b
je 0x1802941ae
cmp byte [rdi + 0x18], r12b
je 0x1802949cb
test byte [rbx + 0x1c], 0x60
jne 0x18029420b
test rbp, rbp
jle 0x18029420b
mov r8, qword [rdi + 8]
xor eax, eax
mov rdx, qword [rbx + 8]
test r8, r8
mov ecx, eax
sete cl
test rdx, rdx
sete al
cmp eax, ecx
jne 0x1802949cb
test rdx, rdx
je 0x18029420b
mov rax, qword [rdx + 8]
mov r8, qword [r8 + 8]
sub r8, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180294203
inc rax
test ecx, ecx
jne 0x1802941f0
test edx, edx
jne 0x1802949cb
movsx eax, word [rsi + 0x46]
inc r15d
inc rbp
add r14, 0x20
cmp r15d, eax
jl 0x180294130
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
mov rdi, qword [rsi + 0x10]
mov eax, 1
test rdi, rdi
je 0x1802942b8
nop word [rax + rax]
cmp byte [rdi + 0x62], 0
mov rbx, qword [rbx + 0x10]
cmovne r12d, eax
test rbx, rbx
je 0x1802949cb
mov rdx, rbx
mov rcx, rdi
call fcn.180293e90
test eax, eax
jne 0x180294272
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x180294255
jmp 0x1802949d4
mov eax, dword [rdi + 0x58]
cmp dword [rbx + 0x58], eax
mov rbx, qword [rsp + 0x40]
jne 0x1802942a8
mov rax, qword [rsi + 0x70]
cmp qword [rbx + 0x70], rax
jne 0x1802942a8
mov rax, qword [0x1803fa968]
test rax, rax
je 0x1802949cb
mov ecx, 0x19b
call rax
test eax, eax
je 0x1802949cb
mov rdi, qword [rdi + 0x28]
test rdi, rdi
je 0x1802942b8
mov eax, 1
jmp 0x180294240
mov rdx, qword [rsi + 0x30]
test rdx, rdx
je 0x1802942d6
mov rcx, qword [rbx + 0x30]
or r8d, 0xffffffff
call fcn.180244b50
test eax, eax
jne 0x1802949cb
mov rax, qword [rbp + 0x30]
bt rax, 0xe
jae 0x1802942ec
cmp qword [rsi + 0x20], 0
jne 0x1802949cb
movabs rcx, 0x100000000
test rcx, rax
jne 0x1802949cb
mov rdx, qword [rbx + 0x70]
mov rcx, rbp
call fcn.18025bbb0
mov r15, qword [rsp + 0xa0]
mov edi, eax
mov dword [rsp + 0x3c], eax
mov r14, qword [r15 + 0x10]
test r14, r14
jne 0x180294344
cmp qword [r15 + 0xa0], r14
jne 0x180294339
mov rax, qword [r15]
test byte [rax + 0x5c], 8
jne 0x180294339
mov byte [r15 + 0x23], 1
mov rcx, r15
call fcn.1802666c0
mov r14, rax
mov rcx, qword [r15 + 0xa0]
mov rdx, r15
test rcx, rcx
cmovne rdx, rcx
mov ecx, dword [rdx + 0x74]
bt ecx, edi
jb 0x180294370
bts ecx, edi
mov dword [rdx + 0x74], ecx
cmp edi, 1
jne 0x180294370
mov rcx, rdx
call fcn.180251c90
mov r8d, dword [r15 + 0x34]
mov rcx, r15
mov edx, dword [rsp + 0xc0]
mov dword [rsp + 0x30], r8d
lea edi, [r8 + 1]
mov r8, rsi
lea eax, [rdi + 1]
mov dword [rsp + 0x38], edi
mov dword [r15 + 0x34], eax
call fcn.180204c50
movzx ecx, byte [r15 + 0x1f]
mov ebp, eax
test cl, cl
jne 0x1802943af
inc dword [r15 + 0x38]
mov ecx, dword [r15 + 0x38]
jmp 0x1802943c0
dec cl
movzx eax, cl
mov byte [r15 + 0x1f], al
mov ecx, dword [r15 + rax*4 + 0xd4]
movzx eax, byte [r15 + 0x1f]
mov dword [rsp + 0x34], ecx
test al, al
jne 0x1802943d7
inc dword [r15 + 0x38]
mov eax, dword [r15 + 0x38]
jmp 0x1802943e8
dec al
movzx eax, al
mov byte [r15 + 0x1f], al
mov eax, dword [r15 + rax*4 + 0xd4]
mov r8d, dword [rsp + 0xc0]
mov r9, rsi
mov edx, edi
mov dword [rsp + 0xb0], eax
mov rcx, r15
mov dword [rsp + 0x20], 0x61
call fcn.1802518a0
mov rdi, qword [rsp + 0x50]
test byte [rdi + 0x2c], 4
jne 0x18029446e
cmp word [rsi + 0x44], 0
jge 0x180294425
cmp qword [rsi + 0x10], 0
jne 0x180294433
test r12d, r12d
jne 0x180294433
lea eax, [r13 - 1]
cmp eax, 1
jbe 0x18029446e
mov r12d, dword [rsp + 0x38]
xor r9d, r9d
mov r8d, r12d
mov rcx, r14
lea edx, [r9 + 0x25]
call fcn.180265bc0
mov edx, VariantTimeToDosDateTime
mov rcx, r14
mov ebx, eax
call fcn.180265ae0
mov edx, ebx
mov dword [rsp + 0x4c], eax
mov rcx, r14
call fcn.18026f6d0
mov rbx, qword [rsp + 0x40]
jmp 0x180294473
mov r12d, dword [rsp + 0x38]
test byte [rbx + 0x40], 0x80
mov rcx, r15
jne 0x1802946b9
mov r8d, dword [rsp + 0x3c]
mov r9, rbx
mov ebx, dword [rsp + 0x30]
mov edx, ebx
mov dword [rsp + 0x20], 0x60
call fcn.1802518a0
xor r9d, r9d
mov r8d, ebx
mov rcx, r14
lea edx, [r9 + 0x25]
call fcn.180265bc0
cmp word [rsi + 0x44], 0
mov dword [rsp + 0x48], eax
jl 0x180294520
mov r9d, dword [rsp + 0xb0]
mov r8d, ebx
mov edx, 0x80
mov rcx, r14
call fcn.180265bc0
xor r9d, r9d
mov edi, eax
mov eax, dword [rsp + 0xb0]
mov r8d, r12d
mov rcx, r14
mov dword [rsp + 0x20], eax
lea edx, [r9 + 0x20]
call fcn.180265c30
mov r8, rsi
mov edx, r13d
mov rcx, r15
mov ebx, eax
call fcn.18025a890
mov edx, ebx
mov rcx, r14
call fcn.18026f6d0
mov r13d, dword [rsp + 0xb0]
mov edx, ebp
mov r8d, r13d
mov rcx, r15
call fcn.180204d50
jmp 0x180294554
cmp qword [rsi + 0x10], 0
jne 0x180294537
test byte [rdi + 0x2c], 8
jne 0x180294537
mov r8d, r12d
mov edx, 0x79
jmp 0x18029453f
mov r8d, ebx
mov edx, 0x80
mov r13d, dword [rsp + 0xb0]
mov rcx, r14
mov r9d, r13d
call fcn.180265bc0
mov edi, eax
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 4
je 0x180294576
mov r8d, r12d
mov edx, 0x82
mov rcx, r14
call fcn.180265b50
mov ebx, reloc.OLEAUT32.dll_SafeArrayGetElement
jmp 0x18029457b
mov ebx, 0x29
mov ebp, dword [rsp + 0x34]
mov eax, 1
mov r8d, dword [rsp + 0x30]
mov r9d, ebp
mov rcx, r14
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x7e]
call fcn.180265c30
movsxd rdx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], edx
jg 0x1802945c7
mov r9d, ebp
mov dword [rsp + 0x20], r13d
mov r8d, r12d
mov edx, 0x7a
mov rcx, r14
call fcn.18021bc70
mov edx, eax
jmp 0x1802945f9
lea rcx, [rdx + rdx*2]
xor r8d, r8d
lea eax, [rdx + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x7a
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r8
mov rcx, qword [r14]
cmp byte [rcx + 0x61], 0
je 0x180294611
mov r8, rsi
mov edx, 0xfffffffa
call fcn.1802186e0
jmp 0x180294652
test edx, edx
jns 0x18029461e
mov edx, dword [r14 + 0x90]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x18029464a
mov r9d, 0xfffffffa
mov r8, rsi
mov rcx, r14
call fcn.180282640
jmp 0x180294652
mov qword [rdx + 0x10], rsi
mov byte [rdx + 1], 0xfa
mov eax, dword [r14 + 0x90]
test eax, eax
jle 0x180294672
dec eax
movsxd rcx, eax
mov rax, qword [r14 + 0x88]
lea rdx, [rcx + rcx*2]
mov word [rax + rdx*8 + 2], bx
mov r9d, edi
mov edx, 5
mov edi, dword [rsp + 0x30]
mov rcx, r14
mov r8d, edi
call fcn.180265bc0
xor r9d, r9d
mov r8d, edi
mov rcx, r14
lea edx, [r9 + 0x74]
call fcn.180265bc0
xor r9d, r9d
mov r8d, r12d
mov rcx, r14
lea edx, [r9 + 0x74]
call fcn.180265bc0
mov rbx, qword [rsp + 0x40]
mov r13d, dword [rsp + 0x3c]
jmp 0x1802946f7
mov rax, qword [rsi]
mov r9b, 1
mov r8d, dword [rsi + 0x38]
mov edx, dword [rsp + 0xc0]
mov qword [rsp + 0x20], rax
call fcn.180260ec0
mov rax, qword [rbx]
xor r9d, r9d
mov r13d, dword [rsp + 0x3c]
mov rcx, r15
mov r8d, dword [rbx + 0x38]
mov edx, r13d
mov qword [rsp + 0x20], rax
call fcn.180260ec0
mov edi, dword [rsp + 0x30]
mov rbp, qword [rsi + 0x10]
mov esi, dword [rsp + 0x34]
test rbp, rbp
je 0x180294932
nop dword [rax + rax]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x180294738
nop dword [rax]
mov rdx, rbx
mov rcx, rbp
call fcn.180293e90
test eax, eax
jne 0x180294738
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x180294720
mov r9d, dword [rbx + 0x58]
mov r8d, edi
mov edx, 0x60
mov dword [rsp + 0x20], r13d
mov rcx, r14
call fcn.180265c30
mov rdx, rbx
mov rcx, r15
call fcn.1802727d0
mov eax, dword [rsp + 0xc0]
mov r8d, r12d
mov r9d, dword [rbp + 0x58]
mov edx, 0x61
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.180265c30
mov rdx, rbp
mov rcx, r15
call fcn.1802727d0
mov eax, dword [r14 + 0x90]
test eax, eax
jle 0x1802947ab
dec eax
movsxd rcx, eax
mov rax, qword [r14 + 0x88]
lea rdx, [rcx + rcx*2]
mov ecx, 1
mov word [rax + rdx*8 + 2], cx
xor r9d, r9d
mov r8d, edi
mov rcx, r14
lea edx, [r9 + 0x25]
call fcn.180265bc0
mov r13d, eax
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 4
je 0x18029486c
movzx r15d, word [rbx + 0x60]
xor eax, eax
mov edi, eax
mov r11d, eax
test r15d, r15d
je 0x180294826
mov r10, qword [rbx + 0x40]
lea r12, [0x180067458]
nop dword [rax + rax]
mov r9, qword [r10]
test r9, r9
je 0x18029481f
mov r8, r12
sub r9, r12
nop
movzx eax, byte [r8]
movzx ecx, byte [r9 + r8]
cmp eax, ecx
jne 0x180294854
test eax, eax
jne 0x180294867
inc edi
inc r11
add r10, 8
cmp r11, r15
jl 0x1802947f0
mov r12d, dword [rsp + 0x38]
xor eax, eax
mov ebx, eax
cmp edi, r15d
jne 0x180294842
mov r8d, r12d
mov edx, 0x82
mov rcx, r14
call fcn.180265b50
mov ebx, reloc.WSOCK32.dll_recv
mov r15, qword [rsp + 0xa0]
mov edi, dword [rsp + 0x30]
mov esi, dword [rsp + 0x34]
jmp 0x180294887
lea rbx, [0x180068430]
movzx edx, byte [rcx + rbx]
movzx eax, byte [rax + rbx]
cmp eax, edx
jne 0x18029481f
inc r8
jmp 0x180294800
mov rax, qword [rsp + 0x40]
xor ecx, ecx
mov ebx, ecx
test byte [rax + 0x40], 0x80
je 0x180294887
mov eax, dword [rbp + 0x64]
and al, 3
cmp al, 2
jne 0x180294887
lea ebx, [rcx + 1]
mov eax, 1
mov r9d, esi
mov r8d, edi
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x7e]
call fcn.180265c30
mov r9d, esi
mov r8d, r12d
mov edx, 0x83
mov rcx, r14
call fcn.180265bc0
mov eax, dword [r14 + 0x90]
test eax, eax
jle 0x1802948d8
or bx, 8
dec eax
movsxd rcx, eax
mov rax, qword [r14 + 0x88]
lea rdx, [rcx + rcx*2]
mov word [rax + rdx*8 + 2], bx
lea r9d, [r13 + 1]
mov r8d, edi
mov edx, 5
mov rcx, r14
call fcn.180265bc0
mov edx, r13d
mov rcx, r14
call fcn.18026f6d0
xor r9d, r9d
mov r8d, edi
mov rcx, r14
lea edx, [r9 + 0x74]
call fcn.180265bc0
xor r9d, r9d
mov r8d, r12d
mov rcx, r14
lea edx, [r9 + 0x74]
call fcn.180265bc0
mov rbp, qword [rbp + 0x28]
mov rbx, qword [rsp + 0x40]
mov r13d, dword [rsp + 0x3c]
test rbp, rbp
jne 0x180294710
mov eax, dword [rsp + 0x48]
test eax, eax
je 0x180294944
mov edx, eax
mov rcx, r14
call fcn.18026f6d0
mov ecx, dword [rsp + 0xb0]
test ecx, ecx
je 0x180294967
movzx eax, byte [r15 + 0x1f]
cmp al, 8
jae 0x180294967
movzx eax, al
mov dword [r15 + rax*4 + 0xd4], ecx
inc byte [r15 + 0x1f]
test esi, esi
je 0x180294983
movzx eax, byte [r15 + 0x1f]
cmp al, 8
jae 0x180294983
movzx eax, al
mov dword [r15 + rax*4 + 0xd4], esi
inc byte [r15 + 0x1f]
mov ebx, dword [rsp + 0x4c]
test ebx, ebx
je 0x1802949cf
cmp qword [r15 + 0x98], 0
je 0x18029499d
mov rcx, r15
call fcn.180204dc0
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
lea edx, [r9 + 0x44]
call fcn.180265bc0
mov edx, ebx
mov rcx, r14
call fcn.18026f6d0
xor r9d, r9d
mov r8d, r12d
mov rcx, r14
lea edx, [r9 + 0x74]
call fcn.180265bc0
xor eax, eax
jmp 0x1802949d4
mov eax, 1
mov r15, qword [rsp + 0xa8]
add rsp, 0x60
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret