Function at 0x42134c
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 0x4213a4
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x421389
mov dword [eax], 0
test ebx, ebx
je 0x421393
mov dword [ebx], 0
test ebp, ebp
je 0x421c4a
mov byte [ebp], 0x20
jmp 0x421c4a
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 0x4213b7
lea edi, [esp + 0x10]
mov edx, 0x8062f0
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 0x4213d4
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.0042200c
test eax, eax
jl 0x421558
mov esi, 0x5f
mov word [esp + 0xc], si
mov eax, 4
mov edx, 2
xor ecx, ecx
call fcn.00421fbf
mov dword [esp + 0x450], eax
mov dword [esp + 0x454], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jl 0x421c57
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x421450
mov dword [eax], 1
test ebx, ebx
je 0x42145a
mov dword [ebx], 0
test ebp, ebp
je 0x421462
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.00421fbf
mov dword [esp + 0x498], eax
mov dword [esp + 0x49c], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jl 0x4214e2
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x4214c4
mov dword [eax], 2
test ebx, ebx
je 0x4214ce
mov dword [ebx], 0
test ebp, ebp
je 0x4214d6
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.00421fbf
mov dword [esp + 0x4a0], eax
mov dword [esp + 0x4a4], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jl 0x421561
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x421538
mov dword [eax], 3
test ebx, ebx
je 0x421542
mov dword [ebx], 0
test ebp, ebp
je 0x42154a
mov byte [ebp], 0x20
mov eax, 1
mov dword [esp + 0x4b0], eax
jmp 0x421561
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 0x42156c
lea edi, [esp + 0x10]
mov edx, 0x8062fc
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 0x421589
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.0042200c
test eax, eax
jl 0x42161b
mov esi, 0x46
mov word [esp + 0xc], si
mov eax, 4
mov edx, 4
xor ecx, ecx
call fcn.00421fbf
mov dword [esp + 0x458], eax
mov dword [esp + 0x45c], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jl 0x42161b
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x4215fd
mov dword [eax], 3
test ebx, ebx
je 0x421607
mov dword [ebx], 0
test ebp, ebp
je 0x42160f
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 0x421626
lea edi, [esp + 0x10]
mov edx, 0x8062f0
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 0x421643
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.0042200c
test eax, eax
jl 0x4217c1
mov esi, 0x9b
mov word [esp + 0xc], si
mov eax, 4
mov edx, 5
xor ecx, ecx
call fcn.00421fbf
mov dword [esp + 0x460], eax
mov dword [esp + 0x464], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jl 0x4216d9
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x4216bb
mov dword [eax], 5
test ebx, ebx
je 0x4216c5
mov dword [ebx], 0
test ebp, ebp
je 0x4216cd
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.00421fbf
mov dword [esp + 0x468], eax
mov dword [esp + 0x46c], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jl 0x42174d
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x42172f
mov dword [eax], 6
test ebx, ebx
je 0x421739
mov dword [ebx], 0
test ebp, ebp
je 0x421741
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.00421fbf
mov dword [esp + 0x470], eax
mov dword [esp + 0x474], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jl 0x4217c1
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x4217a3
mov dword [eax], 6
test ebx, ebx
je 0x4217ad
mov dword [ebx], 1
test ebp, ebp
je 0x4217b5
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 0x4217cc
lea edi, [esp + 0x10]
mov edx, 0x80630c
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 0x4217e9
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.0042200c
test eax, eax
jl 0x42187e
mov esi, 0x206
mov word [esp + 0xc], si
mov eax, 4
mov edx, 6
mov ecx, 3
call fcn.00421fbf
mov dword [esp + 0x478], eax
mov dword [esp + 0x47c], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jl 0x42187e
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x421860
mov dword [eax], 6
test ebx, ebx
je 0x42186a
mov dword [ebx], 1
test ebp, ebp
je 0x421872
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 0x421889
lea edi, [esp + 0x10]
mov edx, 0x8062f0
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 0x4218a6
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.0042200c
test eax, eax
jl 0x421938
mov esi, 0x2bc
mov word [esp + 0xc], si
mov eax, 4
mov edx, 7
xor ecx, ecx
call fcn.00421fbf
mov dword [esp + 0x480], eax
mov dword [esp + 0x484], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jl 0x421938
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x42191a
mov dword [eax], 7
test ebx, ebx
je 0x421924
mov dword [ebx], 0
test ebp, ebp
je 0x42192c
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 0x421943
lea edi, [esp + 0x10]
mov edx, 0x806318
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 0x421960
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.0042200c
test eax, eax
jl 0x4219f2
mov esi, 0x2cc
mov word [esp + 0xc], si
mov eax, 4
mov edx, 7
xor ecx, ecx
call fcn.00421fbf
mov dword [esp + 0x488], eax
mov dword [esp + 0x48c], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jl 0x4219f2
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x4219d4
mov dword [eax], 7
test ebx, ebx
je 0x4219de
mov dword [ebx], 0
test ebp, ebp
je 0x4219e6
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 0x4219fd
lea edi, [esp + 0x10]
mov edx, 0x8062f0
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 0x421a1a
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.0042200c
test eax, eax
jl 0x421a52
movzx esi, word [esp + 0x4ae]
cmp esi, 4
je 0x421f66
cmp esi, 5
je 0x421ee6
lea esi, [esp + 0x10]
lea edi, [esp + 0x250]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x421a5d
lea edi, [esp + 0x10]
mov edx, 0x806324
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 0x421a7a
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.0042200c
test eax, eax
jl 0x421ac4
movzx esi, word [esp + 0x4ae]
cmp esi, 4
je 0x421e95
cmp esi, 5
je 0x421e0d
cmp esi, 4
je 0x421dc0
cmp esi, 5
je 0x421d40
lea esi, [esp + 0x10]
lea edi, [esp + 0x250]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x421acf
lea edi, [esp + 0x10]
mov edx, 0x806330
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 0x421aec
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.0042200c
test eax, eax
jl 0x421b81
mov esi, 0x375
mov word [esp + 0xc], si
mov eax, 6
mov edx, 3
mov ecx, 1
call fcn.00421fbf
mov dword [esp + 0x490], eax
mov dword [esp + 0x494], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jl 0x421b81
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x421b63
mov dword [eax], 8
test ebx, ebx
je 0x421b6d
mov dword [ebx], 1
test ebp, ebp
je 0x421b75
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 0x421b8c
lea edi, [esp + 0x10]
mov edx, 0x806340
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 0x421ba9
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.0042200c
test eax, eax
jl 0x421be1
movzx esi, word [esp + 0x4ae]
cmp esi, 4
je 0x421cf6
cmp esi, 5
je 0x421c76
lea esi, [esp + 0x10]
lea edi, [esp + 0x250]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x421bec
lea edi, [esp + 0x10]
mov edx, 0x80634c
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 0x421c09
lea eax, [esp + 0x10]
lea edx, [esp + 0x4a8]
call fcn.0042200c
test eax, eax
jl 0x421c65
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x421c38
mov dword [eax], 9
test ebx, ebx
je 0x421c42
mov dword [ebx], 0
test ebp, ebp
je 0x421c4a
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 0x42146e
mov eax, dword [esp + 0x4b0]
test eax, eax
je 0x421378
jmp 0x421c4a
mov esi, 0x86
mov word [esp + 0xc], si
mov eax, 5
mov edx, 2
mov ecx, 0xe5d
call fcn.00421fbf
mov dword [esp + 0x228], eax
mov dword [esp + 0x22c], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jl 0x421be1
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x421cd3
mov dword [eax], 8
test ebx, ebx
je 0x421cdd
mov dword [ebx], 2
test ebp, ebp
je 0x421ce5
mov byte [ebp], 0x20
mov eax, 1
mov dword [esp + 0x4b0], eax
jmp 0x421be1
mov edi, 0x86
mov word [esp + 0xc], di
mov eax, 4
mov edx, 9
xor ecx, ecx
call fcn.00421fbf
mov dword [esp + 0x248], eax
mov dword [esp + 0x24c], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jge 0x421cc2
jmp 0x421bd8
mov esi, 0x385
mov word [esp + 0xc], si
mov eax, 5
mov edx, 1
mov ecx, 0xa28
call fcn.00421fbf
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jl 0x421ac4
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x421d9d
mov dword [eax], 8
test ebx, ebx
je 0x421da7
mov dword [ebx], 1
test ebp, ebp
je 0x421daf
mov byte [ebp], 0x61
mov eax, 1
mov dword [esp + 0x4b0], eax
jmp 0x421ac4
mov edi, 0x385
mov word [esp + 0xc], di
mov eax, 4
mov edx, 8
mov ecx, 1
call fcn.00421fbf
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jge 0x421d8c
jmp 0x421abb
mov edi, 0x371
mov word [esp + 0xc], di
mov eax, 5
mov edx, 1
mov ecx, 0xa28
call fcn.00421fbf
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jl 0x421ab2
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x421e6a
mov dword [eax], 8
test ebx, ebx
je 0x421e74
mov dword [ebx], 1
test ebp, ebp
je 0x421e7c
mov byte [ebp], 0x20
mov eax, 1
mov dword [esp + 0x4b0], eax
movzx esi, word [esp + 0x4ae]
jmp 0x421ab2
mov edi, 0x371
mov word [esp + 0xc], di
mov eax, 4
mov edx, 8
mov ecx, 1
call fcn.00421fbf
mov dword [esp + 0x240], eax
mov dword [esp + 0x244], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jge 0x421e59
jmp 0x421aa9
mov esi, 0x190
mov word [esp + 0xc], si
mov eax, 5
mov edx, 1
mov ecx, 0x8d2
call fcn.00421fbf
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jl 0x421a52
mov eax, dword [esp + 0x4b4]
test eax, eax
je 0x421f43
mov dword [eax], 8
test ebx, ebx
je 0x421f4d
mov dword [ebx], 0
test ebp, ebp
je 0x421f55
mov byte [ebp], 0x20
mov eax, 1
mov dword [esp + 0x4b0], eax
jmp 0x421a52
mov edi, 0x190
mov word [esp + 0xc], di
mov eax, 4
mov edx, 8
xor ecx, ecx
call fcn.00421fbf
mov dword [esp + 0x238], eax
mov dword [esp + 0x23c], edx
push edx
push eax
push dword [esp + 0x4b4]
push dword [esp + 0x4b4]
call fcn.00421fd8
add esp, 0x10
test eax, eax
jge 0x421f32
jmp 0x421a49