Function at 0x40cf54
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x42059a
call fcn.0041fac0
sub esp, 0x45c
push ebx
push esi
xor ebx, ebx
push edi
mov esi, ecx
mov dword [ebp - 0x18], ebx
call fcn.00402cf9
mov ecx, esi
call fcn.0040d824
push 1
mov dword [esi + 8], eax
pop edi
cmp eax, edi
jne 0x40d045
mov al, byte [ebp - 0xd]
push ebx
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x28], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
push str.JUZI_06DC3546_4050_4CE0_9091_9D4BCE75C85B
mov dword [ebp - 4], ebx
call fcn.0040deee
mov eax, dword [ebp - 0x24]
cmp eax, ebx
jne 0x40cfb7
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push eax
mov ecx, esi
call fcn.0040d7db
test eax, eax
je 0x40d264
mov ecx, esi
call fcn.0040d8cb
mov dword [esi + 0xc], eax
call fcn.00402c32
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0xc]
cmp eax, ebx
jne 0x40cfed
cmp dword [ebp - 0x14], ebx
je 0x40d27a
cmp eax, ebx
je 0x40cff5
call fcn.00410c4e
mov dword [eax + 0x2c], ebx
call fcn.00410c4e
mov ecx, eax
call fcn.00410c83
mov edi, eax
call fcn.00410c4e
mov eax, dword [eax + 0x18]
cmp eax, ebx
je 0x40d014
cmp eax, 4
jne 0x40d01b
mov dword [esi + 0x10], 1
cmp edi, ebx
je 0x40d386
cmp dword [esi + 0xc], ebx
je 0x40d035
cmp dword [ebp - 0x14], ebx
jne 0x40d035
call fcn.00410c4e
mov dword [eax + 0x28], ebx
or dword [ebp - 4], 0xffffffff
push 1
pop eax
mov dword [ebp - 0x18], eax
push eax
jmp 0x40d3b0
cmp eax, 3
jne 0x40d1dd
mov al, byte [ebp - 0xd]
push ebx
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x28], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
push str.JUZI_2B979D3E_B397_49FD_B292_DDB5FB99CB8C
mov dword [ebp - 4], 2
call fcn.0040deee
mov eax, dword [ebp - 0x24]
cmp eax, ebx
jne 0x40d081
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push eax
mov ecx, esi
call fcn.0040d7db
test eax, eax
je 0x40d3b8
lea eax, [ebp - 0x14]
mov dword [esi + 0xc], edi
push eax
push str._upquit:
mov dword [ebp - 0x14], ebx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call fcn.00402b7f
add esp, 0xc
test eax, eax
je 0x40d0bb
cmp dword [ebp - 0x14], ebx
je 0x40d0bb
mov dword [esi + 0x14], edi
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x25e]
mov word [ebp - 0x260], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x260]
push 0x103
push eax
mov ecx, esi
call fcn.0040de60
test eax, eax
je 0x40d3cb
lea eax, [ebp - 0x260]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
call fcn.00410c4e
mov dword [eax + 0x28], ebx
call fcn.00410c4e
mov dword [eax + 0x24], ebx
call fcn.00410c4e
mov ecx, eax
call fcn.00410c83
test eax, eax
je 0x40d3d9
lea eax, [ebp - 0x260]
push eax
call fcn.00410c4e
mov ecx, eax
call fcn.004126a2
call fcn.00410c4e
cmp dword [eax + 0x28], ebx
je 0x40d14d
call fcn.00402c32
test eax, eax
jne 0x40d14d
call fcn.00410c4e
mov dword [eax + 0x28], ebx
xor eax, eax
cmp dword [esi + 0x14], ebx
sete al
mov edi, eax
call fcn.00410c4e
mov dword [eax + 0x2c], edi
xor eax, eax
cmp dword [esi + 0x14], ebx
sete al
mov edi, eax
call fcn.00410c4e
mov dword [eax + 0x30], edi
mov al, byte [ebp - 0xd]
push ebx
lea ecx, [ebp - 0x38]
mov byte [ebp - 0x38], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
lea eax, [ebp - 0x38]
mov ecx, esi
push eax
mov byte [ebp - 4], 3
call fcn.0040df80
test eax, eax
je 0x40d1bf
mov esi, dword [ebp - 0x34]
cmp esi, ebx
jne 0x40d1a1
mov esi, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
call fcn.00410c4e
cmp esi, ebx
mov edi, eax
je 0x40d1bf
push esi
call dword [sym.imp.MSVCRT.dll_wcslen]
pop ecx
push eax
push esi
lea ecx, [edi + 0x58]
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__::assign_unsigned_short_int_const___unsigned_int_]
push 1
lea ecx, [ebp - 0x38]
pop esi
mov byte [ebp - 4], 2
push esi
mov dword [ebp - 0x18], esi
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
or dword [ebp - 4], 0xffffffff
push esi
jmp 0x40d3f2
mov al, byte [ebp - 0xd]
push ebx
lea ecx, [ebp - 0x48]
mov byte [ebp - 0x48], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
lea eax, [ebp - 0x48]
mov ecx, esi
push eax
push str.JUZI_AB269781_6ABF_4F78_9748_6DF48ECCF0CC
mov dword [ebp - 4], 4
call fcn.0040deee
mov eax, dword [ebp - 0x44]
cmp eax, ebx
jne 0x40d210
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push eax
mov ecx, esi
call fcn.0040d7db
test eax, eax
je 0x40d3fa
call fcn.00402c32
test eax, eax
mov ecx, esi
je 0x40d40b
call fcn.0040da94
test eax, eax
je 0x40d51f
call fcn.0040e378
mov ecx, eax
call fcn.0040efe9
call fcn.00414be3
mov ecx, eax
call fcn.00414c18
test eax, eax
je 0x40d55c
mov dword [ebp - 0x18], edi
jmp 0x40d57b
call fcn.0040e378
mov dword [eax + 0xc], 0x6a
or dword [ebp - 4], 0xffffffff
push edi
jmp 0x40d3b0
mov ecx, esi
call fcn.0040dfdc
test eax, eax
jne 0x40d2a6
push 0x10
push 0x427b84
push 0x427f40
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
call fcn.0040e378
mov dword [eax + 0xc], 0x66
jmp 0x40d270
mov ecx, esi
call fcn.0040d80d
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x25e]
mov word [ebp - 0x260], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x260]
push 0x104
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call fcn.00402a74
pop ecx
mov esi, eax
mov al, byte [ebp - 0xd]
push ebx
lea ecx, [ebp - 0x38]
mov byte [ebp - 0x38], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov edi, dword [sym.imp.MSVCRT.dll_wcslen]
cmp esi, ebx
mov byte [ebp - 4], 1
je 0x40d319
cmp word [esi], bx
je 0x40d319
push esi
call edi
pop ecx
push eax
push esi
lea ecx, [ebp - 0x38]
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__::assign_unsigned_short_int_const___unsigned_int_]
mov esi, 0x427f3c
push esi
call edi
pop ecx
push eax
push esi
lea ecx, [ebp - 0x38]
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__::append_unsigned_short_int_const___unsigned_int_]
mov esi, str._nadmin:
push esi
call edi
pop ecx
push eax
push esi
lea ecx, [ebp - 0x38]
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__::append_unsigned_short_int_const___unsigned_int_]
mov eax, dword [ebp - 0x34]
cmp eax, ebx
jne 0x40d34d
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.00402c74
pop ecx
test eax, eax
pop ecx
je 0x40d36a
call fcn.0040e378
mov dword [eax + 4], ebx
jmp 0x40d376
call fcn.0040e378
mov dword [eax + 0xc], 0x6b
push 1
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], bl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
jmp 0x40d3aa
cmp dword [esi + 0xc], ebx
jne 0x40d39e
push 0x10
push 0x427b84
push 0x427f00
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
call fcn.0040e378
mov dword [eax + 0xc], 0x64
or dword [ebp - 4], 0xffffffff
push 1
lea ecx, [ebp - 0x28]
jmp 0x40d583
call fcn.0040e378
or dword [ebp - 4], 0xffffffff
mov dword [eax + 0xc], 0xca
push edi
jmp 0x40d3f2
call fcn.0040e378
mov dword [eax + 0xc], 0xc9
jmp 0x40d3ec
mov ecx, esi
call fcn.0040ddaa
call fcn.0040e378
mov dword [eax + 0xc], 0xc8
or dword [ebp - 4], 0xffffffff
push 1
lea ecx, [ebp - 0x28]
jmp 0x40d583
call fcn.0040e378
mov dword [eax + 0xc], 0x130
jmp 0x40d57b
call fcn.0040dfdc
test eax, eax
jne 0x40d438
push 0x10
push 0x427b68
push 0x427f40
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
call fcn.0040e378
mov dword [eax + 0xc], 0x12d
jmp 0x40d57b
mov ecx, esi
call fcn.0040d80d
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x466]
mov word [ebp - 0x468], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x468]
push 0x104
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call fcn.00402a74
pop ecx
mov esi, eax
mov al, byte [ebp - 0xd]
push ebx
lea ecx, [ebp - 0x58]
mov byte [ebp - 0x58], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov edi, dword [sym.imp.MSVCRT.dll_wcslen]
cmp esi, ebx
mov byte [ebp - 4], 5
je 0x40d4ab
cmp word [esi], bx
je 0x40d4ab
push esi
call edi
pop ecx
push eax
push esi
lea ecx, [ebp - 0x58]
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__::assign_unsigned_short_int_const___unsigned_int_]
mov esi, 0x427f3c
push esi
call edi
pop ecx
push eax
push esi
lea ecx, [ebp - 0x58]
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__::append_unsigned_short_int_const___unsigned_int_]
mov esi, str._nadmin:
push esi
call edi
pop ecx
push eax
push esi
lea ecx, [ebp - 0x58]
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__::append_unsigned_short_int_const___unsigned_int_]
mov eax, dword [ebp - 0x54]
cmp eax, ebx
jne 0x40d4df
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push eax
lea eax, [ebp - 0x468]
push eax
call fcn.00402c74
pop ecx
test eax, eax
pop ecx
je 0x40d4fc
call fcn.0040e378
mov dword [eax + 4], ebx
jmp 0x40d508
call fcn.0040e378
mov dword [eax + 0xc], 0x131
push 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 4
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
or dword [ebp - 4], 0xffffffff
push 1
jmp 0x40d580
mov ecx, esi
call fcn.0040d80d
mov ecx, esi
call fcn.0040db52
test eax, eax
jne 0x40d552
push 0x10
push 0x427b68
push 0x427ee8
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
call fcn.0040e378
mov dword [eax + 0xc], 0x12e
jmp 0x40d57b
call fcn.0040e378
mov dword [eax + 4], ebx
jmp 0x40d57b
push 0x10
push 0x427b68
push 0x427ee8
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
call fcn.0040e378
mov dword [eax + 0xc], 0x12c
or dword [ebp - 4], 0xffffffff
push edi
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret