Function at 0x46a2dc
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.00404a84
mov ebx, 0x540214
xor eax, eax
push ebp
push 0x46a707
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
cmp dword [ebp - 4], 0
jne 0x46a318
lea eax, [ebp - 4]
mov edx, 0x46a720
call fcn.0040466c
mov eax, dword [0x548c74]
call fcn.0042ca40
xor eax, eax
push ebp
push 0x46a6ea
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x540210], 0
jne 0x46a6c2
mov byte [0x548c78], 0
mov byte [0x548c79], 0
mov eax, dword [ebp - 4]
call fcn.00404a94
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x46a6c6
push 0x46a72c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x54020c], eax
push 0x46a738
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x540208], eax
push 0x46a748
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401e8], eax
push 0x46a754
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401c8], eax
push 0x46a760
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x540180], eax
push 0x46a770
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x540178], eax
push 0x46a77c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x54017c], eax
push 0x46a788
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401f0], eax
push 0x46a790
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401ec], eax
push 0x46a798
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401e4], eax
push 0x46a7a0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401e0], eax
push 0x46a7ac
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401dc], eax
push 0x46a7b8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401a8], eax
push 0x46a7c4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401d8], eax
push 0x46a7cc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401d4], eax
push 0x46a7d4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401d0], eax
push 0x46a7e0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401cc], eax
push 0x46a7ec
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401c4], eax
push 0x46a7f4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401c0], eax
push 0x46a7fc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401bc], eax
push 0x46a804
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401b4], eax
push 0x46a80c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401b8], eax
push 0x46a818
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401f8], eax
push 0x46a820
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401b0], eax
push 0x46a828
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401ac], eax
push 0x46a830
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401a4], eax
push 0x46a83c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401a0], eax
push 0x46a848
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401f4], eax
push 0x46a850
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x540198], eax
push 0x46a860
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x540194], eax
push 0x46a870
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x54018c], eax
push 0x46a880
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x540190], eax
push 0x46a894
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x540184], eax
push 0x46a8a4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x540188], eax
push 0x46a8b4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x54019c], eax
push 0x46a8c0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401fc], eax
push 0x46a8cc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x540200], eax
push 0x46a8dc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x540204], eax
cmp dword [0x5401fc], 0
je 0x46a62b
cmp dword [0x540200], 0
je 0x46a62b
cmp dword [0x540204], 0
jne 0x46a62f
xor eax, eax
jmp 0x46a631
mov al, 1
mov byte [0x548c78], al
cmp byte [0x548c78], 0
jne 0x46a6bc
push 0x46a8e8
call sub.kernel32.dll_LoadLibraryA
mov dword [0x540218], eax
cmp dword [0x540218], 0
je 0x46a6bc
push 0x46a8c0
mov eax, dword [0x540218]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5401fc], eax
push 0x46a8cc
mov eax, dword [0x540218]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x540200], eax
push 0x46a8dc
mov eax, dword [0x540218]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x540204], eax
cmp dword [0x5401fc], 0
je 0x46a6b1
cmp dword [0x540200], 0
je 0x46a6b1
cmp dword [0x540204], 0
jne 0x46a6b5
xor eax, eax
jmp 0x46a6b7
mov al, 1
mov byte [0x548c79], al
mov byte [ebp - 5], 1
jmp 0x46a6c6
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
je 0x46a6d2
inc dword [0x540210]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46a6f1
mov eax, dword [0x548c74]
call fcn.0042ca48
ret