Function at 0x100148b
Capabilities:
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x304
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [ebp - 0x304]
call dword [sym.imp.ulib.dll_public:_void___thiscall_ARGUMENT_LEXEMIZER::constructor_void_]
mov edi, dword [sym.imp.ulib.dll_public:_void___thiscall_ARRAY::constructor_void_]
lea ecx, [ebp - 0x30]
call edi
lea ecx, [ebp - 0x18]
call edi
mov ebx, dword [sym.imp.ulib.dll_public:_void___thiscall_STRING_ARGUMENT::constructor_void_]
lea ecx, [ebp - 0x208]
call ebx
mov edi, dword [sym.imp.ulib.dll_public:_void___thiscall_FLAG_ARGUMENT::constructor_void_]
lea ecx, [ebp - 0x1ac]
call edi
lea ecx, [ebp - 0x1dc]
call edi
lea ecx, [ebp - 0x11c]
call edi
lea ecx, [ebp - 0xec]
call edi
lea ecx, [ebp - 0x17c]
call edi
lea ecx, [ebp - 0xbc]
call edi
lea ecx, [ebp - 0x14c]
call edi
lea ecx, [ebp - 0x8c]
call edi
lea ecx, [ebp - 0x5c]
call ebx
xor edi, edi
inc edi
push edi
push 0x7531
push 0x7530
mov ecx, esi
mov dword [esi + 0x168], edi
call dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_PROGRAM::Initialize_unsigned_long_int__unsigned_long_int__unsigned_long_int_]
test al, al
je 0x1002063
call dword [sym.imp.ulib.dll_public:_static_unsigned_char___stdcall_SYSTEM::IsCorrectVersion_void_]
test al, al
je 0x10020f1
push 0x19
push 0x32
lea ecx, [ebp - 0x18]
call dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_ARRAY::Initialize_unsigned_long_int__unsigned_long_int_]
test al, al
je 0x1002106
mov ebx, 0x1001960
push ebx
lea ecx, [ebp - 0x208]
call dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_STRING_ARGUMENT::Initialize_char__]
test al, al
je 0x1002106
mov edi, dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_FLAG_ARGUMENT::Initialize_char__]
push 0x100195c
lea ecx, [ebp - 0x1ac]
call edi
test al, al
je 0x100191c
push 0x1001958
lea ecx, [ebp - 0x1dc]
call edi
test al, al
je 0x100191c
push 0x1001954
lea ecx, [ebp - 0x11c]
call edi
test al, al
je 0x100191c
push 0x1001950
lea ecx, [ebp - 0xec]
call edi
test al, al
je 0x100191c
push 0x1001944
lea ecx, [ebp - 0x17c]
call edi
test al, al
je 0x100191c
push 0x100193c
lea ecx, [ebp - 0xbc]
call edi
test al, al
je 0x100191c
push 0x1001938
lea ecx, [ebp - 0x14c]
call edi
test al, al
je 0x100191c
push 0x1001934
lea ecx, [ebp - 0x8c]
call edi
test al, al
je 0x100191c
push 0x1001930
lea ecx, [ebp - 0x5c]
call dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_STRING_ARGUMENT::Initialize_char__]
test al, al
je 0x100191c
push 1
push 0
lea ecx, [esi + 0xa8]
push ebx
call dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_MULTIPLE_PATH_ARGUMENT::Initialize_char___unsigned_char__unsigned_char_]
test al, al
je 0x100191c
mov edi, dword [sym.imp.ulib.dll_public_virtual:_unsigned_char___thiscall_ARRAY::Put_class_OBJECT__]
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp - 0x18]
call edi
test al, al
je 0x100190c
lea eax, [ebp - 0x1ac]
push eax
lea ecx, [ebp - 0x18]
call edi
test al, al
je 0x100190c
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x18]
call edi
test al, al
je 0x100190c
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x18]
call edi
test al, al
je 0x100190c
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0x18]
call edi
test al, al
je 0x100190c
lea eax, [ebp - 0x17c]
push eax
lea ecx, [ebp - 0x18]
call edi
test al, al
je 0x100190c
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x18]
call edi
test al, al
je 0x100190c
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x18]
call edi
test al, al
je 0x100190c
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x18]
call edi
test al, al
je 0x100190c
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x18]
call edi
test al, al
je 0x100190c
lea eax, [esi + 0xa8]
push eax
lea ecx, [ebp - 0x18]
call edi
test al, al
je 0x100190c
push 0x19
push 0x32
lea ecx, [ebp - 0x30]
call dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_ARRAY::Initialize_unsigned_long_int__unsigned_long_int_]
test al, al
je 0x100190c
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x304]
call dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_ARGUMENT_LEXEMIZER::Initialize_class_ARRAY__]
test al, al
je 0x100190c
push 0x100192c
lea ecx, [ebp - 0x304]
call dword [sym.imp.ulib.dll_public:_void___thiscall_ARGUMENT_LEXEMIZER::PutSwitches_char_const__]
mov edi, dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_WSTRING::Initialize_char_const___unsigned_long_int_]
push 0xffffffffffffffff
mov ebx, 0x1001928
push ebx
lea ecx, [ebp - 0x2a0]
call edi
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x270]
call edi
push 0x1001924
lea ecx, [ebp - 0x304]
call dword [sym.imp.ulib.dll_public:_void___thiscall_ARGUMENT_LEXEMIZER::PutSeparators_char_const__]
xor edi, edi
push edi
lea ecx, [ebp - 0x304]
call dword [sym.imp.ulib.dll_public:_void___thiscall_ARGUMENT_LEXEMIZER::SetCaseSensitive_unsigned_char_]
push edi
lea ecx, [ebp - 0x304]
call dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_ARGUMENT_LEXEMIZER::PrepareToParse_class_WSTRING__]
test al, al
je 0x1002110
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x304]
call dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_ARGUMENT_LEXEMIZER::DoParsing_class_ARRAY__]
test al, al
je 0x100211b
cmp byte [esi + 0xe1], 0
jne 0x1002135
cmp byte [ebp - 0x60], 0
jne 0x1002159
cmp byte [ebp - 0x120], 0
jne 0x1002164
lea ecx, [ebp - 0x5c]
call dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_ARGUMENT::IsValueSet_void_]
test al, al
je 0x1002110
push 0xffffffffffffffff
push edi
push dword [ebp - 0x34]
lea ecx, [esi + 0x90]
call dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_WSTRING::Initialize_class_WSTRING_const___unsigned_long_int__unsigned_long_int_]
cmp byte [ebp - 0x180], 0
sete al
cmp byte [ebp - 0x1b0], 0
mov byte [esi + 0x88], al
sete al
cmp byte [ebp - 0xf0], 0
mov byte [esi + 0x89], al
sete al
cmp byte [ebp - 0x150], 0
mov byte [esi + 0x8a], al
mov al, byte [ebp - 0xc0]
mov byte [esi + 0x8b], al
jne 0x1001915
cmp byte [ebp - 0x90], 0
jne 0x1001915
mov al, 1
mov byte [esi + 0x8c], al
mov esi, dword [sym.imp.ulib.dll_public_virtual:_void___thiscall_STRING_ARGUMENT::destructor_void_]
lea ecx, [ebp - 0x5c]
call esi
lea ecx, [ebp - 0x8c]
call fcn.01001970
lea ecx, [ebp - 0x14c]
call fcn.01001970
lea ecx, [ebp - 0xbc]
call fcn.01001970
lea ecx, [ebp - 0x17c]
call fcn.01001970
lea ecx, [ebp - 0xec]
call fcn.01001970
lea ecx, [ebp - 0x11c]
call fcn.01001970
lea ecx, [ebp - 0x1dc]
call fcn.01001970
lea ecx, [ebp - 0x1ac]
call fcn.01001970
lea ecx, [ebp - 0x208]
call esi
mov esi, dword [sym.imp.ulib.dll_public_virtual:_void___thiscall_ARRAY::destructor_void_]
lea ecx, [ebp - 0x18]
call esi
lea ecx, [ebp - 0x30]
call esi
lea ecx, [ebp - 0x304]
call dword [sym.imp.ulib.dll_public_virtual:_void___thiscall_ARGUMENT_LEXEMIZER::destructor_void_]
mov al, 1
pop edi
pop esi
pop ebx
leave
ret
mov eax, dword [esi]
push 1
jmp 0x1002109
xor al, al
jmp 0x1001878
xor edi, edi
inc edi
jmp 0x1002106
mov esi, dword [sym.imp.ulib.dll_public_virtual:_void___thiscall_STRING_ARGUMENT::destructor_void_]
lea ecx, [ebp - 0x5c]
call esi
lea ecx, [ebp - 0x8c]
call fcn.01001970
lea ecx, [ebp - 0x14c]
call fcn.01001970
lea ecx, [ebp - 0xbc]
call fcn.01001970
lea ecx, [ebp - 0x17c]
call fcn.01001970
lea ecx, [ebp - 0xec]
call fcn.01001970
lea ecx, [ebp - 0x11c]
call fcn.01001970
lea ecx, [ebp - 0x1dc]
call fcn.01001970
lea ecx, [ebp - 0x1ac]
call fcn.01001970
lea ecx, [ebp - 0x208]
call esi
mov esi, dword [sym.imp.ulib.dll_public_virtual:_void___thiscall_ARRAY::destructor_void_]
lea ecx, [ebp - 0x18]
call esi
lea ecx, [ebp - 0x30]
call esi
lea ecx, [ebp - 0x304]
call dword [sym.imp.ulib.dll_public_virtual:_void___thiscall_ARGUMENT_LEXEMIZER::destructor_void_]
xor al, al
jmp 0x1001907
mov eax, dword [esi]
push edi
push 0x2ee1
mov ecx, esi
call dword [eax + 0xc]
push 2
call dword [sym.imp.msvcrt.dll_exit]
mov eax, dword [esi]
push edi
push 0x2eec
jmp 0x10020f9
mov eax, dword [esi]
push 1
push 0x2ee3
jmp 0x10020f9
cmp byte [ebp - 0x60], 0
mov eax, dword [esi]
push 1
mov ecx, esi
je 0x100212e
push 0x2ee2
jmp 0x10020fb
push 0x2ee3
jmp 0x10020fb
movzx ecx, byte [esi + 0xe1]
neg ecx
sbb ecx, ecx
lea eax, [esi + 0xe4]
and ecx, eax
push ecx
push 1
push 2
push 0x2ee6
mov ecx, esi
call fcn.01002289
mov eax, dword [esi]
push 1
push 0x2ee2
jmp 0x10020f9
mov eax, dword [esi]
push edi
push 0x2ee4
mov ecx, esi
call dword [eax + 0xc]
push edi
jmp 0x1002100