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

Disassembly:
push ebp
mov eax, 0x105c
push edi
push esi
push ebx
call fcn.703e0830
sub esp, eax
mov esi, dword [esp + 0x1070]
mov edi, dword [esp + 0x1090]
movzx eax, byte [esp + 0x1094]
mov edx, dword [esi + 0x4c]
cmp byte [edx + edi], 0
jne 0x6fdf8ad0
mov edx, dword [esp + 0x108c]
mov ebx, ecx
test edx, edx
mov edx, dword [ebx + 0x70]
sete byte [esp + 0x29]
movzx ecx, byte [esp + 0x29]
cmp cl, al
seta cl
or edx, dword [ebx + 0x74]
setne dl
and cl, dl
mov edx, dword [esi + 0x44]
mov byte [esp + 0x2a], cl
mov ecx, 7
movzx edx, byte [edx + edi]
mov edi, dword [esp + 0x1088]
sub ecx, edi
mov edi, 1
mov dword [esp + 0x24], ecx
movzx ecx, byte [esp + 0x1088]
shl edi, cl
test al, al
jne 0x6fdf8a40
mov eax, dword [esp + 0x1088]
dec dl
sete dl
mov ecx, dword [esp + 0x1088]
mov byte [esp + 0x2b], dl
sub eax, 2
mov dword [esp + 0x2c], eax
sete al
and al, byte [esp + 0x29]
and al, dl
movzx eax, al
sub ecx, eax
mov eax, dword [esp + 0x1080]
lea ebp, [ecx + 0x2eb]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x78]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x107c]
mov dword [esp], eax
call dword [ebp*4 + 0x70e9d3ac]
movzx edx, byte [esp + 0x2b]
cmp byte [esp + 0x2a], 0
jne 0x6fdf8b10
test dl, dl
mov eax, dword [ebx + 0x84]
jne 0x6fdf8963
test eax, eax
jne 0x6fdf8b74
cmp byte [ebx + 0x68], 0
jne 0x6fdf8a78
cmp byte [esp + 0x29], 1
mov ecx, dword [esp + 0x108c]
mov eax, dword [esp + 0x108c]
sbb edx, edx
mov edi, dword [ebx]
not edx
and edx, 3
add edx, ecx
lea ecx, [edx + edx*2]
mov edx, dword [esp + 0x1088]
shl eax, 5
add eax, ebx
mov ebp, dword [eax + 8]
lea edx, [edx + edx*8 - 0x12]
mov eax, dword [eax + 0xc]
shl edx, 2
lea edx, [edx + ecx*2]
mov ecx, dword [esp + 0x1088]
add edx, ebp
mov ebp, dword [edi + edx*4 + 0xc0]
mov edx, 0xab
mov edi, dword [esp + 0x24]
lea edi, [edi + eax + 0xe]
mov eax, dword [esi + 4]
cmp dword [eax + 0x6ac], 2
mov eax, 0x55
mov dword [esp + 0x10], edi
mov dword [esp + 4], ebp
cmove eax, edx
add ecx, ecx
mov edx, 1
shl edx, cl
lea ecx, [edi - 9]
shl eax, cl
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1084]
lea edi, [esp + 0x50]
mov dword [esp + 0x18], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x78]
mov dword [esp], eax
call dword [0x70e9df84]
cmp eax, 1
jbe 0x6fdf8a2b
mov edx, dword [esi + 4]
mov edx, dword [edx + 4]
cmp byte [edx + 0x13], 0
jne 0x6fdf8bd0
add esp, 0x105c
pop ebx
pop esi
pop edi
pop ebp
ret 0x28
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1080]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x107c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x78]
mov dword [esp], eax
call dword [0x70e9d720]
cmp byte [ebx + 0x68], 0
je 0x6fdf896d
mov eax, dword [esp + 0x1090]
mov ecx, ebx
movzx edx, byte [esp + 0x2a]
mov dword [esp], esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x108c]
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1088]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1084]
mov dword [esp + 4], eax
call fcn.6fdf6610
sub esp, 0x18
add esp, 0x105c
pop ebx
pop esi
pop edi
pop ebp
ret 0x28
mov eax, dword [esp + 0x1080]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x107c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1084]
mov dword [esp], eax
mov eax, dword [esp + 0x1088]
call dword [eax*4 + 0x70e9d740]
add esp, 0x105c
pop ebx
pop esi
pop edi
pop ebp
ret 0x28
mov eax, dword [esp + 0x1078]
mov dword [esp + 4], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1074]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0x1088]
call dword [eax*4 + 0x70e9d944]
mov dword [esp + 8], edi
mov eax, dword [ebx + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x80]
mov dword [esp], eax
call dword [ebp*4 + 0x70e9d3ac]
movzx edx, byte [esp + 0x2b]
mov eax, dword [ebx + 0x84]
test dl, dl
je 0x6fdf895b
jmp 0x6fdf8963
movzx edx, byte [esp + 0x29]
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1088]
xor dl, 1
movzx edx, dl
lea edi, [edi + edx*4]
add ecx, ecx
mov edx, 1
shl edx, cl
mov dword [esp + 0xc], edx
mov edx, edi
shl edx, 0xb
add edx, eax
mov dword [esp + 8], edx
lea edx, [edi + 4]
shl edx, 0xc
add eax, edx
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x78]
mov dword [esp], eax
call dword [0x70e9df98]
mov eax, dword [ebx + 0x84]
inc dword [eax + edi*4 + 0xc000]
jmp 0x6fdf8963
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1088]
lea ebp, [esp + 0x3c]
movzx edx, byte [esp + 0x29]
mov ecx, esi
mov dword [esp], ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1090]
mov dword [esp + 0xc], edx
mov dword [esp + 4], eax
call fcn.6fdf55c0
mov ecx, ebx
sub esp, 0x10
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1084]
mov dword [esp], eax
call fcn.6fdf5f80
sub esp, 0x10
add esp, 0x105c
pop ebx
pop esi
pop edi
pop ebp
ret 0x28