Function at 0x14001b620
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 0x14001bf80
test r13, r13
je 0x14001bf80
lea rdx, [0x1401a3f4c]
mov rcx, qword [rcx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
jne 0x14001b6a0
cmp qword [rbx + 8], r14
je 0x14001b6a0
cmp qword [rbx + 0x10], r14
jne 0x14001bf80
mov rcx, qword [rbx]
lea rdx, str.POST
mov rcx, qword [rcx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
jne 0x14001b6cc
mov rax, qword [rbx]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x14001b6cc
cmp byte [rcx], r14b
jne 0x14001bf80
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, [0x1401a3f4c]
mov rcx, qword [rcx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
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.14001b5a0
movups xmm0, xmmword [rbp - 0x70]
psrldq xmm0, 8
movq rsi, xmm0
test al, al
jne 0x14001b775
cmp byte [rbp + 0xb0], r14b
jne 0x14001b770
mov rcx, rsi
call fcn.14001b5a0
test al, al
jne 0x14001b775
xor r12b, r12b
jmp 0x14001b778
mov r12b, 1
xor eax, eax
mov dword [rsp + 0x34], eax
mov ecx, dword [rbp + 0xa8]
lea r8, str.BASIC
cmp ecx, 0xffffffff
je 0x14001b798
cmp eax, ecx
jge 0x14001bf6d
test r12b, r12b
jne 0x14001b8ca
mov rdi, qword [rbx + 0x10]
mov rsi, qword [rbx + 8]
mov r14d, 0x4e26
lea rcx, [rbp - 0x60]
call fcn.140015e20
mov rbx, rax
mov r15, qword [rbp + 0x80]
test rax, rax
je 0x14001b817
mov rcx, qword [r15]
mov rax, qword [rcx + 0x20]
mov rcx, r15
call qword [case.0x1400309a4.0]
test eax, eax
jne 0x14001b80e
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x14001b7e2
mov rdx, rbx
mov rcx, r15
call fcn.140014ff0
cmp rax, 0xfffffffffffffffd
ja 0x14001b802
xor r14d, r14d
jmp 0x14001b80e
cmp rax, 0xfffffffffffffffe
jne 0x14001b80e
mov r14d, 0x4e3f
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r14d, r14d
jne 0x14001b8bb
mov r8, rdi
mov rdx, rsi
mov rcx, r15
call fcn.140014ff0
mov rbx, rax
cmp rax, 0xfffffffffffffffd
ja 0x14001b8a1
mov r8, qword [r15 + 8]
test r8, r8
jne 0x14001b844
xor ebx, ebx
jmp 0x14001b86f
mov rax, qword [r15]
lea rdx, [r15 + 0x20]
mov rcx, r15
mov rax, qword [rax + 0x28]
call qword [case.0x1400309a4.0]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14001b8b5
mov qword [r15 + 8], 0
cmp rax, 0xfffffffffffffffe
je 0x14001b8a1
xor r9d, r9d
mov rdx, r13
mov rcx, r15
call fcn.140018760
mov r14d, eax
test eax, eax
jne 0x14001b8a1
mov ecx, dword [r13]
call fcn.140017f90
mov r14d, eax
mov r8, r13
mov edx, eax
mov rcx, qword [rbp + 0xc8]
call fcn.140014ad0
cmp rbx, 0xfffffffffffffffe
jne 0x14001b8af
mov r14d, 0x4e3f
jmp 0x14001b8bb
cmp rbx, 0xffffffffffffffff
jne 0x14001b8bb
mov r14d, 0x4e26
mov rsi, qword [rbp + 8]
mov r15, qword [rbp]
lea r8, str.BASIC
test rsi, rsi
je 0x14001b930
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 qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strnicmp]
test eax, eax
je 0x14001b913
inc ebx
inc rdi
mov rax, rdi
shl rax, 4
lea r8, str.BASIC
mov rcx, qword [rax + r8]
test rcx, rcx
jne 0x14001b8e0
jmp 0x14001b930
test ebx, ebx
je 0x14001b930
cmp ebx, 1
jne 0x14001b930
lea edx, [rbx + 0x1f]
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
je 0x14001b930
mov byte [rax], 0
lea rdx, str.BASIC
test r15, r15
je 0x14001b9b0
xor ebx, ebx
xor edi, edi
xor eax, eax
mov rcx, qword [str.BASIC]
nop dword [rax]
movsxd r8, dword [rax + rdx + 8]
mov rdx, rcx
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strnicmp]
test eax, eax
je 0x14001b983
inc ebx
inc rdi
mov rax, rdi
shl rax, 4
lea rdx, str.BASIC
mov rcx, qword [rax + rdx]
test rcx, rcx
jne 0x14001b950
jmp 0x14001b9b0
test ebx, ebx
je 0x14001b9a9
cmp ebx, 1
jne 0x14001b9a9
lea edx, [rbx + 0x1f]
mov rcx, r15
call qword [sym.imp.VCRUNTIME140.dll_strchr]
lea rdx, str.BASIC
test rax, rax
je 0x14001b9b0
mov byte [rax], 0
jmp 0x14001b9b0
lea rdx, str.BASIC
test r12b, r12b
jne 0x14001baba
cmp r14d, 0x4e2f
je 0x14001ba95
cmp r14d, 0x4e24
je 0x14001ba8e
test r14d, r14d
jne 0x14001bf26
cmp byte [r13 + 0x11d], r14b
jne 0x14001ba1f
mov eax, dword [rbp + 0xa0]
cmp eax, 2
je 0x14001ba1f
test eax, eax
jne 0x14001ba62
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.140018390
jmp 0x14001ba31
mov rdx, r13
mov rbx, qword [rbp + 0x80]
mov rcx, rbx
call fcn.1400185a0
cmp dword [r13 + 4], 1
mov r14d, eax
jl 0x14001ba52
jne 0x14001ba44
cmp dword [r13 + 8], 1
jl 0x14001ba52
cmp dword [r13 + 0x3c], 1
je 0x14001ba52
cmp dword [r13 + 0x40], 1
jne 0x14001ba62
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x18]
call qword [case.0x1400309a4.0]
cmp byte [r13 + 0x11d], 0
je 0x14001bf66
sub dword [rsp + 0x38], 1
je 0x14001bf1e
mov eax, dword [rsp + 0x34]
xor r12b, r12b
mov rbx, qword [rbp + 0x90]
jmp 0x14001b77e
cmp byte [rsp + 0x31], 0
jmp 0x14001ba9a
cmp byte [rsp + 0x30], 0
jne 0x14001bf66
mov ebx, r14d
mov rdx, r13
mov rdi, qword [rbp + 0x80]
mov rcx, rdi
call fcn.1400185a0
mov r14d, eax
jmp 0x14001bb22
cmp byte [rbp + 0xb0], 0
jne 0x14001bb16
test rsi, rsi
je 0x14001bb16
xor ebx, ebx
xor edi, edi
xor eax, eax
mov rcx, qword [str.BASIC]
movsxd r8, dword [rax + rdx + 8]
mov rdx, rcx
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strnicmp]
test eax, eax
je 0x14001bb08
inc ebx
inc rdi
mov rax, rdi
shl rax, 4
lea rdx, str.BASIC
mov rcx, qword [rax + rdx]
test rcx, rcx
jne 0x14001bad5
jmp 0x14001bb16
test ebx, ebx
je 0x14001bb16
cmp ebx, 1
mov ebx, 0x4e24
je 0x14001bb1b
mov ebx, 0x4e2f
mov rdi, qword [rbp + 0x80]
test r14d, r14d
jne 0x14001bf66
test r12b, r12b
jne 0x14001bb93
cmp dword [r13 + 4], 1
jl 0x14001bb4e
jne 0x14001bb40
cmp dword [r13 + 8], 1
jl 0x14001bb4e
cmp dword [r13 + 0x3c], 1
je 0x14001bb4e
cmp dword [r13 + 0x40], 1
jne 0x14001bb5e
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x18]
call qword [case.0x1400309a4.0]
mov rax, qword [rbp + 0xb8]
test rax, rax
je 0x14001bb93
cmp qword [rdi + 0x10], 0xffffffffffffffff
jne 0x14001bb93
mov r8, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0x88]
mov rcx, rdi
call qword [case.0x1400309a4.0]
mov r14d, eax
test eax, eax
jne 0x14001bf66
cmp ebx, 0x4e2f
jne 0x14001bd25
xor esi, esi
test r12b, r12b
je 0x14001bc79
lea r14, vtable.CBuffer.0
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x70], rsi
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x80], rsi
lea rax, vtable.http::CHTTPBuffer.0
mov qword [rsp + 0x68], rax
mov rdx, r15
lea rcx, [rsp + 0x68]
call fcn.14005a690
lea rcx, [r13 + 0x78]
call fcn.14001ded0
mov rbx, qword [r13 + 0x88]
lea rdx, [rbx + 1]
lea rcx, [r13 + 0x78]
call fcn.14001e030
lea rcx, [rbx + rbx*4]
mov rax, qword [r13 + 0x80]
lea rbx, [rax + rcx*8]
lea rax, [rsp + 0x68]
cmp rbx, rax
je 0x14001bc64
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x14001bc30
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x18]
call qword [case.0x1400309a4.0]
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], rsi
mov qword [rsp + 0x70], rsi
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x80], rsi
mov qword [rsp + 0x68], r14
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14001bc79
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r15, r15
je 0x14001bc8b
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
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.14001af50
mov r14d, eax
mov byte [rsp + 0x30], 1
mov r15, qword [rbp]
test r15, r15
je 0x14001bd0d
mov edi, esi
mov rbx, rsi
mov rax, rsi
mov rcx, qword [str.BASIC]
lea r12, str.BASIC
movsxd r8, dword [rax + r12 + 8]
mov rdx, rcx
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strnicmp]
test eax, eax
je 0x14001bd12
inc edi
inc rbx
mov rax, rbx
shl rax, 4
mov rcx, qword [rax + r12]
test rcx, rcx
jne 0x14001bce3
mov edi, 0xffffffff
mov rax, qword [rbp + 0x98]
mov dword [rax + 0x18], edi
mov rsi, qword [rbp + 8]
jmp 0x14001bf00
cmp ebx, 0x4e24
jne 0x14001bf05
xor r15d, r15d
test r12b, r12b
je 0x14001be59
lea r14, vtable.CBuffer.0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], r15
lea rax, vtable.http::CHTTPBuffer.0
mov qword [rsp + 0x40], rax
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rsi + rbx], 0
jne 0x14001bd70
add rbx, 1
je 0x14001bdc3
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.14005a5b0
test rax, rax
je 0x14001bdc3
mov r8, rbx
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
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 0x14001bdc3
add rcx, rbx
mov qword [rsp + 0x60], rcx
lea rcx, [r13 + 0x50]
call fcn.14001ded0
mov rbx, qword [r13 + 0x60]
lea rdx, [rbx + 1]
lea rcx, [r13 + 0x50]
call fcn.14001e030
lea rcx, [rbx + rbx*4]
mov rax, qword [r13 + 0x58]
lea rbx, [rax + rcx*8]
lea rax, [rsp + 0x40]
cmp rbx, rax
je 0x14001be44
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x14001be0c
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x18]
call qword [case.0x1400309a4.0]
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], r15
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x40], r14
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14001be59
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test rsi, rsi
je 0x14001be6b
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
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.14001af50
mov r14d, eax
mov byte [rsp + 0x31], 1
mov rsi, qword [rbp + 8]
test rsi, rsi
je 0x14001beed
mov edi, r15d
mov rbx, r15
mov rax, r15
mov rcx, qword [str.BASIC]
lea r12, str.BASIC
movsxd r8, dword [rax + r12 + 8]
mov rdx, rcx
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strnicmp]
test eax, eax
je 0x14001bef2
inc edi
inc rbx
mov rax, rbx
shl rax, 4
mov rcx, qword [rax + r12]
test rcx, rcx
jne 0x14001bec3
mov edi, 0xffffffff
mov rax, qword [rbp + 0x98]
mov dword [rax + 0x1c], edi
mov r15, qword [rbp]
test r14d, r14d
jne 0x14001bf66
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
xor r12b, r12b
mov rbx, qword [rbp + 0x90]
jmp 0x14001b77e
mov r14d, 0x4e38
jmp 0x14001bf66
mov rdx, r13
mov rbx, qword [rbp + 0x80]
mov rcx, rbx
call fcn.1400185a0
cmp dword [r13 + 4], 1
jl 0x14001bf56
jne 0x14001bf48
cmp dword [r13 + 8], 1
jl 0x14001bf56
cmp dword [r13 + 0x3c], 1
je 0x14001bf56
cmp dword [r13 + 0x40], 1
jne 0x14001bf66
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x18]
call qword [case.0x1400309a4.0]
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 0x14001bf85
mov eax, 0x4e25
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret