Function at 0x401136
Capabilities:
Delete file
Get common file path
Set current directory

Disassembly:
jmp 0x41a9b0
mov eax, 0x2294
call fcn.0041be90
mov eax, dword [0x44e1b4]
xor eax, esp
mov dword [esp + 0x2290], eax
push esi
mov esi, dword [esp + 0x22a0]
push edi
mov edi, dword [esp + 0x22a0]
test edi, edi
mov dword [esp + 0xc], edi
jne 0x41a9f9
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x2290]
xor ecx, esp
call fcn.0041bdf4
add esp, 0x2294
ret
push ebx
push ebp
push 0x208
lea eax, [esp + 0x1c]
push 0
push eax
mov dword [esp + 0x1c], 0
call fcn.0041be10
push 0x208
lea ecx, [esp + 0x438]
push 0
push ecx
call fcn.0041be10
push 0x208
lea edx, [esp + 0x23c]
push 0
push edx
call fcn.0041be10
push 0x208
lea eax, [esp + 0x658]
push 0
push eax
call fcn.0041be10
push 0x208
lea ecx, [esp + 0x86c]
push 0
push ecx
call fcn.0041be10
push 0x208
lea edx, [esp + 0xc88]
push 0
push edx
call fcn.0041be10
add esp, 0x48
push 0x208
lea eax, [esp + 0xa44]
push 0
push eax
call fcn.0041be10
push 0x208
lea ecx, [esp + 0xe60]
push 0
push ecx
call fcn.0041be10
push 0x208
lea edx, [esp + 0x1074]
push 0
push edx
call fcn.0041be10
push 0x208
lea eax, [esp + 0x1490]
push 0
push eax
call fcn.0041be10
push 0x208
lea ecx, [esp + 0x16a4]
push 0
push ecx
call fcn.0041be10
push 0x410
lea edx, [esp + 0x1ed0]
push 0
push edx
call fcn.0041be10
add esp, 0x48
push 0x410
lea eax, [esp + 0x1a84]
push 0
push eax
call fcn.0041be10
push 0x208
lea ecx, [esp + 0x1270]
push 0
push ecx
call fcn.0041be10
add esp, 0x18
test esi, esi
je 0x41ac2d
lea ebx, [esp + 0x18]
mov ebp, 9
push 0x22
push esi
call fcn.0041bd74
lea esi, [eax + 2]
push 0x22
push esi
call fcn.0041bd74
add esp, 0x10
mov edi, eax
push 0x435c58
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push esi
push 0x104
push ebx
call fcn.0041c22f
add esp, 0xc
add ebx, 0x208
sub ebp, 1
lea esi, [edi + 2]
jne 0x41ab32
lea edx, [esp + 0x18]
push edx
push 0x104
push 0x44f400
call fcn.0041c22f
lea eax, [esp + 0x434]
push eax
push 0x100
push 0x479048
call fcn.0041c22f
lea ecx, [esp + 0x648]
push ecx
push 0x100
push 0x44f200
call fcn.0041c22f
lea edx, [esp + 0x244]
push edx
push 0x100
push 0x451470
call fcn.0041c22f
lea eax, [esp + 0xc78]
push eax
call fcn.0041bee1
lea ecx, [esp + 0xa74]
push ecx
mov dword [0x478e2c], eax
call fcn.0041bee1
lea edx, [esp + 0xe88]
push edx
mov dword [0x450c54], eax
call fcn.0041bee1
mov dword [0x450438], eax
lea eax, [esp + 0x1094]
push eax
call fcn.0041bee1
lea ecx, [esp + 0x878]
add esp, 0x40
push ecx
mov dword [0x44fe2c], eax
call fcn.004012c6
mov edi, dword [esp + 0x18]
add esp, 4
jmp 0x41ac4f
push 0x44f400
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push 0x44f400
lea edx, [esp + 0x1c]
push 0x104
push edx
call fcn.0041c22f
add esp, 0xc
push 0x45e730
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push 0x45e730
lea eax, [esp + 0x1674]
push 0x104
push eax
call fcn.0041c22f
push 0x44fc20
lea ecx, [esp + 0x1680]
push 0x104
push ecx
call fcn.0041c1b5
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x168c]
push eax
call fcn.004010e1
mov esi, eax
add esp, 0x20
test esi, esi
jne 0x41acf5
push 0x100
lea ecx, [esp + 0x1e94]
push ecx
push 0x452
push edi
call dword [sym.imp.USER32.dll_LoadStringW]
push str.setup.ini
lea edx, [esp + 0x1e94]
push edx
lea eax, [esp + 0x1a88]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
push esi
lea ecx, [esp + 0x1a90]
push ecx
push esi
call fcn.004010be
add esp, 0x18
xor eax, eax
jmp 0x41af0c
test byte [0x44fe2c], 2
je 0x41ae3b
mov ebp, dword [esp + 0x10]
push 0x434ed4
push ebp
push esi
call fcn.0040120d
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileW]
add esp, 0xc
test eax, eax
je 0x41ad9e
push 0x208
lea edx, [esp + 0x146c]
push edx
push eax
call fcn.004011fe
push 0x45e730
mov edi, eax
lea eax, [esp + 0x1270]
push 0x104
push eax
call fcn.0041c22f
lea ecx, [esp + 0x1480]
push 0x5c
push ecx
call fcn.004010eb
add eax, 2
push eax
lea edx, [esp + 0x1284]
push 0x104
push edx
call fcn.0041c1b5
add esp, 0x2c
lea eax, [esp + 0x1260]
push eax
call ebx
mov ecx, edi
sub ecx, esi
sar ecx, 1
mov edx, ebp
push 0x434ed4
sub edx, ecx
push edx
push edi
call fcn.0040120d
add esp, 0xc
test eax, eax
jne 0x41ad23
mov ebp, dword [esp + 0x10]
push 0x434ea8
push ebp
push esi
call fcn.0040120d
add esp, 0xc
test eax, eax
je 0x41ae3b
lea esp, [esp]
push 0x208
lea ecx, [esp + 0x187c]
push ecx
push eax
call fcn.004011fe
push 0x45e730
lea edx, [esp + 0x1270]
push 0x104
push edx
mov edi, eax
call fcn.0041c22f
lea eax, [esp + 0x1890]
push 0x5c
push eax
call fcn.004010eb
add eax, 2
push eax
lea ecx, [esp + 0x1284]
push 0x104
push ecx
call fcn.0041c1b5
add esp, 0x2c
lea edx, [esp + 0x1260]
push edx
call ebx
mov eax, edi
sub eax, esi
sar eax, 1
mov ecx, ebp
push 0x434ea8
sub ecx, eax
push ecx
push edi
call fcn.0040120d
add esp, 0xc
test eax, eax
jne 0x41adc0
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test byte [0x44fe2c], 1
je 0x41aef3
mov ebx, dword [esp + 0x10]
push 0x434ed4
push ebx
push esi
call fcn.0040120d
add esp, 0xc
test eax, eax
je 0x41aeb6
lea ebx, [ebx]
push 0x208
lea ecx, [esp + 0x146c]
push ecx
push eax
call fcn.004011fe
lea edx, [esp + 0x1474]
push edx
mov edi, eax
call fcn.00401280
add esp, 0x10
test eax, eax
je 0x41aeca
mov eax, edi
sub eax, esi
sar eax, 1
mov ecx, ebx
push 0x434ed4
sub ecx, eax
push ecx
push edi
call fcn.0040120d
add esp, 0xc
test eax, eax
jne 0x41ae70
mov edx, dword [esp + 0x10]
push edx
push 0
push esi
call fcn.00401357
add esp, 0xc
test eax, eax
jne 0x41aef3
push 0x454
push 0
push 0
call fcn.004010be
push 0x455
push 0
push 0
call fcn.004010be
push esi
call fcn.004012bc
add esp, 0x1c
xor eax, eax
jmp 0x41af0c
push esi
call fcn.004012bc
mov eax, dword [0x450438]
push eax
call fcn.00401019
add esp, 8
mov eax, 1
mov ecx, dword [esp + 0x22a0]
pop ebp
pop ebx
pop edi
pop esi
xor ecx, esp
call fcn.0041bdf4
add esp, 0x2294
ret