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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r10, qword [rcx]
xor edi, edi
mov r14, qword [rsp + 0xa0]
movzx r11d, r9w
mov rbx, qword [rcx + 0x18]
mov rsi, r8
mov rax, qword [rcx + 8]
mov r12, qword [r10]
movsxd r13, dword [r14]
mov rbp, qword [r14 + 0x20]
mov qword [rsp + 0x20], rax
movzx eax, byte [rbx + 0x10]
imul rax, rax, 0x70
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x28], rax
mov rax, qword [r10 + 8]
lea r10d, [rdi + 1]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xb0]
mov qword [rbx], rdx
mov rdx, qword [r14 + 8]
mov qword [rsp + 0x38], r12
mov dword [rax], edi
test r13d, r13d
jle 0x1400a1c0c
mov r14, qword [rsp + 0x20]
add rdx, 5
mov r9d, r13d
nop dword [rax]
movsxd rax, dword [rdx + 3]
imul r8, rax, 0x38
add r8, qword [r14 + 0x20]
mov byte [rdx], dil
mov rax, qword [r8 + 0x28]
and rax, rsi
cmp rax, qword [r8 + 0x28]
jne 0x1400a1bfb
test word [r8 + 0x14], r11w
movzx eax, dil
cmove eax, r10d
mov byte [rdx], al
add rdx, 0xc
sub r9, r10
jne 0x1400a1bd0
mov r14, qword [rsp + 0xa0]
lea r8, [r13*8]
xor edx, edx
mov rcx, rbp
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rsp + 0x28]
movabs rax, 0x546d42aea2879f2e
mov rdx, qword [rsp + 0x30]
mov qword [r14 + 0x30], rdi
mov dword [r14 + 0x28], edi
mov dword [r14 + 0x3c], edi
mov qword [r14 + 0x40], rax
mov qword [r14 + 0x48], Ordinal_26
mov dword [r14 + 0x50], edi
mov rax, qword [rcx + rdx + 0x60]
mov qword [r14 + 0x58], rax
mov rax, qword [rcx + rdx + 0x28]
mov rcx, qword [rax + 0x60]
test rcx, rcx
je 0x1400a1c7e
mov rax, qword [r12]
nop dword [rax]
cmp qword [rcx], rax
je 0x1400a1c7e
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x1400a1c70
mov rsi, qword [rcx + 0x10]
mov rdx, r14
mov rcx, rsi
mov rax, qword [rsi]
call qword [rax + Ordinal_26]
mov ebp, eax
test eax, eax
je 0x1400a1df5
cmp ebp, 0x13
je 0x1400a1df5
cmp ebp, 7
jne 0x1400a1d00
mov rax, qword [r12]
cmp byte [rax + 0x63], dil
jne 0x1400a1cec
cmp byte [rax + 0x64], dil
jne 0x1400a1cec
mov byte [rax + 0x63], 1
cmp dword [rax + 0xdc], edi
jle 0x1400a1ccc
mov dword [rax + 0x178], 1
inc dword [rax + 0x180]
mov rcx, qword [rax + 0x140]
mov word [rax + 0x184], di
test rcx, rcx
je 0x1400a1cec
mov dword [rcx + 0x18], 7
mov rcx, qword [rsi + 0x10]
call fcn.140004410
mov qword [rsi + 0x10], rdi
mov eax, ebp
jmp 0x1400a2280
mov r8, qword [rsi + 0x10]
test r8, r8
jne 0x1400a1dd2
mov ecx, ebp
lea r8, str.unknown_error
sub ecx, 0x64
je 0x1400a1dcb
sub ecx, 1
je 0x1400a1da1
cmp ecx, 0x19f
je 0x1400a1d77
movzx eax, bpl
cmp eax, 0x1d
jae 0x1400a1dd2
lea r9, [0x140000000]
mov rcx, qword [r9 + rax*8 + 0x2e5f20]
test rcx, rcx
je 0x1400a1dd2
mov r8, rcx
lea rdx, [0x1402e0638]
mov rcx, r12
call fcn.140007d30
mov rcx, qword [rsi + 0x10]
call fcn.140004410
mov eax, ebp
mov qword [rsi + 0x10], rdi
jmp 0x1400a2280
lea r8, str.abort_due_to_ROLLBACK
mov rcx, r12
lea rdx, [0x1402e0638]
call fcn.140007d30
mov rcx, qword [rsi + 0x10]
call fcn.140004410
mov eax, ebp
mov qword [rsi + 0x10], rdi
jmp 0x1400a2280
lea r8, str.no_more_rows_available
mov rcx, r12
lea rdx, [0x1402e0638]
call fcn.140007d30
mov rcx, qword [rsi + 0x10]
call fcn.140004410
mov eax, ebp
mov qword [rsi + 0x10], rdi
jmp 0x1400a2280
lea r8, str.another_row_available
lea rdx, [0x1402e0638]
mov rcx, r12
call fcn.140007d30
mov rcx, qword [rsi + 0x10]
call fcn.140004410
mov eax, ebp
mov qword [rsi + 0x10], rdi
jmp 0x1400a2280
mov rcx, qword [rsi + 0x10]
call fcn.140004410
mov qword [rsi + 0x10], rdi
test ebp, ebp
je 0x1400a1e16
cmp ebp, 0x13
jne 0x1400a1cf9
xor eax, eax
jmp 0x1400a2280
mov ebp, 0xffffffff
mov esi, edi
test r13d, r13d
jle 0x1400a1e84
cmp r13d, 2
jb 0x1400a1e84
mov r9, qword [rbx + 0x38]
lea rdx, [rbx + 0x38]
lea eax, [r13 - 1]
movsxd rcx, eax
lea rax, [r9 + rcx*8]
cmp r9, rdx
ja 0x1400a1e45
cmp rax, rdx
jae 0x1400a1e84
mov eax, r13d
and eax, 0x80000001
jge 0x1400a1e56
dec eax
or eax, 0xfffffffe
inc eax
mov edx, r13d
sub edx, eax
nop dword [rax + rax]
add esi, 2
cmp esi, edx
jl 0x1400a1e60
lea eax, [rdx + 1]
mov rcx, r9
cdq
sub eax, edx
xor edx, edx
sar eax, 1
movsxd r8, eax
shl r8, 4
and r8, 0xfffffffffffffff8
call sub.VCRUNTIME140.dll_memset
movsxd rcx, esi
cmp rcx, r13
jge 0x1400a1ea0
nop dword [rax]
mov rax, qword [rbx + 0x38]
mov qword [rax + rcx*8], rdi
inc rcx
cmp rcx, r13
jl 0x1400a1e90
mov word [rbx + 0x1e], di
mov r8d, edi
mov r9, qword [r14 + 8]
test r13d, r13d
jle 0x1400a1fa7
movzx r12d, word [rsp + 0xa8]
mov rdx, rdi
mov rax, qword [rsp + 0x88]
add r9, 5
nop dword [rax]
movsxd r10, dword [rax + rdx*8]
lea ecx, [r10 - 1]
test ecx, ecx
js 0x1400a1f8f
cmp ecx, r13d
jge 0x1400a1fee
movsxd rax, dword [r9 + 3]
test eax, eax
js 0x1400a1fee
mov r11, qword [rsp + 0x20]
cmp eax, dword [r11 + 0x14]
jge 0x1400a1fee
mov rsi, qword [rbx + 0x38]
mov r11, r10
cmp qword [rsi + r10*8 - 8], rdi
jne 0x1400a1fee
cmp byte [r9], dil
je 0x1400a1fee
imul r10, rax, 0x38
mov rax, qword [rsp + 0x20]
add r10, qword [rax + 0x20]
mov rax, qword [r10 + 0x28]
or qword [rbx], rax
mov eax, ecx
cmp ecx, ebp
mov qword [rsi + r11*8 - 8], r10
cmovle eax, ebp
mov ebp, eax
mov rax, qword [rsp + 0x88]
cmp byte [rax + rdx*8 + 4], dil
je 0x1400a1f71
cmp r8d, 0x10
jae 0x1400a1f71
bt r12d, r8d
jb 0x1400a1f71
movzx eax, word [rbx + 0x1e]
bts eax, ecx
mov word [rbx + 0x1e], ax
mov rax, qword [rsp + 0x88]
jmp 0x1400a1f71
test byte [r10 + 0x14], 1
je 0x1400a1f8f
mov rcx, qword [rsp + 0xb0]
and dword [r14 + 0x50], 0xfffffffe
mov dword [r14 + 0x3c], edi
mov dword [rcx], 1
inc r8d
inc rdx
add r9, 0xc
cmp rdx, r13
jl 0x1400a1ed0
mov r12, qword [rsp + 0x38]
lea eax, [rbp + 1]
mov ecx, edi
mov word [rbx + 0x2c], ax
test ebp, ebp
js 0x1400a1fc7
mov rax, qword [rbx + 0x38]
cmp qword [rax], rdi
je 0x1400a201b
inc ecx
add rax, 8
cmp ecx, ebp
jle 0x1400a1fb8
mov eax, dword [r14 + 0x28]
mov dword [rbx + 0x18], eax
movzx eax, byte [r14 + 0x38]
mov byte [rbx + 0x1c], al
mov rax, qword [r14 + 0x30]
mov dword [r14 + 0x38], edi
mov qword [rbx + 0x20], rax
cmp dword [r14 + 0x3c], edi
je 0x1400a2046
mov eax, dword [r14 + 0x10]
jmp 0x1400a2048
mov rcx, qword [rsp + 0x30]
lea rdx, str._s.xBestIndex_malfunction
mov r8, qword [rsp + 0x28]
mov r8, qword [r8 + rcx + 0x28]
mov rcx, qword [rsp + 0x38]
mov r8, qword [r8]
call fcn.140007d30
mov eax, 1
jmp 0x1400a2280
mov rcx, qword [rsp + 0x30]
lea rdx, str._s.xBestIndex_malfunction
mov r8, qword [rsp + 0x28]
mov r8, qword [r8 + rcx + 0x28]
mov rcx, r12
mov r8, qword [r8]
call fcn.140007d30
mov eax, 1
jmp 0x1400a2280
mov eax, edi
movsd xmm0, qword [0x1402ef4e0]
lea r9, [0x140000000]
mov byte [rbx + 0x1d], al
mov edx, Ordinal_41
mov word [rbx + 0x12], di
movsd xmm1, qword [r14 + 0x40]
comisd xmm0, xmm1
movsd qword [rsp + 0xa0], xmm1
jb 0x1400a2080
movzx eax, di
jmp 0x1400a2163
movsd xmm0, qword [0x1402ef560]
comisd xmm0, xmm1
jb 0x1400a2142
movsd xmm0, qword [0x1402ef590]
xor ecx, ecx
comisd xmm1, xmm0
jb 0x1400a20b9
subsd xmm1, xmm0
comisd xmm1, xmm0
jae 0x1400a20b9
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rax, xmm1
add rax, rcx
movzx ecx, dx
cmp rax, 8
jae 0x1400a20ef
cmp rax, 2
jae 0x1400a20e0
mov eax, edi
jmp 0x1400a2163
add cx, 0xfff6
add rax, rax
cmp rax, 8
jb 0x1400a20e0
jmp 0x1400a212d
cmp rax, 0xff
jbe 0x1400a210f
nop word [rax + rax]
add cx, dx
shr rax, 4
cmp rax, 0xff
ja 0x1400a2100
cmp rax, 0xf
jbe 0x1400a212d
nop word [rax + rax]
add cx, 0xa
shr rax, 1
cmp rax, 0xf
ja 0x1400a2120
and eax, 7
movzx eax, word [r9 + rax*2 + 0x2e83e0]
sub ax, 0xa
add ax, cx
jmp 0x1400a2163
mov rcx, qword [rsp + 0xa0]
mov eax, 0x3fe
shr rcx, 0x34
sub cx, ax
movzx eax, cx
shl ax, 2
add cx, ax
lea eax, [rcx + rcx]
mov word [rbx + 0x14], ax
mov rax, qword [r14 + 0x48]
cmp rax, 8
jae 0x1400a218f
cmp rax, 2
jb 0x1400a21e0
nop word [rax + rax]
add dx, 0xfff6
add rax, rax
cmp rax, 8
jb 0x1400a2180
jmp 0x1400a21cd
cmp rax, 0xff
jbe 0x1400a21b0
nop word [rax + rax]
add dx, 0x28
shr rax, 4
cmp rax, 0xff
ja 0x1400a21a0
cmp rax, 0xf
jbe 0x1400a21cd
nop word [rax + rax]
add dx, 0xa
shr rax, 1
cmp rax, 0xf
ja 0x1400a21c0
and eax, 7
movzx edi, word [r9 + rax*2 + 0x2e83e0]
sub di, 0xa
add di, dx
mov edx, dword [rbx + 0x28]
mov eax, edx
bts edx, 0xc
mov word [rbx + 0x16], di
mov ecx, dword [r14 + 0x50]
btr eax, 0xc
and cl, 1
mov rcx, qword [rsp + 0x80]
cmove edx, eax
mov dword [rbx + 0x28], edx
mov rdx, rbx
call fcn.1400a00a0
cmp byte [rbx + 0x1c], 0
mov esi, eax
je 0x1400a227e
mov rdi, qword [rbx + 0x20]
test rdi, rdi
je 0x1400a227a
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x1400a2271
mov rcx, qword [0x140321748]
test rcx, rcx
je 0x1400a223a
call qword [0x14031a510]
mov rcx, rdi
call qword [0x14031a4c8]
dec qword [0x1403214c8]
mov rcx, rdi
movsxd rdx, eax
sub qword [0x140321480], rdx
call qword [0x14031a4b8]
mov rcx, qword [0x140321748]
test rcx, rcx
je 0x1400a227a
call qword [0x14031a520]
jmp 0x1400a227a
mov rcx, rdi
call qword [0x14031a4b8]
mov byte [rbx + 0x1c], 0
mov eax, esi
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret