Function at 0x4092f0
Capabilities:
Set current directory

Disassembly:
sub esp, 0xa3c
mov eax, dword [0x431114]
xor eax, esp
mov dword [esp + 0xa38], eax
push esi
mov esi, dword [esp + 0xa44]
push edi
mov edi, dword [esp + 0xa50]
push 1
push str.KmSFX
call fcn.0040e0c0
push edi
push str.KmSFX_____s__n
call fcn.0040e270
push 0x1c2d0
call fcn.004160af
add esp, 0x14
test eax, eax
je 0x409345
mov ecx, eax
call fcn.0040da00
jmp 0x409347
xor eax, eax
push ebx
push ebp
push 0x429ca8
push edi
mov ecx, eax
mov dword [esp + 0x18], eax
call fcn.0040da10
mov ebx, eax
push ebx
push str.Arguments____d_n
mov dword [esp + 0x24], ebx
call fcn.0040e270
add esp, 8
xor edi, edi
test ebx, ebx
jle 0x4093d3
mov eax, dword [esp + 0x10]
mov ebx, eax
lea ebp, [eax + 0x32c8]
jmp 0x409386
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x1c2cc], 0
je 0x4093a1
xor ecx, ecx
cmp edi, dword [eax + 0x1c2c8]
setge cl
dec ecx
and ecx, ebp
mov eax, ecx
jmp 0x4093b1
xor edx, edx
cmp edi, dword [eax + 0x1c2c8]
setge dl
dec edx
and edx, ebx
mov eax, edx
push eax
push edi
push str.___d____s__n
call fcn.0040e270
inc edi
add esp, 0xc
add ebp, 0x800
add ebx, 0x104
cmp edi, dword [esp + 0x1c]
jl 0x409382
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x232]
push ecx
mov word [esp + 0x234], ax
call fcn.00416560
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x36]
push eax
mov word [esp + 0x38], dx
call fcn.00416560
mov edi, dword [esp + 0x34]
add esp, 0x18
test edi, edi
jle 0x4095fc
xor ecx, ecx
push 0x40e
push ecx
lea edx, [esp + 0x43a]
push edx
mov word [esp + 0x43c], cx
call fcn.00416560
add esp, 0xc
xor ebp, ebp
test edi, edi
jle 0x4095fc
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
add eax, 0x32c8
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov bl, byte [eax + 0x1c2cc]
test bl, bl
je 0x409475
mov ecx, eax
mov edi, dword [ecx + 0x1c2c8]
xor ecx, ecx
cmp ebp, edi
setge cl
dec ecx
and ecx, dword [esp + 0x14]
jmp 0x40948b
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 0x1c2c8]
xor ecx, ecx
cmp ebp, edi
setge cl
dec ecx
and ecx, dword [esp + 0x18]
lea edx, [esp + 0x430]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x409492
cmp word [esp + 0x430], 0x2f
jne 0x4094bb
mov eax, 0x2d
mov word [esp + 0x430], ax
xor eax, eax
test bl, bl
je 0x4094cd
cmp ebp, edi
setge al
dec eax
and eax, dword [esp + 0x14]
jmp 0x4094d7
cmp ebp, edi
setge al
dec eax
and eax, dword [esp + 0x18]
push 0x429c68
push eax
call fcn.004168ee
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
add esp, 8
test eax, eax
jne 0x409551
lea ecx, [ebx - 1]
cmp ebp, ecx
jge 0x409551
cmp byte [edi + 0x1c2cc], al
je 0x40951b
lea edx, [ebp + 1]
cmp edx, dword [edi + 0x1c2c8]
jl 0x40950f
xor ecx, ecx
jmp 0x409534
mov ecx, dword [esp + 0x14]
add ecx, 0x800
jmp 0x409534
lea eax, [ebp + 1]
cmp eax, dword [edi + 0x1c2c8]
jl 0x40952a
xor ecx, ecx
jmp 0x409534
mov ecx, dword [esp + 0x18]
add ecx, 0x104
lea edx, [esp + 0x228]
jmp 0x409540
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x409540
xor eax, eax
cmp byte [edi + 0x1c2cc], al
je 0x40956b
cmp ebp, dword [edi + 0x1c2c8]
setge al
dec eax
and eax, dword [esp + 0x14]
jmp 0x409579
cmp ebp, dword [edi + 0x1c2c8]
setge al
dec eax
and eax, dword [esp + 0x18]
push 0x429c60
push eax
call fcn.004168ee
add esp, 8
test eax, eax
jne 0x4095e3
lea ecx, [ebx - 1]
cmp ebp, ecx
jge 0x4095e3
cmp byte [edi + 0x1c2cc], al
je 0x4095b5
lea edx, [ebp + 1]
cmp edx, dword [edi + 0x1c2c8]
jl 0x4095a9
xor ecx, ecx
jmp 0x4095ce
mov ecx, dword [esp + 0x14]
add ecx, 0x800
jmp 0x4095ce
lea eax, [ebp + 1]
cmp eax, dword [edi + 0x1c2c8]
jl 0x4095c4
xor ecx, ecx
jmp 0x4095ce
mov ecx, dword [esp + 0x18]
add ecx, 0x104
lea edx, [esp + 0x20]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x4095d2
add dword [esp + 0x14], 0x800
add dword [esp + 0x18], 0x104
inc ebp
cmp ebp, ebx
jl 0x409451
mov edi, dword [esp + 0x10]
push 0x850
xor ebx, ebx
push ebx
push 0x432608
call fcn.00416560
push 0x934
mov dword [0x432614], esi
call fcn.004160af
add esp, 0x10
cmp eax, ebx
je 0x409632
mov ecx, eax
call fcn.004139a0
jmp 0x409634
xor eax, eax
push 0x4b028
mov dword [0x432608], eax
call fcn.004160af
add esp, 4
cmp eax, ebx
je 0x409654
push ebx
mov ecx, eax
call fcn.00415980
jmp 0x409656
xor eax, eax
push 0x28c834
mov dword [0x43260c], eax
call fcn.004160af
add esp, 4
cmp eax, ebx
je 0x409675
mov ecx, eax
call fcn.00403910
jmp 0x409677
xor eax, eax
push 0x104
lea ecx, [esp + 0x844]
push ecx
push ebx
mov dword [0x432610], eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov ecx, dword [0x432608]
push ebx
push 0x432618
lea edx, [esp + 0x848]
push edx
call fcn.00412bb0
mov eax, 0x432618
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4096b1
sub eax, edx
sar eax, 1
cmp word [eax*2 + 0x432616], 0x5c
jne 0x4096ec
mov eax, 0x432618
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4096d3
sub eax, edx
sar eax, 1
xor ecx, ecx
mov word [eax*2 + 0x432616], cx
push 0x432618
push str._g_dta.wszDirRoot___s__n
call fcn.0040e270
add esp, 8
push 0x432618
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea edx, [esp + 0x228]
push edx
mov dword [0x432828], ebx
mov dword [0x43282c], ebx
call fcn.004090f0
mov dword [0x432828], eax
lea eax, [esp + 0x24]
push eax
call fcn.004090f0
mov ecx, dword [0x432828]
push ecx
push str._Install_Locale_from_Command_line____04x__n
mov dword [0x43282c], eax
call fcn.0040e270
mov edx, dword [0x43282c]
push edx
push str._UI______Locale_from_Command_line____04x__n
call fcn.0040e270
add esp, 0x18
cmp dword [0x432828], ebx
jne 0x409786
mov eax, dword [0x432608]
cmp dword [eax], 0x12
mov ecx, dword [0x43260c]
jg 0x409777
push 1
jmp 0x40977c
push 0x100
call fcn.00414ab0
mov dword [0x432828], eax
mov eax, dword [0x43282c]
cmp eax, ebx
jne 0x4097a0
mov ecx, dword [0x43260c]
push ebx
call fcn.00414ab0
mov dword [0x43282c], eax
cmp dword [0x432828], 0x816
je 0x4097b6
and dword [0x432828], 0xff
cmp eax, 0x816
je 0x4097c7
and eax, 0xff
mov dword [0x43282c], eax
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 9
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0x12
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0xc0
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0xc1
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0x11
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0xc
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0x10
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 7
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0x16
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0xa
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0x19
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 5
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0x15
push esi
call fcn.00415a50
push 1
push 0x6b
push 0x13
mov ecx, dword [0x43260c]
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0xb
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 8
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0x14
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 6
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0xe
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0x1d
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0x1f
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0x816
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 1
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0xd
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0x18
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0x1e
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 0x2a
push esi
call fcn.00415a50
mov ecx, dword [0x43260c]
push 1
push 0x6b
push 3
push esi
call fcn.00415a50
mov ecx, dword [0x43282c]
push ecx
mov ecx, dword [0x43260c]
call fcn.004146d0
mov ecx, dword [0x432828]
mov edx, dword [0x43260c]
mov eax, dword [edx + 8]
push ecx
push str._Locale_to_use_For_Install:_g_dta.dwLanguageID____04x__n
mov dword [0x43282c], eax
call fcn.0040e270
mov edx, dword [0x43282c]
push edx
push str._Locale_to_use_for_UI_____:_g_dta.dwUiLanguageID____04x__n
call fcn.0040e270
mov eax, dword [0x43282c]
mov ecx, dword [0x43260c]
add esp, 0x10
push ebx
push 0x2bc
push 0xc
push eax
call fcn.00415610
mov ecx, dword [0x43282c]
push ebx
push 0x2bc
push 0xa
push ecx
mov ecx, dword [0x43260c]
call fcn.00415610
mov edx, dword [0x43282c]
mov ecx, dword [0x43260c]
push ebx
push 0x190
push ebx
push edx
mov dword [0x432834], eax
call fcn.00415610
mov ecx, dword [0x43260c]
mov dword [0x432830], eax
mov dword [ecx + 0x2b01c], eax
mov edx, dword [0x432834]
mov eax, dword [0x43260c]
mov dword [eax + 0x2b020], edx
call fcn.00409010
mov ecx, dword [0x432610]
call fcn.00402d10
test eax, eax
je 0x409b24
push 0x134
call fcn.004160af
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x409abd
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
mov ecx, esi
call fcn.0040a4c0
mov esi, eax
jmp 0x409abf
xor esi, esi
push 0x46c
call fcn.004160af
add esp, 4
cmp eax, ebx
je 0x409ada
push ebx
mov ecx, eax
call fcn.00401a80
jmp 0x409adc
xor eax, eax
push 0x6c
push eax
mov ecx, esi
call fcn.00409d00
push 0x294
call fcn.004160af
add esp, 4
cmp eax, ebx
je 0x409b01
push ebx
mov ecx, eax
call section..text
jmp 0x409b03
xor eax, eax
push 0x69
push eax
mov ecx, esi
call fcn.00409d00
mov ecx, esi
call fcn.0040a430
cmp esi, ebx
je 0x409b31
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
jmp 0x409b31
push str.No_Project_file_detected..._n
call fcn.0040e270
add esp, 4
mov ecx, dword [0x43260c]
mov esi, ecx
cmp ecx, ebx
je 0x409b4b
call fcn.00413e20
push esi
call fcn.0041603a
add esp, 4
mov ecx, dword [0x432608]
mov esi, ecx
cmp ecx, ebx
je 0x409b65
call fcn.0040a7f0
push esi
call fcn.0041603a
add esp, 4
cmp edi, ebx
je 0x409b79
mov ecx, edi
call fcn.0040a7f0
push edi
call fcn.0041603a
add esp, 4
mov ecx, dword [0x432610]
pop ebp
cmp ecx, ebx
mov esi, ecx
pop ebx
je 0x409b95
call fcn.00402cd0
push esi
call fcn.0041603a
add esp, 4
push str.KMSFX__Ended._C_ya__n
call fcn.0040e270
mov ecx, dword [esp + 0xa44]
add esp, 4
pop edi
pop esi
xor ecx, esp
mov eax, 1
call fcn.004164fa
add esp, 0xa3c
ret 0x10