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

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x240
cmp byte [rcx + 0xe4], 0
mov rbx, rcx
mov rsi, rdx
mov ebp, r8d
mov edi, r9d
je 0x5b8890
add rsp, 0x240
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
lea r12, [rsp + 0xc0]
mov edx, 0x14
mov rcx, rsi
mov r8, r12
call fcn.00602180
mov dword [rsp + 0x80], 0
call fcn.004d6fb0
cmp byte [rbx + 0xe4], 0
mov qword [rsp + 0x88], rax
jne 0x5b8876
mov eax, dword [rbx + 0xe0]
lea r13, [rsp + 0x170]
mov edx, 0xc8
mov qword [rsp + 0x28], r12
lea r9, str.239.192.152.143
mov rcx, r13
mov dword [rsp + 0x20], ebp
movzx edi, dil
lea r8, str.BT_SEARCH__HTTP_1.1_r_nHost:__s:6771_r_nPort:__d_r_nInfohash:__s_r_ncookie:__x_r_n_r_n_r_n
mov dword [rsp + 0x30], eax
call fcn.005b77d0
lea rcx, [rbx + 0x28]
mov dword [rsp + 0x20], edi
mov rdx, r13
lea r9, [rsp + 0x80]
mov r8d, eax
call fcn.005c3bd0
mov eax, dword [rsp + 0x80]
test eax, eax
jne 0x5b8cc0
mov eax, dword [rsp + 0x2a0]
lea r12d, [rax + 1]
cmp r12d, 2
jg 0x5b8876
cmp byte [rbx + 0xe4], 0
jne 0x5b8876
lea ecx, [r12 + r12]
movsxd rcx, ecx
call fcn.00591d80
mov r13, qword [rbx + 0xa0]
mov rdi, rax
call fcn.00591b80
add rdi, rax
cmp byte [rbx + 0xb0], 0
je 0x5b8998
mov rcx, qword [r13 + 0x58]
lea rdx, [r13 + 0x28]
mov r9, 0xffffffffffffffff
lea r8, [rbx + 0xb8]
call fcn.006d6e00
mov byte [rbx + 0xb0], 0
call fcn.004d6fb0
mov qword [rbx + 0xa8], rdi
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x88], rax
call fcn.004d6fb0
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x88], rax
mov eax, 1
mov dword [rsp + 0x80], 0
lock xadd dword [rbx], eax
lea rax, [0x005b8f40]
xor r9d, r9d
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x60], rax
mov rax, qword [rsi]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0xf0]
lea r8, [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov rax, qword [rsi + 8]
mov qword [rsp + 0x48], rax
mov eax, dword [rsi + 0x10]
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x50], eax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.006e92b0
mov rax, qword [rsp + 0xf0]
mov ecx, pe_nt_image_headers64
mov qword [rsp + 0xa8], 0
mov rdx, qword [rsp + 0xf8]
mov qword [rsp + 0xb0], 0
mov rbp, qword [rbx + 0xa0]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x138], rdx
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x100], 0
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x150], rax
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0x158], eax
mov eax, dword [rsp + 0x11c]
mov dword [rsp + 0x15c], eax
mov eax, dword [rsp + 0x120]
mov dword [rsp + 0x160], eax
call fcn.004fc980
test rax, rax
mov rsi, rax
mov qword [rsp + 0xa8], rax
je 0x5b8bbf
mov qword [rax + 0x20], 0
lea rax, [0x006c8650]
mov qword [rsi + 0x28], rax
mov qword [rsi], 0
mov qword [rsi + 8], 0
mov dword [rsi + 0x10], 0
mov dword [rsi + 0x14], 0
mov qword [rsi + 0x18], 0
mov dword [rsi + 0x30], 0
mov dword [rsi + 0x38], 0
call fcn.004d6fb0
mov rdx, qword [rsp + 0x138]
mov qword [rsi + 0x40], rax
mov rax, qword [rsp + 0x130]
mov qword [rsi + 0x50], rdx
mov qword [rsi + 0x48], rax
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x140], 0
mov qword [rsi + 0x58], rax
mov rax, qword [rsp + 0x148]
mov qword [rsi + 0x60], rax
mov rax, qword [rsp + 0x150]
mov qword [rsi + 0x68], rax
mov eax, dword [rsp + 0x158]
mov dword [rsi + 0x70], eax
mov eax, dword [rsp + 0x15c]
mov dword [rsi + 0x74], eax
mov eax, dword [rsp + 0x160]
mov dword [rsi + 0x78], eax
mov byte [rbx + 0xb0], 1
mov rdi, qword [rbp + 0x58]
xor eax, eax
mov qword [rsp + 0xb0], rsi
lock xadd dword [rdi + 0x3c], eax
test eax, eax
jne 0x5b8cd0
lea r12, [rdi + 0x60]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp qword [rbx + 0xd8], 0
je 0x5b8d24
mov qword [rsi + 0x20], 0
mov rax, qword [rbx + 0xc0]
test rax, rax
je 0x5b8d11
mov qword [rax + 0x20], rsi
mov qword [rbx + 0xc0], rsi
cmp qword [rbx + 0xc8], 0
jne 0x5b8c36
cmp rsi, qword [rbx + 0xb8]
je 0x5b8ce5
lock add dword [rdi + 0x30], 1
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rsp + 0x140]
test rbx, rbx
je 0x5b8c63
mov eax, 0xffffffff
lock xadd dword [rbx], eax
cmp eax, 1
je 0x5b8cf7
mov rbx, qword [rsp + 0x100]
test rbx, rbx
je 0x5b8c82
mov eax, 0xffffffff
lock xadd dword [rbx], eax
cmp eax, 1
je 0x5b8e67
mov rbx, qword [rsp + 0x70]
test rbx, rbx
je 0x5b8876
mov eax, 0xffffffff
lock xadd dword [rbx], eax
cmp eax, 1
jne 0x5b8876
mov rcx, rbx
call fcn.005b7ee0
mov edx, 0xe8
mov rcx, rbx
call fcn.007da070
jmp 0x5b8876
mov byte [rbx + 0xe4], 1
jmp 0x5b8876
lock add dword [rdi + 0x30], 1
mov rdx, rsi
mov rcx, rdi
call fcn.005018a0
jmp 0x5b8c44
lock add dword [rdi + 0x30], 1
mov rcx, rdi
call fcn.00502480
jmp 0x5b8c3b
mov rcx, rbx
call fcn.005b7ee0
mov edx, 0xe8
mov rcx, rbx
call fcn.007da070
jmp 0x5b8c63
mov qword [rbx + 0xc0], rsi
mov qword [rbx + 0xb8], rsi
jmp 0x5b8c1f
lea r13, [rbx + 0xb8]
cmp r13, qword [rbp + 0x38]
je 0x5b8bfc
mov rax, qword [rbp + 0x48]
mov qword [rsp + 0x98], r13
sub rax, qword [rbp + 0x40]
sar rax, 4
mov qword [rbx + 0xc8], rax
mov rax, qword [rbx + 0xa8]
mov qword [rsp + 0x90], rax
mov rax, qword [rbp + 0x48]
cmp rax, qword [rbp + 0x50]
je 0x5b8e81
test rax, rax
je 0x5b8d8d
mov r9, qword [rsp + 0x90]
mov r10, qword [rsp + 0x98]
mov qword [rax], r9
mov qword [rax + 8], r10
mov rax, qword [rbp + 0x48]
lea rdx, [rax + 0x10]
mov qword [rbp + 0x48], rdx
mov r9, qword [rbp + 0x40]
sub rdx, r9
sar rdx, 4
mov r14, rdx
sub r14, 1
je 0x5b8e3b
lea rcx, [rdx - 2]
mov r11, r14
shr rcx, 1
shl r11, 4
lea rax, [r9 + r11]
mov r8, rcx
shl r8, 4
lea r10, [r9 + r8]
mov r9, qword [rax]
cmp qword [r10], r9
ja 0x5b8e02
jmp 0x5b8e3b
mov rax, qword [rbp + 0x40]
lea rdx, [rcx - 1]
mov r11, rcx
mov r14, rcx
shr rdx, 1
shl r11, 4
mov r8, rdx
shl r8, 4
lea r10, [rax + r8]
add rax, r11
mov r9, qword [rax]
cmp r9, qword [r10]
jae 0x5b8e3b
mov rcx, rdx
movdqu xmm1, xmmword [r10]
mov rdx, qword [rax + 8]
movups xmmword [rax], xmm1
mov rax, r8
add rax, qword [rbp + 0x40]
test rcx, rcx
mov qword [rax], r9
mov qword [rax + 8], rdx
mov rax, qword [rbp + 0x40]
mov rax, qword [rax + r11 + 8]
mov qword [rax + 0x10], r14
mov rax, qword [rbp + 0x40]
mov rax, qword [rax + r8 + 8]
mov qword [rax + 0x10], rcx
jne 0x5b8dd4
mov rax, qword [rbp + 0x38]
mov qword [rbx + 0xd8], 0
mov qword [rbx + 0xd0], rax
mov rax, qword [rbp + 0x38]
test rax, rax
je 0x5b8e5e
mov qword [rax + 0x20], r13
mov qword [rbp + 0x38], r13
jmp 0x5b8bfc
mov rcx, rbx
call fcn.005b7ee0
mov edx, 0xe8
mov rcx, rbx
call fcn.007da070
jmp 0x5b8c82
lea rdx, [rsp + 0x90]
lea rcx, [rbp + 0x40]
call fcn.00793130
mov rdx, qword [rbp + 0x48]
jmp 0x5b8d95