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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
lea rbp, [rsp - 0x2f]
sub rsp, 0xa8
mov rax, qword [0x14017e7c0]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rsi, qword [rcx + 0x10]
xor r13d, r13d
mov dword [rbp - 0x2d], r8d
mov ebx, r9d
mov dword [rbp - 0x45], ebx
mov eax, 0xffffffff
mov qword [rbp - 0x39], rdx
mov r12, rdx
mov dword [rbp - 0x49], eax
mov rdi, rcx
test rsi, rsi
jne 0x140058492
call fcn.14003f730
mov qword [rdi + 0x10], rax
mov rsi, rax
test rax, rax
je 0x140058474
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
mov edx, 0x99
mov rcx, rax
call fcn.14003f920
cmp qword [rdi + 0x1c0], r13
jne 0x14005848f
mov rax, qword [rdi]
test byte [rax + 0x4c], 8
mov eax, dword [rbp - 0x49]
jne 0x140058492
mov byte [rdi + 0x23], 1
jmp 0x140058492
mov eax, dword [rbp - 0x49]
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xa0], r15
test rsi, rsi
je 0x140058715
inc dword [rdi + 0x70]
test byte [r12 + 4], 0x20
jne 0x1400584e1
mov rcx, rdi
call fcn.140088a20
mov r8d, dword [rdi + 0x5c]
mov rcx, rax
xor r9d, r9d
mov dword [rsp + 0x20], r13d
mov edx, 0x2c
lea eax, [r8 + 1]
mov dword [rdi + 0x5c], eax
call fcn.14003f920
mov dword [rbp - 0x49], eax
cmp byte [rdi + 0x1f2], 2
jne 0x140058563
cmp byte [r12], 0x4b
lea rcx, str.LIST
lea r9, str.SCALAR
cmove r9, rcx
lea r8, str.CORRELATED
test eax, eax
lea rcx, [0x14015ac07]
mov eax, dword [rdi + 0x204]
lea rdx, str.EXECUTE__s_s_SUBQUERY__d
cmovns r8, rcx
mov dword [rsp + 0x20], eax
mov rcx, qword [rdi]
call fcn.14001eaf0
mov r8d, dword [rdi + 0x200]
xor r9d, r9d
mov edx, 0x9b
mov dword [rsp + 0x20], r13d
mov rcx, rsi
mov rbx, rax
call fcn.14003f920
mov r9d, 0xffffffff
mov r8, rbx
mov edx, eax
mov rcx, rsi
call fcn.14003ff50
mov ebx, dword [rbp - 0x45]
cmp byte [r12], 0x4b
jne 0x140058a75
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x1400585a5
nop dword [rax + rax]
mov eax, dword [rcx + 4]
bt eax, 0xc
jae 0x1400585a5
bt eax, 0x12
jae 0x14005859c
mov rax, qword [rcx + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx]
jmp 0x1400585a0
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x140058580
test dword [rcx + 4], 0x200
je 0x1400585b2
xor al, al
jmp 0x14005861a
movzx edx, byte [rcx]
cmp dl, 0x77
jne 0x1400585cf
mov rax, qword [rcx + 0x20]
mov rcx, qword [rax]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx]
call fcn.140054640
jmp 0x14005861a
cmp dl, 0x26
jne 0x1400585e1
mov rcx, qword [rcx + 8]
xor edx, edx
call fcn.140064550
jmp 0x14005861a
lea eax, [rdx + 0x66]
test al, 0xfd
je 0x1400585ed
cmp dl, 0x9f
jne 0x140058616
mov rdx, qword [rcx + 0x40]
test rdx, rdx
je 0x140058616
movsx rax, word [rcx + 0x30]
test ax, ax
jns 0x140058604
mov al, 0x44
jmp 0x14005861a
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 8]
add rcx, rcx
movzx eax, byte [rax + rcx*8 + 0x29]
jmp 0x14005861a
movzx eax, byte [rcx + 1]
mov byte [rbp - 0x11], al
mov r9d, r13d
mov eax, dword [rdi + 0x50]
mov edx, reloc.WS2_32.dll_gethostname
mov dword [r12 + 0x2c], eax
mov rcx, rsi
inc dword [rdi + 0x50]
mov r8d, dword [r12 + 0x2c]
test ebx, ebx
mov dword [rsp + 0x20], r13d
sete r9b
call fcn.14003f920
mov dword [rbp - 0x31], eax
mov r14d, 1
test ebx, ebx
je 0x14005865e
mov r15, r13
mov qword [rbp - 0x19], r13
jmp 0x1400586c0
mov rbx, qword [rdi]
mov ecx, 0x3a
call fcn.14001c4a0
mov qword [rbp - 0x19], rax
mov r15, rax
test rax, rax
je 0x1400586bc
xor eax, eax
xorps xmm0, xmm0
movups xmmword [r15], xmm0
movups xmmword [r15 + 0x10], xmm0
movups xmmword [r15 + 0x20], xmm0
mov qword [r15 + 0x30], rax
mov word [r15 + 0x38], ax
lea rax, [r15 + 0x30]
mov qword [r15 + 0x18], rax
mov dword [r15 + 6], 0x10001
mov rax, qword [rbx + 0x20]
mov rcx, qword [rax + 0x18]
movzx eax, byte [rcx + 0x71]
mov byte [r15 + 4], al
mov qword [r15 + 0x10], rbx
mov dword [r15], r14d
jmp 0x1400586c0
mov byte [rbx + 0x50], r14b
test dword [r12 + 4], 0x800
mov rbx, qword [r12 + 0x20]
je 0x14005878a
mov eax, dword [r12 + 0x2c]
lea r8, [rbp - 9]
mov dword [rbp - 5], eax
mov rdx, rbx
movzx eax, byte [rbp - 0x11]
mov rcx, rdi
mov byte [rbp - 8], al
mov byte [rbp - 9], listen
mov qword [rbp - 1], r13
mov dword [rbx + 0xc], r13d
call fcn.14008e9b0
test eax, eax
je 0x140058743
test r15, r15
je 0x140058715
add dword [r15], 0xffffffff
jne 0x140058715
mov rcx, r15
call fcn.14001c8f0
xor eax, eax
mov r15, qword [rsp + 0xa0]
mov r14, qword [rsp + 0xf0]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1401386b0
add rsp, 0xa8
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, qword [rbx]
mov rdx, qword [r12 + 0x10]
mov rcx, qword [rax + 8]
test dword [rdx + 4], 0x100
mov rbx, qword [rcx]
jne 0x140058779
test rbx, rbx
je 0x140058769
test dword [rbx + 4], 0x100
jne 0x140058776
mov rcx, rdi
call fcn.140054850
test rax, rax
jne 0x140058781
mov rdx, rbx
mov rcx, rdi
call fcn.140054850
mov qword [r15 + 0x20], rax
jmp 0x140058a53
test rbx, rbx
je 0x140058a53
cmp byte [rbp - 0x11], r13b
jne 0x14005879d
mov byte [rbp - 0x11], 0x41
test r15, r15
je 0x1400587b3
mov rdx, qword [r12 + 0x10]
mov rcx, rdi
call fcn.140054850
mov qword [r15 + 0x20], rax
movzx eax, byte [rdi + 0x1f]
lea rcx, [rdi + 0x54]
test al, al
jne 0x1400587d3
mov r8d, dword [rcx]
inc r8d
mov dword [rcx], r8d
inc dword [rcx]
mov r12d, dword [rcx]
mov dword [rbp - 0x41], r8d
jmp 0x1400587ff
sub al, r14b
movzx edx, al
mov byte [rdi + 0x1f], dl
mov r8d, dword [rdi + rdx*4 + 0x24]
mov dword [rbp - 0x41], r8d
jne 0x1400587ee
inc dword [rcx]
mov r12d, dword [rcx]
jmp 0x1400587ff
dec dl
mov dword [rbp - 0x41], r8d
movzx eax, dl
mov byte [rdi + 0x1f], al
mov r12d, dword [rdi + rax*4 + 0x24]
cmp dword [rbp - 0x45], r13d
je 0x14005881d
mov r9d, r12d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
mov edx, 0x1c
mov rcx, rsi
call fcn.14003f920
mov eax, dword [rbx]
mov rcx, qword [rbx + 8]
mov qword [rbp - 0x29], rcx
mov dword [rbp - 0x3d], eax
test eax, eax
jle 0x1400589d7
movsxd rbx, dword [rbp - 0x49]
mov r15, qword [rbp - 0x39]
mov qword [rbp - 0x21], rbx
nop
mov r14, qword [rcx]
test rbx, rbx
js 0x1400588a9
mov edx, 1
mov rcx, r14
call fcn.140057a20
test eax, eax
jne 0x1400588a9
mov eax, dword [rbp - 0x49]
cmp eax, dword [rsi + 0x3c]
jge 0x14005889a
mov rax, qword [rsi + 8]
lea rcx, [rbx + rbx*2]
movsx edx, byte [rax + rcx*8 + 1]
lea rbx, [rax + rcx*8]
mov r8, qword [rbx + 0x10]
mov rcx, qword [rsi]
call fcn.14003fd20
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov byte [rbx], 0x9a
mov eax, dword [rsi + 0x3c]
dec eax
cmp dword [rbp - 0x49], eax
jne 0x14005889a
mov dword [rsi + 0x3c], eax
mov dword [rbp - 0x49], 0xffffffff
mov qword [rbp - 0x21], 0xffffffffffffffff
cmp dword [rbp - 0x45], r13d
je 0x140058925
test dword [r14 + 4], 0x400
je 0x1400588ce
mov eax, dword [r14 + 8]
mov edx, 0x54
mov dword [rbp - 0xd], eax
mov dword [rsp + 0x20], eax
jmp 0x1400589a4
movzx ecx, byte [r14]
sub ecx, 0x9d
je 0x140058901
cmp ecx, 1
jne 0x140058925
mov rcx, qword [r14 + 0x10]
lea rdx, [rbp - 0xd]
call fcn.140057c00
test eax, eax
je 0x140058925
mov eax, dword [rbp - 0xd]
mov edx, 0x54
mov dword [rsp + 0x20], eax
jmp 0x1400589a4
mov rcx, qword [r14 + 0x10]
lea rdx, [rbp + 0xf]
call fcn.140057c00
test eax, eax
je 0x140058925
mov eax, dword [rbp + 0xf]
mov edx, 0x54
neg eax
mov dword [rbp - 0xd], eax
mov dword [rsp + 0x20], eax
jmp 0x1400589a4
mov r8d, dword [rbp - 0x41]
mov rdx, r14
mov rcx, rdi
call fcn.140059f40
mov ebx, eax
mov r8d, eax
mov rcx, rsi
cmp dword [rbp - 0x45], r13d
je 0x140058964
mov r9d, dword [rsi + 0x3c]
mov edx, 0x26
add r9d, 2
mov dword [rsp + 0x20], r13d
call fcn.14003f920
mov edx, 0x4b
mov dword [rsp + 0x20], ebx
jmp 0x1400589a4
mov r14d, 1
mov dword [rsp + 0x20], r12d
mov r9d, r14d
mov edx, 0x31
call fcn.14003f920
mov r9d, r14d
lea r8, [rbp - 0x11]
mov edx, eax
mov rcx, rsi
call fcn.14003ff50
mov r8d, r14d
mov edx, ebx
mov rcx, rdi
call fcn.140059630
mov edx, WSAGetLastError
mov dword [rsp + 0x20], r13d
mov r8d, dword [r15 + 0x2c]
mov r9d, r12d
mov rcx, rsi
call fcn.14003f920
mov eax, dword [rbp - 0x3d]
mov rcx, qword [rbp - 0x29]
dec eax
mov rbx, qword [rbp - 0x21]
add rcx, 0x28
mov dword [rbp - 0x3d], eax
mov qword [rbp - 0x29], rcx
test eax, eax
jg 0x140058840
mov r15, qword [rbp - 0x19]
mov r8d, dword [rbp - 0x41]
test r8d, r8d
je 0x140058a12
movzx edx, byte [rdi + 0x1f]
cmp dl, 8
jae 0x140058a12
mov ecx, r13d
lea rax, [rdi + 0x88]
cmp dword [rax + 0xc], r8d
je 0x140058a0e
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x1400589f3
mov dword [rdi + rdx*4 + 0x24], r8d
inc byte [rdi + 0x1f]
jmp 0x140058a12
mov byte [rax + 6], 1
test r12d, r12d
je 0x140058a4f
movzx edx, byte [rdi + 0x1f]
cmp dl, 8
jae 0x140058a4f
mov ecx, r13d
lea rax, [rdi + 0x88]
nop word [rax + rax]
cmp dword [rax + 0xc], r12d
je 0x140058a4b
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x140058a30
mov dword [rdi + rdx*4 + 0x24], r12d
inc byte [rdi + 0x1f]
jmp 0x140058a4f
mov byte [rax + 6], 1
mov r12, qword [rbp - 0x39]
test r15, r15
je 0x140058b51
mov edx, dword [rbp - 0x31]
mov r9d, 0xfffffffa
mov r8, r15
mov rcx, rsi
call fcn.14003ff50
jmp 0x140058b51
mov r9d, dword [rdi + 0x54]
mov rbx, qword [r12 + 0x20]
inc r9d
mov dword [rdi + 0x54], r9d
cmp byte [r12], 0x77
mov dword [rbp - 5], r9d
mov byte [rbp - 8], r13b
mov qword [rbp - 1], r13
jne 0x140058aa2
mov byte [rbp - 9], 0xa
mov dword [rbp - 1], r9d
jmp 0x140058aa6
mov byte [rbp - 9], 3
mov edx, 0x1c
mov dword [rsp + 0x20], r13d
mov ecx, 0x19
cmovne edx, ecx
xor r8d, r8d
mov rcx, rsi
call fcn.14003f920
mov rdx, qword [rbx + 0x60]
mov rcx, qword [rdi]
call fcn.140055a50
mov rcx, qword [rdi]
lea r8, [0x140159450]
mov r9d, 1
mov edx, 0x84
call fcn.140054f10
mov r15, qword [rdi]
mov r14, rax
test rax, rax
jne 0x140058b0a
xor edx, edx
mov rcx, r15
call fcn.140055a50
xor edx, edx
mov rcx, r15
call fcn.140055a50
jmp 0x140058b2e
mov rcx, r14
call fcn.140054e50
mov rax, qword [rdi]
mov r8d, dword [rax + 0x74]
cmp dword [r14 + 0x28], r8d
jle 0x140058b2e
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rdi
call fcn.14001fcd0
lea r8, [rbp - 9]
mov qword [rbx + 0x60], r14
mov rdx, rbx
mov dword [rbx + 0xc], r13d
mov rcx, rdi
call fcn.14008e9b0
test eax, eax
jne 0x140058715
mov r13d, dword [rbp - 5]
mov eax, dword [rbp - 0x2d]
test eax, eax
je 0x140058b68
mov edx, dword [r12 + 0x2c]
mov r8d, eax
mov rcx, rsi
call fcn.140057da0
mov eax, dword [rbp - 0x49]
test eax, eax
js 0x140058b92
mov ecx, dword [rsi + 0x3c]
cmp ecx, eax
jbe 0x140058b83
mov rdx, qword [rsi + 8]
lea r8, [rax + rax*2]
mov dword [rdx + r8*8 + 8], ecx
mov r8d, dword [rsi + 0x3c]
mov rdx, qword [rsi + 0x30]
dec r8d
mov dword [rdx + 0x64], r8d
mov rcx, rdi
call fcn.140059860
mov eax, r13d
jmp 0x140058717