Function at 0x411c20
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x23c
mov eax, dword [0x430008]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov dword [ebp - 0x23c], 0x89d2
mov dword [ebp - 0x218], 0x12c76
mov dword [ebp - 0x214], 0x17e58
mov dword [ebp - 0x21c], 0x1f6e
mov dword [ebp - 0x210], 0x11185
call fcn.00411a00
movzx eax, al
test eax, eax
jne 0x411c77
jmp 0x4122ee
mov ecx, dword [ebp - 0x214]
cmp ecx, dword [0x430a24]
je 0x411d6b
mov edx, dword [0x430a6c]
mov dword [ebp - 0x220], edx
jmp 0x411ca6
mov eax, dword [ebp - 0x220]
sub eax, 1
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x220]
cmp ecx, dword [ebp - 0x210]
jg 0x411d6b
mov eax, dword [ebp - 0x214]
cdq
idiv dword [ebp - 0x21c]
imul edx, dword [ebp - 0x210]
imul edx, dword [ebp - 0x21c]
mov dword [ebp - 0x21c], edx
push str.apogee_beliefs_avantgarde_rebooted_sparrows_microwaves_dotted
call fcn.004010e0
add esp, 4
mov edx, dword [ebp - 0x210]
imul edx, dword [ebp - 0x214]
add edx, dword [ebp - 0x21c]
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x210]
cmp eax, dword [0x430a6c]
je 0x411cb8
imul ecx, dword [ebp - 0x210], 0xf048
mov dword [ebp - 0x210], ecx
mov edx, dword [ebp - 0x21c]
push edx
push 0xf0c0b
mov eax, dword [ebp - 0x218]
push eax
call dword [sym.imp.GDI32.dll_LineTo]
mov dword [ebp - 0x21c], eax
mov eax, 0x883b
cdq
idiv dword [ebp - 0x218]
add eax, dword [ebp - 0x214]
sub eax, dword [ebp - 0x21c]
add eax, dword [ebp - 0x214]
or eax, dword [ebp - 0x218]
mov dword [ebp - 0x218], eax
jmp 0x411c97
mov ecx, dword [ebp - 0x214]
cmp ecx, dword [0x430a34]
jg 0x411c77
lea edx, [ebp - 0x20c]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push 4
push 0xa
push 0x430928
call fcn.0040d030
add esp, 0xc
mov edx, eax
lea ecx, [ebp - 0x20c]
call fcn.00401060
test eax, eax
je 0x4122e9
call fcn.0040db10
push 4
push 0xe
push 0x430a44
call fcn.0040d030
add esp, 0xc
push eax
push 1
push 0
call dword [0x4330d4]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x224], eax
jmp 0x411df9
mov ecx, dword [ebp - 0x224]
add ecx, 1
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x224]
cmp edx, dword [0x430a6c]
jbe 0x4122b5
mov eax, dword [0x430924]
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0x3975
je 0x411e47
cmp dword [ebp - 0x228], 0x9699
je 0x41213b
cmp dword [ebp - 0x228], 0xdcfa
je 0x411f85
jmp 0x4121e8
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x210]
shl edx, cl
mov eax, dword [ebp - 0x210]
imul eax, dword [ebp - 0x214]
and edx, eax
mov dword [0x4309a4], edx
mov ecx, dword [ebp - 0x210]
push ecx
mov edx, dword [ebp - 0x21c]
push edx
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [ebp - 0x21c]
push ecx
mov edx, dword [ebp - 0x218]
push edx
call fcn.00407890
add esp, 0x14
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x210]
imul eax, dword [ebp - 0x214]
mov edx, dword [ebp - 0x214]
sub edx, eax
add edx, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x210]
shl edx, cl
mov dword [ebp - 0x214], edx
push str.distrusting_ship_splintering_skilled_mincemeat_weeklies
call fcn.004010e0
add esp, 4
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x214], eax
mov ecx, dword [0x43093c]
mov dword [ebp - 0x22c], ecx
jmp 0x411efa
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
mov eax, dword [ebp - 0x22c]
cmp eax, dword [ebp - 0x210]
je 0x411f85
mov ecx, dword [ebp - 0x214]
push ecx
mov edx, dword [ebp - 0x210]
push edx
mov eax, dword [ebp - 0x210]
push eax
call dword [sym.imp.GDI32.dll_GetLogColorSpaceA]
mov dword [ebp - 0x210], eax
imul ecx, dword [ebp - 0x214], 0xbbc4
mov edx, dword [ebp - 0x21c]
sub edx, ecx
sub edx, 0xdb90
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x21c]
cmp eax, dword [0x430a60]
jbe 0x411f08
mov eax, dword [ebp - 0x21c]
cdq
idiv dword [ebp - 0x214]
add edx, dword [ebp - 0x21c]
mov dword [ebp - 0x218], edx
mov ecx, dword [ebp - 0x214]
and ecx, 0x11a3f
mov dword [ebp - 0x210], ecx
jmp 0x411eeb
mov edx, dword [ebp - 0x214]
imul edx, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x21c]
sub ecx, edx
mov eax, dword [ebp - 0x218]
sar eax, cl
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x214]
add ecx, dword [ebp - 0x214]
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x210]
cdq
idiv dword [ebp - 0x218]
sub edx, 0x18632
sub edx, dword [ebp - 0x218]
mov eax, 0x135a4
mov ecx, edx
shl eax, cl
mov dword [0x430a64], eax
mov ecx, dword [0x430a60]
mov dword [ebp - 0x230], ecx
jmp 0x41200a
mov edx, dword [ebp - 0x230]
add edx, 1
mov dword [ebp - 0x230], edx
mov eax, dword [ebp - 0x230]
cmp eax, dword [ebp - 0x210]
je 0x4120e7
mov eax, dword [ebp - 0x210]
cdq
idiv dword [ebp - 0x218]
mov ecx, edx
mov eax, dword [ebp - 0x210]
cdq
mov esi, 0x1809c
idiv esi
sub ecx, eax
mov edx, dword [ebp - 0x21c]
lea eax, [ecx + edx - 0x17de3]
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x214]
sub ecx, dword [ebp - 0x210]
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x218]
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x21c]
cdq
idiv dword [ebp - 0x210]
mov eax, edx
cdq
idiv dword [ebp - 0x214]
imul eax, dword [ebp - 0x218]
cdq
idiv dword [ebp - 0x21c]
mov dword [ebp - 0x210], edx
mov esi, dword [ebp - 0x214]
sub esi, dword [ebp - 0x214]
sub esi, dword [ebp - 0x218]
mov eax, dword [ebp - 0x21c]
cdq
mov ecx, 0x1b8e
idiv ecx
mov ecx, eax
shl esi, cl
mov dword [ebp - 0x214], esi
mov edx, dword [ebp - 0x21c]
push edx
mov eax, dword [ebp - 0x218]
push eax
call fcn.004041e0
add esp, 8
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x210], ecx
jmp 0x411ffb
mov edx, dword [ebp - 0x218]
cmp edx, dword [0x4309a4]
jae 0x411fba
mov eax, dword [ebp - 0x218]
sub eax, dword [ebp - 0x214]
sub eax, dword [ebp - 0x218]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x210]
cdq
idiv dword [ebp - 0x210]
imul eax, dword [ebp - 0x210]
add eax, dword [ebp - 0x214]
mov edx, dword [ebp - 0x21c]
mov ecx, eax
sar edx, cl
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x234], eax
jmp 0x412158
mov ecx, dword [ebp - 0x234]
sub ecx, 1
mov dword [ebp - 0x234], ecx
mov edx, dword [ebp - 0x234]
cmp edx, dword [0x430a64]
jne 0x4121e3
mov eax, dword [ebp - 0x214]
add eax, 0xe76f
mov dword [ebp - 0x210], eax
mov ecx, dword [ebp - 0x218]
push ecx
mov edx, dword [ebp - 0x210]
push edx
mov eax, dword [ebp - 0x214]
push eax
call dword [sym.imp.USER32.dll_PaintDesktop]
mov dword [ebp - 0x210], eax
mov ecx, dword [ebp - 0x21c]
sub ecx, dword [ebp - 0x218]
mov dword [ebp - 0x210], ecx
mov edx, dword [ebp - 0x214]
add edx, dword [ebp - 0x218]
add edx, dword [ebp - 0x210]
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x21c]
add eax, dword [ebp - 0x218]
mov dword [ebp - 0x214], eax
mov dword [0x430a68], 0x22b2
jmp 0x412149
jmp 0x4122b0
mov ecx, dword [ebp - 0x210]
mov dword [0x430a60], ecx
mov eax, dword [ebp - 0x21c]
cdq
idiv dword [ebp - 0x214]
mov ecx, eax
sub ecx, dword [ebp - 0x210]
mov eax, dword [ebp - 0x214]
cdq
idiv dword [ebp - 0x218]
add ecx, edx
mov dword [ebp - 0x210], ecx
mov edx, dword [ebp - 0x21c]
sub edx, dword [ebp - 0x218]
mov eax, 0x3c9d
mov ecx, dword [ebp - 0x21c]
sar eax, cl
and edx, eax
mov dword [0x4309a8], edx
imul eax, dword [ebp - 0x21c], 0x155e6
cdq
idiv dword [ebp - 0x210]
add edx, dword [ebp - 0x218]
add edx, dword [ebp - 0x210]
or edx, dword [ebp - 0x214]
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x214]
cdq
idiv dword [ebp - 0x210]
sub eax, dword [ebp - 0x218]
or eax, dword [ebp - 0x210]
mov dword [0x430a20], eax
mov ecx, dword [ebp - 0x210]
sub ecx, dword [ebp - 0x21c]
sub ecx, 0xcba737a
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x210]
add edx, dword [ebp - 0x218]
mov dword [0x430a34], edx
jmp 0x411dea
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x4122c4
jmp 0x4122ee
call fcn.00410010
cmp eax, 1
jne 0x4122d5
call fcn.00410010
jmp 0x4122da
call fcn.00410eb0
mov eax, dword [ebp - 0x238]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4122ee
call fcn.00410eb0
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004125c1
mov esp, ebp
pop ebp
ret