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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov r13, rdx
mov r14, rcx
xor edi, edi
mov r15d, edi
mov dword [rbp + 0xf0], edi
mov rsi, qword [r8]
mov r12, qword [r8 + 8]
cmp rsi, r12
je 0x1400528cc
mov qword [rbp + 8], rdi
mov al, reloc.WS2_32.dll_recvfrom
mov dword [rbp - 0x70], 0x660011
mov dword [rbp - 0x6c], 0x730074
mov dword [rbp - 0x68], 0x610070
mov dword [rbp - 0x64], 0x620061
mov dword [rbp - 0x60], 0x650062
mov dword [rbp - 0x5c], 0x63007e
mov dword [rbp - 0x58], 0x3f0074
mov dword [rbp - 0x54], 0x600062
mov dword [rbp - 0x50], 0x78007d
mov dword [rbp - 0x4c], 0x740065
mov word [rbp - 0x48], di
mov rcx, rdi
movsx eax, al
xor word [rbp + rcx*2 - 0x6e], ax
inc rcx
cmp rcx, 0x13
jae 0x140051fde
mov al, byte [rbp - 0x70]
jmp 0x140051fc8
mov word [rbp - 0x48], di
mov qword [rbp - 0x18], rdi
mov qword [rbp - 8], rdi
mov qword [rbp], 7
mov word [rbp - 0x18], di
lea rdx, [rbp - 0x6e]
lea rcx, [rbp - 0x18]
call fcn.140002cdc
nop
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.14000352c
mov rbx, rax
mov dl, reloc.WLDAP32.dll_Ordinal_27
mov dword [rsp + 0x48], 0x4b001b
mov dword [rsp + 0x4c], 0x740069
mov dword [rsp + 0x50], 0x72007d
mov dword [rsp + 0x54], 0x7e0077
mov dword [rsp + 0x58], WSAGetLastError
mov rcx, rdi
movsx eax, dl
xor word [rsp + rcx*2 + 0x4a], ax
inc rcx
cmp rcx, 8
jae 0x140052058
mov dl, byte [rsp + 0x48]
jmp 0x140052041
mov word [rsp + 0x5a], di
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], 7
mov word [rbp + 0x30], di
lea rdx, [rsp + 0x4a]
lea rcx, [rbp + 0x30]
call fcn.140002cdc
nop
lea rdx, [rbp + 0x30]
lea rcx, [rsp + 0x48]
call fcn.14000352c
nop
mov r8, rax
mov rdx, r13
lea rcx, [rbp + 0x58]
call fcn.140003644
or r15d, 1
lea rcx, [rsp + 0x48]
call fcn.14000299c
nop
mov r8, rbx
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x78]
call fcn.140003644
mov rbx, rax
lea rdx, [rbp - 0x18]
lea rcx, [rsp + 0x48]
call fcn.14000352c
nop
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.140003644
or r15d, 2
lea rcx, [rsp + 0x48]
call fcn.14000299c
nop
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 8]
call fcn.1400dcbd4
mov ebx, eax
lea rcx, [rbp + 0x10]
call fcn.14000299c
nop
lea rcx, [rbp + 0x78]
call fcn.14000299c
nop
lea rcx, [rbp + 0x58]
call fcn.14000299c
nop
lea rcx, [rbp + 0x30]
call fcn.14000299c
nop
lea rcx, [rsp + 0x68]
call fcn.14000299c
nop
lea rcx, [rbp - 0x18]
call fcn.14000299c
test ebx, ebx
je 0x14005220d
mov rbx, qword [rbp + 8]
test rbx, rbx
je 0x140052208
mov rcx, rbx
call fcn.1400637dc
test eax, eax
jne 0x140052168
mov ecx, 0x28f53
call fcn.1400dbce4
jmp 0x140052208
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x140052177
call qword [0x140213e80]
test byte [rbx + 0x6a], 8
je 0x140052194
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], rdi
jne 0x1400521e4
mov ecx, edi
cmp dword [rbx + 0x28], edi
jle 0x1400521d6
mov rax, qword [rbx + 0x20]
add rax, 8
mov rdx, qword [rax]
test rdx, rdx
je 0x1400521cb
cmp dword [rdx + 0x18], edi
jne 0x1400521e4
inc ecx
add rax, 0x20
cmp ecx, dword [rbx + 0x28]
jl 0x1400521be
mov byte [rbx + 0x6d], 0xa7
mov rcx, rbx
call fcn.1400d959c
jmp 0x140052208
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 0x140052208
call qword [0x140213e90]
nop
jmp 0x1400528c3
movdqa xmm0, xmmword [str.f5_2F_t]
movdqu xmmword [rbp - 0x70], xmm0
movdqa xmm1, xmmword [0x1401f5560]
movdqu xmmword [rbp - 0x60], xmm1
movdqa xmm0, xmmword [0x1401f5600]
movdqu xmmword [rbp - 0x50], xmm0
mov dword [rbp - 0x40], 0x9121515
mov dword [rbp - 0x3c], 0x540314
mov rcx, rdi
mov al, byte [rbp - 0x70]
xor byte [rbp + rcx - 0x6f], al
inc rcx
cmp rcx, 0x36
jb 0x140052245
mov byte [rbp - 0x39], dil
mov qword [rsp + 0x30], rdi
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov r9d, 0x80
or r8d, 0xffffffff
lea rdx, [rbp - 0x6f]
mov rbx, qword [rbp + 8]
mov rcx, rbx
call fcn.1400b4140
test eax, eax
je 0x140052357
test rbx, rbx
je 0x140052352
mov rcx, rbx
call fcn.1400637dc
test eax, eax
jne 0x1400522b2
mov ecx, 0x28f53
call fcn.1400dbce4
jmp 0x140052352
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1400522c1
call qword [0x140213e80]
test byte [rbx + 0x6a], 8
je 0x1400522de
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], rdi
jne 0x14005232e
mov ecx, edi
cmp dword [rbx + 0x28], edi
jle 0x140052320
mov rax, qword [rbx + 0x20]
add rax, 8
mov rdx, qword [rax]
test rdx, rdx
je 0x140052315
cmp dword [rdx + 0x18], edi
jne 0x14005232e
inc ecx
add rax, 0x20
cmp ecx, dword [rbx + 0x28]
jl 0x140052308
mov byte [rbx + 0x6d], 0xa7
mov rcx, rbx
call fcn.1400d959c
jmp 0x140052352
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 0x140052352
call qword [0x140213e90]
nop
jmp 0x1400528c3
movdqa xmm0, xmmword [0x1401f5500]
movdqu xmmword [rsp + 0x48], xmm0
mov dword [rsp + 0x58], 0x67170b0c
mov dword [rsp + 0x5c], 0x1b020f18
mov word [rsp + 0x60], 0x640b
mov byte [rsp + 0x62], dil
mov rcx, rdi
mov al, byte [rsp + 0x48]
xor byte [rsp + rcx + 0x49], al
inc rcx
cmp rcx, 0x19
jb 0x140052384
mov byte [rsp + 0x62], dil
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x20], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x38], dil
lea rdx, [rsp + 0x49]
lea rcx, [rbp - 0x38]
call fcn.140005250
nop
mov rdi, qword [rbp + 0x50]
jmp 0x140052636
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp + 0x10]
call fcn.1400dcd84
nop
mov r8d, 1
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.1400dcd84
nop
mov r8d, 2
mov rdx, rdi
lea rcx, [rbp + 0x30]
call fcn.1400dcd84
nop
mov r8d, 3
mov rdx, rdi
lea rcx, [rbp - 0x18]
call fcn.1400dcd84
nop
lea rdx, [rbp + 0x10]
cmp qword [rbp + 0x28], 0x10
cmovae rdx, qword [rbp + 0x10]
mov r8, qword [rbp + 0x20]
lea rcx, [rbp - 0x38]
call fcn.1400052c0
mov word [rbp + 0xf0], 0x964
mov byte [rbp + 0xf2], 0
lea rax, [rbp + 0xf1]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140052446
lea rdx, [rbp + 0xf1]
lea rcx, [rbp - 0x38]
call fcn.1400052c0
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x58]
lea rcx, [rbp - 0x38]
call fcn.1400052c0
mov word [rbp + 0xf8], 0x92a
mov byte [rbp + 0xfa], 0
lea rax, [rbp + 0xf9]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x14005249a
lea rdx, [rbp + 0xf9]
lea rcx, [rbp - 0x38]
call fcn.1400052c0
lea rdx, [rbp + 0x30]
cmp qword [rbp + 0x48], 0x10
cmovae rdx, qword [rbp + 0x30]
mov r8, qword [rbp + 0x40]
lea rcx, [rbp - 0x38]
call fcn.1400052c0
mov word [rsp + 0x40], 0x904
mov byte [rsp + 0x42], 0
lea rax, [rsp + 0x41]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x1400524e4
lea rdx, [rsp + 0x41]
lea rcx, [rbp - 0x38]
call fcn.1400052c0
lea rdx, [rbp - 0x18]
cmp qword [rbp], 0x10
cmovae rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 8]
lea rcx, [rbp - 0x38]
call fcn.1400052c0
mov word [rsp + 0x43], 0xa4c
mov byte [rsp + 0x45], 0
lea rax, [rsp + 0x44]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x14005252c
lea rdx, [rsp + 0x44]
lea rcx, [rbp - 0x38]
call fcn.1400052c0
nop
mov rdx, qword [rbp]
cmp rdx, 0x10
jb 0x140052581
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005257b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400528f4
call fcn.140173310
nop
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x1400525bd
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400525b7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400528fa
call fcn.140173310
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x1400525fb
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400525f5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140052900
call fcn.140173310
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x140052636
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140052631
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140052906
call fcn.140173310
mov rcx, rdi
call fcn.1400823b8
cmp eax, 0x64
je 0x1400523c6
mov al, reloc.WLDAP32.dll_Ordinal_32
mov dword [rsp + 0x68], 0x4c0020
mov dword [rsp + 0x6c], 0x43004f
mov dword [rsp + 0x70], 0x4c0041
mov dword [rsp + 0x74], 0x540053
mov dword [rsp + 0x78], 0x52004f
mov dword [rsp + 0x7c], 0x470041
mov dword [rbp - 0x80], 0xe0045
mov dword [rbp - 0x7c], 0x580054
mov dword [rbp - 0x78], 0x54
xor edi, edi
mov ecx, edi
movsx eax, al
xor word [rsp + rcx*2 + 0x6a], ax
inc rcx
cmp rcx, 0x10
jae 0x1400526a9
mov al, byte [rsp + 0x68]
jmp 0x140052692
mov word [rbp - 0x76], di
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], di
lea rdx, [rsp + 0x6a]
lea rcx, [rsp + 0x48]
call fcn.140002cdc
nop
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.14000352c
nop
mov r8, rax
mov rdx, r14
lea rcx, [rbp - 0x18]
call fcn.140003644
nop
lea rcx, [rsp + 0x68]
call fcn.14000299c
nop
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x78]
call fcn.14000352c
nop
mov r8, rax
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 0x58]
call fcn.140003644
nop
lea rcx, [rbp + 0x78]
call fcn.14000299c
nop
mov qword [rbp + 0x10], rdi
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], rdi
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x10]
call fcn.140003f34
or r15d, 0x1c
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0x10]
call fcn.140059680
nop
lea rcx, [rbp + 0x10]
call fcn.14000299c
nop
lea rcx, [rbp + 0x58]
call fcn.14000299c
nop
lea rcx, [rbp - 0x18]
call fcn.14000299c
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x1400527b4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400527ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005290c
call fcn.140173310
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x1400527ef
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400527ea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400528ee
call fcn.140173310
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x20], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x38], dil
test rbx, rbx
je 0x1400528c3
mov rcx, rbx
call fcn.1400637dc
test eax, eax
jne 0x140052823
mov ecx, 0x28f53
call fcn.1400dbce4
jmp 0x1400528c3
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x140052832
call qword [0x140213e80]
test byte [rbx + 0x6a], 8
je 0x14005284f
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], rdi
jne 0x14005289f
mov ecx, edi
cmp dword [rbx + 0x28], edi
jle 0x140052891
mov rax, qword [rbx + 0x20]
add rax, 8
mov rdx, qword [rax]
test rdx, rdx
je 0x140052886
cmp dword [rdx + 0x18], edi
jne 0x14005289f
inc ecx
add rax, 0x20
cmp ecx, dword [rbx + 0x28]
jl 0x140052879
mov byte [rbx + 0x6d], 0xa7
mov rcx, rbx
call fcn.1400d959c
jmp 0x1400528c3
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 0x1400528c3
call qword [0x140213e90]
nop
add rsi, 0x20
jmp 0x140051f6c
mov rcx, r14
mov rbx, qword [rsp + 0x1e8]
add rsp, 0x1a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp fcn.14000299c
call fcn.14018273c
nop
call fcn.14018273c
nop
call fcn.14018273c
nop
call fcn.14018273c
nop
call fcn.14018273c
int3
call fcn.14018273c
int3