Function at 0x41160c
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x814
mov eax, dword [0x42733c]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
xor eax, eax
inc eax
push esi
mov esi, dword [ebp + 0xc]
and dword [esi], 0
mov dword [0x4287cc], eax
mov dword [0x4287d8], eax
xor al, al
mov byte [0x428a10], 0
mov byte [ebp - 0x404], al
test ecx, ecx
je 0x411669
push 0x3ff
push ecx
lea eax, [ebp - 0x404]
push 0x400
push eax
call fcn.0041a157
mov al, byte [ebp - 0x404]
add esp, 0x10
lea ecx, [ebp - 0x404]
mov dword [ebp - 0x810], ecx
test al, al
je 0x411957
push ebx
push edi
lea eax, [ebp - 0x810]
push eax
lea edi, [ebp - 0x814]
mov byte [0x428b18], 0
call fcn.00412dab
mov ebx, eax
test ebx, ebx
je 0x4116fc
lea eax, [ebp - 0x80c]
push eax
lea eax, [ebp - 0x804]
push eax
push 0x400
push ebx
mov byte [ebp - 0x804], 0
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
cmp byte [ebp - 0x804], 0
je 0x4116ce
lea ebx, [ebp - 0x804]
push 0x103
push ebx
push 0x104
push 0x428b18
call fcn.0041a157
add esp, 0x10
push ebx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
test eax, eax
jne 0x4116fc
mov dword [esi], 0x327
jmp 0x411955
push esi
push ebx
mov dword [0x4287d0], 1
call fcn.00411999
mov edi, eax
mov dword [ebp - 0x80c], edi
test edi, edi
je 0x411891
cmp dword [esi], 0
jne 0x411891
cmp dword [edi + 0x514], 0
je 0x411744
test ebx, ebx
jne 0x411744
push edi
call fcn.00411e6b
and dword [0x4287d0], ebx
jmp 0x411955
cmp byte [0x428c20], 0
mov esi, 0x428c20
jne 0x411758
lea esi, [edi + 0x104]
mov edx, esi
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x41175d
sub edx, ecx
mov ecx, ebx
lea eax, [ecx + 1]
mov dword [ebp - 0x808], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411771
sub ecx, dword [ebp - 0x808]
mov dword [ebp - 0x808], ecx
cmp ecx, edx
jle 0x411790
mov ecx, edx
mov dword [ebp - 0x808], edx
push ecx
push ebx
push esi
call fcn.0041b96f
add esp, 0xc
test eax, eax
jne 0x411864
cmp byte [esi], al
je 0x4117bb
push 0x401614
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x411864
cmp dword [edi + 0x51c], 0
je 0x411864
mov ecx, dword [edi + 0x520]
add ecx, 0x210
movsx eax, byte [ecx]
neg eax
sbb eax, eax
test ecx, eax
je 0x411864
push esi
mov dword [0x4287d0], 1
call fcn.00411562
mov ecx, dword [edi + 0x520]
add ecx, 0x210
movsx eax, byte [ecx]
neg eax
mov edx, 0x104
push edx
sbb eax, eax
and eax, ecx
push eax
push edx
mov edi, 0x428a10
push edi
call fcn.0041a157
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411823
sub ecx, edx
lea esi, [ecx + 0x428a10]
mov eax, 0x428b14
sub eax, esi
push eax
mov eax, dword [ebp - 0x808]
add eax, ebx
push eax
mov ebx, 0x104
push ebx
push esi
call fcn.0041a157
mov ecx, esi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411857
sub ecx, edx
add esi, ecx
jmp 0x4118c7
and dword [0x4287d0], 0
mov edx, 0x104
push edx
push ebx
mov ebx, edx
push ebx
mov edi, 0x428a10
push edi
call fcn.0041a157
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411888
jmp 0x4118bf
and dword [0x4287d0], 0
and dword [esi], 0
mov edx, 0x104
push edx
push ebx
mov ebx, edx
push ebx
mov edi, 0x428a10
push edi
call fcn.0041a157
mov ecx, edi
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4118b8
sub ecx, edx
lea esi, [ecx + 0x428a10]
push dword [ebp - 0x80c]
call fcn.00411e6b
cmp byte [0x428a10], 0
je 0x4118f5
mov al, byte [esi - 1]
cmp al, 0x2f
je 0x4118f5
cmp al, 0x5c
mov eax, 0x428b14
je 0x4118fa
cmp esi, eax
jae 0x4118fa
mov byte [esi], 0x2f
inc esi
jmp 0x4118fa
mov eax, 0x428b14
cmp dword [ebp - 0x814], 0
je 0x41190d
sub eax, esi
push eax
push 0x401d00
jmp 0x411924
mov ecx, dword [ebp - 0x810]
mov dl, byte [ecx]
cmp dl, 0x2f
je 0x41191f
cmp dl, 0x5c
jne 0x411920
inc ecx
sub eax, esi
push eax
push ecx
push ebx
push esi
call fcn.0041a157
add esp, 0x10
cmp dword [0x4287d0], 0
push 0x5c
mov cl, 0x2f
pop eax
je 0x411940
mov cl, al
mov al, 0x2f
cmp byte [0x428a10], 0
je 0x411955
cmp byte [edi], cl
jne 0x41194f
mov byte [edi], al
inc edi
cmp byte [edi], 0
jne 0x411949
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00419fba
leave
ret 8