Function at 0x403d30
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
lea ecx, [ebp + 8]
push esi
sub esp, 8
call fcn.00412ba0
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x403d76
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.004131b0
lea eax, [ebp - 0x30]
mov esi, 1
xor ecx, ecx
jmp 0x403dac
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.004131b0
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 0x403e06
mov edx, dword [ebp - 4]
cmp edx, 0x10
jb 0x403e06
mov ecx, dword [ebp - 0x18]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403dfc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40400b
push edx
push ecx
call fcn.004142b0
add esp, 8
test esi, esi
je 0x403e3e
mov edx, dword [ebp - 0x1c]
cmp edx, 0x10
jb 0x403e3e
mov ecx, dword [ebp - 0x30]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403e34
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40400b
push edx
push ecx
call fcn.004142b0
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 0x403e84
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403e7a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40400b
push edx
push ecx
call fcn.004142b0
add esp, 8
sub esp, 0x18
mov esi, esp
sub esp, 0x18
mov ecx, esp
push 0x435954
call fcn.00412e40
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.00412e40
lea ecx, [ebp - 0x30]
call fcn.00402b70
add esp, 0x18
lea ecx, [ebp - 0x48]
mov edx, eax
call fcn.004133e0
add esp, 4
mov edx, eax
mov ecx, esi
call fcn.004132f0
sub esp, 0x14
mov esi, esp
sub esp, 0x18
mov ecx, esp
push 0x435fe4
call fcn.00412e40
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.004131b0
call fcn.00403690
mov edx, dword [ebp - 0x34]
add esp, 0x48
cmp edx, 0x10
jb 0x403f4e
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403f44
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404010
push edx
push ecx
call fcn.004142b0
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 0x403f94
mov ecx, dword [ebp - 0x30]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403f8a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404010
push edx
push ecx
call fcn.004142b0
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 0x403fd6
mov ecx, dword [ebp - 0x18]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403fcc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404010
push edx
push ecx
call fcn.004142b0
add esp, 8
mov edx, dword [ebp + 0x1c]
cmp edx, 0x10
jb 0x404006
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403ffc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404015
push edx
push ecx
call fcn.004142b0
add esp, 8
pop esi
mov esp, ebp
pop ebp
ret
call fcn.00418a24
call fcn.00418a24
call fcn.00418a24
int3