Function at 0x677d54
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.00409208
mov ebx, 0x9da660
xor eax, eax
push ebp
push 0x678185
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov byte [0xa469c8], 0
cmp dword [ebp - 4], 0
jne 0x677d97
lea eax, [ebp - 4]
mov edx, 0x6781a4
call fcn.0040954c
mov eax, dword [0xa469c4]
mov edx, dword [eax]
call dword [edx]
xor edx, edx
push ebp
push 0x678168
push dword fs:[edx]
mov dword fs:[edx], esp
cmp dword [0x9da65c], 0
jne 0x678140
mov byte [0xa469c8], 0
mov byte [0xa469c9], 0
mov eax, dword [ebp - 4]
call fcn.0040a278
push eax
call sub.KERNEL32.DLL_LoadLibraryW
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x678144
push 0x6781bc
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da658], eax
push 0x6781c8
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da654], eax
push 0x6781d8
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da634], eax
push 0x6781e4
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da614], eax
push 0x6781f0
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da5cc], eax
push 0x678200
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da5c4], eax
push 0x67820c
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da5c8], eax
push 0x678218
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da63c], eax
push 0x678220
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da638], eax
push 0x678228
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da630], eax
push 0x678230
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da62c], eax
push 0x67823c
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da628], eax
push 0x678248
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da5f4], eax
push 0x678254
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da624], eax
push 0x67825c
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da620], eax
push 0x678264
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da61c], eax
push 0x678270
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da618], eax
push 0x67827c
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da610], eax
push 0x678284
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da60c], eax
push 0x67828c
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da608], eax
push 0x678294
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da600], eax
push 0x67829c
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da604], eax
push 0x6782a8
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da644], eax
push 0x6782b0
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da5fc], eax
push 0x6782b8
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da5f8], eax
push 0x6782c0
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da5f0], eax
push 0x6782cc
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da5ec], eax
push 0x6782d8
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da640], eax
push 0x6782e0
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da5e4], eax
push 0x6782f0
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da5e0], eax
push 0x678300
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da5d8], eax
push 0x678310
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da5dc], eax
push 0x678324
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da5d0], eax
push 0x678334
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da5d4], eax
push 0x678344
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da5e8], eax
push 0x678350
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da648], eax
push 0x67835c
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da64c], eax
push 0x67836c
mov eax, dword [ebx]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da650], eax
cmp dword [0x9da648], 0
je 0x6780a9
cmp dword [0x9da64c], 0
je 0x6780a9
cmp dword [0x9da650], 0
jne 0x6780ad
xor eax, eax
jmp 0x6780af
mov al, 1
mov byte [0xa469c8], al
cmp byte [0xa469c8], 0
jne 0x67813a
push 0x678378
call sub.KERNEL32.DLL_LoadLibraryW
mov dword [0x9da664], eax
cmp dword [0x9da664], 0
je 0x67813a
push 0x678350
mov eax, dword [0x9da664]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da648], eax
push 0x67835c
mov eax, dword [0x9da664]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da64c], eax
push 0x67836c
mov eax, dword [0x9da664]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x9da650], eax
cmp dword [0x9da648], 0
je 0x67812f
cmp dword [0x9da64c], 0
je 0x67812f
cmp dword [0x9da650], 0
jne 0x678133
xor eax, eax
jmp 0x678135
mov al, 1
mov byte [0xa469c9], al
mov byte [ebp - 5], 1
jmp 0x678144
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
je 0x678150
inc dword [0x9da65c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x67816f
mov eax, dword [0xa469c4]
mov edx, dword [eax]
call dword [edx + 4]
ret