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

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x310
mov rax, qword [0x1401f22c8]
xor rax, rsp
mov qword [rsp + 0x300], rax
mov rdi, rcx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], r8
mov dword [rsp + 0x3c], r9d
cmp dword [0x1401f3720], 0
je 0x1400b79e4
mov rdx, rcx
lea rcx, str.content__s_n
call fcn.1400b1c70
xor r15d, r15d
mov dword [rsp + 0x34], r15d
lea rcx, [rsp + 0xe0]
call fcn.1401617b0
mov rcx, rdi
call fcn.14015fcb0
mov rdx, rax
lea rcx, [rsp + 0xe0]
call fcn.140167a80
nop
lea rdx, [rsp + 0x48]
mov rcx, qword [rsp + 0xe8]
call fcn.1400d1880
mov ebx, eax
mov dword [rsp + 0x30], eax
jmp 0x1400b7a4b
mov eax, dword [0x1401f3720]
test eax, eax
je 0x1400b7a69
mov edx, ebx
lea rcx, str.IFilter__08x_n
call fcn.1400b1c70
mov eax, dword [0x1401f3720]
test ebx, ebx
js 0x1400b7ea2
mov rcx, rdi
call fcn.1400ca750
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400b7e74
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea r8, [rsp + 0x80]
lea rdx, [0x1401cffc0]
call qword [rax]
mov ebx, eax
mov dword [rsp + 0x30], eax
jmp 0x1400b7ac2
test ebx, ebx
js 0x1400b7e49
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x58]
call qword [rax + 0x28]
mov ebx, eax
mov dword [rsp + 0x30], eax
jmp 0x1400b7aff
test ebx, ebx
js 0x1400b7e1b
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea rdx, [rsp + 0x88]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [rax + 0x18]
mov ebx, eax
mov dword [rsp + 0x30], eax
jmp 0x1400b7b49
test ebx, ebx
js 0x1400b7e0d
mov ecx, 0x10000
call fcn.1400be6a0
mov rdi, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1400b7e28
mov rsi, r15
mov qword [rsp + 0x78], r15
mov r13, r15
mov r14d, r15d
mov r12d, r15d
nop
cmp dword [0x1401f3720], 0
je 0x1400b7b95
lea rcx, str.get_chunk_n
call fcn.1400b1c70
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea rdx, [rsp + 0xa0]
call qword [rax + 0x20]
test eax, eax
jns 0x1400b7c81
mov eax, dword [0x1401f3720]
test eax, eax
je 0x1400b7bcc
lea rcx, str.FAILED_n
call fcn.1400b1c70
mov eax, dword [0x1401f3720]
test eax, eax
je 0x1400b7bdd
lea rcx, str.GetChunk_Done_n
call fcn.1400b1c70
nop
test r12d, r12d
je 0x1400b7c66
movsxd rcx, r12d
call fcn.1400be6a0
mov rdi, rax
test rax, rax
je 0x1400b7de4
mov rbx, rax
test rsi, rsi
je 0x1400b7c39
mov r13, qword [rsi]
cmp dword [rsi + 0x14], 0
je 0x1400b7c12
mov byte [rbx], 0xa
add rbx, 1
movsxd r8, dword [rsi + 0x10]
lea rdx, [rsi + 0x18]
mov rcx, rbx
call fcn.140193220
movsxd r11, dword [rsi + 0x10]
add rbx, r11
mov rcx, rsi
call fcn.1400be6d0
mov rsi, r13
test r13, r13
jne 0x1400b7c02
mov rsi, r15
mov r9d, dword [rsp + 0x3c]
mov r8, qword [rsp + 0x68]
mov edx, r12d
mov rcx, rdi
call qword [rsp + WSAStartup]
mov dword [rsp + 0x34], eax
mov rcx, rdi
call fcn.1400be6d0
mov rdi, qword [rsp + 0x40]
jmp 0x1400b7de9
mov r9d, dword [rsp + 0x3c]
mov r8, qword [rsp + 0x68]
xor edx, edx
xor ecx, ecx
call qword [rsp + WSAStartup]
mov dword [rsp + 0x34], eax
jmp 0x1400b7de9
cmp dword [0x1401f3720], 0
je 0x1400b7c96
lea rcx, [0x1401a38ac]
call fcn.1400b1c70
cmp dword [rsp + 0xa4], 0
je 0x1400b7cb9
test r13, r13
je 0x1400b7cb9
add r12d, 2
mov dword [rsp + 0x50], r12d
mov r14d, 1
mov dword [rsp + 0x60], r14d
mov dword [rsp + 0x38], 0x8000
cmp dword [0x1401f3720], 0
je 0x1400b7cd6
lea rcx, str.get_Text_n
call fcn.1400b1c70
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
mov r8, rdi
lea rdx, [rsp + 0x38]
call qword [rax + 0x28]
test eax, eax
jns 0x1400b7d1c
cmp dword [0x1401f3720], 0
je 0x1400b7d02
lea rcx, str.FAILED_n
call fcn.1400b1c70
cmp dword [0x1401f3720], 0
je 0x1400b7d17
lea rcx, str.GetText_Done_n
call fcn.1400b1c70
jmp 0x1400b7b80
cmp dword [0x1401f3720], 0
je 0x1400b7d31
lea rcx, [0x1401a38ac]
call fcn.1400b1c70
mov edx, dword [rsp + 0x38]
mov rcx, rdi
call fcn.140159690
movsxd rdi, eax
test eax, eax
je 0x1400b7db8
lea rcx, [rdi + 0x18]
call fcn.1400be6a0
mov rbx, rax
test rax, rax
jne 0x1400b7d5f
mov rdi, qword [rsp + 0x40]
jmp 0x1400b7de9
mov dword [rax + 0x10], edi
lea rcx, [rax + 0x18]
mov r8d, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
call fcn.1401585f0
test r14d, r14d
je 0x1400b7d83
add r12d, 1
mov dword [rsp + 0x50], r12d
mov dword [rbx + 0x14], r14d
mov r14d, r15d
mov dword [rsp + 0x60], r15d
add r12d, edi
mov dword [rsp + 0x50], r12d
test rsi, rsi
je 0x1400b7da2
mov qword [r13], rbx
jmp 0x1400b7daa
mov rsi, rbx
mov qword [rsp + 0x78], rbx
mov qword [rbx], r15
mov r13, rbx
mov qword [rsp + 0x90], rbx
mov dword [rsp + 0x38], 0x8000
mov rdi, qword [rsp + 0x40]
jmp 0x1400b7cc1
mov rdi, qword [rsp + 0x40]
test rsi, rsi
je 0x1400b7e03
nop
mov rbx, qword [rsi]
mov rcx, rsi
call fcn.1400be6d0
mov rsi, rbx
test rbx, rbx
jne 0x1400b7df0
mov rcx, rdi
call fcn.1400be6d0
jmp 0x1400b7e28
lea rcx, str.failed_to_init_ifilter_n
call fcn.1400b1c70
jmp 0x1400b7e28
lea rcx, str.failed_to_load_stream_n
call fcn.1400b1c70
nop
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
jmp 0x1400b7e47
jmp 0x1400b7e56
lea rcx, str.failed_to_get_IID_IPersistStream_from_stream_n
call fcn.1400b1c70
nop
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
jmp 0x1400b7e72
jmp 0x1400b7e84
mov rdx, rdi
lea rcx, str.create_stream_from__s_failed_n
call fcn.1400b1c70
nop
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
jmp 0x1400b7ea0
jmp 0x1400b7ed0
test eax, eax
je 0x1400b7eb5
mov rdx, rdi
lea rcx, str.No_iFilter_for__s_n
call fcn.1400b1c70
mov r9d, dword [rsp + 0x3c]
mov r8, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov rcx, rdi
call fcn.1400b6570
mov dword [rsp + 0x34], eax
lea rcx, [rsp + 0xe0]
call fcn.140001150
mov eax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x300]
xor rcx, rsp
call fcn.1401931f0
add rsp, 0x310
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret