Function at 0x401604
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xae0
push ebx
push esi
xor ebx, ebx
push edi
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x10], ebx
call sub.UTL90.dll_Ordinal_28
mov esi, eax
mov edi, 0x152
cmp esi, ebx
mov ebx, dword [sym.imp.MSVCRT.dll_exit]
jne 0x40164d
push edi
push dword [esi]
call sub.UIW90.dll_Ordinal_136
pop ecx
pop ecx
push eax
push 1
push 0
call sub.UIW90.dll_Ordinal_135
add esp, 0xc
push 0xffffffffffffffff
call ebx
pop ecx
xor eax, eax
lea ecx, [ebp - 8]
push eax
push eax
push ecx
push 1
push eax
call sub.oranls9.dll_lxlinit
add esp, 0xc
push eax
lea eax, [ebp - 0xd0]
push eax
call sub.oranls9.dll_lxinitc
add esp, 0x10
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x6e0]
push 0
push eax
call sub.oranls9.dll_lxhLangEnv
add esp, 0xc
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x4016aa
push edi
push dword [esi]
call sub.UIW90.dll_Ordinal_136
pop ecx
pop ecx
push eax
push 1
push esi
call sub.UIW90.dll_Ordinal_135
add esp, 0xc
push 0xfffffffffffffffd
call ebx
pop ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x8c], 2
mov dword [ebp - 0x84], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x8c]
push eax
push esi
call sub.UIW90.dll_Ordinal_8001
mov edi, eax
pop ecx
test edi, edi
pop ecx
je 0x4016f6
push 0x14e
push dword [esi]
call sub.UIW90.dll_Ordinal_136
pop ecx
pop ecx
push eax
push 1
push esi
call sub.UIW90.dll_Ordinal_135
add esp, 0xc
push edi
call ebx
pop ecx
lea eax, [ebp - 0x8c]
push eax
push esi
call sub.UIW90.dll_Ordinal_1014
mov edi, eax
pop ecx
test edi, edi
pop ecx
je 0x401729
push 0x14f
push dword [esi]
call sub.UIW90.dll_Ordinal_136
pop ecx
pop ecx
push eax
push 1
push esi
call sub.UIW90.dll_Ordinal_135
add esp, 0xc
push edi
call ebx
pop ecx
push 1
mov dword [ebp + 8], 0x30
pop eax
cmp dword [ebp - 0x84], eax
mov dword [ebp - 8], eax
jbe 0x401807
mov ecx, dword [ebp - 0x80]
mov edi, dword [ecx + eax*4]
cmp byte [edi], 0x2d
jne 0x4017f1
inc edi
push str.help
push edi
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
je 0x4017e8
push str.usage
push edi
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
je 0x4017e8
push str.version
push edi
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x401792
mov dword [ebp - 0x10], 1
jmp 0x4017f4
push str.time
push edi
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x4017a9
or dword [ebp + 8], 0x40
jmp 0x4017f4
push 0x403114
push edi
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x4017c0
or dword [ebp + 8], 2
jmp 0x4017f4
push str.parse
push edi
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x4017d7
or dword [ebp + 8], 4
jmp 0x4017f4
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x80]
push dword [ecx + eax*4]
push esi
call fcn.004014f3
pop ecx
pop ecx
mov dword [ebp - 4], 1
jmp 0x4017f4
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 8]
inc eax
cmp eax, dword [ebp - 0x84]
mov dword [ebp - 8], eax
jb 0x401742
cmp dword [ebp - 0x10], 0
je 0x401814
push esi
call fcn.00401578
pop ecx
cmp dword [ebp - 4], 0
je 0x40182c
mov eax, dword [ebp + 0xc]
push dword [eax]
push esi
call fcn.00401537
pop ecx
pop ecx
push 0xfffffffffffffffe
call ebx
pop ecx
lea eax, [ebp - 9]
push eax
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x18]
push dword [ebp + 8]
push esi
call sub.UIW90.dll_Ordinal_132
add esp, 0x14
test eax, eax
je 0x40184b
push eax
call ebx
pop ecx
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0xae0]
push 0x400
push eax
push edi
push esi
call sub.UIW90.dll_Ordinal_133
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x4018a7
test edi, edi
jne 0x401873
mov edi, str.uifont
push edi
push 0x12e
push dword [esi]
call sub.UIW90.dll_Ordinal_136
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x4d0]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea eax, [ebp - 0x4d0]
push eax
push 1
push esi
call sub.UIW90.dll_Ordinal_135
add esp, 0xc
jmp 0x401909
lea eax, [ebp - 0xae0]
push eax
push 0x153
push dword [esi]
call sub.UIW90.dll_Ordinal_136
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x4d0]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea eax, [ebp - 0x4d0]
push eax
push esi
call sub.UIW90.dll_Ordinal_130
pop ecx
pop ecx
push edi
push esi
call sub.UIW90.dll_Ordinal_131
mov ebx, eax
pop ecx
test ebx, ebx
pop ecx
je 0x4018f2
push 0x155
jmp 0x4018f7
push 0x154
push dword [esi]
call sub.UIW90.dll_Ordinal_136
pop ecx
pop ecx
push eax
push esi
call sub.UIW90.dll_Ordinal_130
pop ecx
pop ecx
lea eax, [ebp - 0x8c]
push eax
push esi
call sub.UIW90.dll_Ordinal_1013
pop ecx
pop ecx
push esi
call sub.UIW90.dll_Ordinal_134
pop ecx
push esi
call sub.UIW90.dll_Ordinal_1021
pop ecx
push esi
call sub.UTL90.dll_Ordinal_29
pop ecx
pop edi
mov eax, ebx
pop esi
pop ebx
leave
ret