Function at 0x40f3c8
Capabilities:
Set current directory

Disassembly:
mov eax, 0x43eaca
call fcn.0042eda4
sub esp, 0x1fc
mov eax, dword [0x456d70]
push ebx
push esi
push edi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], esp
push 0xf
pop ebx
xor esi, esi
push esi
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], esi
mov dword [ebp - 0x18], ebx
call fcn.00406f49
push esi
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x50], ebx
call fcn.00406f49
push 0xffffffffffffffff
push esi
push 0x443520
lea ecx, [ebp + 8]
mov byte [ebp - 4], 3
call fcn.004092d0
inc eax
push eax
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp + 8]
call fcn.0040d832
push 0xffffffffffffffff
push esi
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 4
call fcn.0040c660
push esi
push 1
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 3
call fcn.00409968
push esi
mov edi, 0x4435e4
push edi
lea ecx, [ebp + 8]
call fcn.004092d0
push eax
push esi
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp + 8]
call fcn.0040d832
push 0xffffffffffffffff
push esi
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 5
call fcn.0040c660
push esi
push 1
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 3
call fcn.00409968
push 0xffffffffffffffff
push esi
push edi
lea ecx, [ebp + 8]
call fcn.004092d0
inc eax
push eax
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp + 8]
call fcn.0040d832
mov byte [ebp - 4], 6
push 0xffffffffffffffff
push esi
push eax
lea ecx, [ebp - 0x68]
call fcn.0040c660
push esi
push 1
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 3
call fcn.00409968
push esi
mov edi, 0x443518
push edi
lea ecx, [ebp - 0x68]
call fcn.004092d0
push eax
push esi
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x68]
call fcn.0040d832
push 0xffffffffffffffff
push esi
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 7
call fcn.0040c660
push esi
push 1
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 3
call fcn.00409968
push 0xffffffffffffffff
push esi
push edi
lea ecx, [ebp + 8]
call fcn.004092d0
inc eax
push eax
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp + 8]
call fcn.0040d832
push 0xffffffffffffffff
push esi
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 8
call fcn.0040c660
push esi
push 1
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 3
call fcn.00409968
cmp byte [ebp + 0x24], 0x7a
jne 0x40f700
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x40f547
lea eax, [ebp - 0x2c]
push eax
call fcn.00401ee8
test al, al
pop ecx
jne 0x40f851
cmp dword [ebp - 0x50], 0x10
mov ecx, dword [ebp - 0x64]
jae 0x40f562
lea ecx, [ebp - 0x64]
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x40f56e
lea eax, [ebp - 0x2c]
push ecx
push eax
call fcn.00407aac
pop ecx
pop ecx
push esi
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x6c], ebx
call fcn.00406f49
push esi
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x34], ebx
call fcn.00406f49
mov byte [ebp - 4], 0xa
push 0x4435e0
lea ecx, [ebp + 8]
call fcn.00409823
cmp eax, esi
je 0x40f6c0
push esi
push edi
lea ecx, [ebp + 8]
call fcn.004092d0
push eax
push esi
lea eax, [ebp - 0x1ec]
push eax
lea ecx, [ebp + 8]
call fcn.0040d832
or ebx, 0xffffffff
push ebx
push esi
push eax
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0xb
call fcn.0040c660
push esi
push 1
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 0xa
call fcn.00409968
push ebx
push esi
push edi
lea ecx, [ebp + 8]
call fcn.004092d0
inc eax
push eax
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp + 8]
call fcn.0040d832
push ebx
push esi
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xc
call fcn.0040c660
push esi
push 1
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 0xa
call fcn.00409968
push ebx
push esi
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040c660
push ebx
push ebx
push 0x44313c
lea ecx, [ebp - 0x84]
call fcn.004092f1
inc eax
push eax
lea eax, [ebp - 0x1d0]
push eax
lea ecx, [ebp - 0x84]
call fcn.0040d832
push ebx
push esi
push eax
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0xd
call fcn.0040c660
push esi
push 1
lea ecx, [ebp - 0x1d0]
mov byte [ebp - 4], 0xa
call fcn.00409968
cmp dword [ebp - 0x34], 0x10
mov ecx, dword [ebp - 0x48]
jae 0x40f697
lea ecx, [ebp - 0x48]
cmp dword [ebp - 0x6c], 0x10
mov eax, dword [ebp - 0x80]
jae 0x40f6a3
lea eax, [ebp - 0x80]
push ecx
push eax
push dword [ebp - 0x1b4]
call fcn.0040abfc
add esp, 0xc
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x40f59c
push dword [ebp - 0x1b4]
call fcn.00405d2e
test al, al
pop ecx
push dword [ebp - 0x1b4]
je 0x40f6dd
call fcn.00408fe0
jmp 0x40f6e2
call fcn.0040ac15
pop ecx
push esi
push 1
lea ecx, [ebp - 0x4c]
call fcn.00409968
push esi
push 1
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 3
call fcn.00409968
cmp byte [ebp + 0x24], 0x75
jne 0x40f851
push esi
push edi
lea ecx, [ebp + 8]
call fcn.004092d0
push eax
push esi
lea eax, [ebp - 0x1d0]
push eax
lea ecx, [ebp + 8]
call fcn.0040d832
push 0xffffffffffffffff
push esi
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xe
call fcn.0040c660
push esi
push 1
lea ecx, [ebp - 0x1d0]
mov byte [ebp - 4], 3
call fcn.00409968
mov eax, dword [ebp - 0x2c]
push 0x10
pop edi
cmp dword [ebp - 0x18], edi
jae 0x40f755
lea eax, [ebp - 0x2c]
push eax
call fcn.00401ee8
cmp al, 1
pop ecx
je 0x40f772
cmp dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x2c]
jae 0x40f76b
lea eax, [ebp - 0x2c]
push eax
call fcn.0043dfdd
pop ecx
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp + 0x20], edi
mov eax, dword [ebp + 0xc]
jae 0x40f788
lea eax, [ebp + 0xc]
push eax
call fcn.00401ee8
cmp al, 1
pop ecx
jne 0x40f846
cmp dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x2c]
jae 0x40f7a2
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
cmp dword [ebp - 0x50], edi
mov ecx, dword [ebp - 0x64]
jae 0x40f7b4
lea ecx, [ebp - 0x64]
cmp dword [ebp + 0x20], edi
mov eax, dword [ebp + 0xc]
jae 0x40f7bf
lea eax, [ebp + 0xc]
push ecx
push eax
call fcn.00408f78
pop ecx
pop ecx
lea ecx, [ebp - 0x1b0]
push ecx
push 0xffffffffffffffff
push eax
mov dword [ebp - 0x1b4], eax
call fcn.00405cef
mov ebx, dword [ebp - 0x1b0]
add esp, 0xc
xor edi, edi
cmp edi, ebx
jge 0x40f823
lea eax, [ebp - 0x1b0]
push eax
push edi
push dword [ebp - 0x1b4]
call fcn.00405cef
add esp, 0xc
lea eax, [ebp - 0x1ac]
push eax
push edi
push dword [ebp - 0x1b4]
call fcn.00408fc7
add esp, 0xc
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc edi
jmp 0x40f7e8
push dword [ebp - 0x1b4]
call fcn.00405d2e
test al, al
pop ecx
push dword [ebp - 0x1b4]
je 0x40f840
call fcn.00408fe0
jmp 0x40f845
call fcn.0040ac15
pop ecx
push 0x4435dc
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push esi
push 1
lea ecx, [ebp - 0x68]
call fcn.00409968
push esi
push 1
lea ecx, [ebp - 0x30]
call fcn.00409968
push esi
jmp 0x40f87d
lea ecx, [ebp + 8]
push 1
call fcn.00409968
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
xor eax, eax
call fcn.0042d7f1
pop edi
pop esi
pop ebx
leave
ret