Function at 0x404350
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54263f
mov eax, dword fs:[0]
push eax
mov eax, 0x2340
call fcn.00525f60
mov eax, dword [0x5a674c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
call fcn.004035d0
push 0
call fcn.0043e84e
test eax, eax
jne 0x4043a3
push 0xffffffffffffffff
push eax
push 0x67
call fcn.00433a4f
jmp 0x4048f2
push 4
call fcn.0043cc8e
test eax, eax
je 0x4043b8
mov dword [eax], vtable.CCustomOccManager.0
mov esi, eax
jmp 0x4043ba
xor esi, esi
push 8
call fcn.00425ff7
add esp, 4
mov dword [ebp - 0x2344], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x4043de
mov ecx, eax
call fcn.004033d0
jmp 0x4043e0
xor eax, eax
push esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebx + 0xb8], eax
call fcn.0043bb37
add esp, 4
push str.071784A2_EE35_4e6a_92D0_6E7A4B985171
push 0
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
test eax, eax
jmp 0x40441f
mov edx, dword [ebx + 0x64]
test edx, edx
jne 0x40442a
xor eax, eax
jmp 0x404439
mov eax, edx
lea edi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404430
sub eax, edi
push eax
push edx
lea ecx, [ebx + 0xbc]
call fcn.00401530
push 4
push str..exe
lea ecx, [ebx + 0xbc]
call fcn.00403be0
mov eax, dword [ebx + 0x48]
push eax
lea ecx, [ebp - 0xffc]
mov dword [ebp - 4], 1
call fcn.004037b0
test al, al
je 0x4048e7
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x104
lea ecx, [ebp - 0x39c]
push ecx
push 0
call esi
lea edx, [ebp - 0x18]
push edx
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0xaa0]
push ecx
lea edx, [ebp - 0x234c]
push edx
lea eax, [ebp - 0x39c]
push eax
call fcn.00525e4b
add esp, 0x14
push reloc.OLEAUT32.dll_SysReAllocString
mov ecx, 0x5a7e50
call fcn.00414860
mov ecx, dword [ebx + 0x48]
push str.not_used
push ecx
call fcn.00538305
push 0xc
push 0x554c4c
lea edx, [ebp - 0x118]
push str._s__d_
push edx
call fcn.00525601
add esp, 0x18
push 0
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2344], esp
push str.SoftwareNtreevPangya_Th
call fcn.004018e0
mov ecx, 0x5a7e50
call fcn.00414b40
test eax, eax
jne 0x404524
push eax
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.00433a01
jmp 0x4048e7
push 0x630
call fcn.00425ff7
add esp, 4
mov dword [ebp - 0x2344], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x404546
mov ecx, eax
call fcn.00408260
push ecx
mov ecx, esp
mov dword [ebp - 0x2344], esp
push str.v0.00
mov byte [ebp - 4], 1
call fcn.004018e0
push ecx
mov ecx, esp
mov dword [ebp - 0x2340], esp
push str.Launcher_Version
mov byte [ebp - 4], 3
call fcn.004018e0
lea ecx, [ebp - 0x2348]
push ecx
mov ecx, 0x5a7e50
mov byte [ebp - 4], 1
call fcn.00414c80
lea edx, [ebp - 0x2348]
push str.v5.01
push edx
mov byte [ebp - 4], 4
call fcn.00403900
add esp, 8
test al, al
je 0x4045e6
mov eax, dword [0x5a7c44]
push ecx
mov ecx, esp
mov dword [ebp - 0x2340], esp
push str.v5.01
mov byte [eax + 0x1e], 1
call fcn.004018e0
push ecx
mov ecx, esp
mov dword [ebp - 0x2344], esp
push str.Launcher_Version
mov byte [ebp - 4], 5
call fcn.004018e0
mov ecx, 0x5a7e50
mov byte [ebp - 4], 4
call fcn.004149e0
push ecx
mov ecx, esp
mov dword [ebp - 0x2340], esp
push str.not_used
call fcn.004018e0
push ecx
mov ecx, esp
mov dword [ebp - 0x2344], esp
push str.Argument
mov byte [ebp - 4], 6
call fcn.004018e0
mov ecx, 0x5a7e50
mov byte [ebp - 4], 4
call fcn.004149e0
push ecx
mov ecx, esp
mov dword [ebp - 0x2340], esp
push str.update.exe
call fcn.004018e0
push ecx
mov ecx, esp
mov dword [ebp - 0x2344], esp
push str.Patcher
mov byte [ebp - 4], 7
call fcn.004018e0
mov ecx, 0x5a7e50
mov byte [ebp - 4], 4
call fcn.004149e0
push ecx
mov ecx, esp
mov dword [ebp - 0x2340], esp
push str.update.exe
call fcn.004018e0
push ecx
mov ecx, esp
mov dword [ebp - 0x2344], esp
push str.Launcher
mov byte [ebp - 4], 8
call fcn.004018e0
mov ecx, 0x5a7e50
mov byte [ebp - 4], 4
call fcn.004149e0
push reloc.OLEAUT32.dll_SysReAllocString
mov ecx, 0x5a7e60
call fcn.00414860
push 0
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2340], esp
push str.SoftwareNtreevPangya_ThOption
call fcn.004018e0
mov ecx, 0x5a7e60
call fcn.00414b40
test eax, eax
jne 0x4046e9
mov ecx, dword [0x5a7c44]
test ecx, ecx
je 0x4046d4
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
push 0
push 0
lea ecx, [ebp - 0x118]
push ecx
call fcn.00433a01
jmp 0x4048dc
push 0x1ff
lea edx, [ebp - 0x59b]
push 0
push edx
mov byte [ebp - 0x59c], 0
call fcn.00525ee0
add esp, 0xc
push 0x200
lea eax, [ebp - 0x59c]
push eax
push 0
call esi
lea ecx, [ebp - 0x59c]
push ecx
lea ecx, [ebp - 0xae8]
call fcn.0040e6d0
lea ecx, [ebp - 0xae8]
mov byte [ebp - 4], 9
call fcn.0040e9f0
mov edx, 0x5a7c50
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x404740
mov eax, 0x5a7c50
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404752
sub eax, edx
jne 0x4047a3
push 0x27
push 0x554c4c
lea edx, [ebp - 0x218]
push str._s__d_
push edx
call fcn.00525601
add esp, 0x10
push 0
push 0
lea eax, [ebp - 0x218]
push eax
call fcn.00433a01
mov ecx, dword [0x5a7c44]
test ecx, ecx
je 0x4048cd
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
jmp 0x4048cd
push 0x5a7c50
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov ecx, ebx
call fcn.00403ca0
push 0
lea ecx, [ebp - 0x233c]
call fcn.00405780
mov eax, dword [ebx + 0x48]
lea edx, [ebp - 0x14a0]
mov byte [ebp - 4], 0xa
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4047d1
lea ecx, [ebp - 0x233c]
mov dword [ebx + 0x20], ecx
call fcn.0042689e
cmp eax, 1
jne 0x4048a5
mov edi, dword [0x5a7c44]
cmp byte [edi + 0x1c], 0
jne 0x4048a5
push 0x3ff
lea edx, [ebp - 0x99b]
push 0
push edx
mov byte [ebp - 0x99c], 0
call fcn.00525ee0
mov edx, dword [ebx + 0x48]
mov eax, edx
add esp, 0xc
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404827
sub eax, esi
mov eax, dword [edi + 8]
je 0x40484d
push edx
push eax
lea eax, [ebp - 0x99c]
push str._s__s
push eax
call fcn.00525601
add esp, 0x10
jmp 0x404862
push eax
lea ecx, [ebp - 0x99c]
push 0x554bb0
push ecx
call fcn.00525601
add esp, 0xc
cmp dword [ebp - 0x1000], 1
jne 0x404896
lea eax, [ebp - 0x99c]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x404872
mov edx, dword [str.__safe]
mov cx, word [0x554bac]
mov dword [eax], edx
mov dl, byte [0x554bae]
mov word [eax + 4], cx
mov byte [eax + 6], dl
lea eax, [ebp - 0x99c]
push eax
call fcn.00403e30
add esp, 4
mov ecx, ebx
call fcn.00403ca0
mov ecx, dword [0x5a7c44]
test ecx, ecx
je 0x4048be
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
lea ecx, [ebp - 0x233c]
mov byte [ebp - 4], 9
call fcn.004041a0
lea ecx, [ebp - 0xae8]
mov byte [ebp - 4], 4
call fcn.0040e430
lea ecx, [ebp - 0x2348]
call fcn.004124f0
lea ecx, [ebp - 0xffc]
call fcn.00403420
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00525092
mov esp, ebp
pop ebp
ret