Function at 0x47b350
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffef0
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 4], edx
mov edi, eax
mov esi, 0x49d2a8
xor eax, eax
push ebp
push 0x47bfba
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
cmp dword [esi], 0
je 0x47b384
mov bl, 1
jmp 0x47bfa4
lea eax, [ebp - 4]
mov edx, edi
call fcn.00404be4
mov eax, dword [ebp - 4]
test eax, eax
je 0x47b39a
sub eax, 4
mov eax, dword [eax]
test eax, eax
jne 0x47b3d7
xor eax, eax
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10e]
push eax
push 0x104
push 0
push 0x47bfcc
push 0
call sub.kernel32.dll_SearchPathA
test eax, eax
jbe 0x47bfa4
lea edx, [ebp - 4]
lea eax, [ebp - 0x10e]
call fcn.00409570
push 0x8001
call sub.kernel32.dll_SetErrorMode
mov ebx, eax
lea eax, [ebp - 4]
mov edx, 0x47bfe0
call fcn.00404e18
mov eax, dword [ebp - 4]
call fcn.00404fdc
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [esi], eax
push ebx
call sub.kernel32.dll_SetErrorMode
cmp dword [esi], 0
je 0x47bf9e
push 0x47bfe4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d40], eax
push 0x47bff4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d44], eax
push 0x47c004
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d48], eax
push 0x47c018
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d4c], eax
push 0x47c02c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d50], eax
push 0x47c03c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d54], eax
push 0x47c050
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d58], eax
push 0x47c064
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d5c], eax
push 0x47c070
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d60], eax
push 0x47c080
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d64], eax
push 0x47c090
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d68], eax
push 0x47c09c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d6c], eax
push 0x47c0b4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d70], eax
push 0x47c0c4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d74], eax
push 0x47c0d0
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d78], eax
push 0x47c0dc
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d7c], eax
push 0x47c0e8
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d80], eax
push 0x47c0f4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d84], eax
push 0x47c100
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d88], eax
push 0x47c110
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d8c], eax
push 0x47c120
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d90], eax
push 0x47c130
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d94], eax
push 0x47c140
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d98], eax
push 0x47c154
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2d9c], eax
push 0x47c168
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2da0], eax
push 0x47c17c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2da4], eax
push 0x47c190
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2da8], eax
push 0x47c1a4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2dac], eax
push 0x47c1b4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2db0], eax
push 0x47c1cc
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2db4], eax
push 0x47c1e4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2db8], eax
push 0x47c1f4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2dbc], eax
push 0x47c204
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2dc0], eax
push 0x47c214
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2dc4], eax
push 0x47c228
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2dc8], eax
push 0x47c238
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2dcc], eax
push 0x47c24c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2dd0], eax
push 0x47c260
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2dd4], eax
push 0x47c274
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2dd8], eax
push 0x47c288
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2ddc], eax
push 0x47c2a0
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2de0], eax
push 0x47c2b8
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2de4], eax
push 0x47c2c8
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2de8], eax
push 0x47c2dc
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2dec], eax
push 0x47c2f4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2df0], eax
push 0x47c30c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2df4], eax
push 0x47c328
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2df8], eax
push 0x47c338
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2dfc], eax
push 0x47c354
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e00], eax
push 0x47c368
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e04], eax
push 0x47c380
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e08], eax
push 0x47c39c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e0c], eax
push 0x47c3ac
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e10], eax
push 0x47c3c4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e14], eax
push 0x47c3dc
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e18], eax
push 0x47c3ec
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e1c], eax
push 0x47c400
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e20], eax
push 0x47c418
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e24], eax
push 0x47c42c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e28], eax
push 0x47c440
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e2c], eax
push 0x47c454
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e30], eax
push 0x47c470
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e34], eax
push 0x47c48c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e38], eax
push 0x47c4a4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e3c], eax
push 0x47c4bc
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e40], eax
push 0x47c4d4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e44], eax
push 0x47c4e8
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e48], eax
push 0x47c4fc
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e4c], eax
push 0x47c510
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e50], eax
push 0x47c524
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e54], eax
push 0x47c538
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e58], eax
push 0x47c54c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e5c], eax
push 0x47c560
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e60], eax
push 0x47c574
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e64], eax
push 0x47c590
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e68], eax
push 0x47c5ac
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e6c], eax
push 0x47c5c8
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e70], eax
push 0x47c5e0
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e74], eax
push 0x47c5fc
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e78], eax
push 0x47c618
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e7c], eax
push 0x47c634
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e80], eax
push 0x47c650
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e84], eax
push 0x47c668
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e88], eax
push 0x47c680
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e8c], eax
push 0x47c698
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e90], eax
push 0x47c6b0
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e94], eax
push 0x47c6c4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e98], eax
push 0x47c6d8
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2e9c], eax
push 0x47c6f0
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2ea0], eax
push 0x47c704
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2ea4], eax
push 0x47c71c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2ea8], eax
push 0x47c730
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2eac], eax
push 0x47c748
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2eb0], eax
push 0x47c75c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2eb4], eax
push 0x47c774
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2eb8], eax
push 0x47c78c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2ebc], eax
push 0x47c7a4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4a2ec0], eax
cmp dword [0x4a2d40], 0
je 0x47bf92
cmp dword [0x4a2d44], 0
je 0x47bf92
cmp dword [0x4a2d48], 0
je 0x47bf92
cmp dword [0x4a2d4c], 0
je 0x47bf92
cmp dword [0x4a2d50], 0
je 0x47bf92
cmp dword [0x4a2d54], 0
je 0x47bf92
cmp dword [0x4a2d58], 0
je 0x47bf92
cmp dword [0x4a2d5c], 0
je 0x47bf92
cmp dword [0x4a2d60], 0
je 0x47bf92
cmp dword [0x4a2d64], 0
je 0x47bf92
cmp dword [0x4a2d68], 0
je 0x47bf92
cmp dword [0x4a2d6c], 0
je 0x47bf92
cmp dword [0x4a2d70], 0
je 0x47bf92
cmp dword [0x4a2d74], 0
je 0x47bf92
cmp dword [0x4a2d78], 0
je 0x47bf92
cmp dword [0x4a2d7c], 0
je 0x47bf92
cmp dword [0x4a2d80], 0
je 0x47bf92
cmp dword [0x4a2d84], 0
je 0x47bf92
cmp dword [0x4a2d88], 0
je 0x47bf92
cmp dword [0x4a2d8c], 0
je 0x47bf92
cmp dword [0x4a2d90], 0
je 0x47bf92
cmp dword [0x4a2d94], 0
je 0x47bf92
cmp dword [0x4a2d98], 0
je 0x47bf92
cmp dword [0x4a2d9c], 0
je 0x47bf92
cmp dword [0x4a2da0], 0
je 0x47bf92
cmp dword [0x4a2da4], 0
je 0x47bf92
cmp dword [0x4a2da8], 0
je 0x47bf92
cmp dword [0x4a2dac], 0
je 0x47bf92
cmp dword [0x4a2db0], 0
je 0x47bf92
cmp dword [0x4a2db4], 0
je 0x47bf92
cmp dword [0x4a2db8], 0
je 0x47bf92
cmp dword [0x4a2dbc], 0
je 0x47bf92
cmp dword [0x4a2dc0], 0
je 0x47bf92
cmp dword [0x4a2dc4], 0
je 0x47bf92
cmp dword [0x4a2dc8], 0
je 0x47bf92
cmp dword [0x4a2dcc], 0
je 0x47bf92
cmp dword [0x4a2dd0], 0
je 0x47bf92
cmp dword [0x4a2dd4], 0
je 0x47bf92
cmp dword [0x4a2dd8], 0
je 0x47bf92
cmp dword [0x4a2ddc], 0
je 0x47bf92
cmp dword [0x4a2de0], 0
je 0x47bf92
cmp dword [0x4a2de4], 0
je 0x47bf92
cmp dword [0x4a2de8], 0
je 0x47bf92
cmp dword [0x4a2dec], 0
je 0x47bf92
cmp dword [0x4a2df0], 0
je 0x47bf92
cmp dword [0x4a2df4], 0
je 0x47bf92
cmp dword [0x4a2df8], 0
je 0x47bf92
cmp dword [0x4a2dfc], 0
je 0x47bf92
cmp dword [0x4a2e00], 0
je 0x47bf92
cmp dword [0x4a2e04], 0
je 0x47bf92
cmp dword [0x4a2e08], 0
je 0x47bf92
cmp dword [0x4a2e0c], 0
je 0x47bf92
cmp dword [0x4a2e10], 0
je 0x47bf92
cmp dword [0x4a2e14], 0
je 0x47bf92
cmp dword [0x4a2e18], 0
je 0x47bf92
cmp dword [0x4a2e1c], 0
je 0x47bf92
cmp dword [0x4a2e20], 0
je 0x47bf92
cmp dword [0x4a2e24], 0
je 0x47bf92
cmp dword [0x4a2e28], 0
je 0x47bf92
cmp dword [0x4a2e2c], 0
je 0x47bf92
cmp dword [0x4a2e30], 0
je 0x47bf92
cmp dword [0x4a2e34], 0
je 0x47bf92
cmp dword [0x4a2e38], 0
je 0x47bf92
cmp dword [0x4a2e3c], 0
je 0x47bf92
cmp dword [0x4a2e40], 0
je 0x47bf92
cmp dword [0x4a2e44], 0
je 0x47bf92
cmp dword [0x4a2e48], 0
je 0x47bf92
cmp dword [0x4a2e4c], 0
je 0x47bf92
cmp dword [0x4a2e50], 0
je 0x47bf92
cmp dword [0x4a2e54], 0
je 0x47bf92
cmp dword [0x4a2e58], 0
je 0x47bf92
cmp dword [0x4a2e5c], 0
je 0x47bf92
cmp dword [0x4a2e60], 0
je 0x47bf92
cmp dword [0x4a2e64], 0
je 0x47bf92
cmp dword [0x4a2e68], 0
je 0x47bf92
cmp dword [0x4a2e6c], 0
je 0x47bf92
cmp dword [0x4a2e70], 0
je 0x47bf92
cmp dword [0x4a2e74], 0
je 0x47bf92
cmp dword [0x4a2e78], 0
je 0x47bf92
cmp dword [0x4a2e7c], 0
je 0x47bf92
cmp dword [0x4a2e80], 0
je 0x47bf92
cmp dword [0x4a2e84], 0
je 0x47bf92
cmp dword [0x4a2e88], 0
je 0x47bf92
cmp dword [0x4a2e8c], 0
je 0x47bf92
cmp dword [0x4a2e90], 0
je 0x47bf92
cmp dword [0x4a2e94], 0
je 0x47bf92
cmp dword [0x4a2e98], 0
je 0x47bf92
cmp dword [0x4a2e9c], 0
je 0x47bf92
cmp dword [0x4a2ea0], 0
je 0x47bf92
cmp dword [0x4a2ea4], 0
je 0x47bf92
cmp dword [0x4a2ea8], 0
je 0x47bf92
cmp dword [0x4a2eac], 0
je 0x47bf92
cmp dword [0x4a2eb0], 0
je 0x47bf92
cmp dword [0x4a2eb4], 0
je 0x47bf92
cmp dword [0x4a2eb8], 0
je 0x47bf92
cmp dword [0x4a2ebc], 0
je 0x47bf92
cmp dword [0x4a2ec0], 0
jne 0x47bf9e
mov eax, dword [esi]
push eax
call sub.kernel32.dll_FreeLibrary_1
xor eax, eax
mov dword [esi], eax
cmp dword [esi], 0
setne bl
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47bfc1
lea eax, [ebp - 4]
call fcn.00404b4c
ret