Function at 0x14004dafc
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
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 - 0xa8]
sub rsp, 0x1a8
mov rsi, rdx
mov r12, rcx
xor r14d, r14d
mov r13d, r14d
mov dword [rbp + 0x100], r14d
mov r15, qword [r8]
mov rdi, qword [r8 + 8]
mov qword [rbp + 0x58], rdi
cmp r15, rdi
je 0x14004e4b7
mov qword [rbp - 0x40], r14
mov al, reloc.WLDAP32.dll_Ordinal_60
mov dword [rsp + 0x60], 0x4c003c
mov dword [rsp + 0x64], 0x5d0050
mov dword [rsp + 0x68], 0x59005f
mov dword [rsp + 0x6c], 0x12004f
mov dword [rsp + 0x70], 0x4d004f
mov dword [rsp + 0x74], 0x550050
mov dword [rsp + 0x78], 0x590048
mov word [rsp + 0x7c], r14w
mov rcx, r14
movsx eax, al
xor word [rsp + rcx*2 + 0x62], ax
inc rcx
cmp rcx, 0xd
jae 0x14004dba6
mov al, byte [rsp + 0x60]
jmp 0x14004db8f
mov word [rsp + 0x7c], r14w
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], r14w
lea rdx, [rsp + 0x62]
lea rcx, [rbp - 0x80]
call fcn.140002cdc
nop
mov rdx, r15
lea rcx, [rbp - 0x38]
call fcn.14000352c
mov rbx, rax
mov dl, Ordinal_35
mov dword [rsp + 0x46], 0x720022
mov dword [rsp + 0x4a], 0x4d0050
mov dword [rsp + 0x4e], 0x4b0044
mov dword [rsp + 0x52], 0x47004e
mov dword [rsp + 0x56], 0x51
mov rcx, r14
movsx eax, dl
xor word [rsp + rcx*2 + 0x48], ax
inc rcx
cmp rcx, 8
jae 0x14004dc23
mov dl, byte [rsp + 0x46]
jmp 0x14004dc0c
mov word [rsp + 0x58], r14w
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], 7
mov word [rbp + 0x10], r14w
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x10]
call fcn.140002cdc
nop
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x60]
call fcn.14000352c
nop
mov r8, rax
mov rdx, rsi
lea rcx, [rbp + 0x30]
call fcn.140003644
or r13d, 2
lea rcx, [rsp + 0x60]
call fcn.14000299c
nop
mov r8, rbx
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x80]
call fcn.140003644
mov rbx, rax
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x60]
call fcn.14000352c
nop
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0x60]
call fcn.140003644
or r13d, 1
lea rcx, [rsp + 0x60]
call fcn.14000299c
nop
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x40]
call fcn.1400dcbd4
mov ebx, eax
lea rcx, [rbp + 0x60]
call fcn.14000299c
nop
lea rcx, [rbp + 0x80]
call fcn.14000299c
nop
lea rcx, [rbp + 0x30]
call fcn.14000299c
nop
lea rcx, [rbp + 0x10]
call fcn.14000299c
nop
lea rcx, [rbp - 0x38]
call fcn.14000299c
nop
lea rcx, [rbp - 0x80]
call fcn.14000299c
test ebx, ebx
je 0x14004dde2
mov rbx, qword [rbp - 0x40]
test rbx, rbx
je 0x14004dddd
mov rcx, rbx
call fcn.1400637dc
test eax, eax
jne 0x14004dd3a
mov ecx, 0x28f53
call fcn.1400dbce4
jmp 0x14004dddd
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14004dd49
call qword [0x140213e80]
test byte [rbx + 0x6a], 8
je 0x14004dd66
xor r9d, r9d
mov r8, rbx
mov rdx, qword [rbx + 0x100]
lea ecx, [r9 + 8]
call qword [rbx + 0xf8]
mov rcx, rbx
call fcn.1400d92f8
mov edx, 0x88
mov rcx, rbx
call fcn.1400c4188
cmp qword [rbx + 8], r14
jne 0x14004ddb9
mov ecx, r14d
cmp dword [rbx + 0x28], r14d
jle 0x14004ddab
mov rax, qword [rbx + 0x20]
add rax, 8
mov rdx, qword [rax]
test rdx, rdx
je 0x14004dda0
cmp dword [rdx + 0x18], r14d
jne 0x14004ddb9
inc ecx
add rax, 0x20
cmp ecx, dword [rbx + 0x28]
jl 0x14004dd92
mov byte [rbx + 0x6d], 0xa7
mov rcx, rbx
call fcn.1400d959c
jmp 0x14004dddd
lea r8, str.unable_to_close_due_to_unfinalized_statements_or_unfinished_backups
mov edx, 5
mov rcx, rbx
call fcn.140062890
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14004dddd
call qword [0x140213e90]
nop
jmp 0x14004e4ae
movdqa xmm0, xmmword [0x1401f5b60]
movdqu xmmword [rbp - 0x38], xmm0
movdqa xmm1, xmmword [0x1401f5460]
movdqu xmmword [rbp - 0x28], xmm1
movdqa xmm0, xmmword [0x1401f59f0]
movdqu xmmword [rbp - 0x18], xmm0
movdqa xmm1, xmmword [0x1401f5b90]
movdqu xmmword [rbp - 8], xmm1
mov byte [rbp + 8], r14b
mov rcx, r14
mov al, byte [rbp - 0x38]
xor byte [rbp + rcx - 0x37], al
inc rcx
cmp rcx, 0x3f
jb 0x14004de1d
mov byte [rbp + 8], r14b
mov qword [rsp + 0x30], r14
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
mov r9d, 0x80
or r8d, 0xffffffff
lea rdx, [rbp - 0x37]
mov rbx, qword [rbp - 0x40]
mov rcx, rbx
call fcn.1400b4140
test eax, eax
je 0x14004df32
test rbx, rbx
je 0x14004df2d
mov rcx, rbx
call fcn.1400637dc
test eax, eax
jne 0x14004de8a
mov ecx, 0x28f53
call fcn.1400dbce4
jmp 0x14004df2d
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14004de99
call qword [0x140213e80]
test byte [rbx + 0x6a], 8
je 0x14004deb6
xor r9d, r9d
mov r8, rbx
mov rdx, qword [rbx + 0x100]
lea ecx, [r9 + 8]
call qword [rbx + 0xf8]
mov rcx, rbx
call fcn.1400d92f8
mov edx, 0x88
mov rcx, rbx
call fcn.1400c4188
cmp qword [rbx + 8], r14
jne 0x14004df09
mov ecx, r14d
cmp dword [rbx + 0x28], r14d
jle 0x14004defb
mov rax, qword [rbx + 0x20]
add rax, 8
mov rdx, qword [rax]
test rdx, rdx
je 0x14004def0
cmp dword [rdx + 0x18], r14d
jne 0x14004df09
inc ecx
add rax, 0x20
cmp ecx, dword [rbx + 0x28]
jl 0x14004dee2
mov byte [rbx + 0x6d], 0xa7
mov rcx, rbx
call fcn.1400d959c
jmp 0x14004df2d
lea r8, str.unable_to_close_due_to_unfinalized_statements_or_unfinished_backups
mov edx, 5
mov rcx, rbx
call fcn.140062890
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14004df2d
call qword [0x140213e90]
nop
jmp 0x14004e4ae
movdqa xmm0, xmmword [0x1401f57f0]
movdqu xmmword [rbp - 0x38], xmm0
movdqa xmm1, xmmword [0x1401f5750]
movdqu xmmword [rbp - 0x28], xmm1
mov dword [rbp - 0x18], 0x3e052e33
mov dword [rbp - 0x14], 0x503f2e3b
mov byte [rbp - 0x10], r14b
mov rcx, r14
mov al, byte [rbp - 0x38]
xor byte [rbp + rcx - 0x37], al
inc rcx
cmp rcx, 0x27
jb 0x14004df61
mov byte [rbp - 0x10], r14b
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x60], r14b
lea rdx, [rbp - 0x37]
lea rcx, [rbp - 0x60]
call fcn.140005250
nop
mov rsi, qword [rbp + 0x50]
mov rcx, rsi
call fcn.1400823b8
cmp eax, 0x64
jne 0x14004e231
xor r8d, r8d
mov rdx, rsi
lea rcx, [rbp + 0x10]
call fcn.1400dcd84
nop
mov r8d, 1
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.1400dcd84
nop
mov edx, 2
mov rcx, rsi
call fcn.140082a98
mov edi, eax
mov edx, 3
mov rcx, rsi
call fcn.140082acc
mov r14, rax
lea rdx, [rbp + 0x10]
cmp qword [rbp + 0x28], 0x10
cmovae rdx, qword [rbp + 0x10]
mov r8, qword [rbp + 0x20]
lea rcx, [rbp - 0x60]
call fcn.1400052c0
mov word [rbp + 0x100], 0x963
mov byte [rbp + 0x102], 0
lea rax, [rbp + 0x101]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x14004e024
lea rdx, [rbp + 0x101]
lea rcx, [rbp - 0x60]
call fcn.1400052c0
lea rdx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae rdx, qword [rbp - 0x80]
mov r8, qword [rbp - 0x70]
lea rcx, [rbp - 0x60]
call fcn.1400052c0
mov word [rbp + 0x108], 0x972
mov byte [rbp + 0x10a], 0
lea rax, [rbp + 0x109]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x14004e074
lea rdx, [rbp + 0x109]
lea rcx, [rbp - 0x60]
call fcn.1400052c0
mov edx, edi
lea rcx, [rbp + 0x30]
call fcn.14002e960
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14004e0a8
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.1400052c0
nop
mov rdx, qword [rbp + 0x48]
mov edi, 0x1000
cmp rdx, 0x10
jb 0x14004e0f1
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, rdi
jb 0x14004e0ec
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004e4d8
call fcn.140173310
mov word [rsp + 0x40], 0x91a
mov byte [rsp + 0x42], 0
lea rax, [rsp + 0x41]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x14004e106
lea rdx, [rsp + 0x41]
lea rcx, [rbp - 0x60]
call fcn.1400052c0
mov rdx, r14
lea rcx, [rbp + 0x30]
call fcn.140004038
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14004e139
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.1400052c0
nop
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x14004e17d
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, rdi
jb 0x14004e178
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004e4de
call fcn.140173310
mov word [rsp + 0x43], 0xa5a
xor r14d, r14d
mov byte [rsp + 0x45], r14b
lea rax, [rsp + 0x44]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r14b
jne 0x14004e195
lea rdx, [rsp + 0x44]
lea rcx, [rbp - 0x60]
call fcn.1400052c0
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x14004e1e5
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, rdi
jb 0x14004e1df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004e4e4
call fcn.140173310
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x14004e21c
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, rdi
jb 0x14004e217
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004e4ea
call fcn.140173310
mov rcx, rsi
call fcn.1400823b8
cmp eax, 0x64
je 0x14004dfac
mov rdi, qword [rbp + 0x58]
mov al, 0x3d
mov dword [rsp + 0x46], 0x55003d
mov dword [rsp + 0x4a], 0x4e0054
mov dword [rsp + 0x4e], 0x520049
mov dword [rsp + 0x52], 0x44004f
mov dword [rsp + 0x56], 0x490013
mov dword [rsp + 0x5a], 0x490045
mov word [rsp + 0x5e], r14w
mov rcx, r14
movsx eax, al
xor word [rsp + rcx*2 + 0x48], ax
inc rcx
cmp rcx, 0xb
jae 0x14004e283
mov al, byte [rsp + 0x46]
jmp 0x14004e26c
mov word [rsp + 0x5e], r14w
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r14w
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x60]
call fcn.140002cdc
nop
mov rdx, r15
lea rcx, [rbp - 0x38]
call fcn.14000352c
nop
mov r8, rax
mov rdx, r12
lea rcx, [rbp + 0x60]
call fcn.140003644
nop
lea rcx, [rbp - 0x38]
call fcn.14000299c
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x80]
call fcn.14000352c
nop
mov r8, rax
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x30]
call fcn.140003644
nop
lea rcx, [rbp + 0x80]
call fcn.14000299c
nop
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], r14
lea rdx, [rbp + 0x30]
lea rcx, [rbp - 0x80]
call fcn.140003f34
or r13d, 0x1c
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x80]
call fcn.140059680
nop
lea rcx, [rbp - 0x80]
call fcn.14000299c
nop
lea rcx, [rbp + 0x30]
call fcn.14000299c
nop
lea rcx, [rbp + 0x60]
call fcn.14000299c
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x14004e395
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004e38f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004e4f0
call fcn.140173310
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x14004e3d0
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004e3cb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004e4d2
call fcn.140173310
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x60], r14b
test rbx, rbx
je 0x14004e4a7
mov rcx, rbx
call fcn.1400637dc
test eax, eax
jne 0x14004e404
mov ecx, 0x28f53
call fcn.1400dbce4
jmp 0x14004e4a7
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14004e413
call qword [0x140213e80]
test byte [rbx + 0x6a], 8
je 0x14004e430
xor r9d, r9d
mov r8, rbx
mov rdx, qword [rbx + 0x100]
lea ecx, [r9 + 8]
call qword [rbx + 0xf8]
mov rcx, rbx
call fcn.1400d92f8
mov edx, 0x88
mov rcx, rbx
call fcn.1400c4188
cmp qword [rbx + 8], r14
jne 0x14004e483
mov ecx, r14d
cmp dword [rbx + 0x28], r14d
jle 0x14004e475
mov rax, qword [rbx + 0x20]
add rax, 8
mov rdx, qword [rax]
test rdx, rdx
je 0x14004e46a
cmp dword [rdx + 0x18], r14d
jne 0x14004e483
inc ecx
add rax, 0x20
cmp ecx, dword [rbx + 0x28]
jl 0x14004e45c
mov byte [rbx + 0x6d], 0xa7
mov rcx, rbx
call fcn.1400d959c
jmp 0x14004e4a7
lea r8, str.unable_to_close_due_to_unfinalized_statements_or_unfinished_backups
mov edx, 5
mov rcx, rbx
call fcn.140062890
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14004e4a7
call qword [0x140213e90]
nop
mov rsi, qword [rbp + 0xf8]
add r15, 0x20
jmp 0x14004db3f
mov rcx, r12
add rsp, 0x1a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
jmp fcn.14000299c
call fcn.14018273c
nop
call fcn.14018273c
int3
call fcn.14018273c
nop
call fcn.14018273c
nop
call fcn.14018273c
int3
call fcn.14018273c
int3