Function at 0x414a35
Capabilities:
Accept command line arguments
Set current directory

Disassembly:
push ebp
lea ebp, [esp - 0xc50]
sub esp, 0xcd0
mov eax, dword [0x437b00]
xor eax, ebp
mov dword [ebp + 0xc4c], eax
push ebx
push esi
mov esi, dword [sym.imp.PPLIB32W.DLL__PPxCommonExtCommand_8]
push edi
mov edi, dword [ebp + 0xc58]
xor ebx, ebx
push ebx
push 0x3fed
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
call esi
push str._AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
call dword [sym.imp.PPLIB32W.DLL__FixCharlengthTable_4]
push ebx
push 0xbf4d
call esi
call dword [sym.imp.KERNEL32.dll_GetACP]
cmp eax, 0x3a4
je 0x414a9f
mov dword [str.S_JIS], 0x42d77c
push 0x104
mov esi, 0x43b680
push esi
push dword [0x43b530]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push esi
call dword [sym.imp.PPLIB32W.DLL__VFSFindLastEntry_4]
xor ecx, ecx
mov word [eax], cx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [ebp - 0x6c], eax
push 0x258
lea eax, [ebp + 0x79c]
push eax
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.PPLIB32W.DLL__GetLineParamS_12]
lea eax, [ebp + 0x79c]
push eax
push dword [ebp - 0x6c]
push 0x43b2a0
call fcn.004134a8
mov dword [ebp - 0x70], eax
push 0xc
lea eax, [ebp - 0x7c]
push eax
push str.X_iexo
call dword [sym.imp.PPLIB32W.DLL__GetCustData_12]
cmp dword [0x43b2d4], ebx
jge 0x414b19
mov eax, dword [ebp - 0x7c]
mov dword [0x43b2d4], eax
cmp dword [0x43b2d8], ebx
jge 0x414b29
mov eax, dword [ebp - 0x78]
mov dword [0x43b2d8], eax
cmp dword [0x43b2dc], ebx
jge 0x414b39
mov eax, dword [ebp - 0x74]
mov dword [0x43b2dc], eax
cmp dword [ebp - 0x70], ebx
je 0x414c39
mov al, byte [0x4369b4]
cmp al, 4
je 0x414b56
mov dword [ebp - 0x68], 9
cmp al, 7
jne 0x414b5d
mov dword [ebp - 0x68], 0xb
mov eax, dword [0x4390c4]
cmp eax, ebx
jne 0x414b6e
mov ecx, dword [ebp - 0x6c]
jmp 0x414bf1
sub eax, dword [ebp - 0x6c]
sar eax, 1
lea esi, [eax + eax]
push esi
push dword [ebp - 0x6c]
lea eax, [ebp - 0x64]
push eax
call fcn.004223c0
add esp, 0xc
push 0x22
pop eax
lea ecx, [ebp + esi - 0x64]
push 2
mov word [ecx], ax
pop esi
add ecx, esi
lea eax, [ebp + 0x79c]
mov edi, ecx
mov edx, eax
sub edi, edx
movzx edx, word [eax]
mov word [edi + eax], dx
add eax, esi
cmp dx, bx
jne 0x414ba1
mov eax, ecx
lea edi, [eax + 2]
mov dx, word [eax]
add eax, esi
cmp dx, bx
jne 0x414bb4
sub eax, edi
sar eax, 1
lea eax, [ecx + eax*2]
push 0x22
pop ecx
mov word [eax], cx
push 0x20
add eax, esi
pop ecx
mov word [eax], cx
mov ecx, dword [0x4390c8]
add eax, 2
movzx edx, word [ecx]
mov word [eax], dx
add ecx, esi
add eax, esi
cmp dx, bx
jne 0x414bdc
mov edi, dword [ebp - 0x80]
lea ecx, [ebp - 0x64]
xor eax, eax
inc eax
cmp dword [0x4390bc], eax
jne 0x414c0c
movzx edx, word [0x436034]
shl edx, 0x18
or edx, 0x10
or dword [ebp - 0x68], edx
mov edx, dword [0x4390bc]
cmp edx, ebx
je 0x414c1a
cmp edx, eax
jne 0x414c39
push dword [ebp - 0x68]
mov dword [edi], eax
push ecx
push dword [0x43902c]
call dword [sym.imp.PPLIB32W.DLL__PPxView_12]
test eax, eax
je 0x414c39
mov dword [edi], ebx
xor eax, eax
jmp 0x414d6a
push dword [0x4390bc]
mov esi, 0x436030
push esi
push 0xfffffffffffffffe
call dword [sym.imp.PPLIB32W.DLL__PPxRegist_12]
test eax, eax
jge 0x414c88
cmp dword [0x438fb0], ebx
jne 0x414c88
mov dword [edi], 1
cmp dword [ebp - 0x70], ebx
je 0x414c78
push dword [ebp - 0x68]
lea eax, [ebp - 0x64]
push eax
push ebx
call dword [sym.imp.PPLIB32W.DLL__PPxView_12]
test eax, eax
je 0x414c32
jmp 0x414c30
push esi
call dword [sym.imp.PPLIB32W.DLL__PPxGetHWND_4]
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
jmp 0x414c30
call fcn.004145c4
mov eax, dword [0x43b52c]
cmp eax, ebx
je 0x414c32
cmp word [ebp + 0x79c], bx
je 0x414dfa
push eax
call fcn.00401d95
push ebx
push 0x43b2a0
push ebx
lea eax, [ebp + 0x79c]
push eax
call fcn.0040b2bd
cmp dword [0x43b8ac], ebx
jne 0x414d84
mov dword [edi], ebx
cmp dword [0x439024], ebx
jne 0x414c32
mov eax, dword [0x43689c]
movzx esi, byte [0x4369b4]
and al, 1
movzx eax, al
neg eax
sbb eax, eax
and eax, dword [0x43b1e0]
push eax
push dword [0x43b52c]
call dword [sym.imp.USER32.dll_SetMenu]
mov eax, dword [0x43cb30]
cmp eax, ebx
cmovl eax, esi
push eax
push dword [0x43b52c]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x43902c]
push ebx
call fcn.004142ca
push dword [0x43b52c]
call dword [sym.imp.USER32.dll_UpdateWindow]
cmp dword [0x43905c], 1
jne 0x414d4e
push ebx
push 0xbf49
push dword [0x43b660]
push dword [0x43b52c]
call dword [sym.imp.USER32.dll_PostMessageW]
push 1
push dword [0x43b52c]
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
push 0x43b680
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
xor eax, eax
inc eax
mov ecx, dword [ebp + 0xc4c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00422725
add ebp, 0xc50
leave
ret 4
cmp dword [0x439024], ebx
jne 0x414da9
mov eax, dword [0x43cb30]
cmp eax, ebx
jge 0x414d9c
movzx eax, byte [0x4369b4]
push eax
push dword [0x43b52c]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x43b520
call fcn.004082a7
cmp dword [0x43900c], 1
jne 0x414dd4
push ebx
push 0x850
push dword [0x43b660]
push dword [0x43b52c]
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [0x439028], ebx
je 0x414e63
push ebx
push 0xbd81
push dword [0x43b660]
push dword [0x43b52c]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x414e63
push 0xfffffffffffffff6
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 1
je 0x414e13
cmp eax, 3
jne 0x414e63
push 0x40000
push 0x43b2a0
push ebx
push str.stdin
call fcn.0040b2bd
cmp dword [0x43b8ac], ebx
je 0x414c30
cmp dword [0x439024], ebx
jne 0x414e59
mov eax, dword [0x43cb30]
cmp eax, ebx
jge 0x414e4c
movzx eax, byte [0x4369b4]
push eax
push dword [0x43b52c]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x43b520
call fcn.004082a7
cmp dword [0x439024], ebx
je 0x414cd6
call fcn.00419eb2
push ebx
push ebx
push 0x10
push dword [0x43b52c]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x414d67