Function at 0x10029af
Capabilities:
Accept command line arguments

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x7c
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [ebp - 0x1c]
call dword [sym.imp.ulib.dll_public:_void___thiscall_ARRAY::constructor_void_]
lea ecx, [ebp - 0x7c]
call dword [sym.imp.ulib.dll_public:_void___thiscall_PATH_ARGUMENT::constructor_void_]
mov edi, dword [sym.imp.ulib.dll_public:_void___thiscall_DSTRING::constructor_void_]
lea ecx, [ebp - 0x4c]
call edi
lea ecx, [ebp - 0x34]
call edi
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x4c]
call dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_WSTRING::Initialize_unsigned_short_int_const___unsigned_long_int_]
test al, al
je 0x1004180
push 0xf
push 0xf
lea ecx, [ebp - 0x1c]
call dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_ARRAY::Initialize_unsigned_long_int__unsigned_long_int_]
test al, al
je 0x1004180
mov edi, dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_PATH_ARGUMENT::Initialize_char___unsigned_char_]
push 0
mov ebx, 0x1003288
push ebx
lea ecx, [ebp - 0x7c]
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009010]
push 0
push ebx
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009014]
push 0
push 0x1003284
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009018]
push 0
push ebx
call edi
test al, al
je 0x1004180
mov ecx, dword [0x100901c]
push 0
push 0x1003284
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009020]
mov edi, dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_FLAG_ARGUMENT::Initialize_char__]
push 0x1003280
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009024]
push 0x1003278
call dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_TIMEINFO_ARGUMENT::Initialize_char__]
test al, al
je 0x1004180
mov ecx, dword [0x1009060]
push 0x1003274
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009028]
push 0x1003270
call edi
test al, al
je 0x1004180
mov ecx, dword [0x100902c]
push 0x100326c
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009030]
push 0x1003268
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009034]
push 0x1003264
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009038]
push 0x1003260
call edi
test al, al
je 0x1004180
mov ecx, dword [0x100903c]
push 0x100325c
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009040]
push 0x1003258
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009044]
push 0x1003254
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009048]
push 0x1003250
call edi
test al, al
je 0x1004180
mov ecx, dword [0x100904c]
push 0x100324c
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009050]
push 0x1003248
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009054]
push 0x1003244
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009058]
push 0x1003240
call edi
test al, al
je 0x1004180
mov ecx, dword [0x100905c]
push 0x100323c
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009064]
push 0x1003238
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009068]
push 0x1003234
call edi
test al, al
je 0x1004180
mov ecx, dword [0x100906c]
push 0x1003230
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009070]
push 0x100322c
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009074]
push 0x1003228
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009078]
push 0x1003224
call edi
test al, al
je 0x1004180
mov ecx, dword [0x100907c]
push 0x1003220
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009080]
push 0x100321c
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009084]
push 0x1003218
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009088]
push 0x1003214
call edi
test al, al
je 0x1004180
mov ecx, dword [0x100908c]
push 0x1003210
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009090]
push 0x100320c
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009094]
mov edi, dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_STRING_ARGUMENT::Initialize_char__]
push 0x1003200
call edi
test al, al
je 0x1004180
mov ecx, dword [0x1009098]
push 0x10031fc
call edi
test al, al
je 0x1004180
mov edi, dword [sym.imp.ulib.dll_public_virtual:_unsigned_char___thiscall_ARRAY::Put_class_OBJECT__]
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009020]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009024]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009060]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009028]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x100902c]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009030]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009034]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009038]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x100903c]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009040]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009044]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009048]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x100904c]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009050]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009054]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009058]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x100905c]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009064]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009068]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x100906c]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009084]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009088]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x100908c]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009090]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009070]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009074]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009078]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x100907c]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009080]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009094]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009098]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009014]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x100901c]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009010]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
push dword [0x1009018]
lea ecx, [ebp - 0x1c]
call edi
test al, al
je 0x1004180
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x4c]
push eax
mov ecx, esi
call fcn.01002873
mov ecx, dword [0x1009098]
mov dword [ebp - 4], eax
call dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_ARGUMENT::IsValueSet_void_]
test al, al
jne 0x1004195
mov eax, dword [0x1009030]
mov al, byte [eax + 0x2c]
mov byte [esi + 0x95], al
mov eax, dword [0x1009034]
mov al, byte [eax + 0x2c]
mov byte [esi + 0x96], al
test al, al
jne 0x10042cd
mov eax, dword [0x1009020]
mov al, byte [eax + 0x2c]
mov byte [esi + 0x94], al
mov eax, dword [0x1009038]
mov al, byte [eax + 0x2c]
mov ecx, esi
mov byte [esi + 0x97], al
call fcn.01002473
mov byte [esi + 0x9b], al
mov eax, dword [0x1009044]
mov al, byte [eax + 0x2c]
mov byte [esi + 0x98], al
mov eax, dword [0x1009048]
mov al, byte [eax + 0x2c]
mov byte [esi + 0x99], al
mov eax, dword [0x100904c]
mov al, byte [eax + 0x2c]
mov byte [esi + 0x9a], al
mov eax, dword [0x1009054]
mov al, byte [eax + 0x2c]
mov byte [esi + 0x9c], al
mov eax, dword [0x1009058]
mov al, byte [eax + 0x2c]
mov byte [esi + 0x9f], al
mov eax, dword [0x1009060]
mov al, byte [eax + 0x2c]
mov byte [esi + 0x9d], al
mov eax, dword [0x1009028]
mov al, byte [eax + 0x2c]
mov byte [esi + 0x9e], al
mov eax, dword [0x100902c]
mov al, byte [eax + 0x2c]
mov byte [esi + 0xad], al
mov eax, dword [0x100905c]
mov al, byte [eax + 0x2c]
mov byte [esi + 0xa3], al
mov eax, dword [0x1009064]
mov al, byte [eax + 0x2c]
mov byte [esi + 0xa0], al
mov eax, dword [0x1009068]
mov al, byte [eax + 0x2c]
mov byte [esi + 0xa1], al
mov eax, dword [0x100906c]
mov al, byte [eax + 0x2c]
mov byte [esi + 0xa2], al
mov eax, dword [0x1009070]
mov al, byte [eax + 0x2c]
mov byte [esi + 0xa4], al
mov eax, dword [0x1009074]
mov al, byte [eax + 0x2c]
mov byte [esi + 0xa5], al
mov eax, dword [0x1009078]
mov al, byte [eax + 0x2c]
mov byte [esi + 0xa6], al
mov eax, dword [0x100907c]
mov al, byte [eax + 0x2c]
mov byte [esi + 0xa7], al
mov eax, dword [0x1009080]
mov al, byte [eax + 0x2c]
mov byte [esi + 0xa8], al
mov eax, dword [0x1009084]
mov al, byte [eax + 0x2c]
mov byte [esi + 0xa9], al
mov eax, dword [0x1009088]
mov al, byte [eax + 0x2c]
mov byte [esi + 0xaa], al
mov eax, dword [0x100908c]
mov al, byte [eax + 0x2c]
mov edi, dword [ebp - 4]
mov byte [esi + 0xab], al
mov eax, dword [0x1009090]
mov al, byte [eax + 0x2c]
mov byte [esi + 0xac], al
mov eax, dword [0x1009050]
mov al, byte [eax + 0x2c]
mov byte [0x1009008], al
lea eax, [esi + 0x8c]
push eax
lea eax, [esi + 0x88]
push eax
push edi
push dword [0x100901c]
push dword [0x1009018]
push dword [0x1009014]
push dword [0x1009010]
call fcn.0100328f
test edi, edi
je 0x10031a8
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax]
mov ecx, dword [0x1009024]
mov edi, dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_ARGUMENT::IsValueSet_void_]
call edi
test al, al
jne 0x10042d9
and dword [esi + 0x90], 0
mov ecx, dword [0x1009094]
call edi
test al, al
jne 0x100432f
mov esi, dword [sym.imp.ulib.dll_public_virtual:_void___thiscall_DSTRING::destructor_void_]
lea ecx, [ebp - 0x34]
call esi
lea ecx, [ebp - 0x4c]
call esi
lea ecx, [ebp - 0x7c]
call dword [sym.imp.ulib.dll_public_virtual:_void___thiscall_PATH_ARGUMENT::destructor_void_]
lea ecx, [ebp - 0x1c]
call dword [sym.imp.ulib.dll_public_virtual:_void___thiscall_ARRAY::destructor_void_]
pop edi
pop esi
pop ebx
leave
ret
push 4
push 0
push 0x560f
mov ecx, esi
call fcn.01001cb2
jmp 0x1002fc7
mov eax, dword [0x1009098]
mov edi, dword [eax + 0x28]
push 0xffffffffffffffff
push 0x1004344
lea ecx, [ebp - 0x34]
call dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_WSTRING::Initialize_char_const___unsigned_long_int_]
mov ecx, dword [edi + 0xc]
test ecx, ecx
jbe 0x10041bc
mov eax, dword [edi + 8]
movzx eax, word [eax]
jmp 0x10041c1
mov eax, 0xffff
mov ebx, dword [sym.imp.ulib.dll_public:_class_WSTRING____thiscall_ARGUMENT::GetLexeme_void_]
cmp ax, 0x64
je 0x100422b
cmp ax, 0x44
je 0x100422b
cmp ax, 0x2f
jne 0x1004275
cmp ecx, 1
jbe 0x10041eb
mov eax, dword [edi + 8]
movzx eax, word [eax + 2]
jmp 0x10041f0
mov eax, 0xffff
cmp ax, 0x3a
jne 0x1004275
mov ecx, dword [0x1009098]
mov eax, dword [ecx + 0x28]
cmp dword [eax + 0xc], 2
jbe 0x100420e
mov eax, dword [eax + 8]
movzx eax, word [eax + 4]
jmp 0x1004213
mov eax, 0xffff
mov edx, 0xffff
cmp ax, dx
jne 0x1004275
push 1
call ebx
mov ecx, eax
call dword [sym.imp.ulib.dll_public:_unsigned_long_int___thiscall_WSTRING::Truncate_unsigned_long_int_]
jmp 0x1004275
cmp ecx, 1
jbe 0x1004239
mov eax, dword [edi + 8]
movzx eax, word [eax + 2]
jmp 0x100423e
mov eax, 0xffff
mov edx, 0xffff
cmp ax, dx
jne 0x1004253
push 4
push 0
push 0x5620
jmp 0x100426e
cmp ax, 0x3a
jne 0x100425e
cmp ecx, 2
jne 0x1004275
mov ecx, dword [0x1009098]
push 4
call ebx
push eax
push 0x5629
mov ecx, esi
call fcn.01001cb2
cmp dword [edi + 0xc], 0
jbe 0x1004283
mov eax, dword [edi + 8]
movzx eax, word [eax]
jmp 0x1004288
mov eax, 0xffff
push eax
push dword [ebp - 0x2c]
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
test eax, eax
je 0x100429f
sub eax, dword [ebp - 0x2c]
sar eax, 1
jmp 0x10042a2
or eax, 0xffffffff
mov ecx, dword [0x1009098]
push 4
cmp eax, 0xffffffff
je 0x10042b9
call ebx
push eax
push 0x5610
jmp 0x10042c1
call ebx
push eax
push 0x5629
mov ecx, esi
call fcn.01001cb2
jmp 0x1002fed
mov byte [esi + 0x94], 1
jmp 0x100301f
push 0x20
call fcn.0100153c
pop ecx
test eax, eax
je 0x10042ef
mov ecx, eax
call dword [sym.imp.ulib.dll_public:_void___thiscall_TIMEINFO::constructor_void_]
jmp 0x10042f1
xor eax, eax
mov dword [esi + 0x90], eax
test eax, eax
jne 0x100430a
push 4
push eax
push 0x560f
mov ecx, esi
call fcn.01001cb2
mov eax, dword [0x1009024]
push dword [eax + 0x28]
mov ecx, dword [esi + 0x90]
call dword [sym.imp.ulib.dll_public:_void___thiscall_TIMEINFO::Initialize_class_TIMEINFO_const__]
mov ecx, dword [esi + 0x90]
call dword [sym.imp.ulib.dll_public:_unsigned_char___thiscall_TIMEINFO::ConvertToUTC_void_]
jmp 0x10031c5
mov eax, dword [0x1009094]
push dword [eax + 0x28]
mov ecx, esi
call fcn.01005a63
jmp 0x10031d5