Function at 0x429cf4
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
xor eax, eax
push ebp
push 0x42a90f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x44e148]
call fcn.0042967c
xor eax, eax
push ebp
push 0x42a8ed
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x446550], 0
setg byte [ebp - 1]
cmp byte [ebp - 1], 0
jne 0x42a8ca
lea ecx, [ebp - 0x10]
mov eax, 0x44655c
mov edx, 0x84
call fcn.0041bef0
xor eax, eax
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x14]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0x14]
call fcn.00405290
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [0x446554], eax
mov eax, dword [0x446554]
call fcn.0041b57c
test al, al
je 0x42a8d5
lea ecx, [ebp - 0x14]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e150], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e154], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e158], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e15c], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e160], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e164], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e168], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e16c], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e170], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e174], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e178], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e17c], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e180], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e184], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e188], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e18c], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e190], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e194], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e198], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e19c], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1a0], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1a4], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1a8], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1ac], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1b0], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1b4], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1b8], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1bc], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1c0], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1c4], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1c8], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1cc], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1d0], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1d4], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1d8], eax
lea ecx, [ebp - 0x18]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
lea ecx, [ebp - 0x1c]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
lea ecx, [ebp - 0x20]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0x18]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1dc], eax
mov eax, dword [ebp - 0x1c]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1e0], eax
mov eax, dword [ebp - 0x20]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1e4], eax
cmp dword [0x44e1dc], 0
je 0x42a4b9
cmp dword [0x44e1e0], 0
je 0x42a4b9
cmp dword [0x44e1e4], 0
jne 0x42a4bd
xor eax, eax
jmp 0x42a4bf
mov al, 1
mov byte [0x44e14c], al
cmp byte [0x44e14c], 0
jne 0x42a55e
mov eax, dword [ebp - 0x14]
call fcn.00405290
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [0x446558], eax
cmp dword [0x446558], 0
je 0x42a55e
mov eax, dword [ebp - 0x18]
call fcn.00405290
push eax
mov eax, dword [0x446558]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1dc], eax
mov eax, dword [ebp - 0x1c]
call fcn.00405290
push eax
mov eax, dword [0x446558]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1e0], eax
mov eax, dword [ebp - 0x20]
call fcn.00405290
push eax
mov eax, dword [0x446558]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1e4], eax
cmp dword [0x44e1dc], 0
je 0x42a553
cmp dword [0x44e1e0], 0
je 0x42a553
cmp dword [0x44e1e4], 0
jne 0x42a557
xor eax, eax
jmp 0x42a559
mov al, 1
mov byte [0x44e14d], al
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1e8], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1ec], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1f0], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1f4], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1f8], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e1fc], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0041b980
test al, al
je 0x42a8d5
mov eax, dword [ebp - 0xc]
call fcn.00405290
push eax
mov eax, dword [0x446554]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x44e200], eax
cmp dword [0x44e150], 0
je 0x42a8c1
cmp dword [0x44e154], 0
je 0x42a8c1
cmp dword [0x44e158], 0
je 0x42a8c1
cmp dword [0x44e15c], 0
je 0x42a8c1
cmp dword [0x44e160], 0
je 0x42a8c1
cmp dword [0x44e164], 0
je 0x42a8c1
cmp dword [0x44e168], 0
je 0x42a8c1
cmp dword [0x44e16c], 0
je 0x42a8c1
cmp dword [0x44e170], 0
je 0x42a8c1
cmp dword [0x44e174], 0
je 0x42a8c1
cmp dword [0x44e178], 0
je 0x42a8c1
cmp dword [0x44e17c], 0
je 0x42a8c1
cmp dword [0x44e180], 0
je 0x42a8c1
cmp dword [0x44e184], 0
je 0x42a8c1
cmp dword [0x44e188], 0
je 0x42a8c1
cmp dword [0x44e18c], 0
je 0x42a8c1
cmp dword [0x44e190], 0
je 0x42a8c1
cmp dword [0x44e194], 0
je 0x42a8c1
cmp dword [0x44e198], 0
je 0x42a8c1
cmp dword [0x44e19c], 0
je 0x42a8c1
cmp dword [0x44e1a0], 0
je 0x42a8c1
cmp dword [0x44e1a4], 0
je 0x42a8c1
cmp dword [0x44e1a8], 0
je 0x42a8c1
cmp dword [0x44e1ac], 0
je 0x42a8c1
cmp dword [0x44e1b0], 0
je 0x42a8c1
cmp dword [0x44e1b4], 0
je 0x42a8c1
cmp dword [0x44e1b8], 0
je 0x42a8c1
cmp dword [0x44e1bc], 0
je 0x42a8c1
cmp dword [0x44e1c0], 0
je 0x42a8c1
cmp dword [0x44e1c4], 0
je 0x42a8c1
cmp dword [0x44e1c8], 0
je 0x42a8c1
cmp dword [0x44e1c8], 0
je 0x42a8c1
cmp dword [0x44e1cc], 0
je 0x42a8c1
cmp dword [0x44e1d0], 0
je 0x42a8c1
cmp dword [0x44e1d4], 0
je 0x42a8c1
cmp dword [0x44e1d8], 0
je 0x42a8c1
cmp dword [0x44e1dc], 0
je 0x42a8c1
cmp dword [0x44e1e0], 0
je 0x42a8c1
cmp dword [0x44e1e4], 0
je 0x42a8c1
cmp dword [0x44e1e8], 0
je 0x42a8c1
cmp dword [0x44e1ec], 0
je 0x42a8c1
cmp dword [0x44e1f0], 0
je 0x42a8c1
cmp dword [0x44e1f4], 0
je 0x42a8c1
cmp dword [0x44e1f8], 0
je 0x42a8c1
cmp dword [0x44e1fc], 0
je 0x42a8c1
cmp dword [0x44e200], 0
jne 0x42a8c5
xor eax, eax
jmp 0x42a8c7
mov al, 1
mov byte [ebp - 1], al
xor eax, eax
mov al, byte [ebp - 1]
add dword [0x446550], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x42a8f4
mov eax, dword [0x44e148]
call fcn.00429690
ret