Function at 0x421f90
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x452587
mov eax, dword fs:[0]
push eax
sub esp, 0x2e8
mov eax, dword [0x46c098]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x18]
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp + 0x10]
push 0x104
mov dword [ebp - 0x2d8], eax
lea eax, [ebp - 0x114]
push 0
push eax
mov dword [ebp - 0x2d0], ecx
mov dword [ebp - 0x2d4], 0
call fcn.0042ddc0
add esp, 0xc
mov dword [ebp - 0x210], 0xf
lea ecx, [ebp - 0x224]
mov dword [ebp - 0x214], 0
mov byte [ebp - 0x224], 0
push 0
push 0x46107b
call fcn.00402dd0
push 0
push 0x46107b
lea ecx, [ebp - 0x1dc]
mov dword [ebp - 4], 0
mov dword [ebp - 0x1c8], 0xf
mov dword [ebp - 0x1cc], 0
mov byte [ebp - 0x1dc], 0
call fcn.00402dd0
push 0xa
push str.IDELog.log
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.00402dd0
push 0x80
lea eax, [ebp - 0x194]
push 0
push eax
call fcn.0042ddc0
add esp, 0xc
lea eax, [ebp - 0x2c4]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 0x2be]
push eax
movzx eax, word [ebp - 0x2c2]
push eax
movzx eax, word [ebp - 0x2c4]
push eax
lea eax, [ebp - 0x194]
push str._04d__02d__02d
push eax
call fcn.00421bd0
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea eax, [ebp - 0x2d4]
add esp, 0x14
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.dll_ProcessIdToSessionId]
call esi
push eax
push dword [ebp - 0x2d4]
lea eax, [ebp - 0x114]
push str._S_dP_d___
push eax
call fcn.00421ba0
add esp, 0x10
cmp byte [ebp - 0x114], 0
jne 0x422101
xor ecx, ecx
jmp 0x422119
lea ecx, [ebp - 0x114]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422110
sub ecx, edx
mov esi, dword [ebp - 0x2cc]
lea eax, [ebp - 0x114]
push ecx
push eax
mov ecx, esi
call fcn.00402dd0
lea eax, [ebp - 0x114]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je 0x42246c
push 0x104
lea eax, [ebp - 0x114]
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetLongPathNameA]
push 1
push 0x463aa4
lea ecx, [ebp - 0x2b4]
mov dword [ebp - 0x2a0], 0xf
mov dword [ebp - 0x2a4], 0
mov byte [ebp - 0x2b4], 0
call fcn.00402dd0
cmp byte [ebp - 0x194], 0
mov byte [ebp - 4], 2
mov dword [ebp - 0x1b0], 0xf
mov dword [ebp - 0x1b4], 0
mov byte [ebp - 0x1c4], 0
jne 0x4221b4
xor ecx, ecx
jmp 0x4221c9
lea ecx, [ebp - 0x194]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4221c0
sub ecx, edx
push ecx
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0x1c4]
call fcn.00402dd0
push 5
push str.Logs_
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 3
mov dword [ebp - 0x270], 0xf
mov dword [ebp - 0x274], 0
mov byte [ebp - 0x284], 0
call fcn.00402dd0
cmp byte [ebp - 0x114], 0
mov byte [ebp - 4], 4
mov dword [ebp - 0x258], 0xf
mov dword [ebp - 0x25c], 0
mov byte [ebp - 0x26c], 0
jne 0x422239
xor ecx, ecx
jmp 0x42224b
lea ecx, [ebp - 0x114]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422242
sub ecx, edx
push ecx
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x26c]
call fcn.00402dd0
lea eax, [ebp - 0x284]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x1ac]
push eax
call fcn.004078e0
lea ecx, [ebp - 0x1c4]
mov byte [ebp - 4], 6
push ecx
push eax
lea eax, [ebp - 0x1f4]
push eax
call fcn.004078e0
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 7
push ecx
push eax
lea eax, [ebp - 0x29c]
push eax
call fcn.004078e0
add esp, 0x24
mov esi, eax
cmp edi, esi
je 0x4222ee
cmp dword [edi + 0x14], 0x10
jb 0x4222c9
mov eax, dword [edi + 0x14]
mov ecx, edi
inc eax
push eax
push dword [edi]
call fcn.00403540
mov dword [edi + 0x14], 0xf
cmp dword [edi + 0x14], 0x10
mov dword [edi + 0x10], 0
jb 0x4222e1
mov eax, dword [edi]
jmp 0x4222e3
mov eax, edi
push esi
mov ecx, edi
mov byte [eax], 0
call fcn.00402880
mov eax, dword [ebp - 0x288]
cmp eax, 0x10
jb 0x42230c
inc eax
lea ecx, [ebp - 0x29c]
push eax
push dword [ebp - 0x29c]
call fcn.00403540
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x288], 0xf
mov dword [ebp - 0x28c], 0
mov byte [ebp - 0x29c], 0
cmp eax, 0x10
jb 0x422345
inc eax
lea ecx, [ebp - 0x1f4]
push eax
push dword [ebp - 0x1f4]
call fcn.00403540
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x1e0], 0xf
mov dword [ebp - 0x1e4], 0
mov byte [ebp - 0x1f4], 0
cmp eax, 0x10
jb 0x42237e
inc eax
lea ecx, [ebp - 0x1ac]
push eax
push dword [ebp - 0x1ac]
call fcn.00403540
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x198], 0xf
mov dword [ebp - 0x19c], 0
mov byte [ebp - 0x1ac], 0
cmp eax, 0x10
jb 0x4223b7
inc eax
lea ecx, [ebp - 0x26c]
push eax
push dword [ebp - 0x26c]
call fcn.00403540
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x258], 0xf
mov dword [ebp - 0x25c], 0
mov byte [ebp - 0x26c], 0
cmp eax, 0x10
jb 0x4223f0
inc eax
lea ecx, [ebp - 0x284]
push eax
push dword [ebp - 0x284]
call fcn.00403540
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x270], 0xf
mov dword [ebp - 0x274], 0
mov byte [ebp - 0x284], 0
cmp eax, 0x10
jb 0x422429
inc eax
lea ecx, [ebp - 0x1c4]
push eax
push dword [ebp - 0x1c4]
call fcn.00403540
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x1b0], 0xf
mov dword [ebp - 0x1b4], 0
mov byte [ebp - 0x1c4], 0
mov byte [ebp - 4], 1
cmp eax, 0x10
jb 0x422466
inc eax
lea ecx, [ebp - 0x2b4]
push eax
push dword [ebp - 0x2b4]
call fcn.00403540
mov esi, dword [ebp - 0x2cc]
lea eax, [ebp - 0x1dc]
cmp eax, edi
je 0x422482
push 0xffffffffffffffff
push 0
push edi
mov ecx, eax
call fcn.00402a50
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x114]
push 0x104
push eax
push 0
call edi
test eax, eax
je 0x4226c9
cmp byte [ebp - 0x114], 0
jne 0x4224ad
xor ecx, ecx
jmp 0x4224bf
lea ecx, [ebp - 0x114]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4224b6
sub ecx, edx
push ecx
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x224]
call fcn.00402dd0
push 1
push 0xffffffffffffffff
lea eax, [ebp - 0x2c8]
mov byte [ebp - 0x2c8], 0x5c
push eax
lea ecx, [ebp - 0x224]
call fcn.00402210
cmp eax, 0xffffffff
je 0x4225cb
lea esi, [eax + 1]
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x1ac]
push eax
lea ecx, [ebp - 0x224]
call fcn.00401ef0
push eax
mov ecx, ebx
call fcn.00401fe0
lea ecx, [ebp - 0x1ac]
call fcn.004035f0
mov ecx, dword [ebp - 0x2cc]
push 0xffffffffffffffff
push 0
push ebx
call fcn.00402510
push esi
push 0
lea eax, [ebp - 0x1ac]
push eax
lea ecx, [ebp - 0x224]
call fcn.00401ef0
push eax
lea ecx, [ebp - 0x1dc]
call fcn.00401fe0
lea ecx, [ebp - 0x1ac]
call fcn.004035f0
cmp dword [ebx + 0x10], 0
je 0x42259c
push 0
push 0x464540
mov ecx, ebx
call fcn.00406c20
cmp eax, 0xffffffff
je 0x42259c
push eax
push 0
lea eax, [ebp - 0x1ac]
mov ecx, ebx
push eax
call fcn.00401ef0
push eax
mov ecx, ebx
call fcn.00401fe0
lea ecx, [ebp - 0x1ac]
call fcn.004035f0
push str..log
lea ecx, [ebp - 0x1ac]
call fcn.00402ed0
push 0xffffffffffffffff
push 0
push eax
mov ecx, ebx
mov byte [ebp - 4], 9
call fcn.00402510
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 1
call fcn.004035f0
push 0x1c
lea eax, [ebp - 0x2f4]
push eax
push fcn.00421f90
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
mov esi, eax
neg esi
sbb esi, esi
and esi, dword [ebp - 0x2f0]
je 0x4226d7
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
cmp esi, eax
je 0x4226d7
push 0x104
lea eax, [ebp - 0x114]
push eax
push esi
call edi
test eax, eax
je 0x4226d7
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x224]
call fcn.00406c60
push 1
push 0xffffffffffffffff
lea eax, [ebp - 0x2c8]
mov byte [ebp - 0x2c8], 0x5c
push eax
lea ecx, [ebp - 0x224]
call fcn.00402210
cmp eax, 0xffffffff
je 0x4226d7
lea esi, [eax + 1]
push esi
push 0
lea eax, [ebp - 0x1ac]
push eax
lea ecx, [ebp - 0x224]
call fcn.00401ef0
push eax
lea ecx, [ebp - 0x1dc]
call fcn.00401fe0
lea ecx, [ebp - 0x1ac]
call fcn.004035f0
mov ecx, dword [ebp - 0x2cc]
push 0x457764
call fcn.00401fa0
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x1ac]
push eax
lea ecx, [ebp - 0x224]
call fcn.00401ef0
mov ecx, dword [ebp - 0x2cc]
push 0xffffffffffffffff
push 0
push eax
mov byte [ebp - 4], 0xa
call fcn.00402510
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 1
call fcn.004035f0
jmp 0x4226d7
push 6
push str.unknow
mov ecx, esi
call fcn.00402610
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x1dc]
mov dword [ebp - 0x1f8], 0xf
push eax
lea ecx, [ebp - 0x20c]
mov dword [ebp - 0x1fc], 0
mov byte [ebp - 0x20c], 0
call fcn.00402a50
mov ebx, dword [ebp - 0x2d8]
lea eax, [ebp - 0x1dc]
mov byte [ebp - 4], 0xb
cmp ebx, eax
je 0x422728
push 0xffffffffffffffff
push 0
push eax
mov ecx, ebx
call fcn.00402a50
mov edi, dword [sym.imp.SHLWAPI.dll_PathIsDirectoryA]
xor esi, esi
push 5
push str.Logs_
lea ecx, [ebp - 0x1c4]
mov dword [ebp - 0x1b0], 0xf
mov dword [ebp - 0x1b4], 0
mov byte [ebp - 0x1c4], 0
call fcn.00402dd0
lea eax, [ebp - 0x1c4]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x23c]
push eax
call fcn.00421a90
add esp, 0xc
mov eax, dword [ebp - 0x1b0]
mov byte [ebp - 4], 0xe
cmp eax, 0x10
jb 0x4227a0
inc eax
lea ecx, [ebp - 0x1c4]
push eax
push dword [ebp - 0x1c4]
call fcn.00403540
cmp dword [ebp - 0x228], 0x10
lea eax, [ebp - 0x23c]
mov dword [ebp - 0x1b0], 0xf
cmovae eax, dword [ebp - 0x23c]
push eax
mov dword [ebp - 0x1b4], 0
mov byte [ebp - 0x1c4], 0
call edi
test eax, eax
jne 0x42281c
push 3
push 0x457770
lea ecx, [ebp - 0x20c]
call fcn.00402610
mov eax, dword [ebp - 0x228]
mov byte [ebp - 4], 0xb
cmp eax, 0x10
jb 0x42280a
inc eax
lea ecx, [ebp - 0x23c]
push eax
push dword [ebp - 0x23c]
call fcn.00403540
inc esi
cmp esi, 3
jl 0x422730
mov esi, dword [ebp - 0x2d0]
jmp 0x42285a
mov esi, dword [ebp - 0x2d0]
lea eax, [ebp - 0x23c]
cmp esi, eax
je 0x422838
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
call fcn.00402a50
mov eax, dword [ebp - 0x228]
mov byte [ebp - 4], 0xb
cmp eax, 0x10
jb 0x42285a
inc eax
lea ecx, [ebp - 0x23c]
push eax
push dword [ebp - 0x23c]
call fcn.00403540
cmp dword [esi + 0x10], 0
jne 0x4228f2
push str.Logs_
lea ecx, [ebp - 0x1f4]
call fcn.00402ed0
push eax
lea eax, [ebp - 0x1dc]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x1ac]
push eax
call fcn.00421a90
add esp, 0xc
mov ecx, esi
push eax
call fcn.00401fe0
mov eax, dword [ebp - 0x198]
cmp eax, 0x10
jb 0x4228b5
inc eax
lea ecx, [ebp - 0x1ac]
push eax
push dword [ebp - 0x1ac]
call fcn.00403540
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x198], 0xf
mov dword [ebp - 0x19c], 0
mov byte [ebp - 0x1ac], 0
mov byte [ebp - 4], 0xb
cmp eax, 0x10
jb 0x4228f2
inc eax
lea ecx, [ebp - 0x1f4]
push eax
push dword [ebp - 0x1f4]
call fcn.00403540
push 0x463aa4
lea ecx, [ebp - 0x29c]
call fcn.00402ed0
mov esi, eax
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x1f4]
call fcn.00402ed0
push esi
push eax
lea eax, [ebp - 0x1ac]
mov byte [ebp - 4], 0x11
push eax
call fcn.004078e0
add esp, 0xc
mov ecx, dword [ebp - 0x2d0]
push 0xffffffffffffffff
push 0
push eax
mov byte [ebp - 4], 0x12
call fcn.00402510
mov eax, dword [ebp - 0x198]
cmp eax, 0x10
jb 0x422961
inc eax
lea ecx, [ebp - 0x1ac]
push eax
push dword [ebp - 0x1ac]
call fcn.00403540
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x198], 0xf
mov dword [ebp - 0x19c], 0
mov byte [ebp - 0x1ac], 0
cmp eax, 0x10
jb 0x42299a
inc eax
lea ecx, [ebp - 0x1f4]
push eax
push dword [ebp - 0x1f4]
call fcn.00403540
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x1e0], 0xf
mov dword [ebp - 0x1e4], 0
mov byte [ebp - 0x1f4], 0
mov byte [ebp - 4], 0xb
cmp eax, 0x10
jb 0x4229d7
inc eax
lea ecx, [ebp - 0x29c]
push eax
push dword [ebp - 0x29c]
call fcn.00403540
lea eax, [ebp - 0x20c]
cmp eax, ebx
je 0x4229ed
push 0xffffffffffffffff
push 0
push ebx
mov ecx, eax
call fcn.00402a50
xor esi, esi
nop
push str.LogConfig_
lea ecx, [ebp - 0x1ac]
call fcn.00402ed0
push eax
lea eax, [ebp - 0x20c]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x254]
push eax
call fcn.00421a90
add esp, 0xc
mov eax, dword [ebp - 0x198]
mov byte [ebp - 4], 0x15
cmp eax, 0x10
jb 0x422a3d
inc eax
lea ecx, [ebp - 0x1ac]
push eax
push dword [ebp - 0x1ac]
call fcn.00403540
cmp dword [ebp - 0x240], 0x10
lea eax, [ebp - 0x254]
mov dword [ebp - 0x198], 0xf
cmovae eax, dword [ebp - 0x254]
push eax
mov dword [ebp - 0x19c], 0
mov byte [ebp - 0x1ac], 0
call edi
test eax, eax
jne 0x422ab3
push 3
push 0x457770
lea ecx, [ebp - 0x20c]
call fcn.00402610
mov eax, dword [ebp - 0x240]
mov byte [ebp - 4], 0xb
cmp eax, 0x10
jb 0x422aa7
inc eax
lea ecx, [ebp - 0x254]
push eax
push dword [ebp - 0x254]
call fcn.00403540
inc esi
cmp esi, 3
jl 0x4229f0
jmp 0x422ae7
lea eax, [ebp - 0x254]
cmp ebx, eax
je 0x422ac9
push 0xffffffffffffffff
push 0
push eax
mov ecx, ebx
call fcn.00402a50
mov eax, dword [ebp - 0x240]
cmp eax, 0x10
jb 0x422ae7
inc eax
lea ecx, [ebp - 0x254]
push eax
push dword [ebp - 0x254]
call fcn.00403540
mov eax, dword [ebp - 0x1f8]
cmp eax, 0x10
jb 0x422b05
inc eax
lea ecx, [ebp - 0x20c]
push eax
push dword [ebp - 0x20c]
call fcn.00403540
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x1f8], 0xf
mov dword [ebp - 0x1fc], 0
mov byte [ebp - 0x20c], 0
cmp eax, 0x10
jb 0x422b3e
inc eax
lea ecx, [ebp - 0x1dc]
push eax
push dword [ebp - 0x1dc]
call fcn.00403540
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x1c8], 0xf
mov dword [ebp - 0x1cc], 0
mov byte [ebp - 0x1dc], 0
cmp eax, 0x10
jb 0x422b77
inc eax
lea ecx, [ebp - 0x224]
push eax
push dword [ebp - 0x224]
call fcn.00403540
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042aad6
mov esp, ebp
pop ebp
ret