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

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x5c
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
mov eax, dword [esi + 0x44]
cmp byte [eax + edi], 1
je 0x6fd64670
mov eax, dword [esi + 0x60]
cmp byte [eax + edi], 0
je 0x6fd646f3
mov eax, dword [esi + 0x40]
cmp byte [eax + edi], 0
jne 0x6fd646f3
mov eax, dword [esi + 0x80]
cmp byte [eax + edi], 0
jne 0x6fd64670
mov eax, dword [esi + 0x84]
cmp byte [eax + edi], 0
jne 0x6fd64670
mov eax, dword [esi + 0x88]
cmp byte [eax + edi], 0
je 0x6fd646e9
lea esi, [esi]
mov edx, dword [esp + 0x80]
mov eax, edi
mov ecx, dword [esp + 0x78]
shl eax, 4
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x24], edx
xor edx, edx
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x3c]
movzx edx, byte [edx + edi]
mov dword [esp + 0x18], ecx
mov ecx, dword [0x7046f744]
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], edx
mov edx, 1
add ecx, ecx
shl edx, cl
mov ecx, dword [esp + 0x78]
add ecx, ecx
shr edx, cl
mov dword [esp + 0x14], edx
mov edx, eax
mov ecx, dword [esi + 0x34]
mov edi, dword [esi + 0x30]
mov dword [esp + 8], eax
lea eax, [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp], esi
add ecx, edi
shr edx, cl
mov ecx, ebx
mov dword [esp + 0xc], edx
call fcn.6fd638b0
sub esp, 0x2c
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret 0x14
mov eax, dword [esi + 0x80]
mov ecx, 1
cmp byte [eax + edi], 0
je 0x6fd647f0
movzx eax, byte [ebx + 0x36]
movzx edx, byte [ecx + eax*2 + 0x70764140]
mov byte [ebx + 0x36], dl
mov edx, dword [ebx]
test edx, edx
mov dword [esp + 0x3c], edx
je 0x6fd648d0
mov edx, eax
xor eax, ecx
shr edx, 1
mov ebp, edx
mov dword [esp + 0x38], edx
movzx edx, byte [ebx + 0xb4]
sar edx, 6
movzx edx, byte [edx + ebp*4 + 0x70761300]
mov ebp, dword [ebx + 0xb4]
sub ebp, edx
test al, 1
mov dword [esp + 0x34], ebp
mov ebp, dword [ebx + 0xb0]
jne 0x6fd64814
mov eax, dword [esp + 0x34]
lea ecx, [eax - 0x100]
mov edx, eax
shr ecx, 0x1f
mov eax, ebp
shl edx, cl
shl eax, cl
add ecx, dword [ebx + 0xc0]
mov dword [ebx + 0xb4], edx
mov dword [ebx + 0xb0], eax
mov edx, ecx
js 0x6fd64831
lea ecx, [ecx + 0xd]
mov ebp, eax
shr ebp, cl
lea ecx, [edx - 8]
mov dword [ebx + 0xc0], ecx
mov ecx, 0x13
sub ecx, edx
mov edx, 0xffffffff
shr edx, cl
and eax, edx
cmp ebp, 0xff
mov dword [esp + 0x34], ebp
mov dword [ebx + 0xb0], eax
je 0x6fd648c0
mov ebp, dword [ebx + 0xbc]
test ebp, ebp
jne 0x6fd64855
movzx eax, byte [esp + 0x34]
mov edx, 1
mov dword [ebx + 0xbc], edx
mov dword [ebx + 0xb8], eax
jmp 0x6fd64644
mov eax, dword [esi + 0x84]
cmp byte [eax + edi], 0
jne 0x6fd64708
mov eax, dword [esi + 0x88]
xor ecx, ecx
cmp byte [eax + edi], 0
setne cl
jmp 0x6fd64708
bsr eax, edx
mov ecx, 6
xor eax, 0x1f
cmp dword [esp + 0x38], 0x3e
jbe 0x6fd64840
mov eax, dword [esp + 0x34]
add ebp, eax
jmp 0x6fd6476c
mov dword [ebx + 0xc0], ecx
jmp 0x6fd64644
xor eax, 0x1f
mov ecx, 8
sub ecx, eax
mov eax, dword [esp + 0x34]
add ebp, eax
jmp 0x6fd6476c
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
shr eax, 8
mov edx, dword [ecx]
mov ecx, eax
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0xb8]
add ecx, eax
mov dword [esp], ecx
mov ecx, dword [esp + 0x3c]
call dword [edx + 4]
sub esp, 4
cmp ebp, 1
mov eax, dword [esp + 0x38]
lea edx, [eax + 0xff]
movzx eax, dl
je 0x6fd647d0
mov dword [esp + 0x70], esi
mov esi, ebx
mov ebx, eax
nop
lea esi, [esi]
mov ecx, dword [esi]
dec ebp
mov eax, dword [ecx]
mov dword [esp], ebx
call dword [eax + 4]
sub esp, 4
cmp ebp, 1
jne 0x6fd648a0
mov ebx, esi
mov esi, dword [esp + 0x70]
jmp 0x6fd647d0
inc dword [ebx + 0xbc]
jmp 0x6fd64644
xor eax, ecx
xor edx, edx
mov eax, dword [eax*4 + 0x70764240]
add dword [ebx + 0xc8], eax
adc dword [ebx + 0xcc], edx
jmp 0x6fd64644