Function at 0x180171d10
Capabilities:
Acquire debug privileges

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x350
mov qword [rsp + 0x158], 0xfffffffffffffffe
mov rax, qword [0x1803fc9f0]
xor rax, rsp
mov qword [rsp + 0x340], rax
mov r13d, r8d
mov r12d, edx
mov rsi, rcx
mov qword [rsp + 0x60], rcx
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x50], r8d
xor r14d, r14d
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x58], r14d
call fcn.180172710
nop
lea rdx, [0x180036d84]
lea rcx, [rsp + 0x1a0]
call fcn.1800aaba0
nop
mov edi, 1
mov dword [rsp + 0x40], edi
lea rcx, [rsp + 0x1a0]
call fcn.180123260
test al, al
jne 0x180171e2f
lea rdx, [0x180036d90]
lea rcx, [rsp + 0x180]
call fcn.1800aaba0
nop
mov edi, 3
mov dword [rsp + 0x40], edi
lea rcx, [rsp + 0x180]
call fcn.180123260
test al, al
jne 0x180171e2f
lea rdx, [0x180036db8]
lea rcx, [rsp + 0x160]
call fcn.1800aaba0
nop
mov edi, 7
mov dword [rsp + 0x40], edi
lea rcx, [rsp + 0x160]
call fcn.180123260
test al, al
jne 0x180171e2f
lea rdx, [0x180036dd0]
lea rcx, [rsp + 0x280]
call fcn.1800aaba0
nop
mov edi, recv
mov dword [rsp + 0x40], edi
lea rcx, [rsp + 0x280]
call fcn.180123260
test al, al
jne 0x180171e2f
xor bl, bl
jmp 0x180171e31
mov bl, 1
mov byte [rsp + 0x44], bl
test dil, 8
je 0x180171e50
and edi, 0xfffffff7
mov dword [rsp + 0x40], edi
lea rcx, [rsp + 0x280]
call fcn.1800ad110
nop
test dil, 4
je 0x180171e6b
and edi, 0xfffffffb
mov dword [rsp + 0x40], edi
lea rcx, [rsp + 0x160]
call fcn.1800ad110
nop
test dil, 2
je 0x180171e86
and edi, 0xfffffffd
mov dword [rsp + 0x40], edi
lea rcx, [rsp + 0x180]
call fcn.1800ad110
nop
test dil, 1
je 0x180171ea0
and edi, 0xfffffffe
mov dword [rsp + 0x40], edi
lea rcx, [rsp + 0x1a0]
call fcn.1800ad110
test bl, bl
je 0x180171ec1
xor r8d, r8d
lea edx, [r8 + 2]
lea rcx, [0x180036de8]
call fcn.1802b6810
mov dword [0x180412750], 1
cmp dword [rsi + 0x12c], 0
jne 0x18017257e
mov qword [0x180412640], rsi
lea rax, [rsp + 0x90]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xc8], r14
lea rax, [rsp + 0x90]
mov qword [rsp + 0xd8], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0xe0], rax
lea rax, [0x180094108]
mov qword [rsp + 0x90], rax
lea rax, [0x180039658]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rsi
lea rax, [rsp + 0x90]
mov qword [rsp + 0xc8], rax
lea rcx, [rsp + 0x90]
call fcn.1800b05d0
nop
jmp 0x180171f69
call fcn.1801e1fd0
mov rcx, rsi
call fcn.180174340
call fcn.180161640
mov ecx, reloc.WSOCK32.dll_recv
call fcn.180120710
test al, al
je 0x180171fc6
mov ecx, 0x38
call fcn.18011da30
mov qword [rsp + 0xe8], rax
test rax, rax
je 0x180171fb7
mov rcx, qword [0x180400a08]
mov edx, dword [rcx + 0x274]
mov rcx, rax
call fcn.1801e4b80
jmp 0x180171fba
mov rax, r14
mov qword [rsp + 0x70], rax
mov qword [rsi + 0x1b10], rax
lea rdx, [0x180036e98]
lea rcx, [rsp + 0x1c0]
call fcn.1800aaba0
nop
lea rcx, [rsp + 0x1c0]
call fcn.180123260
movzx ebx, al
mov byte [rsp + 0x46], al
lea rcx, [rsp + 0x1c0]
call fcn.1800ad110
test bl, bl
je 0x18017206c
lea rcx, [0x180036ea0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
mov qword [rsp + 0xf0], rax
test rax, rax
je 0x18017206c
lea rdx, [0x180036ec0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, rax
mov qword [rsp + 0xf8], rax
test rax, rax
je 0x180172063
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
xor r9d, r9d
lea edx, [r9 + 6]
lea r8d, [r9 + 4]
call r15
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [rsi + 0x130], r12d
mov dword [rsi + 0x134], r13d
mov rbx, qword [rsi + 8]
lea rcx, [0x180400af8]
call fcn.1800ab970
mov r9, rax
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r12d
lea r8, [0x180036ef0]
mov edx, 2
lea rcx, [rsi + 8]
call qword [rbx + reloc.WSOCK32.dll_recv]
mov rax, qword [0x180400a08]
cmp dword [rax + 0x6e4], 0
setne byte [rsp + 0x45]
lea rdx, [rsp + 0x45]
lea rcx, [rsp + 0x78]
call fcn.18016b3f0
mov qword [rsp + 0x100], rax
lea r8, [rsi + 0x1a8]
mov qword [rsp + 0x108], r8
cmp r8, rax
je 0x180172114
mov rdx, qword [rax]
mov qword [rsp + 0x110], rdx
mov qword [rax], r14
mov rcx, qword [r8]
mov qword [rsp + 0x118], rcx
mov qword [r8], rdx
test rcx, rcx
je 0x180172114
mov edx, 1
call fcn.1802b8d50
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x180172128
mov edx, 1
call fcn.1802b8d50
call fcn.18010e230
mov rbx, qword [rsi + 8]
add rbx, 0x10
lea rcx, [rsi + 0x1b18]
call fcn.1800ab970
mov r9, rax
lea r8, [0x180036f40]
mov edx, 3
lea rcx, [rsi + 8]
call qword [rbx]
mov rax, qword [0x180400a08]
cmp dword [rax + 0xc], 0
je 0x1801721f4
call fcn.1802b6720
mov rcx, qword [0x180400a08]
cmp eax, dword [rcx + 0xc]
jbe 0x1801721f4
call fcn.1800b79a0
mov rbx, rax
mov qword [rsp + 0x120], rax
lea rdx, [0x180035ccc]
lea rcx, [rsp + 0x1e0]
call fcn.1800aaba0
nop
call fcn.1802b6720
mov dword [rsp + 0x28], eax
mov rcx, qword [0x180400a08]
mov edx, dword [rcx + 0xc]
mov dword [rsp + 0x20], edx
lea r9, [0x180036fb0]
lea r8, [rsp + 0x1e0]
xor edx, edx
mov rcx, rbx
call fcn.1800b6100
nop
lea rcx, [rsp + 0x1e0]
call fcn.1800ad110
nop
jmp 0x1801721f4
call fcn.180161f30
mov rax, qword [0x180400a08]
cmp dword [rax + 0x410], 0
jne 0x180172217
mov r8d, r13d
mov edx, r12d
mov rcx, rsi
call fcn.1801727d0
mov ecx, 0x20
call fcn.180120710
test al, al
je 0x180172260
mov ecx, 0xa8
call fcn.18011da30
mov qword [rsp + 0x128], rax
test rax, rax
je 0x180172246
mov rcx, rax
call fcn.180110000
jmp 0x180172249
mov rax, r14
mov qword [rsp + 0x80], rax
lea rcx, [rsi + 0x1cc0]
mov rdx, rax
call fcn.18016b4f0
mov ecx, 0x40
call fcn.180120710
test al, al
je 0x1801722d1
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.18011da30
mov qword [rsp + 0x130], rax
test rax, rax
je 0x18017229a
mov rcx, rax
call fcn.180169690
mov r14, rax
mov qword [rsp + 0x88], rax
jmp 0x1801722a2
mov qword [rsp + 0x88], r14
lea rbx, [rsi + 0x1cd0]
mov rdx, r14
mov rcx, rbx
call fcn.18016b580
mov rcx, qword [rbx]
mov qword [rsp + 0x138], rcx
test rcx, rcx
je 0x1801722d1
mov qword [rsp + 0x140], rcx
call fcn.180169850
mov rax, qword [0x180400a08]
cmp dword [rax + 0x2570], 0
je 0x1801723e5
mov ecx, 0x1000
call fcn.180120710
test al, al
je 0x1801723e5
mov rdx, qword [0x180400a08]
add rdx, 0x9f4
lea rcx, [rsp + 0x200]
call fcn.1800aaba0
nop
lea rdx, [rsp + 0x200]
lea rcx, [rsp + 0x2c0]
call fcn.1800bb160
nop
lea rcx, [rsp + 0x200]
call fcn.1800ad110
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0x2c0]
call fcn.1800bb290
nop
mov rdx, rax
lea rcx, [rsp + 0x148]
call fcn.18016b250
nop
lea rcx, [rsi + 0x1ce0]
mov rdx, rax
call fcn.18016c470
nop
mov rcx, qword [rsp + 0x150]
test rcx, rcx
je 0x1801723b4
mov qword [rsp + 0x68], rcx
or edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1801723b0
mov rbx, qword [rsp + 0x68]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1801723b0
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edi, dword [rsp + 0x40]
lea rcx, [rsp + 0x2a0]
call fcn.1800ad110
nop
lea rcx, [rsp + 0x2c0]
call fcn.1800b20b0
nop
jmp 0x1801723e5
mov rax, qword [0x180400a08]
cmp dword [rax + 0x410], 0
je 0x180172403
mov r8d, r13d
mov edx, r12d
mov rcx, rsi
call fcn.1801727d0
mov rax, qword [0x180400a08]
cmp dword [rax + 0x6e0], 0
je 0x180172426
mov ecx, 4
call fcn.180120710
test al, al
je 0x180172426
call fcn.1801719d0
xor edx, edx
mov r8d, 0x100
lea rcx, [0x180412650]
call fcn.1802c7550
nop
call fcn.180170600
mov dword [rsi + 0x1c74], eax
mov rax, qword [0x180400a08]
cmp dword [rax + 0x594], 0
je 0x18017248a
lea rdx, [0x180035d5c]
lea rcx, [rsp + 0x260]
call fcn.1800aaba0
nop
or edi, 0x10
mov dword [rsp + 0x40], edi
lea rcx, [rsp + 0x260]
call fcn.180123260
test al, al
jne 0x1801724fd
mov rax, qword [0x180400a08]
cmp dword [rax + 0x5b0], 0
je 0x1801724c7
lea rdx, [0x180037088]
lea rcx, [rsp + 0x240]
call fcn.1800aaba0
nop
or edi, 0x20
mov dword [rsp + 0x40], edi
lea rcx, [rsp + 0x240]
call fcn.180123260
test al, al
jne 0x1801724fd
mov rax, qword [0x180400a08]
cmp dword [rax + 0x5b4], 0
je 0x180172501
lea rdx, [0x180035d8c]
lea rcx, [rsp + 0x220]
call fcn.1800aaba0
nop
or edi, 0x40
mov dword [rsp + 0x40], edi
lea rcx, [rsp + 0x220]
call fcn.180123260
test al, al
je 0x180172501
mov bl, 1
jmp 0x180172503
xor bl, bl
test dil, 0x40
je 0x18017251e
and edi, 0xffffffbf
mov dword [rsp + 0x40], edi
lea rcx, [rsp + 0x220]
call fcn.1800ad110
nop
test dil, 0x20
je 0x180172539
and edi, 0xffffffdf
mov dword [rsp + 0x40], edi
lea rcx, [rsp + 0x240]
call fcn.1800ad110
nop
test dil, 0x10
je 0x180172553
and edi, 0xffffffef
mov dword [rsp + 0x40], edi
lea rcx, [rsp + 0x260]
call fcn.1800ad110
test bl, bl
je 0x180172560
mov rcx, rsi
call fcn.180178710
nop
jmp 0x180172567
mov dword [rsi + 0x12c], 1
mov r14d, 1
mov dword [rsp + 0x58], r14d
jmp 0x1801725c9
lea rcx, [rsi + 8]
mov rax, qword [rcx]
lea r8, [0x1800370b0]
xor edx, edx
call qword [rax + reloc.WSOCK32.dll_recv]
mov rcx, qword [0x1803f7500]
mov rax, qword [rcx]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
lea rdx, [0x1800370e0]
mov qword [rsp + 0x20], rdx
mov r9d, 1
lea r8, [0x180037110]
lea rdx, [0x180037120]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, r14d
jmp 0x1801725d2
mov rcx, qword [rsp + 0x340]
xor rcx, rsp
call fcn.1802b85a0
add rsp, 0x350
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret