Function at 0x4053f0
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
lea ecx, [ebp + 8]
push esi
sub esp, 8
call fcn.004141a0
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x405436
push 0
push 0x44358f
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
call fcn.00414eb0
lea eax, [ebp - 0x30]
mov esi, 1
xor ecx, ecx
jmp 0x40546c
cmp dword [ebp + 0x18], ecx
lea eax, [ebp + 8]
mov dword [ebp - 8], 0
cmovb ecx, dword [ebp + 0x18]
cmp dword [ebp + 0x1c], 0x10
push ecx
cmovae eax, dword [ebp + 8]
lea ecx, [ebp - 0x18]
push eax
mov dword [ebp - 4], 0xf
mov byte [ebp - 0x18], 0
call fcn.00414eb0
xor esi, esi
lea eax, [ebp - 0x18]
lea ecx, [esi + 2]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x48], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x38], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
test ecx, ecx
je 0x4054c6
mov edx, dword [ebp - 4]
cmp edx, 0x10
jb 0x4054c6
mov ecx, dword [ebp - 0x18]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4054bc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4056cb
push edx
push ecx
call fcn.00417582
add esp, 8
test esi, esi
je 0x4054fe
mov edx, dword [ebp - 0x1c]
cmp edx, 0x10
jb 0x4054fe
mov ecx, dword [ebp - 0x30]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4054f4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4056cb
push edx
push ecx
call fcn.00417582
add esp, 8
cmp dword [ebp - 0x34], 0x10
lea eax, [ebp - 0x48]
cmovae eax, dword [ebp - 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov edx, dword [ebp - 0x34]
cmp edx, 0x10
jb 0x405544
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40553a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4056cb
push edx
push ecx
call fcn.00417582
add esp, 8
sub esp, 0x18
mov esi, esp
sub esp, 0x18
mov ecx, esp
push 0x447968
call fcn.00414750
lea ecx, [ebp - 0x18]
call fcn.004034e0
add esp, 0x18
push eax
lea eax, [ebp + 8]
push eax
sub esp, 0x18
mov ecx, esp
push 0x447d10
call fcn.00414750
lea ecx, [ebp - 0x30]
call fcn.004034e0
add esp, 0x18
lea ecx, [ebp - 0x48]
mov edx, eax
call fcn.00415380
add esp, 4
mov edx, eax
mov ecx, esi
call fcn.00415290
sub esp, 0x14
mov esi, esp
sub esp, 0x18
mov ecx, esp
push 0x448028
call fcn.00414750
mov ecx, esi
call fcn.004034e0
mov ecx, esp
push 1
push str.0123456789
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.00414eb0
call fcn.00404d40
mov edx, dword [ebp - 0x34]
add esp, 0x48
cmp edx, 0x10
jb 0x40560e
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x405604
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4056d0
push edx
push ecx
call fcn.00417582
add esp, 8
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
cmp edx, 0x10
jb 0x405654
mov ecx, dword [ebp - 0x30]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40564a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4056d0
push edx
push ecx
call fcn.00417582
add esp, 8
mov edx, dword [ebp - 4]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
cmp edx, 0x10
jb 0x405696
mov ecx, dword [ebp - 0x18]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40568c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4056d0
push edx
push ecx
call fcn.00417582
add esp, 8
mov edx, dword [ebp + 0x1c]
cmp edx, 0x10
jb 0x4056c6
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4056bc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4056d5
push edx
push ecx
call fcn.00417582
add esp, 8
pop esi
mov esp, ebp
pop ebp
ret
call fcn.0041ea01
call fcn.0041ea01
call fcn.0041ea01
int3