Function at 0x6896ec
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00408784
mov ebx, 0x6ca0cc
xor eax, eax
push ebp
push 0x689b16
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
cmp dword [ebp - 4], 0
jne 0x689728
lea eax, [ebp - 4]
mov edx, 0x689b34
call fcn.00408ac8
mov eax, dword [0x701aec]
mov edx, dword [eax]
call dword [edx]
xor eax, eax
push ebp
push 0x689af9
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x6ca0c8], 0
jne 0x689ad1
mov byte [0x701af0], 0
mov byte [0x701af1], 0
mov eax, dword [ebp - 4]
call fcn.0040972c
push eax
call sub.kernel32.dll_LoadLibraryW
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x689ad5
push 0x689b4c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca0c4], eax
push 0x689b58
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca0c0], eax
push 0x689b68
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca0a0], eax
push 0x689b74
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca080], eax
push 0x689b80
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca038], eax
push 0x689b90
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca030], eax
push 0x689b9c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca034], eax
push 0x689ba8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca0a8], eax
push 0x689bb0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca0a4], eax
push 0x689bb8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca09c], eax
push 0x689bc0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca098], eax
push 0x689bcc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca094], eax
push 0x689bd8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca060], eax
push 0x689be4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca090], eax
push 0x689bec
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca08c], eax
push 0x689bf4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca088], eax
push 0x689c00
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca084], eax
push 0x689c0c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca07c], eax
push 0x689c14
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca078], eax
push 0x689c1c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca074], eax
push 0x689c24
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca06c], eax
push 0x689c2c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca070], eax
push 0x689c38
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca0b0], eax
push 0x689c40
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca068], eax
push 0x689c48
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca064], eax
push 0x689c50
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca05c], eax
push 0x689c5c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca058], eax
push 0x689c68
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca0ac], eax
push 0x689c70
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca050], eax
push 0x689c80
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca04c], eax
push 0x689c90
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca044], eax
push 0x689ca0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca048], eax
push 0x689cb4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca03c], eax
push 0x689cc4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca040], eax
push 0x689cd4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca054], eax
push 0x689ce0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca0b4], eax
push 0x689cec
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca0b8], eax
push 0x689cfc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca0bc], eax
cmp dword [0x6ca0b4], 0
je 0x689a3a
cmp dword [0x6ca0b8], 0
je 0x689a3a
cmp dword [0x6ca0bc], 0
jne 0x689a3e
xor eax, eax
jmp 0x689a40
mov al, 1
mov byte [0x701af0], al
cmp byte [0x701af0], 0
jne 0x689acb
push 0x689d08
call sub.kernel32.dll_LoadLibraryW
mov dword [0x6ca0d0], eax
cmp dword [0x6ca0d0], 0
je 0x689acb
push 0x689ce0
mov eax, dword [0x6ca0d0]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca0b4], eax
push 0x689cec
mov eax, dword [0x6ca0d0]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca0b8], eax
push 0x689cfc
mov eax, dword [0x6ca0d0]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6ca0bc], eax
cmp dword [0x6ca0b4], 0
je 0x689ac0
cmp dword [0x6ca0b8], 0
je 0x689ac0
cmp dword [0x6ca0bc], 0
jne 0x689ac4
xor eax, eax
jmp 0x689ac6
mov al, 1
mov byte [0x701af1], al
mov byte [ebp - 5], 1
jmp 0x689ad5
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
je 0x689ae1
inc dword [0x6ca0c8]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x689b00
mov eax, dword [0x701aec]
mov edx, dword [eax]
call dword [edx + 4]
ret