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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rbx, r8
xor r14d, r14d
mov r13, qword [r9]
mov byte [rsp + 0x30], r14b
mov byte [rsp + 0x31], r14b
mov dword [rsp + 0x38], 0xa
mov rcx, qword [r8]
test rcx, rcx
je 0x140014fbc
test r13, r13
je 0x140014fbc
lea rdx, [0x1400610a4]
mov rcx, qword [rcx]
call fcn.140032e08
test eax, eax
jne 0x14001466f
cmp qword [rbx + 8], r14
je 0x14001466f
cmp qword [rbx + 0x10], r14
jne 0x140014fbc
mov rcx, qword [rbx]
lea rdx, str.POST
mov rcx, qword [rcx]
call fcn.140032e08
test eax, eax
jne 0x14001469a
mov rax, qword [rbx]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x14001469a
cmp byte [rcx], r14b
jne 0x140014fbc
mov rcx, qword [rbx]
movups xmm0, xmmword [rcx]
movaps xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rcx + 0x10]
movaps xmmword [rbp - 0x50], xmm1
movups xmm0, xmmword [rcx + 0x20]
movaps xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rcx + 0x30]
movaps xmmword [rbp - 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [rcx + 0x50]
movaps xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rbp - 0x70], xmm0
movaps xmmword [rbp], xmm0
movsd xmm0, qword [rcx + 0x70]
movsd qword [rbp + 0x10], xmm0
lea rdx, [0x1400610a4]
mov rcx, qword [rcx]
call fcn.140032e08
mov rcx, qword [rbp + 0x20]
mov rdx, 0xffffffffffffffff
test eax, eax
cmove rcx, rdx
mov qword [rbp - 0x20], rcx
mov r15, qword [rbp - 0x70]
mov rcx, r15
call fcn.140014570
movups xmm0, xmmword [rbp - 0x70]
psrldq xmm0, 8
movq rsi, xmm0
test al, al
jne 0x140014742
cmp byte [rbp + 0xb0], r14b
jne 0x14001473d
mov rcx, rsi
call fcn.140014570
test al, al
jne 0x140014742
xor r12b, r12b
jmp 0x140014745
mov r12b, 1
xor eax, eax
mov dword [rsp + 0x34], eax
mov ecx, dword [rbp + 0xa8]
lea r8, str.BASIC
cmp ecx, 0xffffffff
je 0x140014765
cmp eax, ecx
jge 0x140014fa9
test r12b, r12b
jne 0x140014897
mov rdi, qword [rbx + 0x10]
mov rsi, qword [rbx + 8]
mov r14d, 0x4e26
lea rcx, [rbp - 0x60]
call fcn.14000ee20
mov rbx, rax
mov r15, qword [rbp + 0x80]
test rax, rax
je 0x1400147e4
mov rcx, qword [r15]
mov rax, qword [rcx + 0x20]
mov rcx, r15
call qword [0x1400543b8]
test eax, eax
jne 0x1400147dc
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rbx + r8], 0
jne 0x1400147b0
mov rdx, rbx
mov rcx, r15
call fcn.14000df90
cmp rax, 0xfffffffffffffffd
ja 0x1400147d0
xor r14d, r14d
jmp 0x1400147dc
cmp rax, 0xfffffffffffffffe
jne 0x1400147dc
mov r14d, 0x4e3f
mov rcx, rbx
call fcn.140030840
test r14d, r14d
jne 0x140014888
mov r8, rdi
mov rdx, rsi
mov rcx, r15
call fcn.14000df90
mov rbx, rax
cmp rax, 0xfffffffffffffffd
ja 0x14001486e
mov r8, qword [r15 + 8]
test r8, r8
jne 0x140014811
xor ebx, ebx
jmp 0x14001483c
mov rax, qword [r15]
lea rdx, [r15 + 0x20]
mov rcx, r15
mov rax, qword [rax + 0x28]
call qword [0x1400543b8]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140014882
mov qword [r15 + 8], 0
cmp rax, 0xfffffffffffffffe
je 0x14001486e
xor r9d, r9d
mov rdx, r13
mov rcx, r15
call fcn.140011740
mov r14d, eax
test eax, eax
jne 0x14001486e
mov ecx, dword [r13]
call fcn.140010f80
mov r14d, eax
mov r8, r13
mov edx, eax
mov rcx, qword [rbp + 0xc8]
call fcn.14000da30
cmp rbx, 0xfffffffffffffffe
jne 0x14001487c
mov r14d, 0x4e3f
jmp 0x140014888
cmp rbx, 0xffffffffffffffff
jne 0x140014888
mov r14d, 0x4e26
mov rsi, qword [rbp + 8]
mov r15, qword [rbp]
lea r8, str.BASIC
test rsi, rsi
je 0x1400148fe
xor ebx, ebx
xor edi, edi
xor eax, eax
mov rcx, qword [str.BASIC]
nop dword [rax]
movsxd r8, dword [rax + r8 + 8]
mov rdx, rcx
mov rcx, rsi
call fcn.140032a1c
test eax, eax
je 0x1400148e2
inc ebx
inc rdi
mov rax, rdi
shl rax, 4
lea r8, str.BASIC
mov rcx, qword [rax + r8]
test rcx, rcx
jne 0x1400148b0
jmp 0x1400148fe
test ebx, ebx
je 0x1400148fe
cmp ebx, 1
jne 0x1400148fe
lea edx, [rbx + 0x1f]
mov rcx, rsi
call fcn.14002bc10
test rax, rax
je 0x1400148fe
mov byte [rax], 0
lea rdx, str.BASIC
test r15, r15
je 0x14001497e
xor ebx, ebx
xor edi, edi
xor eax, eax
mov rcx, qword [str.BASIC]
nop word [rax + rax]
movsxd r8, dword [rax + rdx + 8]
mov rdx, rcx
mov rcx, r15
call fcn.140032a1c
test eax, eax
je 0x140014952
inc ebx
inc rdi
mov rax, rdi
shl rax, 4
lea rdx, str.BASIC
mov rcx, qword [rax + rdx]
test rcx, rcx
jne 0x140014920
jmp 0x14001497e
test ebx, ebx
je 0x140014977
cmp ebx, 1
jne 0x140014977
lea edx, [rbx + 0x1f]
mov rcx, r15
call fcn.14002bc10
lea rdx, str.BASIC
test rax, rax
je 0x14001497e
mov byte [rax], 0
jmp 0x14001497e
lea rdx, str.BASIC
test r12b, r12b
jne 0x140014a88
cmp r14d, 0x4e2f
je 0x140014a63
cmp r14d, 0x4e24
je 0x140014a5c
test r14d, r14d
jne 0x140014f62
cmp byte [r13 + 0x11d], r14b
jne 0x1400149ed
mov eax, dword [rbp + 0xa0]
cmp eax, 2
je 0x1400149ed
test eax, eax
jne 0x140014a30
mov rax, qword [rbp + 0x98]
lea r9, [rax + 0x10]
mov qword [rsp + 0x20], r9
mov r9, qword [r9]
mov r8, qword [rax + 8]
mov rdx, r13
mov rbx, qword [rbp + 0x80]
mov rcx, rbx
call fcn.140011370
jmp 0x1400149ff
mov rdx, r13
mov rbx, qword [rbp + 0x80]
mov rcx, rbx
call fcn.140011580
cmp dword [r13 + 4], 1
mov r14d, eax
jl 0x140014a20
jne 0x140014a12
cmp dword [r13 + 8], 1
jl 0x140014a20
cmp dword [r13 + 0x3c], 1
je 0x140014a20
cmp dword [r13 + 0x40], 1
jne 0x140014a30
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x18]
call qword [0x1400543b8]
cmp byte [r13 + 0x11d], 0
je 0x140014fa2
sub dword [rsp + 0x38], 1
je 0x140014f5a
mov eax, dword [rsp + 0x34]
xor r12b, r12b
mov rbx, qword [rbp + 0x90]
jmp 0x14001474b
cmp byte [rsp + 0x31], 0
jmp 0x140014a68
cmp byte [rsp + 0x30], 0
jne 0x140014fa2
mov ebx, r14d
mov rdx, r13
mov rdi, qword [rbp + 0x80]
mov rcx, rdi
call fcn.140011580
mov r14d, eax
jmp 0x140014afc
cmp byte [rbp + 0xb0], 0
jne 0x140014af0
test rsi, rsi
je 0x140014af0
xor ebx, ebx
xor edi, edi
xor eax, eax
mov rcx, qword [str.BASIC]
nop dword [rax]
nop word [rax + rax]
movsxd r8, dword [rax + rdx + 8]
mov rdx, rcx
mov rcx, rsi
call fcn.140032a1c
test eax, eax
je 0x140014ae2
inc ebx
inc rdi
mov rax, rdi
shl rax, 4
lea rdx, str.BASIC
mov rcx, qword [rax + rdx]
test rcx, rcx
jne 0x140014ab0
jmp 0x140014af0
test ebx, ebx
je 0x140014af0
cmp ebx, 1
mov ebx, 0x4e24
je 0x140014af5
mov ebx, 0x4e2f
mov rdi, qword [rbp + 0x80]
test r14d, r14d
jne 0x140014fa2
test r12b, r12b
jne 0x140014b6d
cmp dword [r13 + 4], 1
jl 0x140014b28
jne 0x140014b1a
cmp dword [r13 + 8], 1
jl 0x140014b28
cmp dword [r13 + 0x3c], 1
je 0x140014b28
cmp dword [r13 + 0x40], 1
jne 0x140014b38
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x18]
call qword [0x1400543b8]
mov rax, qword [rbp + 0xb8]
test rax, rax
je 0x140014b6d
cmp qword [rdi + 0x10], 0xffffffffffffffff
jne 0x140014b6d
mov r8, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0x88]
mov rcx, rdi
call qword [0x1400543b8]
mov r14d, eax
test eax, eax
jne 0x140014fa2
cmp ebx, 0x4e2f
jne 0x140014d61
xor esi, esi
test r12b, r12b
je 0x140014cab
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rsi
lea rax, vtable.http::CHTTPBuffer.0
mov qword [rsp + 0x40], rax
mov rbx, 0xffffffffffffffff
nop dword [rax + rax]
inc rbx
cmp byte [r15 + rbx], 0
jne 0x140014bb0
add rbx, 1
je 0x140014c04
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.140004060
test rax, rax
je 0x140014c04
mov r8, rbx
mov rdx, r15
mov rcx, rax
call fcn.14002fe20
mov rcx, qword [rsp + 0x60]
mov rax, rcx
sub rax, qword [rsp + 0x48]
add rax, qword [rsp + 0x50]
add rax, rbx
cmp rax, qword [rsp + 0x58]
ja 0x140014c04
add rcx, rbx
mov qword [rsp + 0x60], rcx
lea rcx, [r13 + 0x78]
call fcn.140017b10
mov rbx, qword [r13 + 0x88]
lea rdx, [rbx + 1]
lea rcx, [r13 + 0x78]
call fcn.140017cb0
lea rcx, [rbx + rbx*4]
mov rax, qword [r13 + 0x80]
lea rbx, [rax + rcx*8]
lea rax, [rsp + 0x40]
cmp rbx, rax
je 0x140014c90
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x140014c53
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x18]
call qword [0x1400543b8]
mov rax, qword [rsp + 0x48]
mov qword [rbx + 8], rax
mov rax, qword [rsp + 0x50]
mov qword [rbx + 0x10], rax
mov rax, qword [rsp + 0x58]
mov qword [rbx + 0x18], rax
mov rax, qword [rsp + 0x60]
mov qword [rbx + 0x20], rax
mov qword [rsp + 0x50], rsi
mov rcx, rsi
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rsi
jmp 0x140014c95
mov rcx, qword [rsp + 0x48]
lea rax, vtable.CBuffer.0
mov qword [rsp + 0x40], rax
test rcx, rcx
je 0x140014cab
call fcn.140030840
test r15, r15
je 0x140014cbc
mov rcx, r15
call fcn.140030840
mov qword [rbp], rsi
lea rax, [r13 + 0x78]
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r12, qword [rbp + 0x88]
mov r8, qword [r12 + 8]
mov rdx, qword [r12]
mov rcx, qword [rbp + 0x80]
call fcn.140013f20
mov r14d, eax
mov byte [rsp + 0x30], 1
mov r15, qword [rbp]
test r15, r15
je 0x140014d49
mov edi, esi
mov rbx, rsi
mov rax, rsi
mov rcx, qword [str.BASIC]
lea r12, str.BASIC
nop dword [rax]
nop dword [rax + rax]
movsxd r8, dword [rax + r12 + 8]
mov rdx, rcx
mov rcx, r15
call fcn.140032a1c
test eax, eax
je 0x140014d4e
inc edi
inc rbx
mov rax, rbx
shl rax, 4
mov rcx, qword [rax + r12]
test rcx, rcx
jne 0x140014d20
mov edi, 0xffffffff
mov rax, qword [rbp + 0x98]
mov dword [rax + 0x18], edi
mov rsi, qword [rbp + 8]
jmp 0x140014f3c
cmp ebx, 0x4e24
jne 0x140014f41
xor r15d, r15d
test r12b, r12b
je 0x140014e8d
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x70], r15
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x80], r15
lea rax, vtable.http::CHTTPBuffer.0
mov qword [rsp + 0x68], rax
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp byte [rsi + rbx], 0
jne 0x140014da0
add rbx, 1
je 0x140014df0
mov rdx, rbx
lea rcx, [rsp + 0x68]
call fcn.140004060
test rax, rax
je 0x140014df0
mov r8, rbx
mov rdx, rsi
mov rcx, rax
call fcn.14002fe20
mov rcx, qword [rbp - 0x78]
mov rax, rcx
sub rax, qword [rsp + 0x70]
add rax, qword [rsp + 0x78]
add rax, rbx
cmp rax, qword [rbp - 0x80]
ja 0x140014df0
add rcx, rbx
mov qword [rbp - 0x78], rcx
lea rcx, [r13 + 0x50]
call fcn.140017b10
mov rbx, qword [r13 + 0x60]
lea rdx, [rbx + 1]
lea rcx, [r13 + 0x50]
call fcn.140017cb0
lea rcx, [rbx + rbx*4]
mov rax, qword [r13 + 0x58]
lea rbx, [rax + rcx*8]
lea rax, [rsp + 0x68]
cmp rbx, rax
je 0x140014e72
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x140014e39
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x18]
call qword [0x1400543b8]
mov rax, qword [rsp + 0x70]
mov qword [rbx + 8], rax
mov rax, qword [rsp + 0x78]
mov qword [rbx + 0x10], rax
mov rax, qword [rbp - 0x80]
mov qword [rbx + 0x18], rax
mov rax, qword [rbp - 0x78]
mov qword [rbx + 0x20], rax
mov qword [rsp + 0x78], r15
mov rcx, r15
mov qword [rsp + 0x70], rcx
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x80], r15
jmp 0x140014e77
mov rcx, qword [rsp + 0x70]
lea rax, vtable.CBuffer.0
mov qword [rsp + 0x68], rax
test rcx, rcx
je 0x140014e8d
call fcn.140030840
test rsi, rsi
je 0x140014e9e
mov rcx, rsi
call fcn.140030840
mov qword [rbp + 8], r15
lea rax, [r13 + 0x50]
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov r9b, 1
mov rax, qword [rbp + 0x88]
mov r8, qword [rax + 0x18]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rbp + 0x80]
call fcn.140013f20
mov r14d, eax
mov byte [rsp + 0x31], 1
mov rsi, qword [rbp + 8]
test rsi, rsi
je 0x140014f29
mov edi, r15d
mov rbx, r15
mov rax, r15
mov rcx, qword [str.BASIC]
lea r12, str.BASIC
nop word [rax + rax]
movsxd r8, dword [rax + r12 + 8]
mov rdx, rcx
mov rcx, rsi
call fcn.140032a1c
test eax, eax
je 0x140014f2e
inc edi
inc rbx
mov rax, rbx
shl rax, 4
mov rcx, qword [rax + r12]
test rcx, rcx
jne 0x140014f00
mov edi, 0xffffffff
mov rax, qword [rbp + 0x98]
mov dword [rax + 0x1c], edi
mov r15, qword [rbp]
test r14d, r14d
jne 0x140014fa2
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
xor r12b, r12b
mov rbx, qword [rbp + 0x90]
jmp 0x14001474b
mov r14d, 0x4e38
jmp 0x140014fa2
mov rdx, r13
mov rbx, qword [rbp + 0x80]
mov rcx, rbx
call fcn.140011580
cmp dword [r13 + 4], 1
jl 0x140014f92
jne 0x140014f84
cmp dword [r13 + 8], 1
jl 0x140014f92
cmp dword [r13 + 0x3c], 1
je 0x140014f92
cmp dword [r13 + 0x40], 1
jne 0x140014fa2
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x18]
call qword [0x1400543b8]
mov rbx, qword [rbp + 0x90]
mov rax, qword [rbx]
mov qword [rax + 0x60], r15
mov rax, qword [rbx]
mov qword [rax + 0x68], rsi
mov eax, r14d
jmp 0x140014fc1
mov eax, 0x4e25
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret