Function at 0x418fe4
Capabilities:
Get common file path

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x4b8
mov ebp, ecx
mov ebx, edx
mov dword [esp + 0x4b4], eax
lea eax, [esp + 0x250]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
jne 0x41903c
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x419021
mov dword [eax], 0
test ebx, ebx
je 0x41902b
mov dword [ebx], 0
test ebp, ebp
je 0x4198e2
mov byte [ebp], 0x20
jmp 0x4198e2
mov byte [esp + 0x353], 0
lea esi, [esp + 0x10]
lea edi, [esp + 0x250]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x41904f
lea edi, [esp + 0x10]
mov edx, 0x7e4254
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x41906c
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.00419ca4
test eax, eax
jl 0x4191f0
mov esi, 0x5f
mov word [esp + 0xc], si
mov eax, 4
mov edx, 2
xor ecx, ecx
call fcn.00419c57
mov dword [esp + 0x450], eax
mov dword [esp + 0x454], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jl 0x4198ef
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x4190e8
mov dword [eax], 1
test ebx, ebx
je 0x4190f2
mov dword [ebx], 0
test ebp, ebp
je 0x4190fa
mov byte [ebp], 0x20
mov eax, 1
mov dword [esp + 0x4b0], eax
mov esi, 0x448
mov word [esp + 0xc], si
mov eax, 4
mov edx, 3
xor ecx, ecx
call fcn.00419c57
mov dword [esp + 0x498], eax
mov dword [esp + 0x49c], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jl 0x41917a
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x41915c
mov dword [eax], 2
test ebx, ebx
je 0x419166
mov dword [ebx], 0
test ebp, ebp
je 0x41916e
mov byte [ebp], 0x20
mov eax, 1
mov dword [esp + 0x4b0], eax
mov esi, 0x44
mov word [esp + 0xc], si
mov eax, 4
mov edx, 4
xor ecx, ecx
call fcn.00419c57
mov dword [esp + 0x4a0], eax
mov dword [esp + 0x4a4], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jl 0x4191f9
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x4191d0
mov dword [eax], 3
test ebx, ebx
je 0x4191da
mov dword [ebx], 0
test ebp, ebp
je 0x4191e2
mov byte [ebp], 0x20
mov eax, 1
mov dword [esp + 0x4b0], eax
jmp 0x4191f9
xor eax, eax
mov dword [esp + 0x4b0], eax
lea esi, [esp + 0x10]
lea edi, [esp + 0x250]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x419204
lea edi, [esp + 0x10]
mov edx, 0x7e4260
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x419221
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.00419ca4
test eax, eax
jl 0x4192b3
mov esi, 0x46
mov word [esp + 0xc], si
mov eax, 4
mov edx, 4
xor ecx, ecx
call fcn.00419c57
mov dword [esp + 0x458], eax
mov dword [esp + 0x45c], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jl 0x4192b3
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x419295
mov dword [eax], 3
test ebx, ebx
je 0x41929f
mov dword [ebx], 0
test ebp, ebp
je 0x4192a7
mov byte [ebp], 0x61
mov eax, 1
mov dword [esp + 0x4b0], eax
lea esi, [esp + 0x10]
lea edi, [esp + 0x250]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x4192be
lea edi, [esp + 0x10]
mov edx, 0x7e4254
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x4192db
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.00419ca4
test eax, eax
jl 0x419459
mov esi, 0x9b
mov word [esp + 0xc], si
mov eax, 4
mov edx, 5
xor ecx, ecx
call fcn.00419c57
mov dword [esp + 0x460], eax
mov dword [esp + 0x464], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jl 0x419371
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x419353
mov dword [eax], 5
test ebx, ebx
je 0x41935d
mov dword [ebx], 0
test ebp, ebp
je 0x419365
mov byte [ebp], 0x20
mov eax, 1
mov dword [esp + 0x4b0], eax
mov esi, 0x13e
mov word [esp + 0xc], si
mov eax, 4
mov edx, 6
xor ecx, ecx
call fcn.00419c57
mov dword [esp + 0x468], eax
mov dword [esp + 0x46c], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jl 0x4193e5
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x4193c7
mov dword [eax], 6
test ebx, ebx
je 0x4193d1
mov dword [ebx], 0
test ebp, ebp
je 0x4193d9
mov byte [ebp], 0x20
mov eax, 1
mov dword [esp + 0x4b0], eax
mov esi, 0x1b4
mov word [esp + 0xc], si
mov eax, 4
mov edx, 6
xor ecx, ecx
call fcn.00419c57
mov dword [esp + 0x470], eax
mov dword [esp + 0x474], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jl 0x419459
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x41943b
mov dword [eax], 6
test ebx, ebx
je 0x419445
mov dword [ebx], 1
test ebp, ebp
je 0x41944d
mov byte [ebp], 0x20
mov eax, 1
mov dword [esp + 0x4b0], eax
lea esi, [esp + 0x10]
lea edi, [esp + 0x250]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x419464
lea edi, [esp + 0x10]
mov edx, 0x7e4270
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x419481
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.00419ca4
test eax, eax
jl 0x419516
mov esi, 0x206
mov word [esp + 0xc], si
mov eax, 4
mov edx, 6
mov ecx, 3
call fcn.00419c57
mov dword [esp + 0x478], eax
mov dword [esp + 0x47c], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jl 0x419516
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x4194f8
mov dword [eax], 6
test ebx, ebx
je 0x419502
mov dword [ebx], 1
test ebp, ebp
je 0x41950a
mov byte [ebp], 0x61
mov eax, 1
mov dword [esp + 0x4b0], eax
lea esi, [esp + 0x10]
lea edi, [esp + 0x250]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x419521
lea edi, [esp + 0x10]
mov edx, 0x7e4254
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x41953e
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.00419ca4
test eax, eax
jl 0x4195d0
mov esi, 0x2bc
mov word [esp + 0xc], si
mov eax, 4
mov edx, 7
xor ecx, ecx
call fcn.00419c57
mov dword [esp + 0x480], eax
mov dword [esp + 0x484], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jl 0x4195d0
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x4195b2
mov dword [eax], 7
test ebx, ebx
je 0x4195bc
mov dword [ebx], 0
test ebp, ebp
je 0x4195c4
mov byte [ebp], 0x20
mov eax, 1
mov dword [esp + 0x4b0], eax
lea esi, [esp + 0x10]
lea edi, [esp + 0x250]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x4195db
lea edi, [esp + 0x10]
mov edx, 0x7e427c
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x4195f8
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.00419ca4
test eax, eax
jl 0x41968a
mov esi, 0x2cc
mov word [esp + 0xc], si
mov eax, 4
mov edx, 7
xor ecx, ecx
call fcn.00419c57
mov dword [esp + 0x488], eax
mov dword [esp + 0x48c], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jl 0x41968a
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x41966c
mov dword [eax], 7
test ebx, ebx
je 0x419676
mov dword [ebx], 0
test ebp, ebp
je 0x41967e
mov byte [ebp], 0x61
mov eax, 1
mov dword [esp + 0x4b0], eax
lea esi, [esp + 0x10]
lea edi, [esp + 0x250]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x419695
lea edi, [esp + 0x10]
mov edx, 0x7e4254
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x4196b2
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.00419ca4
test eax, eax
jl 0x4196ea
movzx esi, word [esp + 0x4ae]
cmp esi, 4
je 0x419bfe
cmp esi, 5
je 0x419b7e
lea esi, [esp + 0x10]
lea edi, [esp + 0x250]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x4196f5
lea edi, [esp + 0x10]
mov edx, 0x7e4288
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x419712
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.00419ca4
test eax, eax
jl 0x41975c
movzx esi, word [esp + 0x4ae]
cmp esi, 4
je 0x419b2d
cmp esi, 5
je 0x419aa5
cmp esi, 4
je 0x419a58
cmp esi, 5
je 0x4199d8
lea esi, [esp + 0x10]
lea edi, [esp + 0x250]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x419767
lea edi, [esp + 0x10]
mov edx, 0x7e4294
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x419784
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.00419ca4
test eax, eax
jl 0x419819
mov esi, 0x375
mov word [esp + 0xc], si
mov eax, 6
mov edx, 3
mov ecx, 1
call fcn.00419c57
mov dword [esp + 0x490], eax
mov dword [esp + 0x494], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jl 0x419819
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x4197fb
mov dword [eax], 8
test ebx, ebx
je 0x419805
mov dword [ebx], 1
test ebp, ebp
je 0x41980d
mov byte [ebp], 0x62
mov eax, 1
mov dword [esp + 0x4b0], eax
lea esi, [esp + 0x10]
lea edi, [esp + 0x250]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x419824
lea edi, [esp + 0x10]
mov edx, 0x7e42a4
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x419841
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.00419ca4
test eax, eax
jl 0x419879
movzx esi, word [esp + 0x4ae]
cmp esi, 4
je 0x41998e
cmp esi, 5
je 0x41990e
lea esi, [esp + 0x10]
lea edi, [esp + 0x250]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x419884
lea edi, [esp + 0x10]
mov edx, 0x7e42b0
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x4198a1
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.00419ca4
test eax, eax
jl 0x4198fd
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x4198d0
mov dword [eax], 9
test ebx, ebx
je 0x4198da
mov dword [ebx], 0
test ebp, ebp
je 0x4198e2
mov byte [ebp], 0x20
xor eax, eax
add esp, 0x4b8
pop ebx
pop ebp
pop esi
pop edi
ret
xor eax, eax
mov dword [esp + 0x4b0], eax
jmp 0x419106
mov eax, dword [esp + 0x4b0]
test eax, eax
je 0x419010
jmp 0x4198e2
mov esi, 0x86
mov word [esp + 0xc], si
mov eax, 5
mov edx, 2
mov ecx, 0xe5d
call fcn.00419c57
mov dword [esp + 0x228], eax
mov dword [esp + 0x22c], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jl 0x419879
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x41996b
mov dword [eax], 8
test ebx, ebx
je 0x419975
mov dword [ebx], 2
test ebp, ebp
je 0x41997d
mov byte [ebp], 0x20
mov eax, 1
mov dword [esp + 0x4b0], eax
jmp 0x419879
mov edi, 0x86
mov word [esp + 0xc], di
mov eax, 4
mov edx, 9
xor ecx, ecx
call fcn.00419c57
mov dword [esp + 0x248], eax
mov dword [esp + 0x24c], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jge 0x41995a
jmp 0x419870
mov esi, 0x385
mov word [esp + 0xc], si
mov eax, 5
mov edx, 1
mov ecx, 0xa28
call fcn.00419c57
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jl 0x41975c
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x419a35
mov dword [eax], 8
test ebx, ebx
je 0x419a3f
mov dword [ebx], 1
test ebp, ebp
je 0x419a47
mov byte [ebp], 0x61
mov eax, 1
mov dword [esp + 0x4b0], eax
jmp 0x41975c
mov edi, 0x385
mov word [esp + 0xc], di
mov eax, 4
mov edx, 8
mov ecx, 1
call fcn.00419c57
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jge 0x419a24
jmp 0x419753
mov edi, 0x371
mov word [esp + 0xc], di
mov eax, 5
mov edx, 1
mov ecx, 0xa28
call fcn.00419c57
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jl 0x41974a
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x419b02
mov dword [eax], 8
test ebx, ebx
je 0x419b0c
mov dword [ebx], 1
test ebp, ebp
je 0x419b14
mov byte [ebp], 0x20
mov eax, 1
mov dword [esp + 0x4b0], eax
movzx esi, word [esp + 0x4ae]
jmp 0x41974a
mov edi, 0x371
mov word [esp + 0xc], di
mov eax, 4
mov edx, 8
mov ecx, 1
call fcn.00419c57
mov dword [esp + 0x240], eax
mov dword [esp + 0x244], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jge 0x419af1
jmp 0x419741
mov esi, 0x190
mov word [esp + 0xc], si
mov eax, 5
mov edx, 1
mov ecx, 0x8d2
call fcn.00419c57
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jl 0x4196ea
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x419bdb
mov dword [eax], 8
test ebx, ebx
je 0x419be5
mov dword [ebx], 0
test ebp, ebp
je 0x419bed
mov byte [ebp], 0x20
mov eax, 1
mov dword [esp + 0x4b0], eax
jmp 0x4196ea
mov edi, 0x190
mov word [esp + 0xc], di
mov eax, 4
mov edx, 8
xor ecx, ecx
call fcn.00419c57
mov dword [esp + 0x238], eax
mov dword [esp + 0x23c], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00419c70
add esp, 0x10
test eax, eax
jge 0x419bca
jmp 0x4196e1