Function at 0x4062fe
Capabilities:
Set current directory

Disassembly:
push ebp
sub esp, 0x60c
lea ebp, [esp - 4]
mov eax, dword [0x42c9d8]
xor eax, ebp
mov dword [ebp + 0x60c], eax
push 0x9c
mov eax, 0x42392d
call fcn.00414b99
mov eax, dword [ebp + 0x620]
mov esi, dword [ebp + 0x618]
xor ebx, ebx
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], ebx
call fcn.00411210
push 0x40315c
call fcn.0041801f
or dword [0x42db4e], 0xffffffff
pop ecx
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
call fcn.004038b8
mov edi, dword [sym.imp.USER32.dll_LoadCursorW]
push 0x7f02
push ebx
call edi
push 0x7f00
push ebx
mov dword [0x430660], eax
call edi
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [0x42db3c], eax
push 0x200
lea eax, [ebp]
push eax
push esi
call edi
test eax, eax
je 0x4063d5
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x5c]
call fcn.0040db30
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, eax
mov dword [ebp - 4], ebx
call fcn.0040f4a0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 2
call fcn.0040e270
lea ecx, [ebp - 0x3c]
call fcn.00410300
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.0040e270
push 0x8001
mov dword [0x42db00], esi
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x34], eax
push 0x105
lea eax, [ebp + 0x400]
push eax
push esi
call edi
lea eax, [ebp + 0x400]
mov esi, 0x430724
push eax
mov ecx, esi
call fcn.004101d0
push esi
call fcn.0040200c
mov dword [esp], 0x428d9c
push dword [ebp - 4]
push 0x414877
push 3
pop esi
push esi
push 0x430618
call fcn.00417e80
add esp, 0x14
test eax, eax
jne 0x406c7a
call fcn.00404585
call fcn.004020db
test eax, eax
jne 0x4064b0
push 0x7d0
lea ecx, [ebp - 0xa8]
call fcn.00410450
mov edi, eax
push 0x41a
lea ecx, [ebp - 0xa0]
mov dword [ebp - 4], esi
call fcn.00410450
mov esi, eax
push 0x10
mov ecx, edi
mov byte [ebp - 4], 4
call fcn.00410300
push eax
mov ecx, esi
call fcn.00410300
push eax
push dword [0x4306dc]
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 3
call fcn.004104d0
lea ecx, [ebp - 0xa8]
jmp 0x406c71
push dword [ebp - 0x28]
lea ecx, [ebp - 0x10]
call fcn.00410160
push 5
pop esi
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], esi
call fcn.00410290
lea ecx, [ebp - 0x10]
call fcn.004102a0
push 0x101
push ebx
push 0x42db60
call fcn.00401031
add esp, 0xc
jmp 0x40675e
push str._info
lea ecx, [ebp - 0x4c]
call fcn.00410160
push esi
push eax
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 4], 6
call fcn.00410330
add esp, 0xc
neg eax
sbb al, al
inc al
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x11], al
mov byte [ebp - 4], 5
call fcn.004104d0
cmp byte [ebp - 0x11], bl
jne 0x406799
push str._args
lea ecx, [ebp - 0x54]
call fcn.00410160
or dword [ebp - 0x18], 1
push 6
push eax
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 4], 8
call fcn.00410330
add esp, 0xc
test eax, eax
je 0x40657c
push 0x4254d8
lea ecx, [ebp - 0x7c]
call fcn.00410160
or dword [ebp - 0x18], 2
push 6
push eax
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 4], 9
call fcn.00410330
add esp, 0xc
test eax, eax
mov byte [ebp - 0x11], bl
jne 0x406580
mov byte [ebp - 0x11], 1
test byte [ebp - 0x18], 2
mov dword [ebp - 4], 8
je 0x406599
and dword [ebp - 0x18], 0xfffffffd
lea ecx, [ebp - 0x7c]
call fcn.004104d0
test byte [ebp - 0x18], 1
mov dword [ebp - 4], esi
je 0x4065ae
and dword [ebp - 0x18], 0xfffffffe
lea ecx, [ebp - 0x54]
call fcn.004104d0
cmp byte [ebp - 0x11], bl
je 0x406720
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x1c]
call fcn.0040ffa0
push 0x4254d8
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xa
call fcn.00410160
mov ecx, eax
mov byte [ebp - 4], 0xb
call fcn.00410260
push eax
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x10]
call fcn.00410630
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xc
call fcn.0040dc10
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0xb
call fcn.004104d0
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xa
call fcn.004104d0
lea ecx, [ebp - 0x10]
call fcn.00410270
cmp ax, 0x22
jne 0x4067e3
push 1
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x10]
call fcn.00410630
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x10
call fcn.0040dc10
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0xa
call fcn.004104d0
lea ecx, [ebp - 0x20]
call fcn.0040ff30
push ebx
push 0x22
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x11
call fcn.00410310
mov edi, eax
or esi, 0xffffffff
cmp edi, esi
je 0x4069ab
push 0x20
push edi
push ebx
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x10]
call fcn.004105a0
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x12
call fcn.0040dc10
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x11
call fcn.004104d0
inc edi
push edi
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x10]
call fcn.00410630
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x13
call fcn.0040dc10
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x11
call fcn.004104d0
lea ecx, [ebp - 0x20]
call fcn.00410220
test al, al
je 0x40687b
lea ecx, [ebp - 0x20]
call fcn.00410300
push eax
push 0x101
push 0x42db60
call fcn.004179f2
add esp, 0xc
test eax, eax
jne 0x406925
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xa
call fcn.004104d0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.004104d0
push 5
pop esi
jmp 0x40675e
push ebx
push 0x20
lea ecx, [ebp - 0x10]
call fcn.00410310
cmp eax, 0xffffffff
lea ecx, [ebp - 0x10]
je 0x406759
inc eax
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.00410630
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x1d
call fcn.0040dc10
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 5
call fcn.004104d0
jmp 0x40675e
call fcn.0040dc90
lea ecx, [ebp - 0x10]
call fcn.00410220
test al, al
jne 0x4064e9
cmp dword [ebp - 0x34], 0x80000000
mov dword [0x4306e4], ebx
jae 0x406a31
cmp byte [ebp - 0x34], 4
jb 0x406a31
xor esi, esi
inc esi
mov dword [0x4306e4], esi
jmp 0x406a34
push 0x7d0
lea ecx, [ebp - 0x8c]
call fcn.00410450
push ebx
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.00410300
push eax
mov ecx, 0x4307bc
call fcn.00410300
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 5
call fcn.004104d0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
jmp 0x406c75
lea ecx, [ebp - 0x2c]
call fcn.0040ff30
push 0x42d
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xd
call fcn.00410450
mov esi, eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xe
call fcn.00410300
push eax
mov ecx, esi
call fcn.00410300
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004102b0
add esp, 0xc
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xd
call fcn.004104d0
push 0x7d0
lea ecx, [ebp - 0x9c]
call fcn.00410450
push ebx
mov ecx, eax
mov byte [ebp - 4], 0xf
call fcn.00410300
push eax
lea ecx, [ebp - 0x2c]
call fcn.00410300
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0xd
call fcn.004104d0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xa
call fcn.004104d0
lea ecx, [ebp - 0x1c]
jmp 0x4067ce
lea ecx, [ebp - 0x38]
call fcn.0040ff30
push 0x42d
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x17
call fcn.00410450
mov edi, eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x18
call fcn.00410300
push eax
mov ecx, edi
call fcn.00410300
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.004102b0
add esp, 0xc
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x17
call fcn.004104d0
push 0x7d0
lea ecx, [ebp - 0x50]
call fcn.00410450
push ebx
mov ecx, eax
mov byte [ebp - 4], 0x19
call fcn.00410300
push eax
lea ecx, [ebp - 0x38]
call fcn.00410300
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x17
call fcn.004104d0
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x11
call fcn.004104d0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xa
call fcn.004104d0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.004104d0
mov dword [ebp - 4], esi
jmp 0x4067db
lea ecx, [ebp - 0x24]
call fcn.0040ff30
push 0x42d
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x1a
call fcn.00410450
mov edi, eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x1b
call fcn.00410300
push eax
mov ecx, edi
call fcn.00410300
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.004102b0
add esp, 0xc
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x1a
call fcn.004104d0
push 0x7d0
lea ecx, [ebp - 0x60]
call fcn.00410450
push ebx
mov ecx, eax
mov byte [ebp - 4], 0x1c
call fcn.00410300
push eax
lea ecx, [ebp - 0x24]
call fcn.00410300
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x1a
call fcn.004104d0
lea ecx, [ebp - 0x24]
jmp 0x4068fc
lea ecx, [ebp - 0x30]
call fcn.0040ff30
push 0x42d
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x14
call fcn.00410450
mov edi, eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x15
call fcn.00410300
push eax
mov ecx, edi
call fcn.00410300
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.004102b0
add esp, 0xc
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x14
call fcn.004104d0
push 0x7d0
lea ecx, [ebp - 0x70]
call fcn.00410450
push ebx
mov ecx, eax
mov byte [ebp - 4], 0x16
call fcn.00410300
push eax
lea ecx, [ebp - 0x30]
call fcn.00410300
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x14
call fcn.004104d0
lea ecx, [ebp - 0x30]
jmp 0x4068fc
xor esi, esi
inc esi
cmp dword [0x4306e4], ebx
jne 0x406a94
cmp byte [ebp - 0x34], 4
jae 0x406a94
push 0x7d0
lea ecx, [ebp - 0x80]
call fcn.00410450
mov esi, eax
push 0x3f6
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x1e
call fcn.00410450
mov edi, eax
push ebx
mov ecx, esi
mov byte [ebp - 4], 0x1f
call fcn.00410300
push eax
mov ecx, edi
call fcn.00410300
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x1e
call fcn.004104d0
lea ecx, [ebp - 0x80]
jmp 0x4067ce
cmp word [0x42c052], bx
mov dword [0x4306e4], esi
jne 0x406b07
push 0x7d0
lea ecx, [ebp - 0x90]
call fcn.00410450
mov esi, eax
push 0x3e8
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x20
call fcn.00410450
mov edi, eax
push 0x10
mov ecx, esi
mov byte [ebp - 4], 0x21
call fcn.00410300
push eax
mov ecx, edi
call fcn.00410300
push eax
push dword [0x4306dc]
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x20
call fcn.004104d0
lea ecx, [ebp - 0x90]
jmp 0x4067ce
mov eax, dword [0x42c044]
and al, 0x40
sub al, 0x40
neg al
push 4
push ebx
push dword [0x42c024]
sbb eax, eax
inc eax
mov dword [0x4306d4], eax
call fcn.004175b0
mov edx, dword [0x42c044]
mov eax, dword [0x42c024]
mov ecx, 0x100
and edx, ecx
sub edx, ecx
add esp, 0xc
push dword [ebp - 0x40]
neg edx
sbb edx, edx
inc edx
xor edx, dword [eax + 0x28]
and edx, esi
xor dword [eax + 0x28], edx
mov eax, dword [0x42c024]
mov eax, dword [eax + 0x28]
and eax, esi
mov dword [0x42db28], eax
call fcn.00406f27
mov edi, 0x4307ac
mov ecx, edi
call fcn.00410220
test al, al
mov eax, dword [0x42c044]
je 0x406c42
test eax, 0x400000
jne 0x406c42
mov ecx, eax
and ecx, 0x100000
mov esi, eax
and esi, 0x80000
neg ecx
sbb ecx, ecx
and ecx, 0xfffffffd
add ecx, 4
neg esi
sbb esi, esi
and esi, ecx
test al, 0x10
je 0x406bde
mov ecx, 0x4307c0
call fcn.00410220
test al, al
je 0x406bde
or esi, 0x2000
push esi
mov ecx, 0x4307c0
call fcn.00410300
push eax
mov ecx, edi
call fcn.00410300
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov esi, eax
jmp 0x406c21
push 0x7d0
lea ecx, [ebp - 0x98]
call fcn.00410450
or esi, 0x2000
push esi
mov ecx, eax
mov byte [ebp - 4], 0x22
call fcn.00410300
push eax
mov ecx, edi
call fcn.00410300
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x98]
mov esi, eax
mov byte [ebp - 4], 5
call fcn.004104d0
cmp esi, 7
je 0x4067d7
cmp esi, 2
je 0x4067d7
mov ecx, edi
call fcn.0040dc90
mov eax, dword [0x42c044]
xor esi, esi
inc esi
test ax, 0x200
push dword [ebp - 0x28]
je 0x406c51
mov dword [0x4306d0], esi
call fcn.0040296e
pop ecx
push ebx
push 0x405536
push ebx
push 0x64
push dword [ebp - 0x40]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
call fcn.00403100
lea ecx, [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
call fcn.004104d0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x60c]
xor ecx, ebp
call fcn.004147a9
add ebp, 0x610
leave
ret 0x10