Function at 0x43fe64
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.00406f78
mov ebx, 0x557160
xor eax, eax
push ebp
push 0x440295
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov byte [0x565ff0], 0
cmp dword [ebp - 4], 0
jne 0x43fea7
lea eax, [ebp - 4]
mov edx, 0x4402b4
call fcn.00406fe4
mov eax, dword [0x565fec]
mov edx, dword [eax]
call dword [edx]
xor edx, edx
push ebp
push 0x440278
push dword fs:[edx]
mov dword fs:[edx], esp
cmp dword [0x55715c], 0
jne 0x440250
mov byte [0x565ff0], 0
mov byte [0x565ff1], 0
mov eax, dword [ebp - 4]
call fcn.0040701c
push eax
call sub.kernel32.dll_LoadLibraryW
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x440254
push 0x4402cc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557158], eax
push 0x4402d8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557154], eax
push 0x4402e8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557134], eax
push 0x4402f4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557114], eax
push 0x440300
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5570cc], eax
push 0x440310
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5570c4], eax
push 0x44031c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5570c8], eax
push 0x440328
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x55713c], eax
push 0x440330
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557138], eax
push 0x440338
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557130], eax
push 0x440340
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x55712c], eax
push 0x44034c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557128], eax
push 0x440358
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5570f4], eax
push 0x440364
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557124], eax
push 0x44036c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557120], eax
push 0x440374
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x55711c], eax
push 0x440380
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557118], eax
push 0x44038c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557110], eax
push 0x440394
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x55710c], eax
push 0x44039c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557108], eax
push 0x4403a4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557100], eax
push 0x4403ac
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557104], eax
push 0x4403b8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557144], eax
push 0x4403c0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5570fc], eax
push 0x4403c8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5570f8], eax
push 0x4403d0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5570f0], eax
push 0x4403dc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5570ec], eax
push 0x4403e8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557140], eax
push 0x4403f0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5570e4], eax
push 0x440400
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5570e0], eax
push 0x440410
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5570d8], eax
push 0x440420
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5570dc], eax
push 0x440434
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5570d0], eax
push 0x440444
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5570d4], eax
push 0x440454
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5570e8], eax
push 0x440460
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557148], eax
push 0x44046c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x55714c], eax
push 0x44047c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557150], eax
cmp dword [0x557148], 0
je 0x4401b9
cmp dword [0x55714c], 0
je 0x4401b9
cmp dword [0x557150], 0
jne 0x4401bd
xor eax, eax
jmp 0x4401bf
mov al, 1
mov byte [0x565ff0], al
cmp byte [0x565ff0], 0
jne 0x44024a
push 0x440488
call sub.kernel32.dll_LoadLibraryW
mov dword [0x557164], eax
cmp dword [0x557164], 0
je 0x44024a
push 0x440460
mov eax, dword [0x557164]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557148], eax
push 0x44046c
mov eax, dword [0x557164]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x55714c], eax
push 0x44047c
mov eax, dword [0x557164]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x557150], eax
cmp dword [0x557148], 0
je 0x44023f
cmp dword [0x55714c], 0
je 0x44023f
cmp dword [0x557150], 0
jne 0x440243
xor eax, eax
jmp 0x440245
mov al, 1
mov byte [0x565ff1], al
mov byte [ebp - 5], 1
jmp 0x440254
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
je 0x440260
inc dword [0x55715c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x44027f
mov eax, dword [0x565fec]
mov edx, dword [eax]
call dword [edx + 4]
ret