Function at 0x42d830
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x505dfb
mov eax, dword fs:[0]
push eax
sub esp, 0x120
mov eax, dword [0x55f43c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0x11c], 0
push 0x104
push 0
lea eax, [ebp - 0x11b]
push eax
call sub.MSVCR100.dll_memset
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x11c]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
lea edx, [ebp - 0x11c]
push edx
call fcn.0042ea50
add esp, 8
mov byte [eax], 0
lea ecx, [ebp - 0x120]
call dword [sym.imp.mfc100.dll_Ordinal_316]
mov dword [ebp - 4], 0
lea eax, [ebp - 0x11c]
push eax
push 0x519358
lea ecx, [ebp - 0x120]
push ecx
call dword [sym.imp.mfc100.dll_Ordinal_4283]
add esp, 0xc
push str._aboot.dll
lea ecx, [ebp - 0x120]
call dword [sym.imp.mfc100.dll_Ordinal_1483]
lea ecx, [ebp - 0x120]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x42d97b
lea ecx, [ebp - 0x124]
call dword [sym.imp.mfc100.dll_Ordinal_316]
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x120]
push edx
push str.Cant_Load_Library__s_
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.mfc100.dll_Ordinal_4283]
add esp, 0xc
push 0
push 0
lea ecx, [ebp - 0x124]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call sub.mfc100.dll_Ordinal_1982
mov dword [ebp - 0x128], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x124]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov eax, dword [ebp - 0x128]
jmp 0x42da66
push str.aboot_engine_init
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x55f978], eax
push str.aboot_engine_exit
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x55f97c], eax
push str.aboot_engine_register_cb
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x55f980], eax
push str.aboot_engine_unregister_cb
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x55f984], eax
push str.aboot_download_init
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x55f988], eax
push str.aboot_download_start
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x55f98c], eax
push str.aboot_download_stop
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x55f990], eax
push str.aboot_download_enable_device
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x55f994], eax
push str.aboot_release_list_products
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x55f998], eax
push str.aboot_release_generate
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x55f99c], eax
mov dword [ebp - 0x12c], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00501b98
mov esp, ebp
pop ebp
ret