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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x7c
mov eax, dword [ebp + 8]
mov dword [eax + 4], 0
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
mov eax, dword [ebp + 0x10]
mov edi, dword [eax]
test edi, edi
je 0x6f8d4330
mov eax, dword [sym.imp.ucrtbase.dll_strlen]
mov dword [esp], edi
mov dword [ebp - 0x54], eax
call eax
cmp eax, 9
jbe 0x6f8d4330
mov ebx, dword [sym.imp.ucrtbase.dll__strnicmp]
lea esi, [edi + eax - 9]
jmp 0x6f8d41c9
inc edi
cmp esi, edi
je 0x6f8d4330
mov dword [esp + 8], 0xa
mov dword [esp + 4], str.Referral:_n
mov dword [esp], edi
call ebx
test eax, eax
jne 0x6f8d41c0
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 8]
mov byte [edi], 0
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0x78]
cmp dword [ecx + 0x18], eax
jge 0x6f8d4330
mov eax, ecx
nop
mov edx, eax
mov eax, dword [eax + 0x3c]
test eax, eax
jne 0x6f8d4200
add edi, 0xa
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x3c], edi
mov edi, dword [ebp + 8]
lea esi, [esi]
mov eax, dword [ebp - 0x3c]
mov dword [esp + 4], 0xa
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_strchr]
mov dword [ebp - 0x40], 0
test eax, eax
je 0x6f8d4248
lea ecx, [eax + 1]
mov byte [eax], 0
mov dword [ebp - 0x40], ecx
lea eax, [ebp - 0x28]
mov dword [esp + 8], 4
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call sym._ldap_url_parse_ext
test eax, eax
jne 0x6f8d4440
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x28]
mov dword [eax], 1
mov eax, dword [edi]
call sym._find_connection.constprop.0.isra.0
mov esi, eax
test eax, eax
je 0x6f8d434b
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x50], eax
test ecx, ecx
je 0x6f8d42a6
mov dword [esp], ecx
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x4c], ecx
call eax
mov ecx, dword [ebp - 0x4c]
mov edx, eax
mov dword [ebp + 8], edi
mov ebx, dword [ebp + 0xc]
mov edi, edx
jmp 0x6f8d42bb
mov ebx, dword [ebx + 0x3c]
test ebx, ebx
je 0x6f8d4348
cmp dword [ebx + 0x30], esi
jne 0x6f8d42b0
cmp dword [ebx + 0x34], edi
jne 0x6f8d42b0
test edi, edi
je 0x6f8d42e7
mov dword [esp + 8], edi
mov eax, dword [ebx + 0x38]
mov dword [ebp - 0x4c], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.ucrtbase.dll_strncmp]
mov ecx, dword [ebp - 0x4c]
test eax, eax
jne 0x6f8d42b0
mov eax, dword [ebp - 0x50]
mov dword [esp], eax
call sym._ldap_free_urllist
mov eax, dword [ebp + 8]
mov dword [eax + 4], 0xfffffff0
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], 0
mov eax, dword [eax]
mov dword [esp], eax
call sym._ber_memfree_x
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x44], 0xffffffff
mov dword [edx], eax
mov eax, dword [ebp - 0x44]
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x44]
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [ebp + 8]
mov eax, dword [edi]
add eax, 0x154
mov dword [esp], eax
call sym._ldap_pvt_thread_mutex_lock
mov eax, dword [edi]
mov edx, dword [eax + 8]
lea ebx, [edx + 1]
mov dword [eax + 8], ebx
mov eax, dword [edi]
add eax, 0x154
mov dword [esp], eax
call sym._ldap_pvt_thread_mutex_unlock
mov eax, dword [ebp - 0x48]
mov ecx, ebx
mov edx, dword [eax + 0x2c]
lea eax, [ebp - 0x20]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x28]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
mov eax, edi
call sym._re_encode_request
mov esi, eax
test eax, eax
je 0x6f8d4482
mov eax, dword [ebp - 0x3c]
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._ber_strdup_x
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x14]
mov dword [esp + 8], ebx
mov dword [esp + 0x20], 1
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x28]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov dword [esp], edi
call sym._ldap_send_server_request
mov dword [esp + 4], 0
mov ebx, eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sym._ber_memfree_x
test ebx, ebx
js 0x6f8d4468
inc dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sym._ldap_free_urllist
test ebx, ebx
jne 0x6f8d4499
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x6f8d4499
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x3c], eax
jmp 0x6f8d4220
mov eax, dword [ebp - 0x3c]
mov dword [esp], edi
mov dword [esp + 8], eax
lea eax, [ebp - 0x2c]
mov dword [esp + 4], eax
call sym._ldap_append_referral
mov ebx, eax
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
jmp 0x6f8d4424
mov eax, dword [ebp - 0x3c]
mov dword [esp], edi
mov dword [esp + 8], eax
lea eax, [ebp - 0x2c]
mov dword [esp + 4], eax
call sym._ldap_append_referral
mov ebx, eax
jmp 0x6f8d4419
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sym._ldap_free_urllist
mov dword [ebp - 0x44], 0xffffffff
jmp 0x6f8d4337
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], 0
mov eax, dword [eax]
mov dword [esp], eax
call sym._ber_memfree_x
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + 0x10]
test ebx, ebx
cmove ebx, dword [ebp - 0x44]
mov dword [ecx], eax
mov dword [ebp - 0x44], ebx
jmp 0x6f8d4337