Function at 0x599ab4
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x16
push 0
push 0
dec ecx
jne 0x599abc
push ebx
push esi
push edi
lea eax, [ebp - 0x30]
mov edx, dword [0x5950b0]
call fcn.00405608
xor eax, eax
push ebp
push 0x59a44d
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x599b04
push dword fs:[edx]
mov dword fs:[edx], esp
call fcn.00595714
mov dword [0x5c7438], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x599b1a
mov ebx, dword [0x5c7438]
test ebx, ebx
jne 0x599b35
mov eax, 0x5c743c
mov edx, 0x59a464
call fcn.004049b0
jmp 0x599b51
lea edx, [ebp - 0x34]
mov eax, ebx
call fcn.00409ee4
mov edx, dword [ebp - 0x34]
mov eax, 0x5c743c
mov ecx, 0x59a478
call fcn.00404c78
mov edx, 0x5c73c8
mov eax, 0x5c73b8
call fcn.00595c4c
push dword [0x5c73bc]
push dword [0x5c73b8]
lea eax, [ebp - 0x38]
call fcn.00595c80
mov edx, dword [ebp - 0x38]
mov eax, 0x5c73c0
call fcn.004049b0
push dword [0x5c73cc]
push dword [0x5c73c8]
lea eax, [ebp - 0x3c]
call fcn.00595c80
mov edx, dword [ebp - 0x3c]
mov eax, 0x5c73d0
call fcn.004049b0
mov edx, 0x5c73e8
mov eax, 0x5c73d8
call fcn.00595c18
push dword [0x5c73dc]
push dword [0x5c73d8]
lea eax, [ebp - 0x40]
call fcn.00595c80
mov edx, dword [ebp - 0x40]
mov eax, 0x5c73e0
call fcn.004049b0
push dword [0x5c73ec]
push dword [0x5c73e8]
lea eax, [ebp - 0x44]
call fcn.00595c80
mov edx, dword [ebp - 0x44]
mov eax, 0x5c73f0
call fcn.004049b0
push 1
mov ecx, 0x5c7408
mov edx, 0x5c73f8
mov eax, 0x59a484
call fcn.00595a68
push dword [0x5c73fc]
push dword [0x5c73f8]
lea eax, [ebp - 0x48]
call fcn.00595c80
mov edx, dword [ebp - 0x48]
mov eax, 0x5c7400
call fcn.004049b0
push dword [0x5c740c]
push dword [0x5c7408]
lea eax, [ebp - 0x4c]
call fcn.00595c80
mov edx, dword [ebp - 0x4c]
mov eax, 0x5c7410
call fcn.004049b0
lea edx, [ebp - 0x58]
mov al, 0x43
call fcn.005992d0
mov edx, dword [ebp - 0x50]
mov eax, 0x5c7414
call fcn.004049b0
push 1
mov ecx, 0x5c7428
mov edx, 0x5c7418
mov eax, 0x59a490
call fcn.00595a68
push dword [0x5c741c]
push dword [0x5c7418]
lea eax, [ebp - 0x5c]
call fcn.00595c80
mov edx, dword [ebp - 0x5c]
mov eax, 0x5c7420
call fcn.004049b0
push dword [0x5c742c]
push dword [0x5c7428]
lea eax, [ebp - 0x60]
call fcn.00595c80
mov edx, dword [ebp - 0x60]
mov eax, 0x5c7430
call fcn.004049b0
lea edx, [ebp - 0x6c]
mov al, 0x44
call fcn.005992d0
mov edx, dword [ebp - 0x64]
mov eax, 0x5c7434
call fcn.004049b0
mov dl, 1
mov eax, dword [0x5943e4]
call fcn.0059447c
mov ebx, eax
push dword [ebx + 0x1c]
push 0x59a49c
push dword [ebx + 0x18]
push 0x59a4a8
push dword [ebx + 0x20]
push 0x59a4b4
mov eax, 0x5c7440
mov edx, 6
call fcn.00404cec
mov edx, 0x5c7444
xor eax, eax
call fcn.00402ca4
mov eax, 0x5c7448
mov edx, dword [0x5c3514]
mov edx, dword [edx]
call fcn.004049b0
xor eax, eax
push ebp
push 0x599dbd
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5c34b4]
push dword [eax]
push 0x59a4c0
push 0x59a4d0
lea eax, [ebp - 0x70]
mov edx, 3
call fcn.00404cec
mov eax, dword [ebp - 0x70]
lea ecx, [ebp - 0x30]
xor edx, edx
call fcn.005951d8
mov eax, 0x5c744c
mov edx, dword [ebp - 0x10]
call fcn.004049b0
lea eax, [ebp - 0x74]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [0x5c744c]
call fcn.00404e8c
mov eax, dword [ebp - 0x74]
xor edx, edx
call fcn.0040a05c
mov ebx, eax
cmp bl, 5
jbe 0x599da4
mov eax, dword [0x5c3d2c]
mov edx, 0x59a4ec
call fcn.004049b0
jmp 0x599db3
mov eax, dword [0x5c3d2c]
mov edx, 0x59a500
call fcn.004049b0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x599dd1
xor eax, eax
push ebp
push 0x59a05d
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [0x5c34b4]
mov edx, dword [edx]
lea eax, [ebp - 0x78]
mov ecx, 0x59a514
call fcn.00404c78
mov ecx, dword [ebp - 0x78]
mov dl, 1
mov eax, dword [0x437ec8]
call fcn.00437f78
mov esi, eax
push 0
lea eax, [ebp - 0x7c]
push eax
mov ecx, 0x59a528
mov edx, 0x59a540
mov eax, esi
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x7c]
mov eax, 0x5c7450
call fcn.004049b0
push 0
lea eax, [ebp - 0x80]
push eax
mov edx, 0x59a540
mov ecx, 0x59a550
mov eax, esi
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x80]
mov eax, 0x5c7458
call fcn.004049b0
xor edx, edx
mov eax, dword [0x5c7458]
call fcn.0040a05c
mov dword [0x5c7454], eax
push 0
lea eax, [ebp - 0x84]
push eax
mov ecx, 0x59a56c
mov edx, 0x59a588
mov eax, esi
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x84]
mov eax, 0x5c7468
call fcn.004049b0
push 0
lea eax, [ebp - 0x88]
push eax
mov edx, 0x59a588
mov ecx, 0x59a598
mov eax, esi
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x88]
mov eax, 0x5c746c
call fcn.004049b0
push 0
lea eax, [ebp - 0x8c]
push eax
mov edx, 0x59a588
mov ecx, 0x59a5b4
mov eax, esi
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x8c]
mov eax, 0x5c7470
call fcn.004049b0
push 0
lea eax, [ebp - 0x90]
push eax
mov edx, 0x59a588
mov ecx, 0x59a5d0
mov eax, esi
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x90]
mov eax, 0x5c7474
call fcn.004049b0
push 0
lea eax, [ebp - 0x94]
push eax
mov edx, 0x59a540
mov ecx, 0x59a5ec
mov eax, esi
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x94]
mov eax, 0x5c7494
call fcn.004049b0
push 0
lea eax, [ebp - 8]
push eax
mov edx, 0x59a540
mov ecx, 0x59a608
mov eax, esi
mov ebx, dword [eax]
call dword [ebx]
push 0x5c7498
mov edx, dword [0x5c7494]
mov eax, 0x59a620
call fcn.00404f70
mov edx, eax
inc edx
mov ecx, 5
mov eax, dword [0x5c7494]
call fcn.00404e8c
mov edx, dword [0x5c7498]
mov eax, 0x59a620
call fcn.00404f70
mov ebx, eax
cmp bl, 1
jbe 0x599f96
push 0x5c7498
xor ecx, ecx
mov cl, bl
dec ecx
mov edx, 1
mov eax, dword [0x5c7498]
call fcn.00404e8c
or edx, 0xffffffff
mov eax, dword [0x5c7498]
call fcn.0040a05c
inc eax
jne 0x599fb0
mov eax, 0x5c7498
call fcn.0040495c
mov eax, dword [0x5c7458]
push eax
lea eax, [ebp - 0x98]
push eax
mov ecx, 0x59a62c
mov edx, 0x59a644
mov eax, esi
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x98]
mov eax, 0x5c7460
call fcn.004049b0
mov edx, dword [0x5c7454]
mov eax, dword [0x5c7460]
call fcn.0040a05c
mov ebx, eax
mov dword [0x5c745c], ebx
cmp dword [0x5c7454], 1
jne 0x59a03a
sub ebx, 1
jb 0x59a007
je 0x59a018
jmp 0x59a029
mov eax, 0x5c7464
mov edx, 0x59a464
call fcn.004049b0
jmp 0x59a049
mov eax, 0x5c7464
mov edx, 0x59a658
call fcn.004049b0
jmp 0x59a049
mov eax, 0x5c7464
mov edx, 0x59a66c
call fcn.004049b0
jmp 0x59a049
mov eax, 0x5c7464
mov edx, 0x59a66c
call fcn.004049b0
mov eax, esi
call fcn.00403a80
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59a0e4
push dword [0x5c7468]
push 0x59a684
push dword [0x5c7474]
push 0x59a690
lea eax, [ebp - 4]
mov edx, 4
call fcn.00404cec
mov eax, dword [ebp - 4]
call fcn.0040a420
test al, al
jne 0x59a128
mov edx, dword [0x5c34b4]
mov edx, dword [edx]
lea eax, [ebp - 4]
mov ecx, 0x59a6a0
call fcn.00404c78
mov eax, dword [ebp - 4]
call fcn.0040a420
test al, al
je 0x59a1e4
xor eax, eax
push ebp
push 0x59a1ba
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x437ec8]
call fcn.00437f78
mov esi, eax
push 0
lea eax, [ebp - 0x9c]
push eax
mov ecx, 0x59a6b4
mov edx, 0x59a6d4
mov eax, esi
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x9c]
mov eax, 0x5c7478
call fcn.004049b0
push 0
lea eax, [ebp - 0xa0]
push eax
mov edx, 0x59a6d4
mov ecx, 0x59a6e4
mov eax, esi
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0xa0]
mov eax, 0x5c747c
call fcn.004049b0
mov eax, esi
call fcn.00403a80
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59a202
mov eax, 0x5c7478
mov edx, 0x59a464
call fcn.004049b0
mov eax, 0x5c747c
mov edx, 0x59a464
call fcn.004049b0
xor eax, eax
push ebp
push 0x59a235
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xa4]
call fcn.00597e88
mov edx, dword [ebp - 0xa4]
mov eax, 0x5c7480
call fcn.004049b0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59a24e
xor eax, eax
push ebp
push 0x59a2cb
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0xff
call fcn.004096ac
mov ebx, eax
push 0xff
push ebx
call sub.kernel32.dll_GetWindowsDirectoryA
lea eax, [ebp - 0xa8]
mov edx, ebx
call fcn.00404b64
mov edx, dword [ebp - 0xa8]
lea eax, [ebp - 4]
mov ecx, 0x59a700
call fcn.00404c78
mov eax, ebx
call fcn.0040293c
lea ecx, [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.005951d8
push dword [ebp - 0x14]
push 0x59a4a8
push dword [ebp - 0x10]
mov eax, 0x5c7488
mov edx, 3
call fcn.00404cec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59a2df
xor eax, eax
push ebp
push 0x59a312
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xac]
call fcn.00598e14
mov edx, dword [ebp - 0xac]
mov eax, 0x5c7484
call fcn.004049b0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59a326
cmp dword [ebp - 8], 0
jne 0x59a34e
mov eax, dword [0x5c34b4]
push dword [eax]
push 0x59a71c
push 0x59a72c
mov eax, 0x5c748c
mov edx, 3
call fcn.00404cec
jmp 0x59a35b
mov eax, 0x5c748c
mov edx, dword [ebp - 8]
call fcn.004049b0
mov eax, 0x5c7490
mov edx, dword [0x5c748c]
call fcn.004049b0
mov eax, dword [0x5c748c]
call fcn.00595128
mov dword [0x5c74a0], eax
mov dword [0x5c74a4], edx
cmp dword [0x5c74a4], 0
jne 0x59a395
cmp dword [0x5c74a0], 0
jbe 0x59a3c0
jmp 0x59a397
jle 0x59a3c0
push dword [0x5c74a4]
push dword [0x5c74a0]
lea eax, [ebp - 0xb0]
call fcn.00595c80
mov edx, dword [ebp - 0xb0]
mov eax, 0x5c74a8
call fcn.004049b0
jmp 0x59a3de
mov eax, 0x5c74a8
mov edx, 0x59a464
call fcn.004049b0
mov eax, 0x5c748c
mov edx, 0x59a464
call fcn.004049b0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x59a454
lea eax, [ebp - 0xb0]
mov edx, 0x11
call fcn.00404980
lea eax, [ebp - 0x6c]
mov edx, dword [0x5992a0]
call fcn.004056d8
lea eax, [ebp - 0x60]
mov edx, 2
call fcn.00404980
lea eax, [ebp - 0x58]
mov edx, dword [0x5992a0]
call fcn.004056d8
lea eax, [ebp - 0x4c]
mov edx, 7
call fcn.00404980
lea eax, [ebp - 0x30]
mov edx, dword [0x5950b0]
call fcn.004056d8
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404980
ret