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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x5a8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x510], xmm6
mov qword [rbp + 0x508], 0xfffffffffffffffe
mov r14, r8
mov rbx, rdx
mov rsi, rcx
mov qword [rbp + 0x2f8], 1
mov qword [rbp + 0x300], 1
mov qword [rbp + 0x328], 0
mov qword [rbp + 0x330], 4
movzx eax, byte [0x140292301]
mov ecx, 0xc0
mov edx, 8
call fcn.140008550
test rax, rax
mov qword [rbp + 0x488], r14
mov qword [rbp + 0x4d8], rax
je 0x140037fa7
mov rdi, rax
lea rdx, [rbp + 0x2f8]
mov r8d, 0xc0
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
lock inc qword [rdi]
jle 0x14003805b
mov qword [rbp + 0x478], rdi
mov qword [rbp + 0x470], rdi
lea rdi, [rbp + 0x1c0]
mov r8d, 0x138
mov rcx, rdi
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + 0x502], 1
mov byte [rbp + 0x501], 0
lea rcx, [rbp + 0x2f8]
mov rdx, rdi
call fcn.140041f00
lea rcx, [rbp + 0x1c0]
lea rdx, [rbp + 0x2f8]
mov r8d, 0x110
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbp + 0x438]
mov qword [rbp + 0x4c0], rax
movups xmm0, xmmword [rbp + 0x408]
movups xmm1, xmmword [rbp + 0x418]
movups xmm2, xmmword [rbp + 0x428]
movaps xmmword [rbp + 0x4b0], xmm2
movaps xmmword [rbp + 0x4a0], xmm1
movaps xmmword [rbp + 0x490], xmm0
lea rdx, [rbp + 0x248]
mov byte [rbp + 0x500], 1
mov byte [rbp + 0x4ff], 1
mov byte [rbp + 0x4fe], 1
lea rcx, [rbp + 0x2f8]
call fcn.140197600
movups xmm6, xmmword [rbp + 0x274]
movzx r8d, word [rbp + 0x270]
movzx r9d, word [rbp + 0x272]
mov r15d, dword [rbp + 0x284]
mov r10d, dword [rbp + 0x260]
mov r11d, dword [rbp + 0x264]
mov r14d, dword [rbp + 0x268]
mov eax, dword [rbp + 0x26c]
mov dword [rbp + 0x4d4], eax
mov rcx, qword [rbp + 0x2f8]
mov rdx, qword [rbp + 0x300]
mov rax, qword [rbp + 0x308]
mov qword [rbp + 0x480], rax
movups xmm0, xmmword [rbp + 0x288]
movaps xmmword [rbp + 0x450], xmm0
movzx eax, byte [rbp + 0x298]
mov byte [rbp + 0x460], al
mov edi, dword [rbp + 0x2a8]
cmp edi, 0x3b9aca00
mov qword [rbp + 0x4e0], rdx
mov word [rbp + 0x4ec], r8w
mov word [rbp + 0x4ea], r9w
mov dword [rbp + 0x4c8], r10d
mov dword [rbp + 0x4cc], r11d
mov dword [rbp + 0x4d0], r14d
jne 0x140037b86
lea rax, [rbx + 8]
mov edi, dword [rbx + 0x10]
jmp 0x140037b8d
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x4f0], rcx
mov r12, qword [rbx]
mov r14, qword [r12 + 0x10]
test r14, r14
je 0x140037fbb
mov rbx, qword [rax]
mov r13, qword [rbp + 0x1c0]
lea rdx, [rbp + 0x1c8]
lea rcx, [rbp - 0x50]
mov r8d, 0x108
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [r14 + 0x1c0]
nop dword [rax]
test al, 1
jne 0x140037c6a
cmp rax, 0xfffffffffffffffe
je 0x14003805d
lea rcx, [rax + 2]
lock cmpxchg qword [r14 + 0x1c0], rcx
jne 0x140037bd0
mov qword [rbp + 0x2f8], r13
lea rcx, [rbp + 0x300]
lea rdx, [rbp - 0x50]
mov r8d, 0x108
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbp + 0x4d8]
mov qword [rbp + 0x408], rax
lea rcx, [r14 + 0x80]
mov byte [rbp + 0x507], 1
mov byte [rbp + 0x506], 1
mov byte [rbp + 0x505], 0
lea rdx, [rbp + 0x2f8]
call fcn.1400d5d40
add r14, 0x100
mov byte [rbp + 0x507], 1
mov byte [rbp + 0x506], 1
mov byte [rbp + 0x505], 0
mov rcx, r14
call fcn.140145a30
jmp 0x140037c8a
lea rcx, [rbp + 0xb8]
lea rdx, [rbp - 0x50]
mov r8d, 0x108
call sub.VCRUNTIME140.dll_memcpy
cmp r13, 2
jne 0x140037fea
mov r14, qword [rbp + 0x4b8]
cmp r14, 2
je 0x140037d14
mov rax, qword [rbp + 0x4c0]
mov qword [rbp + 0x330], rax
movaps xmm0, xmmword [rbp + 0x490]
movaps xmm1, xmmword [rbp + 0x4a0]
movaps xmm2, xmmword [rbp + 0x4b0]
movups xmmword [rbp + 0x320], xmm2
movups xmmword [rbp + 0x310], xmm1
movups xmmword [rbp + 0x300], xmm0
mov rax, qword [rbp + 0x4d8]
mov qword [rbp + 0x2f8], rax
mov byte [rbp + 0x339], 0
mov byte [rbp + 0x507], 0
mov byte [rbp + 0x506], 0
mov byte [rbp + 0x505], 0
lea rcx, [rbp - 0x50]
lea rdx, [rbp + 0x2f8]
mov r8, rbx
mov r9d, edi
call fcn.1400df620
xor r13d, r13d
jmp 0x140037d57
mov rax, qword [rbp + 0x4d8]
mov qword [rbp + 0x2f8], rax
mov byte [rbp + 0x308], 0
mov byte [rbp + 0x507], 1
mov byte [rbp + 0x506], 0
mov byte [rbp + 0x505], 0
mov r13b, 1
lea rcx, [rbp - 0x50]
lea rdx, [rbp + 0x2f8]
mov r8, rbx
mov r9d, edi
call fcn.1400e1540
mov rax, qword [rbp - 0x50]
cmp rax, 3
je 0x140037e1e
cmp eax, 4
jne 0x140037ec5
mov rdi, qword [rbp - 0x48]
test rdi, rdi
jne 0x140037e22
mov word [rbp + 0x120], 1
mov qword [rbp + 0x110], 1
lea rax, [0x1401b5e00]
mov qword [rbp + 0x118], rax
movabs rax, 0x8000000000000000
mov qword [rbp + 0xb8], rax
movzx eax, byte [0x140292301]
mov ecx, WSAStartup
mov edx, 8
call fcn.140008550
test rax, rax
je 0x140038045
mov rdi, rax
movups xmm0, xmmword [rbp + 0x118]
movups xmmword [rax + 0x60], xmm0
movups xmm0, xmmword [rbp + 0x108]
movups xmmword [rax + 0x50], xmm0
movups xmm0, xmmword [rbp + 0xf8]
movups xmmword [rax + 0x40], xmm0
movups xmm0, xmmword [rbp + 0xb8]
movups xmm1, xmmword [rbp + 0xc8]
movups xmm2, xmmword [rbp + 0xd8]
movups xmm3, xmmword [rbp + 0xe8]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
jmp 0x140037e22
mov rdi, qword [rbp - 0x48]
mov rdx, qword [rdi]
lea rax, [rdx*2]
test rax, rax
je 0x140037e41
mov rcx, qword [rdi + 8]
mov r8d, 1
call fcn.140008560
mov rax, qword [rbp + 0x4f0]
mov qword [rdi], rax
mov rax, qword [rbp + 0x4e0]
mov qword [rdi + 8], rax
mov rax, qword [rbp + 0x480]
mov qword [rdi + 0x10], rax
mov eax, dword [rbp + 0x4c8]
mov dword [rdi + 0x18], eax
mov eax, dword [rbp + 0x4cc]
mov dword [rdi + 0x1c], eax
mov eax, dword [rbp + 0x4d0]
mov dword [rdi + 0x20], eax
mov eax, dword [rbp + 0x4d4]
mov dword [rdi + 0x24], eax
movzx eax, word [rbp + 0x4ec]
mov word [rdi + 0x28], ax
movzx eax, word [rbp + 0x4ea]
mov word [rdi + 0x2a], ax
movups xmmword [rdi + 0x2c], xmm6
mov dword [rdi + 0x3c], r15d
movaps xmm0, xmmword [rbp + 0x450]
movups xmmword [rdi + 0x40], xmm0
movzx eax, byte [rbp + 0x460]
mov byte [rdi + 0x50], al
mov qword [rsi + 8], rdi
mov qword [rsi], 3
jmp 0x140037f1f
lock inc qword [r12]
jle 0x14003805b
lea rdx, [rbp - 0x50]
mov r8d, 0x88
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi + 0x88], rbx
mov dword [rsi + 0x90], edi
mov qword [rsi + 0x98], 0
mov qword [rsi + 0xa8], r12
mov rdx, qword [rbp + 0x4f0]
test rdx, rdx
je 0x140037f1f
mov r8d, 1
mov rcx, qword [rbp + 0x4e0]
call fcn.140008560
cmp r14d, 2
jne 0x140037f89
mov rax, qword [rbp + 0x4b8]
cmp eax, 2
je 0x140037f89
mov rcx, qword [rbp + 0x4a8]
mov rax, qword [rbp + 0x4b0]
mov qword [rbp + 0x4e0], rcx
mov qword [rbp + 0x4f0], rax
call qword [rax]
mov rax, qword [rbp + 0x4f0]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140037f6f
mov r8, qword [rax + 0x10]
mov rcx, qword [rbp + 0x4e0]
call fcn.140008560
mov byte [rbp + 0x504], 0
mov byte [rbp + 0x503], 0
lea rcx, [rbp + 0x490]
call fcn.14002d300
mov rax, rsi
movaps xmm6, xmmword [rbp + 0x510]
add rsp, 0x5a8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov ecx, 8
mov edx, 0xc0
call fcn.1401ad260
jmp 0x14003805b
mov byte [rbp + 0x507], 1
mov byte [rbp + 0x506], 1
mov byte [rbp + 0x505], 1
lea rcx, [0x1401b2745]
lea r8, [0x1401b2760]
mov edx, 0x18
call fcn.1401ad460
jmp 0x14003805b
mov qword [rbp + 0x2f8], r13
lea rcx, [rbp + 0x300]
lea rdx, [rbp + 0xb8]
mov r8d, 0x108
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbp + 0x4d8]
mov qword [rbp + 0x408], rax
lea rax, [0x1401b2790]
mov qword [rsp + 0x20], rax
lea rcx, str.core_thread_panicked
lea r9, fcn.14002ea00
lea r8, [rbp + 0x2f8]
mov edx, shutdown
call fcn.1401ad8c0
jmp 0x14003805b
mov dword [rbp + 0x4ec], r13d
mov ecx, 8
mov edx, WSAStartup
call fcn.1401ad260
ud2
mov ecx, 7
int 0x29
ud2