Function at 0x49fa1c
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 4], eax
mov ebx, 0x4b7ac0
mov edi, 0x4b7ac4
xor eax, eax
push ebp
push 0x49ffaf
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4bde48]
call fcn.00433dc8
xor edx, edx
push ebp
push 0x49ff92
push dword fs:[edx]
mov dword fs:[edx], esp
call fcn.004a05c0
test al, al
jne 0x49ff76
mov eax, dword [0x4b7ab4]
call fcn.004055d4
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [ebx], eax
mov eax, dword [0x4b7abc]
call fcn.004055d4
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [edi], eax
cmp dword [ebx], 0
jne 0x49faa2
mov eax, dword [0x4b7ab8]
call fcn.004055d4
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x49ff4e
cmp dword [edi], 0
je 0x49ff4e
push 0x49ffc4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7ad0], eax
push 0x49ffd4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7ad4], eax
push 0x49ffe8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7ad8], eax
push 0x4a0000
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7adc], eax
push 0x4a0018
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7ae0], eax
push 0x4a0024
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7ae4], eax
push 0x4a0034
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7ae8], eax
push 0x4a0040
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7aec], eax
push 0x4a0050
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7af0], eax
push 0x4a0060
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7af4], eax
push 0x4a0070
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7af8], eax
push 0x4a0080
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7afc], eax
push 0x4a009c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b00], eax
push 0x4a00c0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b04], eax
push 0x4a00dc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b08], eax
push 0x4a00fc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b0c], eax
push 0x4a0124
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b10], eax
push 0x4a0144
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b14], eax
push 0x4a014c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b18], eax
push 0x4a0158
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b1c], eax
push 0x4a0164
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b20], eax
push 0x4a0170
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b24], eax
push 0x4a0180
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b28], eax
push 0x4a018c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b2c], eax
push 0x4a0198
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b30], eax
push 0x4a01a4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b34], eax
push 0x4a01b0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b3c], eax
push 0x4a01cc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b38], eax
push 0x4a01dc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b40], eax
push 0x4a01f0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b44], eax
push 0x4a0208
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b48], eax
push 0x4a021c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b4c], eax
push 0x4a0230
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b50], eax
push 0x4a0248
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b54], eax
push 0x4a0254
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b58], eax
push 0x4a0268
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b5c], eax
push 0x4a0280
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b60], eax
push 0x4a0298
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b64], eax
push 0x4a02a8
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b68], eax
push 0x4a02b4
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b6c], eax
push 0x4a02bc
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b70], eax
push 0x4a02d0
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b74], eax
push 0x4a02e0
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b78], eax
push 0x4a02f0
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b7c], eax
push 0x4a0304
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b80], eax
push 0x4a0318
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b84], eax
push 0x4a0324
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b88], eax
push 0x4a0340
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b8c], eax
push 0x4a034c
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b90], eax
push 0x4a0354
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b94], eax
push 0x4a0364
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b98], eax
push 0x4a0370
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7b9c], eax
push 0x4a0384
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7ba0], eax
push 0x4a0390
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7ba4], eax
push 0x4a039c
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4b7ba8], eax
lea eax, [ebp - 4]
mov edx, 0x400
call fcn.00405864
mov esi, dword [ebp - 4]
test esi, esi
je 0x49feab
sub esi, 4
mov esi, dword [esi]
push esi
mov eax, dword [ebp - 4]
call fcn.004055d4
push eax
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetModuleFileNameA_1
lea edx, [ebp - 4]
xchg edx, eax
call fcn.00405864
mov eax, 0x4b7ac8
mov edx, dword [ebp - 4]
call fcn.00405198
lea eax, [ebp - 4]
mov edx, 0x400
call fcn.00405864
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x49feec
sub ebx, 4
mov ebx, dword [ebx]
push ebx
mov eax, dword [ebp - 4]
call fcn.004055d4
push eax
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetModuleFileNameA_1
lea edx, [ebp - 4]
xchg edx, eax
call fcn.00405864
mov eax, 0x4b7acc
mov edx, dword [ebp - 4]
call fcn.00405198
mov byte [ebp - 5], 1
cmp dword [0x4b7ad4], 0
je 0x49ff27
call dword [0x4b7ad4]
cmp dword [0x4b7ad8], 0
je 0x49ff36
call dword [0x4b7ad8]
cmp dword [0x4b7b8c], 0
je 0x49ff45
call dword [0x4b7b8c]
mov byte [0x4b7bac], 1
jmp 0x49ff7a
cmp dword [ebx], 0
je 0x49ff5f
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_FreeLibrary_1
xor eax, eax
mov dword [ebx], eax
cmp dword [edi], 0
je 0x49ff70
mov eax, dword [edi]
push eax
call sub.kernel32.dll_FreeLibrary_1
xor eax, eax
mov dword [ebx], eax
mov byte [ebp - 5], 0
jmp 0x49ff7a
mov byte [ebp - 5], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49ff99
mov eax, dword [0x4bde48]
call fcn.00433dd0
ret