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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x294
mov eax, dword [esp + 0x2c4]
mov ebx, eax
test eax, eax
je 0x6c844e
mov ebx, dword [esp + 0x2c8]
cmp byte [esp + 0x2c0], 0
setne cl
test ebx, ebx
sete dl
xor eax, eax
test cl, dl
jne 0x6c9006
cmp byte [esp + 0x2b8], 0
sete cl
test ebx, ebx
setne dl
test cl, dl
jne 0x6c9006
mov esi, dword [esp + 0x2b0]
lea edi, [esi + 0x20]
cmp byte [esi + 0x3f], 0x10
ja 0x6c9006
jne 0x6c84c0
lea eax, [esi + 0x30]
push 0xf
push 0xadc5a7
push eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x6c8d73
cmp byte [esi + 0x2f], 0x14
mov eax, 0
jae 0x6c9011
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], edi
mov edx, dword [esp + 0x2b4]
lea esi, [esp + 0xec]
mov ecx, esi
call fcn.006cf2f0
pxor xmm0, xmm0
movdqu xmmword [esp + 0x128], xmm0
movdqu xmmword [esp + 0x118], xmm0
mov dword [esp + 0x138], 0
mov dword [esp + 0x114], 1
lea edi, [esp + 0x74]
mov ecx, edi
mov edx, esi
call fcn.006ce970
lea esi, [esp + 0x164]
mov ecx, esi
mov edx, edi
push 0xae3df8
call fcn.006cc420
add esp, 4
dec dword [esp + 0x74]
inc dword [esp + 0x164]
lea ebp, [esp + 0x22c]
mov ecx, ebp
mov edx, edi
push esi
call fcn.006cc420
add esp, 4
lea edi, [esp + 0x1b4]
mov ecx, edi
mov edx, ebp
call fcn.006ce970
lea ebx, [esp + 0x254]
mov ecx, ebx
mov edx, edi
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebp
push ebx
call fcn.006cc420
add esp, 4
mov ecx, edi
mov edx, edi
push ebx
call fcn.006cc420
add esp, 4
mov ecx, edi
mov edx, edi
call fcn.006ce970
mov ecx, edi
mov edx, ebx
push edi
call fcn.006cc420
add esp, 4
mov ecx, ebx
mov edx, edi
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, edi
mov edx, ebx
push edi
call fcn.006cc420
add esp, 4
mov ecx, ebx
mov edx, edi
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
push edi
call fcn.006cc420
add esp, 4
lea ebp, [esp + 0x18c]
mov ecx, ebp
mov edx, ebx
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
mov ecx, ebx
mov edx, ebp
push ebx
call fcn.006cc420
add esp, 4
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, edi
mov edx, ebx
push edi
call fcn.006cc420
add esp, 4
mov ecx, ebx
mov edx, edi
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
mov esi, edi
push edi
call fcn.006cc420
add esp, 4
mov ecx, ebp
mov edx, ebx
call fcn.006ce970
mov edi, 0x63
nop word cs:[eax + eax]
mov ecx, ebp
mov edx, ebp
call fcn.006ce970
dec edi
jne 0x6c8960
lea edx, [esp + 0x18c]
mov ecx, ebx
push ebx
call fcn.006cc420
add esp, 4
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, ebx
mov edx, ebx
call fcn.006ce970
mov ecx, esi
mov edx, ebx
push esi
call fcn.006cc420
add esp, 4
mov ecx, esi
mov edx, esi
call fcn.006ce970
mov ecx, esi
mov edx, esi
call fcn.006ce970
lea ebp, [esp + 0xc4]
mov ecx, ebp
mov edx, esi
lea eax, [esp + 0x22c]
push eax
call fcn.006cc420
add esp, 4
mov ecx, ebp
mov edx, ebp
lea eax, [esp + 0x74]
push eax
call fcn.006cc420
add esp, 4
lea esi, [esp + 0x9c]
mov ecx, esi
mov edx, ebp
call fcn.006ce970
mov ecx, esi
mov edx, esi
lea eax, [esp + 0x164]
push eax
call fcn.006cc420
add esp, 4
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], esi
sub eax, esi
mov dword [esp + 4], eax
mov dword [esp], ecx
mov eax, ecx
mov dword [esp + 0x70], edx
sub eax, edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ecx
sub eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], ecx
sub eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], ecx
sub eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], ecx
sub eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ecx
sub eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xb8]
mov esi, dword [esp + 0x90]
mov dword [esp + 0x3c], eax
sub eax, esi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xbc]
mov edi, dword [esp + 0x94]
mov dword [esp + 0x38], eax
sub eax, edi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0x98]
mov dword [esp + 0x34], eax
sub eax, ebp
mov dword [esp + 0x28], eax
lea edx, [esp + 4]
lea ecx, [esp + 0x1b4]
call fcn.006cd3e0
push 0x20
push 0xae3e48
lea eax, [esp + 0x1bc]
push eax
call fcn.005e7f20
add esp, 0xc
test eax, eax
je 0x6c8d90
mov eax, dword [esp + 0x68]
add eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
add eax, dword [esp]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
add eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x58]
add eax, dword [esp + 0x5c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
add eax, dword [esp + 0x54]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x48]
add eax, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0x44]
mov dword [esp + 0x1c], eax
add esi, dword [esp + 0x3c]
mov dword [esp + 0x20], esi
add edi, dword [esp + 0x38]
mov dword [esp + 0x24], edi
add ebp, dword [esp + 0x34]
mov dword [esp + 0x28], ebp
lea edx, [esp + 4]
lea esi, [esp + 0x1b4]
mov ecx, esi
call fcn.006cd3e0
push 0x20
push 0xae3e48
push esi
call fcn.005e7f20
add esp, 0xc
test eax, eax
je 0x6c8d7a
xor eax, eax
jmp 0x6c9006
lea ecx, [esp + 0xc4]
mov edx, ecx
push 0xae3e20
call fcn.006cc420
add esp, 4
lea ecx, [esp + 0x1b4]
lea edx, [esp + 0xc4]
call fcn.006cd3e0
movzx eax, byte [esp + 0x1b4]
and al, 1
mov ecx, dword [esp + 0x2b4]
movzx ecx, byte [ecx + 0x1f]
shr cl, 7
cmp al, cl
je 0x6c8e0d
pxor xmm0, xmm0
movdqu xmm1, xmmword [esp + 0xc4]
movdqu xmm2, xmmword [esp + 0xd4]
pxor xmm3, xmm3
psubd xmm3, xmm1
movdqu xmmword [esp + 0xc4], xmm3
pxor xmm1, xmm1
psubd xmm1, xmm2
movdqu xmmword [esp + 0xd4], xmm1
movq xmm1, qword [esp + 0xe4]
psubd xmm0, xmm1
movq qword [esp + 0xe4], xmm0
lea ecx, [esp + 0x13c]
lea edx, [esp + 0xc4]
lea eax, [esp + 0xec]
push eax
call fcn.006cc420
add esp, 4
pxor xmm0, xmm0
movdqu xmm1, xmmword [esp + 0xc4]
movdqu xmm2, xmmword [esp + 0xd4]
pxor xmm3, xmm3
psubd xmm3, xmm1
movdqu xmmword [esp + 0xc4], xmm3
pxor xmm1, xmm1
psubd xmm1, xmm2
movdqu xmmword [esp + 0xd4], xmm1
movq xmm1, qword [esp + 0xe4]
pxor xmm2, xmm2
psubd xmm2, xmm1
movq qword [esp + 0xe4], xmm2
movdqu xmm1, xmmword [esp + 0x13c]
pxor xmm2, xmm2
psubd xmm2, xmm1
movdqu xmmword [esp + 0x13c], xmm2
movdqu xmm1, xmmword [esp + 0x14c]
pxor xmm2, xmm2
psubd xmm2, xmm1
movdqu xmmword [esp + 0x14c], xmm2
movq xmm1, qword [esp + 0x15c]
psubd xmm0, xmm1
movq qword [esp + 0x15c], xmm0
push dword [esp + 0x2d0]
push str.SHA512
push dword [esp + 0x2d4]
call fcn.005b9720
add esp, 0xc
mov esi, eax
test eax, eax
mov eax, 0
je 0x6c9006
call fcn.005b8380
mov ebp, eax
mov dword [esp], 0
test eax, eax
je 0x6c8ff1
movzx eax, byte [esp + 0x2bc]
movzx edi, byte [esp + 0x2b8]
mov ecx, ebp
mov edx, esi
push dword [esp + 0x30]
push dword [esp + 0x2c8]
push eax
push edi
call fcn.006c35a0
add esp, 0x10
test eax, eax
je 0x6c8ff1
push 0x20
mov edi, dword [esp + 0x2b4]
push edi
push ebp
call fcn.005b8a50
add esp, 0xc
test eax, eax
je 0x6c8ff1
push 0x20
push dword [esp + 0x2b8]
push ebp
call fcn.005b8a50
add esp, 0xc
test eax, eax
je 0x6c8ff1
push dword [esp + 0x2ac]
push dword [esp + 0x2ac]
push ebp
call fcn.005b8a50
add esp, 0xc
test eax, eax
je 0x6c8ff1
lea eax, [esp + 0x74]
push eax
push ebx
push ebp
call fcn.005b8bd0
add esp, 0xc
test eax, eax
je 0x6c8ff1
lea ebx, [esp + 0x254]
mov ecx, ebx
call fcn.006c3660
lea ecx, [esp + 0x1b4]
mov edx, ebx
push dword [esp + 0x2c]
lea eax, [esp + 0xc8]
push eax
call fcn.006c9130
add esp, 8
lea ebx, [esp + 0x18c]
mov ecx, ebx
lea edx, [esp + 0x1b4]
call fcn.006cace0
push 0x20
push edi
push ebx
call fcn.005e7f20
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
mov dword [esp], ecx
push esi
call fcn.005b81d0
add esp, 4
push ebp
call fcn.005b83a0
add esp, 4
mov eax, dword [esp]
add esp, 0x294
pop esi
pop edi
pop ebx
pop ebp
ret
jne 0x6c9006
cmp byte [esi + 0x2e], 0xde
jb 0x6c84c0
jne 0x6c9006
cmp byte [esi + 0x2d], 0xf9
jb 0x6c84c0
jne 0x6c9006
cmp byte [esi + 0x2c], 0xde
jb 0x6c84c0
jne 0x6c9006
cmp byte [esi + 0x2b], 0xa2
jb 0x6c84c0
jne 0x6c8d73
mov edx, ebx
mov ecx, edi
cmp byte [esi + 0x2a], 0xf7
jb 0x6c84c0
jne 0x6c8d73
cmp byte [esi + 0x29], 0x9c
mov edi, ecx
mov ebx, edx
jb 0x6c84c0
jne 0x6c8d73
cmp byte [esi + 0x28], 0xd6
mov edi, ecx
mov ebx, edx
jb 0x6c84c0
jne 0x6c8d73
cmp byte [esi + 0x27], 0x58
mov edi, ecx
mov ebx, edx
jb 0x6c84c0
jne 0x6c8d73
cmp byte [esi + 0x26], 0x12
mov edi, ecx
mov ebx, edx
jb 0x6c84c0
jne 0x6c8d73
cmp byte [esi + 0x25], 0x63
mov edi, ecx
mov ebx, edx
jb 0x6c84c0
jne 0x6c8d73
cmp byte [esi + 0x24], 0x1a
mov edi, ecx
mov ebx, edx
jb 0x6c84c0
jne 0x6c8d73
cmp byte [esi + 0x23], 0x5c
mov edi, ecx
mov ebx, edx
jb 0x6c84c0
jne 0x6c8d73
cmp byte [esi + 0x22], 0xf5
mov edi, ecx
mov ebx, edx
jb 0x6c84c0
jne 0x6c8d73
cmp byte [esi + 0x21], 0xd3
mov edi, ecx
mov ebx, edx
jb 0x6c84c0
jne 0x6c8d73
mov edi, ecx
cmp byte [ecx], 0xed
mov ebx, edx
jb 0x6c84c0
jmp 0x6c9006