Function at 0x4646b4
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.00404740
mov ebx, 0x4af110
xor eax, eax
push ebp
push 0x464ae6
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov byte [0x4b6c44], 0
cmp dword [ebp - 4], 0
jne 0x4646f7
lea eax, [ebp - 4]
mov edx, 0x464b00
call fcn.00404328
mov eax, dword [0x4b6c40]
call fcn.0042b6c8
xor eax, eax
push ebp
push 0x464ac9
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x4af10c], 0
jne 0x464aa1
mov byte [0x4b6c44], 0
mov byte [0x4b6c45], 0
mov eax, dword [ebp - 4]
call fcn.00404750
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x464aa5
push 0x464b0c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af108], eax
push 0x464b18
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af104], eax
push 0x464b28
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0e4], eax
push 0x464b34
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0c4], eax
push 0x464b40
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af07c], eax
push 0x464b50
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af074], eax
push 0x464b5c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af078], eax
push 0x464b68
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0ec], eax
push 0x464b70
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0e8], eax
push 0x464b78
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0e0], eax
push 0x464b80
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0dc], eax
push 0x464b8c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0d8], eax
push 0x464b98
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0a4], eax
push 0x464ba4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0d4], eax
push 0x464bac
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0d0], eax
push 0x464bb4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0cc], eax
push 0x464bc0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0c8], eax
push 0x464bcc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0c0], eax
push 0x464bd4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0bc], eax
push 0x464bdc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0b8], eax
push 0x464be4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0b0], eax
push 0x464bec
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0b4], eax
push 0x464bf8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0f4], eax
push 0x464c00
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0ac], eax
push 0x464c08
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0a8], eax
push 0x464c10
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0a0], eax
push 0x464c1c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af09c], eax
push 0x464c28
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0f0], eax
push 0x464c30
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af094], eax
push 0x464c40
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af090], eax
push 0x464c50
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af088], eax
push 0x464c60
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af08c], eax
push 0x464c74
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af080], eax
push 0x464c84
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af084], eax
push 0x464c94
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af098], eax
push 0x464ca0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0f8], eax
push 0x464cac
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0fc], eax
push 0x464cbc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af100], eax
cmp dword [0x4af0f8], 0
je 0x464a0a
cmp dword [0x4af0fc], 0
je 0x464a0a
cmp dword [0x4af100], 0
jne 0x464a0e
xor eax, eax
jmp 0x464a10
mov al, 1
mov byte [0x4b6c44], al
cmp byte [0x4b6c44], 0
jne 0x464a9b
push 0x464cc8
call sub.kernel32.dll_LoadLibraryA
mov dword [0x4af114], eax
cmp dword [0x4af114], 0
je 0x464a9b
push 0x464ca0
mov eax, dword [0x4af114]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0f8], eax
push 0x464cac
mov eax, dword [0x4af114]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af0fc], eax
push 0x464cbc
mov eax, dword [0x4af114]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4af100], eax
cmp dword [0x4af0f8], 0
je 0x464a90
cmp dword [0x4af0fc], 0
je 0x464a90
cmp dword [0x4af100], 0
jne 0x464a94
xor eax, eax
jmp 0x464a96
mov al, 1
mov byte [0x4b6c45], al
mov byte [ebp - 5], 1
jmp 0x464aa5
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
je 0x464ab1
inc dword [0x4af10c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x464ad0
mov eax, dword [0x4b6c40]
call fcn.0042b6d0
ret