Function at 0x403d20
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
lea ecx, [ebp + 8]
push esi
sub esp, 8
call fcn.004129c0
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x403d66
push 0
push 0x431e4b
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
call fcn.00412fd0
lea eax, [ebp - 0x30]
mov esi, 1
xor ecx, ecx
jmp 0x403d9c
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.00412fd0
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 0x403df6
mov edx, dword [ebp - 4]
cmp edx, 0x10
jb 0x403df6
mov ecx, dword [ebp - 0x18]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403dec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403ffb
push edx
push ecx
call fcn.00414180
add esp, 8
test esi, esi
je 0x403e2e
mov edx, dword [ebp - 0x1c]
cmp edx, 0x10
jb 0x403e2e
mov ecx, dword [ebp - 0x30]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403e24
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403ffb
push edx
push ecx
call fcn.00414180
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 0x403e74
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403e6a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403ffb
push edx
push ecx
call fcn.00414180
add esp, 8
sub esp, 0x18
mov esi, esp
sub esp, 0x18
mov ecx, esp
push 0x435954
call fcn.00412c60
lea ecx, [ebp - 0x18]
call fcn.00402b70
add esp, 0x18
push eax
lea eax, [ebp + 8]
push eax
sub esp, 0x18
mov ecx, esp
push 0x435ccc
call fcn.00412c60
lea ecx, [ebp - 0x30]
call fcn.00402b70
add esp, 0x18
lea ecx, [ebp - 0x48]
mov edx, eax
call fcn.00413200
add esp, 4
mov edx, eax
mov ecx, esi
call fcn.00413110
sub esp, 0x14
mov esi, esp
sub esp, 0x18
mov ecx, esp
push 0x435fe4
call fcn.00412c60
mov ecx, esi
call fcn.00402b70
mov ecx, esp
push 1
push str.0123456789
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.00412fd0
call fcn.00403680
mov edx, dword [ebp - 0x34]
add esp, 0x48
cmp edx, 0x10
jb 0x403f3e
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403f34
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404000
push edx
push ecx
call fcn.00414180
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 0x403f84
mov ecx, dword [ebp - 0x30]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403f7a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404000
push edx
push ecx
call fcn.00414180
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 0x403fc6
mov ecx, dword [ebp - 0x18]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403fbc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404000
push edx
push ecx
call fcn.00414180
add esp, 8
mov edx, dword [ebp + 0x1c]
cmp edx, 0x10
jb 0x403ff6
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403fec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404005
push edx
push ecx
call fcn.00414180
add esp, 8
pop esi
mov esp, ebp
pop ebp
ret
call fcn.004188f4
call fcn.004188f4
call fcn.004188f4
int3