Function at 0x1035097
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x10404fa
call fcn.0103cb58
sub esp, 0xe0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
mov byte [ebp - 0x34], bl
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x4c]
call fcn.01034bda
xor edi, edi
inc edi
mov byte [ebp - 4], 1
cmp dword [ebp - 0x4c], ebx
je 0x10358f1
mov dword [ebp - 0x18], ebx
mov byte [ebp - 4], 2
mov eax, dword [0x104a55c]
mov dword [ebp - 0xd0], eax
mov esi, 0x104a148
mov ecx, esi
cmp eax, ebx
je 0x1035127
mov dword [0x104a55c], ebx
push ebx
call fcn.01035a10
mov ecx, eax
call fcn.01029ed1
mov ecx, eax
call fcn.010126e4
mov dword [ebp - 0x28], ebx
push ebx
mov ecx, esi
call fcn.01036de4
mov ecx, esi
call fcn.01035ac3
mov dword [ebp - 0x14], eax
jmp 0x10358dc
call fcn.0103a662
test eax, eax
je 0x10358dc
push fcn.01039c4d
push 0x104a148
lea eax, [ebp - 0x84]
push eax
call fcn.01034fa5
mov byte [ebp - 4], 3
lea eax, [ebp - 0x84]
mov dword [ebp - 0xb4], eax
push 0xfffffffffffffff6
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [ebp - 0x38], eax
cmp eax, 3
je 0x10351a5
cmp eax, 0xffffffff
je 0x10351a5
cmp eax, 0xf
je 0x10351a5
push eax
mov ecx, esi
call fcn.01037641
test eax, eax
je 0x1035393
push 0x10054f0
push 0x1005cf4
call dword [sym.imp.msvcrt.dll__wfopen]
pop ecx
pop ecx
mov dword [ebp - 0x48], eax
cmp eax, ebx
je 0x1035393
mov byte [ebp - 0x34], 1
push dword [ebp - 0x48]
push dword [sym.imp.msvcrt.dll_fclose]
push dword [ebp - 0x34]
lea eax, [ebp - 0xec]
push eax
call fcn.01034fe1
mov byte [ebp - 4], 4
lea eax, [ebp - 0xec]
mov dword [ebp - 0xc4], eax
push 0x1005cf4
push dword [sym.imp.KERNEL32.dll_DeleteFileW]
push dword [ebp - 0x34]
lea eax, [ebp - 0xdc]
push eax
call fcn.0103501e
mov byte [ebp - 4], 5
lea eax, [ebp - 0xdc]
mov dword [ebp - 0xcc], eax
cmp dword [ebp + 8], edi
jne 0x1035806
mov dword [ebp - 0x5c], edi
cmp dword [ebp - 0x38], 0x13
je 0x1035214
push edi
mov ecx, esi
call fcn.010359a8
mov dword [ebp - 0x5c], eax
push edi
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed9
mov ecx, eax
call fcn.01027b96
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0x1c]
call sub.framedyn.dll_public:_void___thiscall_CHString::constructor_void_
mov byte [ebp - 4], 6
cmp dword [ebp - 0x30], 2
jne 0x1035261
push edi
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed9
mov ecx, eax
call fcn.01027c31
push eax
lea ecx, [ebp - 0x1c]
call fcn.0103cee6
cmp dword [ebp - 0x30], ebx
je 0x103527d
push edi
push ebx
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed9
mov ecx, eax
call fcn.01027b71
push ebx
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed9
mov ecx, eax
call fcn.01027c78
mov dword [ebp - 0x78], eax
push ebx
push ebx
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed9
mov ecx, eax
call fcn.01027c53
push edi
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed9
mov ecx, eax
call fcn.01027902
push 0x1005ce8
lea ecx, [ebp - 0x54]
call fcn.01007b57
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x18]
call fcn.01008408
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x54]
cmp ecx, ebx
je 0x10352f0
call fcn.01008084
mov dword [ebp - 0x54], ebx
push 0x1005ce4
lea ecx, [ebp - 0x64]
call fcn.01007afe
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x18]
call fcn.01008489
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x64]
cmp ecx, ebx
je 0x103531d
call fcn.01008084
mov dword [ebp - 0x64], ebx
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed9
mov ecx, eax
call fcn.01027950
push eax
lea ecx, [ebp - 0x68]
call fcn.01007b57
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x18]
call fcn.01008489
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x68]
cmp ecx, ebx
je 0x103535b
call fcn.01008084
mov dword [ebp - 0x68], ebx
push 0x1005cc8
lea ecx, [ebp - 0x60]
call fcn.01007afe
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x18]
call fcn.01008489
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x60]
cmp ecx, ebx
je 0x1035388
call fcn.01008084
mov dword [ebp - 0x60], ebx
mov eax, dword [ebp - 0x18]
cmp eax, ebx
je 0x10353d2
mov eax, dword [eax]
jmp 0x10353d4
push ebx
mov ecx, esi
call fcn.01036de4
mov ecx, esi
call fcn.01035ac3
mov esi, eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 0xbc], esi
mov byte [ebp - 4], 2
lea eax, [ebp - 0x84]
push eax
call fcn.01034dee
mov byte [ebp - 4], bl
cmp dword [ebp - 0x4c], edi
jne 0x10353cb
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, esi
jmp 0x103594d
xor eax, eax
push ebx
push ebx
push ebx
push edi
push eax
call fcn.0103267e
push edi
mov ecx, esi
call fcn.01035e67
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x20], ebx
push 0x1ffe
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x20], eax
cmp eax, ebx
je 0x1035605
lea eax, [ebp - 0x20]
mov dword [ebp - 0xa0], eax
push eax
push 0x1032283
lea eax, [ebp - 0x74]
push eax
call fcn.010331f5
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x74]
mov dword [ebp - 0xb0], eax
cmp byte [ebp - 0x34], 1
jne 0x1035438
push dword [ebp - 0x48]
jmp 0x103543e
push dword [sym.imp.msvcrt.dll__iob]
push 0xffe
push dword [ebp - 0x20]
call dword [sym.imp.msvcrt.dll_fgetws]
add esp, 0xc
mov dword [ebp - 0x40], eax
cmp eax, ebx
je 0x10355f3
mov dword [ebp - 0x44], ebx
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x20]
call fcn.01031379
test eax, eax
je 0x10355bf
push dword [ebp - 0x44]
push 0x1032283
lea eax, [ebp - 0x9c]
push eax
call fcn.0103505b
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x9c]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x3c], ebx
lea eax, [ebp - 0x3c]
mov dword [ebp - 0xb8], eax
push eax
push 0x1032283
lea eax, [ebp - 0x90]
push eax
call fcn.010331f5
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x90]
mov dword [ebp - 0xe0], eax
push edi
lea eax, [ebp - 0x3c]
push eax
push dword [ebp - 0x44]
call fcn.01031309
test eax, eax
je 0x103556b
push dword [ebp - 0x3c]
mov ecx, 0x104a560
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::operator_unsigned_short_int_const__]
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x90]
push eax
call fcn.01033023
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x9c]
push eax
call fcn.01034e75
cmp byte [ebp - 0x34], 1
jne 0x1035521
push ebx
push ebx
push ebx
push edi
mov ecx, 0x104a560
call dword [sym.imp.MSVCP60.dll_public:_unsigned_short_int____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::begin_void_]
push eax
call fcn.0103267e
mov ecx, 0x104a560
call dword [sym.imp.MSVCP60.dll_public:_unsigned_int___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::size_void_const]
mov dword [ebp - 0xc0], eax
lea edi, [eax - 1]
push edi
mov ecx, 0x104a560
call dword [sym.imp.MSVCP60.dll_public:_unsigned_short_int____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::operator___unsigned_int_]
cmp word [eax], 0xa
jne 0x1035556
push edi
mov ecx, 0x104a560
call dword [sym.imp.MSVCP60.dll_public:_unsigned_short_int____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::operator___unsigned_int_]
mov word [eax], bx
mov byte [ebp - 4], 6
lea eax, [ebp - 0x74]
push eax
call fcn.01033023
xor edi, edi
inc edi
jmp 0x1035637
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
push 0xbbef
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed1
mov ecx, eax
call fcn.010127f6
push ebx
mov ecx, esi
call fcn.01036de4
mov ecx, esi
call fcn.01035ac3
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x90]
push eax
call fcn.01033023
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x9c]
push eax
call fcn.01034e75
jmp 0x10355f6
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
push 0xbbef
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed1
mov ecx, eax
call fcn.010127f6
push ebx
mov ecx, esi
call fcn.01036de4
mov ecx, esi
call fcn.01035ac3
mov dword [ebp - 0x14], eax
jmp 0x10355f6
mov dword [ebp - 0x2c], edi
mov byte [ebp - 4], 6
lea eax, [ebp - 0x74]
push eax
call fcn.01033023
jmp 0x1035637
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
push 0xbbef
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed1
mov ecx, eax
call fcn.010127f6
push ebx
mov ecx, esi
call fcn.01036de4
mov ecx, esi
call fcn.01035ac3
mov dword [ebp - 0x14], eax
push ebx
mov ecx, esi
call fcn.01035e67
push ebx
push dword [ebp - 0x78]
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed9
mov ecx, eax
call fcn.01027c53
cmp dword [ebp - 0x30], ebx
je 0x1035676
push edi
push dword [ebp - 0x30]
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed9
mov ecx, eax
call fcn.01027b71
push edi
mov ecx, esi
call fcn.01036de4
cmp dword [ebp - 0x2c], ebx
jne 0x103572d
push ebx
mov ecx, esi
call fcn.01035e44
mov ecx, esi
call fcn.01035f0c
mov ecx, 0x104a560
call dword [sym.imp.MSVCP60.dll_public:_unsigned_short_int____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::begin_void_]
push eax
mov ecx, esi
call fcn.01038e39
mov dword [ebp - 0x28], eax
mov ecx, esi
call fcn.01035ac3
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x28], 2
je 0x103572d
push 1
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed9
mov ecx, eax
call fcn.01027b96
mov edi, eax
mov dword [ebp - 0x30], edi
cmp edi, 1
jne 0x10356ea
mov ecx, esi
call fcn.01035f00
push eax
call fcn.01034da4
cmp edi, 2
je 0x10356f8
call fcn.01034c83
test eax, eax
je 0x103572d
call fcn.01034cea
test eax, eax
je 0x103572d
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed1
mov ecx, eax
call fcn.010130a0
cmp eax, 1
jne 0x10357f2
cmp edi, 2
jne 0x1035753
call fcn.01034c83
test eax, eax
jne 0x1035753
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1c]
call sub.framedyn.dll_public:_void___thiscall_CHString::destructor_void_
cmp dword [ebp - 0x38], 0x13
je 0x10358a9
push ebx
mov ecx, esi
call fcn.010359a8
mov dword [ebp - 0x5c], eax
jmp 0x10358a9
push ebx
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed1
mov ecx, eax
call fcn.01013089
cmp edi, 2
jne 0x1035786
push 1
push ebx
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed9
mov ecx, eax
call fcn.01027bb8
push 1
push dword [ebp - 0x58]
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed9
mov ecx, eax
call fcn.01027b71
cmp dword [ebp - 0x58], 2
jne 0x10357f2
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x50]
call fcn.01007b57
mov dword [ebp - 0xa4], eax
mov byte [ebp - 4], 0xe
mov eax, dword [eax]
cmp eax, ebx
je 0x10357c5
mov eax, dword [eax]
jmp 0x10357c7
xor eax, eax
push 1
push eax
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed9
mov ecx, eax
call fcn.01027bb8
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x50]
cmp ecx, ebx
je 0x10357f2
call fcn.01008084
mov dword [ebp - 0x50], ebx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1c]
call sub.framedyn.dll_public:_void___thiscall_CHString::destructor_void_
xor edi, edi
inc edi
jmp 0x1035214
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
mov edi, 0x104a560
mov ecx, edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::operator_unsigned_short_int_const__]
cmp dword [0x104a568], ebx
je 0x10358a9
push 1
mov ecx, esi
call fcn.01036de4
mov ecx, edi
call dword [sym.imp.MSVCP60.dll_public:_unsigned_short_int____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::begin_void_]
mov dword [ebp - 0x24], eax
mov ecx, edi
call dword [sym.imp.MSVCP60.dll_public:_unsigned_short_int____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::end_void_]
cmp dword [ebp - 0x24], eax
je 0x1035856
mov eax, dword [ebp - 0x24]
cmp word [eax], 0x20
je 0x1035856
add dword [ebp - 0x24], 2
jmp 0x103583a
mov ecx, edi
call dword [sym.imp.MSVCP60.dll_public:_unsigned_short_int____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::end_void_]
cmp dword [ebp - 0x24], eax
je 0x10358a9
push dword [ebp - 0x24]
mov ecx, esi
call fcn.01038e39
mov dword [ebp - 0x28], eax
mov ecx, esi
call fcn.01035ac3
mov dword [ebp - 0x14], eax
push 1
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed9
mov ecx, eax
call fcn.01027b96
mov dword [ebp - 0xac], eax
cmp eax, 1
jne 0x10358a9
mov ecx, esi
call fcn.01035f00
push eax
call fcn.01034da4
mov byte [ebp - 4], 4
lea eax, [ebp - 0xdc]
push eax
call fcn.01034e75
mov byte [ebp - 4], 3
lea eax, [ebp - 0xec]
push eax
call fcn.01034e31
mov byte [ebp - 4], 2
lea eax, [ebp - 0x84]
push eax
call fcn.01034dee
xor edi, edi
inc edi
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x18]
cmp ecx, ebx
je 0x1035938
call fcn.01008084
mov dword [ebp - 0x18], ebx
jmp 0x1035938
mov esi, 0x104a148
mov ecx, esi
call fcn.01035a10
mov ecx, eax
call fcn.01029ed1
mov ecx, eax
call fcn.01012ce4
test eax, eax
je 0x1035926
push ebx
mov ecx, esi
call fcn.01035a10
push eax
mov ecx, esi
call fcn.01035a07
mov ecx, eax
call fcn.01026dc5
push ebx
mov ecx, esi
call fcn.01036de4
mov ecx, esi
call fcn.01035ac3
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], bl
cmp dword [ebp - 0x4c], edi
jne 0x1035946
call dword [sym.imp.ole32.dll_CoUninitialize]
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret