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

Disassembly:
mov eax, 0x70
call fcn.006f5e10
mov eax, dword [0x8312b0]
xor eax, esp
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x78]
push ebx
mov ebx, dword [esp + 0x94]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x80]
push esi
mov esi, dword [esp + 0x88]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], 0
push edi
mov edi, dword [esp + 0x80]
mov dword [esp + 0x2c], edi
cmp esi, ebx
je 0x666dc6
push edi
call fcn.00587190
add esp, 4
cmp eax, 0x2c
jne 0x666de9
cmp esi, 0x18
jne 0x666de9
cmp ebx, 0x15
jne 0x666de9
mov dword [esp + 0x30], 1
push ebp
call fcn.005f09c0
mov ebp, eax
mov dword [esp + 0x38], ebp
test ebp, ebp
jne 0x666e27
pop ebp
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.006f4f1e
add esp, 0x70
ret
call fcn.005a4a00
push str.KRB5KDF
push 0x17a
push str.providersimplementationskdfskrb5kdf.c
call fcn.005a4b00
push 0
push 0x8b
push 0x39
call fcn.005a4bb0
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.006f4f1e
add esp, 0x70
ret
push esi
push dword [esp + 0x2c]
push dword [esp + 0x34]
push edi
push ebp
call fcn.00667240
mov esi, eax
add esp, 0x14
test esi, esi
je 0x667209
push ebp
call fcn.005b28d0
mov ebx, dword [esp + 0x9c]
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
cmp ebx, esi
jbe 0x666e8f
call fcn.005a4a00
push str.KRB5KDF
push 0x18d
push str.providersimplementationskdfskrb5kdf.c
call fcn.005a4b00
push 0
push 0x9d
push 0x39
call fcn.005a4bb0
add esp, 0x18
xor esi, esi
jmp 0x667209
jne 0x666ea9
mov eax, dword [esp + 0x10]
push ebx
push eax
lea eax, [esp + 0x44]
push eax
call fcn.0070d1d0
add esp, 0xc
jmp 0x666f9f
mov ecx, ebx
test ebx, ebx
je 0x666ebe
nop
mov eax, esi
xor edx, edx
div ecx
mov esi, ecx
mov ecx, edx
test edx, edx
jne 0x666eb0
mov edi, dword [esp + 0x18]
lea eax, [esp + 0x3c]
push edi
push 0
push eax
call fcn.0070dcd0
mov eax, edi
xor edx, edx
imul eax, ebx
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x1c], ecx
div esi
mov esi, eax
sub esi, 1
mov dword [esp + 0x14], esi
js 0x666f7d
mov ebp, edi
xor edx, edx
lea edi, [esp + 0x3c]
mov eax, esi
div ebp
mov eax, esi
mov ecx, edx
xor edx, edx
div ebx
add edi, ecx
mov ecx, 8
imul edx, eax, 0xd
mov eax, edx
and edx, 7
shr eax, 3
sub esi, eax
mov dword [esp + 0x24], edx
xor edx, edx
sub ecx, dword [esp + 0x24]
lea eax, [esi - 1]
div ebx
mov eax, dword [esp + 0x10]
movzx ebx, byte [edx + eax]
mov eax, esi
xor edx, edx
mov esi, dword [esp + 0x14]
div dword [esp + 0x98]
mov eax, dword [esp + 0x10]
shl ebx, cl
mov cl, byte [esp + 0x24]
movzx eax, byte [edx + eax]
shr eax, cl
movzx ecx, byte [edi]
or ebx, eax
movzx eax, bl
add eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x98]
add ecx, eax
mov byte [edi], cl
shr ecx, 8
sub esi, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], esi
jns 0x666ef2
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x18]
lea edx, [esi - 1]
test edx, edx
js 0x666f9f
test ecx, ecx
je 0x666f9f
movzx eax, byte [esp + edx + 0x3c]
add ecx, eax
mov byte [esp + edx + 0x3c], cl
shr ecx, 8
sub edx, 1
jns 0x666f88
xor ebx, ebx
lea ecx, [esp + 0x3c]
lea edi, [esp + 0x5c]
mov dword [esp + 0x14], ecx
cmp dword [esp + 0xa0], ebx
jbe 0x6670dc
nop word [eax + eax]
push esi
push ecx
lea eax, [esp + 0x18]
push eax
push edi
push ebp
call fcn.005f1910
mov esi, eax
add esp, 0x14
test esi, esi
je 0x667209
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x10]
push eax
push edi
push ebp
call fcn.005f16c0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x667209
cmp dword [esp + 0x10], 0
jne 0x6671d9
mov esi, dword [esp + 0xa0]
mov eax, dword [esp + 0x20]
sub esi, ebx
cmp dword [esp + 0x1c], esi
cmovbe esi, dword [esp + 0x1c]
add eax, ebx
push esi
push edi
push eax
call fcn.0070d1d0
mov eax, dword [esp + 0xac]
add ebx, esi
add esp, 0xc
cmp eax, ebx
jbe 0x6670cc
push ebp
call fcn.005f0a50
mov esi, eax
add esp, 4
test esi, esi
je 0x667209
push 0
push dword [esp + 0x2c]
push dword [esp + 0x34]
push dword [esp + 0x3c]
push ebp
call fcn.005f18e0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x667209
push ebp
call fcn.005b29c0
mov ecx, dword [esp + 0x94]
add esp, 4
cmp ecx, eax
je 0x667097
push ecx
push ebp
call fcn.005f0b10
mov esi, eax
add esp, 8
test esi, esi
je 0x667209
push 0
push ebp
call fcn.005f0c90
add esp, 8
mov esi, eax
test esi, esi
je 0x667209
lea eax, [esp + 0x3c]
mov ecx, edi
cmp edi, eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0xa0]
jne 0x6670c6
add edi, 0x20
jmp 0x6670d0
lea edi, [esp + 0x3c]
jmp 0x6670d0
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
cmp ebx, eax
jb 0x666fc0
push dword [esp + 0x30]
call fcn.00587190
add esp, 4
cmp eax, 0x2c
jne 0x667204
cmp dword [esp + 0x34], 0
jne 0x667204
lea ebx, [eax - 0x2a]
mov eax, dword [esp + 0x20]
lea ebp, [eax + 0xe]
lea edi, [eax + 0x17]
nop dword [eax]
push 7
lea esi, [edi - 7]
push ebp
push esi
call fcn.0070d750
mov cl, byte [esi]
and cl, 1
add cl, cl
mov byte [edi], cl
mov dl, byte [edi - 5]
movzx eax, byte [edi - 6]
and dl, 1
and al, 1
add dl, dl
or dl, al
shl dl, 2
or dl, cl
mov byte [edi], dl
mov al, byte [edi - 4]
and al, 1
shl al, 4
or al, dl
mov byte [edi], al
mov dl, byte [edi - 3]
and dl, 1
shl dl, 5
or dl, al
mov byte [edi], dl
mov cl, byte [edi - 2]
and cl, 1
shl cl, 6
or cl, dl
mov byte [edi], cl
movzx eax, byte [edi - 1]
shl al, 7
or al, cl
push esi
mov byte [edi], al
call fcn.005a4980
add esp, 0x10
lea edi, [edi - 8]
sub ebp, 7
sub ebx, 1
jns 0x667110
mov ebx, dword [esp + 0x20]
push 8
lea esi, [ebx + 8]
push esi
push ebx
call fcn.00401390
mov ebp, dword [esp + 0x44]
add esp, 0xc
test eax, eax
je 0x6671af
push 8
lea eax, [ebx + 0x10]
push eax
push esi
call fcn.00401390
add esp, 0xc
test eax, eax
jne 0x667204
xor esi, esi
call fcn.005a4a00
push str.KRB5KDF
push 0x1c4
push str.providersimplementationskdfskrb5kdf.c
call fcn.005a4b00
push esi
push 0x79
push 0x39
call fcn.005a4bb0
add esp, 0x18
jmp 0x667209
call fcn.005a4a00
push str.KRB5KDF
push 0x1a2
push str.providersimplementationskdfskrb5kdf.c
call fcn.005a4b00
push 0
push 0x6b
push 0x39
call fcn.005a4bb0
add esp, 0x18
xor esi, esi
jmp 0x667209
mov esi, 1
push ebp
call fcn.005f0960
lea eax, [esp + 0x40]
push 0x40
push eax
call fcn.00401320
mov ecx, dword [esp + 0x88]
add esp, 0xc
mov eax, esi
pop ebp
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.006f4f1e
add esp, 0x70
ret