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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov r13, r9
mov r12, r8
mov r15, rcx
mov rax, qword [0x14040b018]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov rbx, qword [rcx]
mov dword [rsp + 0x9c], 0xaaaaaaaa
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], 0
test rdx, rdx
je 0x1402d265a
movsxd rdi, dword [rdx]
mov rax, rdi
shl rax, 3
lea rsi, [rax + rax*2]
test rbx, rbx
mov qword [rsp + 0x30], rdx
je 0x1402d2677
cmp byte [rbx + 0x67], 0
je 0x1402d2681
xor ebp, ebp
jmp 0x1402d26aa
mov word [r12], 0
mov qword [r13], 0
add r15, 0x30
xor ebp, ebp
mov rcx, r15
jmp 0x1402d2b48
mov rcx, rsi
call fcn.140247f50
jmp 0x1402d268c
mov rcx, rbx
mov rdx, rsi
call fcn.140252670
mov rbp, rax
test rax, rax
je 0x1402d26a3
mov rcx, rbp
xor edx, edx
mov r8, rsi
call fcn.1403369a0
jmp 0x1402d26a5
xor ebp, ebp
mov rdx, qword [rsp + 0x30]
mov eax, 0x7fff
cmp edi, eax
cmovl eax, edi
mov word [r12], ax
mov qword [r13], rbp
lea rcx, [r15 + 0x30]
test edi, edi
jle 0x1402d2b48
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r12
mov dword [rsp + 0x3c], eax
mov eax, eax
mov qword [rsp + 0x68], rax
mov rsi, rbp
xor ebp, ebp
lea rdi, [0x1403f1500]
lea r12, [0x1403dfed6]
lea r8, [0x1403dfedd]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rcx
cmp dword [rcx], 0
jne 0x1402d2b56
mov rcx, rbp
shl rcx, 5
lea rax, [rdx + rcx]
add rax, 8
mov r14, qword [rax + 8]
test r14, r14
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rcx
je 0x1402d2738
test byte [rdx + rcx + 0x1c], 3
je 0x1402d27cf
mov rax, qword [rax]
test rax, rax
je 0x1402d2771
mov ecx, dword [rax + 4]
test ecx, 0x82000
je 0x1402d2761
bt ecx, 0x13
jb 0x1402d2757
add rax, 0x10
jmp 0x1402d2738
mov rax, qword [rax + 0x20]
add rax, 8
jmp 0x1402d2738
mov cl, byte [rax]
cmp cl, 0x83
jne 0x1402d277a
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x1402d2761
mov cl, byte [SysStringLen]
xor eax, eax
cmp cl, 0x39
je 0x1402d27c3
movzx ecx, cl
cmp ecx, 0x9a
jne 0x1402d27ca
test byte [rax + 7], 3
jne 0x1402d27ca
mov rcx, qword [rax + 0x40]
test rcx, rcx
je 0x1402d27ca
movzx eax, word [rax + 0x30]
test ax, ax
jns 0x1402d27b2
movzx eax, word [rcx + 0x34]
lea r14, str.rowid
test ax, ax
js 0x1402d27cf
movzx eax, ax
lea rax, [rax + rax*2]
shl rax, 3
add rax, qword [rcx + 8]
jmp 0x1402d27c7
add rax, 8
mov r14, qword [rax]
test r14, r14
je 0x1402d281b
xor eax, eax
movzx ecx, byte [r14 + rax]
movzx edx, byte [rax + r12]
cmp cl, dl
jne 0x1402d27e6
test rcx, rcx
jne 0x1402d27ee
jmp 0x1402d281b
mov cl, byte [rcx + rdi]
cmp cl, byte [rdx + rdi]
jne 0x1402d27f3
inc rax
jmp 0x1402d27d1
xor eax, eax
movzx ecx, byte [r14 + rax]
movzx edx, byte [rax + r8]
cmp cl, dl
jne 0x1402d280a
test rcx, rcx
jne 0x1402d2816
jmp 0x1402d281b
mov cl, byte [rcx + rdi]
cmp cl, byte [rdx + rdi]
jne 0x1402d29ed
inc rax
jmp 0x1402d27f5
lea r8d, [rbp + 1]
mov rcx, rbx
lea rdx, str.column_d
call fcn.14024dd90
mov r13, rax
mov dword [rsp + 0x9c], 0
test rax, rax
je 0x1402d2a59
mov r14d, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x90]
lea rax, [rsp + 0x88]
lea r8, [rsp + 0x84]
test rcx, rcx
je 0x1402d28b0
mov r8b, byte [r13]
test r8b, r8b
je 0x1402d2899
lea rdx, [r13 + 1]
xor eax, eax
movzx r8d, r8b
movzx r8d, byte [r8 + rdi]
add r8d, eax
imul eax, r8d, 0x9e3779b1
mov r8b, byte [rdx]
inc rdx
test r8b, r8b
jne 0x1402d2879
jmp 0x1402d289b
xor eax, eax
xor edx, edx
div r14d
shl rdx, 4
lea r8, [rcx + rdx]
lea rax, [rcx + rdx]
add rax, 8
mov ecx, dword [r8]
lea rdx, [0x140467be0]
test ecx, ecx
je 0x1402d28fe
mov rax, qword [rax]
mov rdx, qword [rax + 0x18]
xor r8d, r8d
movzx r9d, byte [rdx + r8]
movzx r10d, byte [r13 + r8]
cmp r9b, r10b
jne 0x1402d28df
test r9, r9
jne 0x1402d28e9
jmp 0x1402d28fb
mov r9b, byte [r9 + rdi]
cmp r9b, byte [r10 + rdi]
jne 0x1402d28ee
inc r8
jmp 0x1402d28c8
dec ecx
jne 0x1402d28be
lea rdx, [0x140467be0]
jmp 0x1402d28fe
mov rdx, rax
mov rax, qword [rdx + 0x10]
test rax, rax
je 0x1402d29c9
test byte [rax + 0x14], 0x80
je 0x1402d2915
or byte [rsi + 0x13], 4
mov rcx, r13
call fcn.14035a9d0
mov r8d, eax
and r8d, 0x3fffffff
je 0x1402d294b
and eax, 0x3fffffff
cmp rax, 1
jbe 0x1402d2950
dec rax
mov ecx, eax
movzx ecx, byte [r13 + rcx]
lea rdx, [rcx - 0x3a]
cmp rdx, 0xfffffffffffffff5
ja 0x1402d292e
jmp 0x1402d2956
xor r8d, r8d
jmp 0x1402d295d
mov cl, byte [r13]
xor eax, eax
cmp cl, 0x3a
cmove r8d, eax
mov eax, dword [rsp + 0x9c]
inc eax
mov dword [rsp + 0x9c], eax
mov dword [rsp + 0x20], eax
mov rcx, rbx
lea rdx, str._.z:_u
mov r9, r13
call fcn.14024dd90
mov r13, rax
mov rax, qword [r15]
mov eax, dword [rax + 0x188]
test eax, eax
je 0x1402d299f
inc dword [r15 + 0x30]
mov dword [r15 + 0x18], 9
cmp dword [rsp + 0x9c], 4
jb 0x1402d29bb
mov ecx, 4
lea rdx, [rsp + 0x9c]
call fcn.1402488d0
test r13, r13
jne 0x1402d284d
jmp 0x1402d2a59
mov qword [rsi], r13
mov dl, byte [r13]
test dl, dl
je 0x1402d2a15
lea rcx, [r13 + 1]
xor eax, eax
movzx edx, dl
add al, byte [rdx + rdi]
mov dl, byte [rcx]
inc rcx
test dl, dl
jne 0x1402d29da
xor ecx, ecx
jmp 0x1402d2a67
mov rcx, r14
call fcn.14035a9d0
inc rax
test rbx, rbx
je 0x1402d2a19
cmp byte [rbx + 0x67], 0
jne 0x1402d2a4e
mov rcx, rbx
mov qword [rsp + 0x40], rax
mov rdx, rax
call fcn.140252670
jmp 0x1402d2a26
xor ecx, ecx
jmp 0x1402d2a65
mov qword [rsp + 0x40], rax
mov rcx, rax
call fcn.140247f50
mov r13, rax
test rax, rax
mov r8, qword [rsp + 0x40]
je 0x1402d2a4e
mov rcx, r13
mov rdx, r14
call fcn.140336540
mov dword [rsp + 0x9c], 0
jmp 0x1402d2845
mov dword [rsp + 0x9c], 0
mov qword [rsi], 0
mov cl, 1
xor r13d, r13d
xor eax, eax
mov byte [rsi + 0xe], al
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x78]
test byte [rdx + rax + 0x1d], 1
je 0x1402d2a7f
or byte [rsi + 0x13], 4
test cl, cl
jne 0x1402d2ab1
lea rcx, [rsp + 0x80]
mov rdx, r13
mov r14, qword [rsp + 0x70]
mov r8, r14
call fcn.1402847b0
mov rdx, qword [rsp + 0x30]
cmp rax, r14
jne 0x1402d2ab1
cmp byte [rbx + 0x67], 0
jne 0x1402d2ab1
cmp byte [rbx + 0x68], 0
je 0x1402d2ad4
inc rbp
add rsi, 0x18
cmp rbp, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x48]
lea r8, [0x1403dfedd]
jne 0x1402d2702
jmp 0x1402d2b5c
mov byte [rbx + 0x67], 1
cmp dword [rbx + 0xe4], 0
jle 0x1402d2aeb
mov dword [rbx + 0x188], 1
inc dword [rbx + 0x190]
mov word [rbx + 0x194], 0
mov rcx, qword [rbx + 0x150]
test rcx, rcx
je 0x1402d2ab1
lea rdx, str.out_of_memory
call fcn.14024dbb0
mov rdx, qword [rsp + 0x30]
mov rax, qword [rbx + 0x150]
mov dword [rax + 0x18], 7
mov rax, qword [rbx + 0x150]
mov rax, qword [rax + 0xf0]
test rax, rax
je 0x1402d2ab1
inc dword [rax + 0x30]
mov dword [rax + 0x18], 7
jmp 0x1402d2b2c
cmp dword [rcx], 0
jne 0x1402d2cf2
jmp 0x1402d2d11
mov eax, ebp
mov dword [rsp + 0x3c], ebp
mov rsi, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
mov qword [rsp + 0x88], 0
test rdi, rdi
mov r12, qword [rsp + 0x60]
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
je 0x1402d2c01
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x1402d2d36
mov rcx, qword [0x1404679b8]
test rcx, rcx
je 0x1402d2bb2
mov rax, qword [0x14041aff8]
call qword [case.0x1403339d6.0]
mov rax, qword [0x14041afb0]
mov rcx, rdi
call qword [case.0x1403339d6.0]
cdqe
sub qword [0x140467910], rax
dec qword [0x140467958]
mov rax, qword [0x14041afa0]
mov rcx, rdi
call qword [case.0x1403339d6.0]
mov rdi, qword [0x1404679b8]
test rdi, rdi
je 0x1402d2c01
lea rax, [0x14041b008]
mov rax, qword [rax]
mov rcx, rdi
call qword [case.0x1403339d6.0]
mov qword [rsp + 0x90], 0
mov dword [rsp + 0x80], 0
test rsi, rsi
je 0x1402d2cae
lea rdi, [0x14041afa0]
lea r14, [0x14041b008]
mov r15, qword [rsi]
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x1402d2ca9
mov rcx, qword [0x1404679b8]
test rcx, rcx
je 0x1402d2c54
mov rax, qword [0x14041aff8]
call qword [case.0x1403339d6.0]
mov rax, qword [0x14041afb0]
mov rcx, rsi
call qword [case.0x1403339d6.0]
cdqe
sub qword [0x140467910], rax
dec qword [0x140467958]
mov rax, qword [0x14041afa0]
mov rcx, rsi
call qword [case.0x1403339d6.0]
mov rsi, qword [0x1404679b8]
mov rax, r14
test rsi, rsi
je 0x1402d2c9f
mov rax, qword [rax]
mov rcx, rsi
call qword [case.0x1403339d6.0]
mov rsi, r15
test r15, r15
jne 0x1402d2c2f
jmp 0x1402d2cae
mov rax, rdi
jmp 0x1402d2c93
mov dword [rsp + 0x84], 0
mov rax, qword [rsp + 0x48]
cmp dword [rax], 0
je 0x1402d2d11
mov eax, dword [rsp + 0x3c]
test eax, eax
je 0x1402d2cf2
mov eax, eax
shl rax, 3
lea rsi, [rax + rax*2]
xor edi, edi
mov rdx, qword [rbp + rdi]
test rdx, rdx
je 0x1402d2ce9
mov rcx, rbx
call fcn.140252440
add rdi, 0x18
cmp rsi, rdi
jne 0x1402d2cd7
test rbp, rbp
je 0x1402d2d02
mov rcx, rbx
mov rdx, rbp
call fcn.140252440
mov qword [r13], 0
mov word [r12], 0
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.140334bf0
nop
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [0x14041afa0]
jmp 0x1402d2bf5