Function at 0x100645c
Capabilities:
Accept command line arguments

Disassembly:
push 0xc
mov eax, 0x100732e
call fcn.010043ce
mov esi, 0x10094c8
push esi
call fcn.01004e73
push 0x10017c0
mov dword [0x1009508], 0x1001548
mov dword [0x100950c], 0x1001558
mov dword [0x1009118], esi
call fcn.01004f5b
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov ebx, eax
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
inc esi
xor ecx, ecx
push 2
pop edx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.01006d86
mov edi, eax
pop ecx
test edi, edi
jne 0x1006506
push 0xffffffffffffffff
call dword [sym.imp.wbemcomn.dll_class_CMemoryLog____stdcall_GetMemLogObject_void_]
mov ecx, eax
call dword [sym.imp.wbemcomn.dll_public:_void___thiscall_CMemoryLog::Write_long_int_]
mov eax, dword [0x1009118]
cmp eax, 0x1009118
je 0x1006aad
test byte [eax + 0x1c], 1
je 0x1006aad
cmp byte [eax + 0x19], 2
jb 0x1006aad
push 0x1001578
push 0x15
jmp 0x1006aa2
push ebx
push esi
push edi
call fcn.01005620
mov esi, eax
xor ebx, ebx
cmp esi, ebx
jge 0x1006561
push esi
call dword [sym.imp.wbemcomn.dll_class_CMemoryLog____stdcall_GetMemLogObject_void_]
mov ecx, eax
call dword [sym.imp.wbemcomn.dll_public:_void___thiscall_CMemoryLog::Write_long_int_]
mov eax, dword [0x1009118]
cmp eax, 0x1009118
je 0x1006aad
test byte [eax + 0x1c], 1
je 0x1006aad
cmp byte [eax + 0x19], 2
jb 0x1006aad
push esi
push 0x1001578
push 0x16
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004e47
jmp 0x1006aad
mov esi, edi
cmp word [edi], bx
je 0x100657b
movzx eax, word [esi]
push eax
call fcn.01004df0
mov word [esi], ax
inc esi
inc esi
cmp word [esi], bx
jne 0x1006568
call fcn.01004d56
mov esi, eax
cmp esi, ebx
jge 0x10065c7
push 0xffffffffffffffff
call dword [sym.imp.wbemcomn.dll_class_CMemoryLog____stdcall_GetMemLogObject_void_]
mov ecx, eax
call dword [sym.imp.wbemcomn.dll_public:_void___thiscall_CMemoryLog::Write_long_int_]
mov eax, dword [0x1009118]
cmp eax, 0x1009118
je 0x1006aad
test byte [eax + 0x1c], 1
je 0x1006aad
cmp byte [eax + 0x19], 2
jb 0x1006aad
push esi
push 0x1001578
push 0x17
jmp 0x10068e4
push 0x10017a8
push edi
call fcn.01005048
test eax, eax
jne 0x10069f5
push 0x1001790
push edi
call fcn.01005048
test eax, eax
jne 0x10069f5
push 0x1001774
push edi
call fcn.01005048
test eax, eax
jne 0x10068f4
push 0x1001758
push edi
call fcn.01005048
test eax, eax
jne 0x10068f4
push 0x1001744
push edi
call fcn.01005048
test eax, eax
jne 0x100663b
cmp dword [0x1009518], ebx
jne 0x100663b
push 0x100172c
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
jmp 0x1006aad
call fcn.01004ddf
cmp eax, ebx
mov dword [ebp - 0x10], eax
jge 0x100668a
push 0xffffffffffffffff
call dword [sym.imp.wbemcomn.dll_class_CMemoryLog____stdcall_GetMemLogObject_void_]
mov ecx, eax
call dword [sym.imp.wbemcomn.dll_public:_void___thiscall_CMemoryLog::Write_long_int_]
mov eax, dword [0x1009118]
cmp eax, 0x1009118
je 0x1006aad
test byte [eax + 0x1c], 1
je 0x1006aad
cmp byte [eax + 0x19], 2
jb 0x1006aad
push dword [ebp - 0x10]
push 0x1001578
push 0x1e
jmp 0x10068e4
mov esi, dword [0x100911c]
mov ebx, 0x100911c
jmp 0x10066e2
push 0x14
call fcn.01003f8b
pop ecx
mov dword [ebp - 0x18], eax
and dword [ebp - 4], 0
test eax, eax
je 0x10066b6
push dword [esi + 0xc]
mov ecx, eax
call fcn.01005780
jmp 0x10066b8
xor eax, eax
or dword [ebp - 4], 0xffffffff
test eax, eax
je 0x1006757
lea ecx, [esi + 0x1c]
push ecx
push 1
push 0x15
push eax
push dword [esi + 8]
call dword [sym.imp.ole32.dll_CoRegisterClassObject]
mov edi, eax
test edi, edi
jl 0x1006797
mov esi, dword [esi]
cmp esi, ebx
jne 0x1006697
cmp dword [0x1009518], 0
mov edi, dword [sym.imp.wbemcomn.dll_public:_void___thiscall_CMemoryLog::Write_long_int_]
mov ebx, dword [sym.imp.wbemcomn.dll_class_CMemoryLog____stdcall_GetMemLogObject_void_]
mov esi, 0x1009118
je 0x10067d8
call fcn.01005303
mov dword [ebp - 0x10], eax
test eax, eax
jge 0x10067e8
push 0xffffffffffffffff
call ebx
mov ecx, eax
call edi
mov eax, dword [0x1009118]
cmp eax, esi
je 0x10067e8
test byte [eax + 0x1c], 1
je 0x10067e8
cmp byte [eax + 0x19], 2
jb 0x10067e8
push dword [ebp - 0x10]
push 0x1001578
push 0x21
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004e47
jmp 0x10067e8
push 0xffffffffffffffff
call dword [sym.imp.wbemcomn.dll_class_CMemoryLog____stdcall_GetMemLogObject_void_]
mov ecx, eax
call dword [sym.imp.wbemcomn.dll_public:_void___thiscall_CMemoryLog::Write_long_int_]
mov eax, dword [0x1009118]
cmp eax, 0x1009118
je 0x1006aad
test byte [eax + 0x1c], 1
je 0x1006aad
cmp byte [eax + 0x19], 2
jb 0x1006aad
push 0x1001578
push 0x1f
jmp 0x1006aa2
push 0xffffffffffffffff
call dword [sym.imp.wbemcomn.dll_class_CMemoryLog____stdcall_GetMemLogObject_void_]
mov ecx, eax
call dword [sym.imp.wbemcomn.dll_public:_void___thiscall_CMemoryLog::Write_long_int_]
mov eax, dword [0x1009118]
cmp eax, 0x1009118
je 0x1006aad
test byte [eax + 0x1c], 1
je 0x1006aad
cmp byte [eax + 0x19], 2
jb 0x1006aad
push edi
push 0x1001578
push 0x20
jmp 0x10068e4
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x1009124], eax
call fcn.0100506a
mov eax, dword [0x100911c]
jmp 0x100683f
mov eax, dword [ebp - 0x14]
push dword [eax + 0x1c]
call dword [sym.imp.ole32.dll_CoRevokeClassObject]
mov dword [ebp - 0x18], eax
test eax, eax
jge 0x100683a
push 0xffffffffffffffff
call ebx
mov ecx, eax
call edi
mov eax, dword [0x1009118]
cmp eax, esi
je 0x1006834
test byte [eax + 0x1c], 1
je 0x1006834
cmp byte [eax + 0x19], 2
jb 0x1006834
push dword [ebp - 0x18]
push 0x1001578
push 0x22
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004e47
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
cmp eax, 0x100911c
jne 0x10067ef
cmp dword [ebp - 0x10], 0
jge 0x1006888
push dword [ebp - 0x10]
call ebx
mov ecx, eax
call edi
mov eax, dword [0x1009118]
cmp eax, esi
je 0x1006aad
test byte [eax + 0x1c], 1
je 0x1006aad
cmp byte [eax + 0x19], 2
jb 0x1006aad
push dword [ebp - 0x10]
push 0x1001578
push 0x23
jmp 0x1006551
push 0x10055a7
push 0x3e8
push 0
push 0
call dword [sym.imp.USER32.dll_SetTimer]
call fcn.0100506a
call fcn.01004d65
mov dword [ebp - 0x10], eax
test eax, eax
jge 0x1006aad
push 0xffffffffffffffff
call ebx
mov ecx, eax
call edi
mov eax, dword [0x1009118]
cmp eax, esi
je 0x1006aad
test byte [eax + 0x1c], 1
je 0x1006aad
cmp byte [eax + 0x19], 2
jb 0x1006aad
push dword [ebp - 0x10]
push 0x1001578
push 0x24
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004e47
jmp 0x1006aad
call fcn.01004dcf
mov edi, dword [sym.imp.wbemcomn.dll_public:_void___thiscall_CMemoryLog::Write_long_int_]
mov ebx, dword [sym.imp.wbemcomn.dll_class_CMemoryLog____stdcall_GetMemLogObject_void_]
mov dword [ebp - 0x14], eax
mov esi, 0x1009118
test eax, eax
jge 0x1006943
push 0xffffffffffffffff
call ebx
mov ecx, eax
call edi
mov eax, dword [0x1009118]
cmp eax, esi
je 0x1006943
test byte [eax + 0x1c], 1
je 0x1006943
cmp byte [eax + 0x19], 2
jb 0x1006943
push dword [ebp - 0x14]
push 0x1001578
push 0x1b
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004e47
mov eax, dword [0x100911c]
jmp 0x1006996
mov eax, dword [ebp - 0x14]
push 1
add eax, 0xfffffffc
push eax
call fcn.010061b9
mov dword [ebp - 0x18], eax
test eax, eax
jge 0x1006991
push 0xffffffffffffffff
call ebx
mov ecx, eax
call edi
mov eax, dword [0x1009118]
cmp eax, esi
je 0x1006991
test byte [eax + 0x1c], 1
je 0x1006991
cmp byte [eax + 0x19], 2
jb 0x1006991
push dword [ebp - 0x18]
push 0x1001578
push 0x1c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004e47
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
cmp eax, 0x100911c
jne 0x100694a
cmp dword [0x1009518], 0
je 0x1006aad
call fcn.0100549c
mov dword [ebp - 0x14], eax
test eax, eax
jge 0x1006aad
push 0xffffffffffffffff
call ebx
mov ecx, eax
call edi
mov eax, dword [0x1009118]
cmp eax, esi
je 0x1006aad
test byte [eax + 0x1c], 1
je 0x1006aad
cmp byte [eax + 0x19], 2
jb 0x1006aad
push dword [ebp - 0x14]
push 0x1001578
push 0x1d
jmp 0x10068e4
call fcn.01004dbf
mov esi, eax
cmp esi, ebx
jge 0x1006a3d
push 0xffffffffffffffff
call dword [sym.imp.wbemcomn.dll_class_CMemoryLog____stdcall_GetMemLogObject_void_]
mov ecx, eax
call dword [sym.imp.wbemcomn.dll_public:_void___thiscall_CMemoryLog::Write_long_int_]
mov eax, dword [0x1009118]
cmp eax, 0x1009118
je 0x1006aad
test byte [eax + 0x1c], 1
je 0x1006aad
cmp byte [eax + 0x19], 2
jb 0x1006aad
push esi
push 0x1001578
push 0x18
jmp 0x10068e4
mov esi, dword [0x100911c]
mov edi, 0x100911c
jmp 0x1006a5d
push 1
lea eax, [esi - 4]
push eax
call fcn.01005d0e
mov ebx, eax
test ebx, ebx
jl 0x1006aba
mov esi, dword [esi]
cmp esi, edi
jne 0x1006a4a
cmp dword [0x1009518], 0
je 0x1006aad
call fcn.01005383
test eax, eax
jne 0x1006aad
push 0xffffffffffffffff
call dword [sym.imp.wbemcomn.dll_class_CMemoryLog____stdcall_GetMemLogObject_void_]
mov ecx, eax
call dword [sym.imp.wbemcomn.dll_public:_void___thiscall_CMemoryLog::Write_long_int_]
mov eax, dword [0x1009118]
cmp eax, 0x1009118
je 0x1006aad
test byte [eax + 0x1c], 1
je 0x1006aad
cmp byte [eax + 0x19], 2
jb 0x1006aad
push 0x1001578
push 0x1a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004a91
call fcn.01004fa8
xor eax, eax
call fcn.0100447c
ret
push 0xffffffffffffffff
call dword [sym.imp.wbemcomn.dll_class_CMemoryLog____stdcall_GetMemLogObject_void_]
mov ecx, eax
call dword [sym.imp.wbemcomn.dll_public:_void___thiscall_CMemoryLog::Write_long_int_]
mov eax, dword [0x1009118]
cmp eax, 0x1009118
je 0x1006aad
test byte [eax + 0x1c], 1
je 0x1006aad
cmp byte [eax + 0x19], 2
jb 0x1006aad
push ebx
push 0x1001578
push 0x19
jmp 0x10068e4