Function at 0x41e38f
Capabilities:
Accept command line arguments
Identify system language via api

Disassembly:
mov eax, 0x42e3d8
call fcn.0042c5b0
sub esp, 0x98
mov al, byte [ebp + 0xb]
push ebx
push esi
xor ebx, ebx
push edi
push ebx
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x44], ebx
mov byte [ebp - 0x20], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov esi, dword [0x43148c]
push 0xfffffffffffffffc
pop edi
mov dword [ebp - 4], 1
mov al, byte [esi]
add al, 0x16
movzx eax, al
add eax, 3
and eax, edi
call fcn.0042c5d0
mov ecx, esp
mov edx, esi
call fcn.004298e5
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push esi
lea ecx, [ebp - 0x20]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
lea eax, [ebp - 0x3c]
push eax
call fcn.0041e197
pop ecx
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 2
push dword [ecx]
lea ecx, [ebp - 0x20]
push ebx
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [0x431490]
mov esi, dword [0x4373cc]
xor esi, dword [0x4373d0]
mov al, byte [eax]
xor esi, dword [0x4373d4]
add al, 0x16
movzx eax, al
xor esi, dword [0x4373d8]
add eax, 3
and eax, edi
call fcn.0042c5d0
mov edx, dword [0x431490]
mov ecx, esp
call fcn.004298e5
push eax
mov dword [ebp - 0x10], eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea ecx, [ebp - 0x20]
push dword [ebp - 0x10]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
lea eax, [ebp - 0x3c]
push esi
push eax
call fcn.0040ad39
pop ecx
pop ecx
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 3
push dword [ecx]
push ebx
push eax
lea ecx, [ebp - 0x20]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [0x431498]
push 3
pop esi
mov al, byte [eax]
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
mov edx, dword [0x431498]
mov ecx, esp
call fcn.004298e5
push eax
mov dword [ebp - 0x10], eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea ecx, [ebp - 0x20]
push dword [ebp - 0x10]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
push 7
call fcn.0040a71e
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0040aec5
add esp, 0xc
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 4
push dword [ecx]
lea ecx, [ebp - 0x20]
push ebx
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [0x43149c]
mov al, byte [eax]
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
mov edx, dword [0x43149c]
mov ecx, esp
call fcn.004298e5
push eax
mov dword [ebp - 0x10], eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea ecx, [ebp - 0x20]
push dword [ebp - 0x10]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
lea eax, [ebp - 0x3c]
push 4
push eax
call fcn.0040a84d
pop ecx
pop ecx
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 5
push dword [ecx]
lea ecx, [ebp - 0x20]
push ebx
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov byte [ebp - 4], 1
push 1
lea ecx, [ebp - 0x3c]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [0x4314a0]
mov al, byte [eax]
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
mov edx, dword [0x4314a0]
mov ecx, esp
call fcn.004298e5
push eax
mov dword [ebp - 0x10], eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea ecx, [ebp - 0x20]
push dword [ebp - 0x10]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
lea eax, [ebp - 0x3c]
push eax
call fcn.0040ef04
pop ecx
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 6
push dword [ecx]
lea ecx, [ebp - 0x20]
push ebx
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [0x4314a4]
mov al, byte [eax]
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
mov edx, dword [0x4314a4]
mov ecx, esp
call fcn.004298e5
push eax
mov dword [ebp - 0x10], eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea ecx, [ebp - 0x20]
push dword [ebp - 0x10]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
lea eax, [ebp - 0x3c]
push 9
push eax
call fcn.0040a84d
pop ecx
pop ecx
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 7
push dword [ecx]
lea ecx, [ebp - 0x20]
push ebx
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [0x4314a8]
mov al, byte [eax]
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
mov edx, dword [0x4314a8]
mov ecx, esp
call fcn.004298e5
push eax
mov dword [ebp - 0x10], eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea ecx, [ebp - 0x20]
push dword [ebp - 0x10]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
push 8
call fcn.0040a71e
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0040aec5
add esp, 0xc
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 8
push dword [ecx]
lea ecx, [ebp - 0x20]
push ebx
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [0x4314ac]
mov al, byte [eax]
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
mov edx, dword [0x4314ac]
mov ecx, esp
call fcn.004298e5
push eax
mov dword [ebp - 0x10], eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea ecx, [ebp - 0x20]
push dword [ebp - 0x10]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
lea eax, [ebp - 0x3c]
push eax
call fcn.00423832
pop ecx
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 9
push dword [ecx]
lea ecx, [ebp - 0x20]
push ebx
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [0x4314a8]
mov al, byte [eax]
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
mov edx, dword [0x4314a8]
mov ecx, esp
call fcn.004298e5
push eax
mov dword [ebp - 0x10], eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea ecx, [ebp - 0x20]
push dword [ebp - 0x10]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
call fcn.0042392a
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0040aec5
pop ecx
pop ecx
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 0xa
push dword [ecx]
lea ecx, [ebp - 0x20]
push ebx
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [0x4314b0]
mov al, byte [eax]
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
mov edx, dword [0x4314b0]
mov ecx, esp
call fcn.004298e5
push eax
mov dword [ebp - 0x10], eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea ecx, [ebp - 0x20]
push dword [ebp - 0x10]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
push 9
call fcn.0040a71e
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0040aec5
add esp, 0xc
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 0xb
push dword [ecx]
lea ecx, [ebp - 0x20]
push ebx
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [0x4314b4]
mov al, byte [eax]
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
mov edx, dword [0x4314b4]
mov ecx, esp
call fcn.004298e5
push eax
mov dword [ebp - 0x10], eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea ecx, [ebp - 0x20]
push dword [ebp - 0x10]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
push 0xa
call fcn.0040a71e
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0040aec5
add esp, 0xc
mov byte [ebp - 4], 0xc
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
push dword [ecx]
lea ecx, [ebp - 0x20]
push ebx
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [0x4314b8]
mov al, byte [eax]
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
mov edx, dword [0x4314b8]
mov ecx, esp
call fcn.004298e5
push eax
mov dword [ebp - 0x10], eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea ecx, [ebp - 0x20]
push dword [ebp - 0x10]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
inc byte [0x437be9]
push 0x9fb7ffff
push dword [0x437c20]
mov dword [0x437c10], 0x41a00001
call fcn.0040ffc6
push 0x4373c8
mov byte [0x437bec], al
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x20]
push eax
push 0x4373c8
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov eax, dword [0x4314bc]
mov al, byte [eax]
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
mov edx, dword [0x4314bc]
mov ecx, esp
call fcn.004298e5
push eax
mov dword [ebp - 0x10], eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea ecx, [ebp - 0x20]
push dword [ebp - 0x10]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
push 0xd513ffff
push 0x92abffff
call fcn.0041004e
add byte [0x437bea], al
pop ecx
pop ecx
call fcn.00401b6e
mov eax, dword [eax*4 + 0x438244]
mov al, byte [eax]
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
mov dword [ebp - 0x10], esp
call fcn.00401b6e
mov edx, dword [eax*4 + 0x438244]
mov ecx, esp
call fcn.004298e5
push eax
mov dword [ebp - 0x10], eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea ecx, [ebp - 0x20]
push dword [ebp - 0x10]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov al, byte [ebp + 0xb]
push ebx
lea ecx, [ebp - 0x54]
mov byte [0x437bea], 1
mov byte [ebp - 0x54], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
movsx eax, byte [0x437bea]
push eax
mov byte [ebp - 4], 0xd
push dword [0x437c20]
call fcn.0041004e
mov word [0x437bfc], ax
mov eax, dword [0x4314c0]
pop ecx
mov al, byte [eax]
pop ecx
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
mov edx, dword [0x4314c0]
mov ecx, esp
lea eax, [ebp - 0x40]
push ebx
push eax
push ebx
push 0x20019
push ebx
push ebx
push ebx
call fcn.004298e5
push eax
push 0x80000001
push 0x14
call fcn.0041448a
pop ecx
call eax
test eax, eax
jne 0x41ebb9
mov dword [ebp - 0x24], ebx
call dword [sym.imp.KERNEL32.dll_GetVersion]
add word [0x437c04], ax
mov eax, dword [0x4314c4]
mov al, byte [eax]
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
mov edx, dword [0x4314c4]
lea eax, [ebp - 0x24]
mov ecx, esp
push eax
lea eax, [ebp - 0x10]
push ebx
push eax
push ebx
call fcn.004298e5
push eax
push dword [ebp - 0x40]
push 0x16
call fcn.0041448a
pop ecx
call eax
test eax, eax
jne 0x41eb93
cmp dword [ebp - 0x10], 1
jne 0x41eb93
mov al, byte [0x437bea]
push 0xd88dffff
sub al, byte [0x437c10]
mov byte [0x437be8], al
movsx eax, word [0x437c00]
push eax
call fcn.0040ff1a
cmp byte [0x437bef], bl
mov word [0x437c02], ax
setne al
mov byte [0x437bf1], al
mov eax, dword [ebp - 0x24]
inc eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
push 0x3a0bffff
push 0x7193ffff
mov dword [ebp - 0x2c], eax
call fcn.0040fede
mov word [0x437bf4], ax
add esp, 0x14
movsx ax, byte [0x437bed]
inc eax
mov word [0x437c00], ax
mov eax, dword [0x4314c4]
mov al, byte [eax]
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
lea eax, [ebp - 0x24]
mov edx, dword [0x4314c4]
mov ecx, esp
push eax
push dword [ebp - 0x2c]
lea eax, [ebp - 0x10]
push eax
push ebx
call fcn.004298e5
push eax
push dword [ebp - 0x40]
push 0x16
call fcn.0041448a
pop ecx
call eax
test eax, eax
jne 0x41eb8a
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
dec word [0x437bf8]
mov byte [ecx + eax], bl
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push dword [0x437c1c]
add byte [0x437bef], al
push 0xcd73ffff
call fcn.0041004e
push dword [ebp - 0x2c]
mov dword [0x437c1c], eax
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x54]
push eax
push dword [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push 0xc4bffff
push dword [0x437c14]
call fcn.00410092
add byte [0x437beb], al
pop ecx
pop ecx
push dword [ebp - 0x2c]
call fcn.0042c504
pop ecx
movsx eax, byte [0x437beb]
push 0x40afffff
push eax
call fcn.0040ff4b
pop ecx
mov byte [0x437bf1], al
pop ecx
push dword [ebp - 0x40]
push 0x13
call fcn.0041448a
pop ecx
call eax
push dword [0x437c20]
push dword [0x437c10]
call fcn.00410016
pop ecx
mov byte [0x437be9], al
movsx eax, word [0x437c00]
pop ecx
mov word [0x437bf4], 1
movsx ecx, byte [0x437bec]
imul eax, ecx
cmp dword [ebp - 0x4c], ebx
mov dword [0x437c24], eax
jne 0x41ed59
push 0x4c
call fcn.0041448a
pop ecx
call eax
mov dword [ebp - 0x2c], eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov byte [0x437be9], al
mov eax, dword [0x437c20]
dec eax
push 0x4b
add word [0x437c00], ax
call fcn.0041448a
pop ecx
call eax
push ebx
push ebx
push 0x1f
mov dword [ebp - 0x10], eax
call fcn.0041448a
pop ecx
call eax
mov dword [ebp - 0x28], eax
movsx eax, word [0x437c04]
imul eax, eax, 0xfabdffff
add dword [0x437c14], eax
mov al, byte [0x437bed]
inc al
mov byte [ebp - 4], 0xe
add byte [0x437bee], al
movsx eax, byte [0x437be8]
push eax
push 0xda35ffff
call fcn.004100bc
add word [0x437c04], ax
pop ecx
pop ecx
mov dword [ebp - 0x24], ebx
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0xf
push eax
push 0x4317b0
push 1
push ebx
push 0x4317a0
push 0x1c
call fcn.0041448a
pop ecx
call eax
test eax, eax
jl 0x41ed35
cmp word [0x437bfa], bx
mov word [0x437c04], 0xfffe
je 0x41ecc2
cmp byte [0x437bec], bl
je 0x41ecc2
push 1
pop eax
jmp 0x41ecc4
xor eax, eax
add byte [0x437bec], al
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0xa4]
mov ecx, dword [eax]
push edx
push dword [ebp - 0x10]
push dword [ebp - 0x2c]
push eax
call dword [ecx + 0x40]
test eax, eax
jl 0x41ed35
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0040d9f5
pop ecx
pop ecx
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 0x10
push dword [ecx]
lea ecx, [ebp - 0x54]
push ebx
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xf
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
movsx eax, byte [0x437be9]
push eax
push 0x7801ffff
call fcn.0040ff78
pop ecx
mov dword [0x437c1c], eax
pop ecx
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0xe
cmp eax, ebx
je 0x41ed46
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x28], 0x80010106
mov byte [ebp - 4], 0xd
je 0x41ed59
call dword [sym.imp.ole32.dll_CoUninitialize]
movsx eax, byte [0x437beb]
push eax
mov byte [0x437bed], 0xfe
movsx eax, word [0x437bf4]
push eax
call fcn.0040fede
add dword [0x437c28], eax
mov eax, dword [0x4314c8]
pop ecx
mov al, byte [eax]
pop ecx
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
mov edx, dword [0x4314c8]
mov ecx, esp
call fcn.004298e5
push eax
mov dword [ebp - 0x28], eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea ecx, [ebp - 0x20]
push dword [ebp - 0x28]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov al, byte [0x437bfa]
dec al
cmp byte [0x437bee], bl
mov byte [0x437be9], al
jne 0x41edd9
cmp word [0x437bfe], bx
mov dword [0x437c20], ebx
je 0x41ede3
mov dword [0x437c20], 1
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea ecx, [ebp - 0x20]
push dword [eax]
lea eax, [ebp - 0x54]
push ebx
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov eax, dword [0x4314cc]
mov al, byte [eax]
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
mov edx, dword [0x4314cc]
mov ecx, esp
call fcn.004298e5
push eax
mov dword [ebp - 0x28], eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea ecx, [ebp - 0x20]
push dword [ebp - 0x28]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov cl, byte [0x437bfc]
mov eax, dword [0x437c18]
and cl, al
push 2
sub cl, byte [0x437c04]
neg eax
add cl, byte [0x437bf8]
mov word [0x437bfc], ax
lea eax, [ebp - 0x3c]
add byte [0x437be9], cl
push eax
call fcn.0040a84d
pop ecx
pop ecx
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 0x11
push dword [ecx]
lea ecx, [ebp - 0x20]
push ebx
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xd
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [0x4314d0]
mov al, byte [eax]
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
mov edx, dword [0x4314d0]
mov ecx, esp
call fcn.004298e5
push eax
mov dword [ebp - 0x28], eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea ecx, [ebp - 0x20]
push dword [ebp - 0x28]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
xor eax, eax
cmp dword [0x437c24], ebx
push str.Jan_21_2011
setne al
add byte [0x437bee], al
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push str.Jan_21_2011
lea ecx, [ebp - 0x20]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
push 0x2c
push 1
lea ecx, [ebp - 0x20]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_unsigned_int__char_]
movsx eax, word [0x437c04]
push eax
movsx eax, word [0x437c00]
push eax
call fcn.0040ffc6
add word [0x437bf4], ax
xor eax, eax
cmp word [0x437bf6], bx
push 0xd5fbffff
push dword [0x437c1c]
setne al
add byte [0x437be8], al
call fcn.0041004e
add byte [0x437bef], al
push str.20:30:36
call sub.MSVCRT.dll_strlen
add esp, 0x14
lea ecx, [ebp - 0x20]
push eax
push str.20:30:36
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
lea eax, [ebp - 0x20]
push eax
call fcn.00410ed8
mov eax, dword [0x4314d4]
sub dword [0x437c14], 0x1ca3ffff
pop ecx
mov al, byte [eax]
add al, 0x16
movzx eax, al
add eax, esi
and eax, edi
call fcn.0042c5d0
mov edx, dword [0x4314d4]
lea eax, [ebp - 0x20]
mov ecx, esp
push eax
call fcn.004298e5
push eax
lea eax, [ebp - 0x3c]
push eax
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char_const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
add esp, 0xc
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 0x12
push dword [ecx]
lea ecx, [ebp - 0x20]
push ebx
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x3c]
pop edi
mov byte [ebp - 4], 0xd
push edi
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
movsx eax, word [0x437bf2]
push eax
push 0x3397ffff
call fcn.0040ffe3
add dword [0x437c24], eax
mov esi, dword [ebp + 8]
mov al, byte [ebp - 0x20]
pop ecx
pop ecx
mov byte [esi], al
push ebx
mov ecx, esi
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ecx, esi
push dword [eax]
lea eax, [ebp - 0x20]
push ebx
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov dword [ebp - 0x44], edi
push edi
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push edi
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], bl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0xb0]
mov eax, esi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret