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

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
sub rsp, 0x60
mov rax, qword [rcx]
xor ebp, ebp
mov r14d, r9d
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x44], ebp
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x3c], ebp
cmp r8, rbp
je 0x14005d855
cmp qword [rcx + 0x178], rbp
jne 0x14005d855
cmp qword [r8 + 0x68], rbp
jne 0x14005d855
call fcn.14006b11c
cmp rax, rbp
jne 0x14005d855
cmp dword [rsi + 0x54], ebp
jne 0x14005d855
cmp r14d, 0xb
jne 0x14005cf7f
cmp word [rsi + 0x44], bp
jl 0x14005cf79
movzx r14d, byte [rsi + 0x4c]
cmp r14d, 0xb
jne 0x14005cf7f
mov r14d, 2
mov r8, qword [rbx + 0x28]
mov r13d, 1
cmp dword [r8], r13d
jne 0x14005d855
cmp qword [r8 + 0x30], rbp
jne 0x14005d855
cmp qword [rbx + 0x30], rbp
jne 0x14005d855
cmp qword [rbx + 0x48], rbp
jne 0x14005d855
cmp qword [rbx + 0x38], rbp
jne 0x14005d855
cmp qword [rbx + 0x60], rbp
jne 0x14005d855
cmp qword [rbx + 0x50], rbp
jne 0x14005d855
test byte [rbx + 0xc], r13b
jne 0x14005d855
mov rax, qword [rbx]
cmp dword [rax], r13d
jne 0x14005d855
mov rax, qword [rax + 8]
cmp byte [rax], 0xaf
jne 0x14005d855
add r8, 8
xor edx, edx
mov rcx, rdi
call fcn.14004dd78
xor r9d, r9d
mov r12, rax
cmp rax, r9
je 0x14005d855
mov eax, dword [rsi + 0x38]
cmp dword [r12 + 0x38], eax
jne 0x14005d027
mov rax, qword [rsi + 0x70]
cmp qword [r12 + 0x70], rax
je 0x14005d855
mov ecx, dword [rsi + 0x40]
mov eax, dword [r12 + 0x40]
shr ecx, 5
shr eax, 5
not ecx
not eax
xor ecx, eax
test r13b, cl
jne 0x14005d855
cmp dword [r12 + 0x54], r9d
jne 0x14005d855
cmp qword [r12 + 0x18], r9
jne 0x14005d855
movzx ecx, word [rsi + 0x46]
cmp cx, word [r12 + 0x46]
jne 0x14005d855
movzx eax, word [r12 + 0x44]
cmp word [rsi + 0x44], ax
jne 0x14005d855
movsx r15d, cx
mov r13d, r9d
cmp r15d, r9d
jle 0x14005d159
mov rbx, qword [rsi + 8]
mov r11, qword [r12 + 8]
add rbx, 8
add r11, 0x10
mov al, byte [r11 + 9]
cmp byte [rbx + 0x11], al
jne 0x14005d855
mov rcx, qword [rbx + 8]
mov rdx, qword [r11]
cmp rcx, r9
jne 0x14005d0bb
neg rdx
sbb eax, eax
jmp 0x14005d0cc
cmp rdx, r9
je 0x14005d855
call fcn.140018fa0
xor r9d, r9d
cmp eax, r9d
jne 0x14005d855
cmp byte [rbx + 0x10], r9b
je 0x14005d0e5
cmp byte [r11 + 8], r9b
je 0x14005d855
cmp rbp, r9
jle 0x14005d13d
mov r8, qword [r11 - 8]
mov rdx, qword [rbx]
mov ecx, r9d
cmp r8, r9
mov eax, r9d
sete cl
cmp rdx, r9
sete al
cmp eax, ecx
jne 0x14005d855
cmp rdx, r9
je 0x14005d13d
mov rax, qword [rdx + 8]
mov r8, qword [r8 + 8]
mov r10d, 1
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14005d134
add rax, r10
test ecx, ecx
jne 0x14005d121
cmp edx, r9d
jne 0x14005d855
mov eax, 1
add rbx, 0x20
add r11, 0x20
add r13d, eax
add rbp, rax
cmp r13d, r15d
jl 0x14005d09b
mov rbp, qword [rsi + 0x10]
mov r13d, 1
cmp rbp, r9
je 0x14005d1d1
mov eax, dword [rsp + 0x3c]
cmp byte [rbp + 0x62], r9b
mov rbx, qword [r12 + 0x10]
cmovne eax, r13d
mov dword [rsp + 0x3c], eax
cmp rbx, r9
je 0x14005d855
xor edi, edi
mov rdx, rbx
mov rcx, rbp
call fcn.14005cde0
cmp eax, edi
jne 0x14005d1a0
mov rbx, qword [rbx + 0x28]
cmp rbx, rdi
jne 0x14005d188
cmp rbx, rdi
mov rdi, qword [rsp + 0xa0]
je 0x14005d855
mov eax, dword [rbp + 0x58]
cmp dword [rbx + 0x58], eax
jne 0x14005d1c8
mov rax, qword [rsi + 0x70]
cmp qword [r12 + 0x70], rax
je 0x14005d855
mov rbp, qword [rbp + 0x28]
xor r9d, r9d
jmp 0x14005d163
mov rdx, qword [rsi + 0x30]
cmp rdx, r9
je 0x14005d1f4
mov rcx, qword [r12 + 0x30]
or r8d, 0xffffffff
call fcn.140048a18
xor r9d, r9d
cmp eax, r9d
jne 0x14005d855
mov rax, qword [rsp + 0x50]
bt qword [rax + 0x30], 0xe
jae 0x14005d20b
cmp qword [rsi + 0x20], r9
jne 0x14005d855
test byte [rax + 0x30], 0x80
jne 0x14005d855
mov rcx, qword [r12 + 0x70]
mov dword [rsp + 0x38], 0xfff0bdc0
cmp rcx, r9
je 0x14005d24b
mov rax, qword [rax + 0x20]
mov edx, r9d
add rax, 0x18
mov dword [rsp + 0x38], edx
cmp qword [rax], rcx
je 0x14005d24b
add rax, 0x20
add edx, r13d
cmp qword [rax], rcx
jne 0x14005d23b
mov dword [rsp + 0x38], edx
mov rcx, rdi
call fcn.140064ff4
mov edx, dword [rsp + 0x38]
mov rcx, rdi
mov rbp, rax
call fcn.1400535b4
mov ebx, dword [rdi + 0x34]
mov edx, dword [rsp + 0xc0]
lea r15d, [rbx + 1]
mov r8, rsi
lea ecx, [r15 + 1]
mov dword [rsp + 0xb0], ebx
mov dword [rdi + 0x34], ecx
mov rcx, rdi
call fcn.14005a22c
mov cl, byte [rdi + 0x1f]
xor edx, edx
mov dword [rsp + 0x48], eax
cmp cl, dl
jne 0x14005d2a3
add dword [rdi + 0x38], r13d
mov ecx, dword [rdi + 0x38]
mov dword [rsp + 0x30], ecx
jmp 0x14005d2b7
sub cl, r13b
movzx eax, cl
mov byte [rdi + 0x1f], al
mov eax, dword [rdi + rax*4 + 0xbc]
mov dword [rsp + 0x30], eax
mov al, byte [rdi + 0x1f]
cmp al, dl
jne 0x14005d2c8
add dword [rdi + 0x38], r13d
mov r13d, dword [rdi + 0x38]
jmp 0x14005d2d9
sub al, r13b
movzx eax, al
mov byte [rdi + 0x1f], al
mov r13d, dword [rdi + rax*4 + 0xbc]
mov r8d, dword [rsp + 0xc0]
mov r9, rsi
mov edx, r15d
mov rcx, rdi
mov dword [rsp + 0x34], r13d
mov dword [rsp + 0x20], 0x62
call fcn.140059edc
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 4
jne 0x14005d378
xor eax, eax
cmp word [rsi + 0x44], ax
jge 0x14005d315
cmp qword [rsi + 0x10], rax
jne 0x14005d32b
cmp dword [rsp + 0x3c], eax
jne 0x14005d32b
cmp r14d, 2
je 0x14005d378
mov ecx, 1
cmp r14d, ecx
je 0x14005d378
xor r9d, r9d
mov r8d, r15d
mov rcx, rbp
lea edx, [r9 + 0x24]
mov dword [rsp + 0x20], eax
call fcn.140032058
and dword [rsp + 0x20], 0
xor r9d, r9d
lea edx, [r9 + 0xb]
xor r8d, r8d
mov rcx, rbp
mov ebx, eax
call fcn.140032058
mov edx, ebx
mov rcx, rbp
mov dword [rsp + 0x44], eax
call fcn.140032a28
mov ecx, dword [rbp + 0x90]
mov ebx, dword [rsp + 0xb0]
mov dword [rax + 8], ecx
test byte [r12 + 0x40], 0x20
jne 0x14005d56d
mov r8d, dword [rsp + 0x38]
mov r9, r12
mov edx, ebx
mov rcx, rdi
mov dword [rsp + 0x20], reloc.WLDAP32.dll_Ordinal_97
call fcn.140059edc
and dword [rsp + 0x20], 0
xor r9d, r9d
lea edx, [r9 + 0x24]
mov r8d, ebx
mov rcx, rbp
call fcn.140032058
xor ecx, ecx
cmp word [rsi + 0x44], cx
mov dword [rsp + 0x40], eax
jl 0x14005d48e
mov dword [rsp + 0x20], ecx
mov r9d, r13d
mov r8d, ebx
mov rcx, rbp
mov edx, 0x80
call fcn.140032058
mov ecx, dword [rsp + 0x34]
xor r9d, r9d
mov dword [rsp + 0x20], ecx
lea edx, [r9 + 0x1f]
mov r8d, r15d
mov rcx, rbp
mov r13d, eax
call fcn.140032058
mov r8, rsi
mov edx, r14d
mov rcx, rdi
mov ebx, eax
call fcn.1400538e4
mov edx, ebx
mov rcx, rbp
call fcn.140032a28
mov ecx, dword [rbp + 0x90]
mov r14d, dword [rsp + 0x34]
mov dword [rax + 8], ecx
mov eax, dword [rsp + 0x48]
xor ecx, ecx
cmp eax, ecx
jle 0x14005d443
mov dword [rsp + 0x20], ecx
mov rcx, qword [rdi + 0x10]
mov r9d, r14d
mov r8d, eax
mov edx, 0x97
call fcn.140032058
mov ebx, dword [rsp + 0xb0]
mov r9d, dword [rsp + 0x30]
mov eax, 1
mov r8d, ebx
lea edx, [rax + 0x7e]
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.140032058
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 4
je 0x14005d4ca
xor eax, eax
xor r9d, r9d
mov r8d, r15d
mov edx, Ordinal_133
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.140032058
mov bl, 0x39
jmp 0x14005d4cc
cmp qword [rsi + 0x10], rcx
jne 0x14005d4c0
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 8
jne 0x14005d4c0
mov r8d, r15d
mov edx, Ordinal_122
mov dword [rsp + 0x20], ecx
mov r9d, r13d
mov rcx, rbp
call fcn.140032058
mov r14d, dword [rsp + 0x34]
mov r13d, eax
jmp 0x14005d44a
mov r8d, ebx
mov edx, 0x80
jmp 0x14005d4a7
mov bl, reloc.WLDAP32.dll_Ordinal_41
mov r9d, dword [rsp + 0x30]
mov r8d, r15d
mov edx, reloc.WLDAP32.dll_Ordinal_122
mov rcx, rbp
mov dword [rsp + 0x20], r14d
call fcn.140032058
mov r9d, 0xfffffffa
mov r8, rsi
mov edx, eax
mov rcx, rbp
call fcn.140032934
movsxd r11, dword [rbp + 0x90]
xor r8d, r8d
cmp r11d, r8d
jle 0x14005d51b
mov rax, qword [rbp + 0x88]
lea rcx, [r11 + r11*2]
movzx edx, bl
mov word [rax + rcx*8 - 0x16], dx
mov ebx, dword [rsp + 0xb0]
mov dword [rsp + 0x20], r8d
mov r9d, r13d
mov edx, 5
mov rcx, rbp
mov r8d, ebx
call fcn.140032058
xor r13d, r13d
mov r8d, ebx
lea ebx, [r13 + 0x75]
xor r9d, r9d
mov rcx, rbp
mov edx, ebx
mov dword [rsp + 0x20], r13d
call fcn.140032058
xor r9d, r9d
mov r8d, r15d
mov edx, ebx
mov rcx, rbp
mov dword [rsp + 0x20], r13d
call fcn.140032058
jmp 0x14005d570
xor r13d, r13d
mov r14, qword [rsi + 0x10]
mov esi, dword [rsp + 0x30]
cmp r14, r13
je 0x14005d79c
mov rbx, qword [r12 + 0x10]
xor eax, eax
cmp rbx, rax
je 0x14005d5af
xor edi, edi
mov rdx, rbx
mov rcx, r14
call fcn.14005cde0
cmp eax, edi
jne 0x14005d5a7
mov rbx, qword [rbx + 0x28]
cmp rbx, rdi
jne 0x14005d58f
mov rdi, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x38]
mov r9d, dword [rbx + 0x58]
mov r8d, dword [rsp + 0xb0]
mov edx, reloc.WLDAP32.dll_Ordinal_97
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.140032058
mov rdx, rbx
mov rcx, rdi
call fcn.1400329fc
mov eax, dword [rsp + 0xc0]
mov r9d, dword [r14 + 0x58]
mov r8d, r15d
mov edx, 0x62
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.140032058
mov rdx, r14
mov rcx, rdi
call fcn.1400329fc
movsxd r11, dword [rbp + 0x90]
xor edx, edx
cmp r11d, edx
jle 0x14005d628
mov rax, qword [rbp + 0x88]
lea rcx, [r11 + r11*2]
lea r10d, [rdx + 1]
mov word [rax + rcx*8 - 0x16], r10w
mov r8d, dword [rsp + 0xb0]
xor r9d, r9d
mov dword [rsp + 0x20], edx
lea edx, [r9 + 0x24]
mov rcx, rbp
call fcn.140032058
mov r8d, dword [rsp + 0xb0]
mov r9d, esi
mov dword [rsp + 0x48], eax
mov eax, 1
mov rcx, rbp
lea edx, [rax + 0x7e]
mov dword [rsp + 0x20], eax
call fcn.140032058
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 4
je 0x14005d6d7
movzx esi, word [rbx + 0x60]
xor eax, eax
cmp esi, eax
mov r11d, eax
jle 0x14005d6b0
mov rbx, qword [rbx + 0x40]
xor edi, edi
mov rdx, qword [rbx]
cmp rdx, rdi
je 0x14005d6a8
lea rcx, [0x1400d4580]
call fcn.140018fa0
cmp eax, edi
jne 0x14005d6a8
inc r11d
add rbx, 8
cmp r11d, esi
jl 0x14005d684
mov rdi, qword [rsp + 0xa0]
xor ebx, ebx
cmp r11d, esi
jne 0x14005d6d1
xor r9d, r9d
mov r8d, r15d
mov edx, Ordinal_133
mov rcx, rbp
mov r13b, 0x10
mov dword [rsp + 0x20], ebx
call fcn.140032058
mov esi, dword [rsp + 0x30]
jmp 0x14005d6d9
xor ebx, ebx
test byte [r12 + 0x40], 0x20
je 0x14005d6ef
mov eax, dword [r14 + 0x64]
and al, 3
cmp al, 2
jne 0x14005d6ef
or r13b, 1
mov r9d, esi
mov r8d, r15d
mov edx, Ordinal_133
mov rcx, rbp
mov dword [rsp + 0x20], ebx
call fcn.140032058
movsxd r11, dword [rbp + 0x90]
cmp r11d, ebx
jle 0x14005d72a
mov rax, qword [rbp + 0x88]
or r13b, 8
lea rcx, [r11 + r11*2]
movzx edx, r13b
mov word [rax + rcx*8 - 0x16], dx
mov r13d, dword [rsp + 0x48]
mov dword [rsp + 0x20], ebx
mov ebx, dword [rsp + 0xb0]
lea r9d, [r13 + 1]
mov r8d, ebx
mov edx, 5
mov rcx, rbp
call fcn.140032058
mov edx, r13d
mov rcx, rbp
call fcn.140032a28
mov ecx, dword [rbp + 0x90]
xor r13d, r13d
mov r8d, ebx
mov dword [rax + 8], ecx
lea ebx, [r13 + 0x75]
xor r9d, r9d
mov rcx, rbp
mov edx, ebx
mov dword [rsp + 0x20], r13d
call fcn.140032058
xor r9d, r9d
mov r8d, r15d
mov edx, ebx
mov rcx, rbp
mov dword [rsp + 0x20], r13d
call fcn.140032058
mov r14, qword [r14 + 0x28]
jmp 0x14005d578
mov eax, dword [rsp + 0x40]
cmp eax, r13d
je 0x14005d7b8
mov edx, eax
mov rcx, rbp
call fcn.140032a28
mov ecx, dword [rbp + 0x90]
mov dword [rax + 8], ecx
mov ecx, dword [rsp + 0x34]
cmp ecx, r13d
je 0x14005d7dc
cmp byte [rdi + 0x1f], 8
jae 0x14005d7dc
movzx eax, byte [rdi + 0x1f]
mov dword [rdi + rax*4 + 0xbc], ecx
mov ecx, 1
add byte [rdi + 0x1f], cl
jmp 0x14005d7e1
mov ecx, 1
cmp esi, r13d
je 0x14005d7fa
cmp byte [rdi + 0x1f], 8
jae 0x14005d7fa
movzx eax, byte [rdi + 0x1f]
mov dword [rdi + rax*4 + 0xbc], esi
add byte [rdi + 0x1f], cl
mov ebx, dword [rsp + 0x44]
cmp ebx, r13d
je 0x14005d86f
cmp qword [rdi + 0x88], r13
je 0x14005d814
mov rcx, rdi
call fcn.14005a440
xor r9d, r9d
xor r8d, r8d
mov rcx, rbp
lea edx, [r9 + 0x45]
mov dword [rsp + 0x20], r13d
call fcn.140032058
mov edx, ebx
mov rcx, rbp
call fcn.140032a28
mov ecx, dword [rbp + 0x90]
xor r9d, r9d
mov dword [rax + 8], ecx
lea edx, [r9 + 0x75]
mov r8d, r15d
mov rcx, rbp
mov dword [rsp + 0x20], r13d
call fcn.140032058
xor eax, eax
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, ecx
jmp 0x14005d857