Function at 0x40917c
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push ebx
mov ebx, 0x40b6e4
xor edx, edx
push ebp
push 0x4094ec
push dword fs:[edx]
mov dword fs:[edx], esp
cmp eax, 1
jne 0x4094d1
mov edx, ebx
xor eax, eax
call fcn.004026a4
mov eax, dword [ebx]
call fcn.00408f1c
cmp al, 1
jne 0x4091d7
mov eax, dword [ebx]
call fcn.00407d78
test al, al
jne 0x4091d7
mov eax, dword [0x40b6f0]
push eax
call sub.kernel32.dll_CloseHandle
push 0
mov eax, dword [0x40b650]
push eax
call sub.kernel32.dll_FreeLibraryAndExitThread
lea edx, [ebp - 8]
mov eax, dword [ebx]
call fcn.00406b18
mov eax, dword [ebp - 8]
lea edx, [ebp - 4]
call fcn.004069e8
mov edx, dword [ebp - 4]
mov eax, dword [0x40c430]
call fcn.00403694
test eax, eax
jle 0x409204
mov byte [0x40ab7c], 1
mov eax, dword [ebx]
call fcn.00407d78
test al, al
je 0x409244
call fcn.004090c4
mov eax, dword [0x40c420]
call fcn.004035ac
push eax
mov eax, dword [0x40c3e4]
call fcn.004035ac
push eax
call sub.kernel32.dll_GetModuleHandleA
push eax
call sub.kernel32.dll_GetProcAddress
mov ecx, 0x40c478
mov edx, 0x408478
call fcn.004045bc
mov eax, dword [ebx]
call fcn.00408f1c
test al, al
jne 0x409493
mov eax, dword [0x40c3ec]
call fcn.004035ac
push eax
mov eax, dword [0x40c3dc]
call fcn.004035ac
push eax
call sub.kernel32.dll_GetModuleHandleA
push eax
call sub.kernel32.dll_GetProcAddress
mov ecx, 0x40c448
mov edx, 0x4080d8
call fcn.004045bc
mov eax, dword [0x40c3f0]
call fcn.004035ac
push eax
mov eax, dword [0x40c3dc]
call fcn.004035ac
push eax
call sub.kernel32.dll_GetModuleHandleA
push eax
call sub.kernel32.dll_GetProcAddress
mov ecx, 0x40c44c
mov edx, 0x40814c
call fcn.004045bc
mov eax, dword [0x40c3f4]
call fcn.004035ac
push eax
mov eax, dword [0x40c3d8]
call fcn.004035ac
push eax
call sub.kernel32.dll_GetModuleHandleA
push eax
call sub.kernel32.dll_GetProcAddress
mov ecx, 0x40c458
mov edx, 0x4082b8
call fcn.004045bc
mov eax, dword [0x40c3f8]
call fcn.004035ac
push eax
mov eax, dword [0x40c3d8]
call fcn.004035ac
push eax
call sub.kernel32.dll_GetModuleHandleA
push eax
call sub.kernel32.dll_GetProcAddress
mov ecx, 0x40c45c
mov edx, 0x40835c
call fcn.004045bc
mov eax, dword [0x40c3fc]
call fcn.004035ac
push eax
mov eax, dword [0x40c3e0]
call fcn.004035ac
push eax
call sub.kernel32.dll_GetModuleHandleA
push eax
call sub.kernel32.dll_GetProcAddress
mov ecx, 0x40c454
mov edx, 0x4081d8
call fcn.004045bc
mov eax, dword [0x40c400]
call fcn.004035ac
push eax
mov eax, dword [0x40c3e0]
call fcn.004035ac
push eax
call sub.kernel32.dll_GetModuleHandleA
push eax
call sub.kernel32.dll_GetProcAddress
mov ecx, 0x40c450
mov edx, 0x40823c
call fcn.004045bc
mov eax, dword [0x40c404]
call fcn.004035ac
push eax
mov eax, dword [0x40c3dc]
call fcn.004035ac
push eax
call sub.kernel32.dll_GetModuleHandleA
push eax
call sub.kernel32.dll_GetProcAddress
mov ecx, 0x40c464
mov edx, 0x4084cc
call fcn.004045bc
mov eax, dword [0x40c408]
call fcn.004035ac
push eax
mov eax, dword [0x40c3dc]
call fcn.004035ac
push eax
call sub.kernel32.dll_GetModuleHandleA
push eax
call sub.kernel32.dll_GetProcAddress
mov ecx, 0x40c468
mov edx, 0x4085b4
call fcn.004045bc
mov eax, dword [0x40c40c]
call fcn.004035ac
push eax
mov eax, dword [0x40c3d8]
call fcn.004035ac
push eax
call sub.kernel32.dll_GetModuleHandleA
push eax
call sub.kernel32.dll_GetProcAddress
mov ecx, 0x40c46c
mov edx, 0x4086b0
call fcn.004045bc
mov eax, dword [0x40c410]
call fcn.004035ac
push eax
mov eax, dword [0x40c3d8]
call fcn.004035ac
push eax
call sub.kernel32.dll_GetModuleHandleA
push eax
call sub.kernel32.dll_GetProcAddress
mov ecx, 0x40c470
mov edx, 0x40879c
call fcn.004045bc
mov eax, dword [0x40c414]
call fcn.004035ac
push eax
mov eax, dword [0x40c3d8]
call fcn.004035ac
push eax
call sub.kernel32.dll_GetModuleHandleA
push eax
call sub.kernel32.dll_GetProcAddress
mov ecx, 0x40c474
mov edx, 0x40889c
call fcn.004045bc
mov eax, dword [0x40c418]
call fcn.004035ac
push eax
mov eax, dword [0x40c3e8]
call fcn.004035ac
push eax
call sub.kernel32.dll_GetModuleHandleA
push eax
call sub.kernel32.dll_GetProcAddress
mov ecx, 0x40c444
mov edx, 0x408cdc
call fcn.004045bc
cmp byte [0x40ab7c], 1
jne 0x4094cc
mov eax, dword [0x40c41c]
call fcn.004035ac
push eax
mov eax, dword [0x40c3dc]
call fcn.004035ac
push eax
call sub.kernel32.dll_GetModuleHandleA
push eax
call sub.kernel32.dll_GetProcAddress
mov ecx, 0x40c460
mov edx, 0x408400
call fcn.004045bc
call fcn.00407cc8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4094f3
lea eax, [ebp - 8]
mov edx, 2
call fcn.00403190
ret