Function at 0x1001a080
Capabilities:
Download url
Query environment variable
Receive data
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x1003ef7d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x428
push ebx
push ebp
push esi
mov esi, dword [esp + 0x444]
xor ebp, ebp
push edi
mov eax, dword [esi + 0x14]
mov dword [esp + 0x64], ecx
cmp eax, ebp
mov dword [esp + 0x14], ebp
jne 0x1001a0bc
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push 1
push str.Mode
push eax
mov ecx, esi
call fcn.1001c8d0
cmp eax, 1
jne 0x1001a532
lea ecx, [esp + 0xa8]
call fcn.1001ae60
lea eax, [esp + 0x20]
lea ecx, [esp + 0xb0]
push eax
mov dword [esp + 0x444], ebp
mov byte [esp + 0xb0], 0
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea ecx, [esp + 0x22]
mov byte [esp + 0x440], 1
push ecx
lea ecx, [esp + 0xc4]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea edx, [esp + 0x23]
lea ecx, [esp + 0xd0]
push edx
mov byte [esp + 0x444], 2
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea eax, [esp + 0x21]
lea ecx, [esp + 0xe0]
push eax
mov byte [esp + 0x444], 3
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea ecx, [esp + 0x13]
mov byte [esp + 0x440], 4
push ecx
lea ecx, [esp + 0x108]
mov dword [esp + 0xf4], ebp
mov dword [esp + 0xf8], ebp
mov dword [esp + 0xfc], ebp
mov dword [esp + 0x100], ebp
mov dword [esp + 0x104], ebp
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
mov word [esp + 0x114], bp
mov dword [esp + 0x118], ebp
mov word [esp + 0x11c], bp
mov word [esp + 0x11e], bp
mov word [esp + 0x120], bp
mov word [esp + 0x122], bp
mov dword [esp + 0xa8], 0x10046f60
mov eax, dword [esi + 0x14]
mov ebx, 5
cmp eax, ebp
mov dword [esp + 0x440], ebx
jne 0x1001a1de
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push ebp
push str.BrowserRandom
push eax
mov ecx, esi
call fcn.1001c8d0
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ecx, dword [esp + 0x44c]
mov byte [esp + 0xac], al
mov eax, dword [edx]
push eax
push ebp
push ecx
lea ecx, [esp + 0xbc]
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 edi, 0x100556cc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x100556cc
lea ecx, [esp + 0xc8]
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 0x100547e8
lea edx, [esp + 0x6c]
push str.HopInfo
push edx
mov ecx, esi
call fcn.1001c770
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 [esp + 0x440], 6
mov edx, dword [ecx]
lea ecx, [esp + 0xd0]
push edx
push ebp
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, [esp + 0x6c]
mov byte [esp + 0x444], 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_]
push 0x100547dc
lea eax, [esp + 0x6c]
push str.RuleInfo
push eax
mov ecx, esi
call fcn.1001c770
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 [esp + 0x440], 7
mov edx, dword [ecx]
lea ecx, [esp + 0xe0]
push edx
push ebp
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, [esp + 0x6c]
mov byte [esp + 0x444], 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 eax, dword [esi + 0x14]
cmp eax, ebp
jne 0x1001a2d2
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push ebp
push str.GroupID
push eax
mov ecx, esi
call fcn.1001c8d0
mov dword [esp + 0xf0], eax
mov eax, dword [esi + 0x14]
cmp eax, ebp
jne 0x1001a2f3
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push 0x1388
push str.ClickIntervalMin
push eax
mov ecx, esi
call fcn.1001c8d0
mov dword [esp + 0xf4], eax
mov eax, dword [esi + 0x14]
cmp eax, ebp
jne 0x1001a318
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push 0x2710
push str.ClickIntervalMax
push eax
mov ecx, esi
call fcn.1001c8d0
mov dword [esp + 0xf8], eax
mov eax, dword [esi + 0x14]
cmp eax, ebp
jne 0x1001a33d
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push 0x1d4c0
push str.TimeoutTime
push eax
mov ecx, esi
call fcn.1001c8d0
mov dword [esp + 0xfc], eax
mov eax, dword [esi + 0x14]
cmp eax, ebp
jne 0x1001a362
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push ebp
push str.RemoveCookiesRate
push eax
mov ecx, esi
call fcn.1001c8d0
mov dword [esp + 0x100], eax
push 0x100556cc
lea eax, [esp + 0x6c]
push str.RemoveCookies
push eax
mov ecx, esi
call fcn.1001c770
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 [esp + 0x440], 8
mov edx, dword [ecx]
lea ecx, [esp + 0x104]
push edx
push ebp
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, [esp + 0x6c]
mov byte [esp + 0x444], 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 eax, dword [esi + 0x14]
cmp eax, ebp
jne 0x1001a3cc
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push ebp
push str.IsSecure
push eax
mov ecx, esi
call fcn.1001c8d0
mov word [esp + 0x114], ax
mov eax, dword [esi + 0x14]
cmp eax, ebp
jne 0x1001a3ee
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push ebp
push str.ServerTime
push eax
mov ecx, esi
call fcn.1001c8d0
mov dword [esp + 0x118], eax
mov eax, dword [esi + 0x14]
cmp eax, ebp
jne 0x1001a40f
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push ebp
push str.IsOpenWindow
push eax
mov ecx, esi
call fcn.1001c8d0
mov word [esp + 0x11c], ax
mov eax, dword [esi + 0x14]
cmp eax, ebp
jne 0x1001a431
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push ebp
push str.AllowArea
push eax
mov ecx, esi
call fcn.1001c8d0
mov word [esp + 0x11e], ax
mov eax, dword [esi + 0x14]
cmp eax, ebp
jne 0x1001a453
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push ebp
push str.LoadFlash
push eax
mov ecx, esi
call fcn.1001c8d0
push 0x80
mov word [esp + 0x124], ax
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
cmp esi, ebp
je 0x1001a4a6
mov dword [esi], 0x10046f50
lea eax, [esp + 0xa8]
lea ecx, [esi + 4]
push eax
mov byte [esp + 0x444], 0xa
call fcn.1001c450
mov dword [esi], 0x10046f58
jmp 0x1001a4a8
xor esi, esi
mov ecx, dword [esp + 0x64]
push esi
push ebp
push 0x4cc
mov edx, dword [ecx + 0x24]
push edx
call dword [sym.imp.USER32.dll_PostThreadMessageA]
push 1
lea ecx, [esp + 0x108]
mov dword [esp + 0x444], 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_]
push 1
lea ecx, [esp + 0xe4]
mov byte [esp + 0x444], 0xe
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 1
lea ecx, [esp + 0xd4]
mov byte [esp + 0x444], 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_]
push 1
lea ecx, [esp + 0xc4]
mov byte [esp + 0x444], 0xc
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 byte [esp + 0x440], 0xb
push 1
lea ecx, [esp + 0xb4]
jmp 0x1001ade0
cmp eax, 2
jne 0x1001ade6
push 0x100556cc
lea eax, [esp + 0x38]
push str.XmlConfigUrl
push eax
mov ecx, esi
call fcn.1001c770
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x440], 0x10
cmp eax, ebp
ja 0x1001a574
mov dword [esp + 0x440], 0xffffffff
jmp 0x1001adda
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x334]
push 0x104
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x338]
push ecx
push str.TEMP
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x28]
mov byte [esp + 0x28], dl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
or ebp, 0xffffffff
lea edi, [esp + 0x334]
mov ecx, ebp
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x334]
push ecx
push eax
lea ecx, [esp + 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_]
lea ecx, [esp + 0x24]
push str.ofni
lea edx, [esp + 0x48]
push ecx
push edx
mov byte [esp + 0x44c], 0x11
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__
lea eax, [esp + 0x30]
push str.ofnied
lea ecx, [esp + 0x64]
push eax
push ecx
mov byte [esp + 0x458], 0x12
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__
add esp, 0x18
mov eax, dword [esp + 0x38]
mov byte [esp + 0x440], 0x13
test eax, eax
jne 0x1001a626
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push eax
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntry]
mov ecx, dword [esp + 0x48]
mov edx, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
test ecx, ecx
jne 0x1001a63d
mov ecx, edx
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x1001a647
mov eax, edx
push 0
push 0
push ecx
push eax
push 0
call sub.urlmon.dll_URLDownloadToFileA
test eax, eax
jne 0x1001ad97
mov edx, dword [sym.imp.MSVCP60.dll_const_std::basic_ifstream_char__struct_std::char_traits_char__::vbtable]
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x16c], edx
call dword [sym.imp.MSVCP60.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
mov dword [esp + 0x14], 1
push 0
lea eax, [esp + 0x178]
push 0
push eax
lea ecx, [esp + 0x178]
mov byte [esp + 0x44c], 0x14
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
push 0
lea ecx, [esp + 0x178]
mov dword [esp + 0x444], 0x15
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_filebuf_char__struct_std::char_traits_char__::constructor_struct__iobuf__]
mov ecx, dword [esp + 0x16c]
mov eax, dword [sym.imp.MSVCP60.dll_const_std::basic_ifstream_char__struct_std::char_traits_char__::vftable]
mov edx, dword [ecx + 4]
mov dword [esp + edx + 0x16c], eax
mov eax, dword [esp + 0x48]
mov byte [esp + 0x440], 0x16
test eax, eax
jne 0x1001a6e4
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push 1
push eax
lea ecx, [esp + 0x17c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_filebuf_char__struct_std::char_traits_char______thiscall_std::basic_filebuf_char__struct_std::char_traits_char__::open_char_const___int_]
test eax, eax
jne 0x1001a712
mov ecx, dword [esp + 0x16c]
push eax
push 2
mov edx, dword [ecx + 4]
lea ecx, [esp + edx + 0x174]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
mov eax, dword [sym.imp.MSVCP60.dll_const_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::vbtable]
lea ecx, [esp + 0x2d8]
mov dword [esp + 0x288], eax
call dword [sym.imp.MSVCP60.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
mov dword [esp + 0x14], 3
push 0
push 1
lea ecx, [esp + 0x294]
push 0
push ecx
lea ecx, [esp + 0x298]
mov byte [esp + 0x450], 0x17
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool__bool_]
push 2
lea ecx, [esp + 0x290]
mov dword [esp + 0x444], 0x18
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
mov edx, dword [esp + 0x288]
mov ecx, dword [sym.imp.MSVCP60.dll_const_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::vftable]
mov eax, dword [edx + 4]
mov dword [esp + eax + 0x288], ecx
mov byte [esp + 0x440], 0x19
lea edx, [esp + 0x288]
test edx, edx
jne 0x1001a79e
xor eax, eax
jmp 0x1001a7af
mov eax, dword [esp + 0x288]
mov ecx, dword [eax + 4]
lea eax, [esp + ecx + 0x288]
mov edx, dword [eax + 4]
and dl, 6
neg dl
sbb edx, edx
not edx
test eax, edx
je 0x1001a817
lea ecx, [esp + 0x16c]
call dword [sym.imp.MSVCP60.dll_public:_int___thiscall_std::basic_istream_char__struct_std::char_traits_char__::get_void_]
cmp eax, ebp
je 0x1001a7d4
mov byte [esp + 0x14], al
lea eax, [esp + 0x16c]
test eax, eax
je 0x1001a7f0
mov ecx, dword [esp + 0x16c]
mov edx, dword [ecx + 4]
lea eax, [esp + edx + 0x16c]
mov ecx, dword [eax + 4]
and cl, 6
neg cl
sbb ecx, ecx
not ecx
test eax, ecx
je 0x1001a817
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x288]
push edx
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::put_char_]
jmp 0x1001a78f
lea eax, [esp + 0x98]
lea ecx, [esp + 0x288]
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_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::str_void_]
lea ecx, [esp + 0x174]
mov byte [esp + 0x440], 0x1a
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_filebuf_char__struct_std::char_traits_char______thiscall_std::basic_filebuf_char__struct_std::char_traits_char__::close_void_]
test eax, eax
jne 0x1001a85f
mov ecx, dword [esp + 0x16c]
push eax
push 2
mov edx, dword [ecx + 4]
lea ecx, [esp + edx + 0x174]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x6c], 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 edi, str.19801219
mov ecx, ebp
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.19801219
lea ecx, [esp + 0x70]
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_]
lea ecx, [esp + 0x68]
mov byte [esp + 0x440], 0x1b
push ecx
lea ecx, [esp + 0x8c]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
push 1
lea ecx, [esp + 0x6c]
mov byte [esp + 0x444], 0x1d
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea edx, [esp + 0x98]
lea eax, [esp + 0x78]
push edx
push eax
lea ecx, [esp + 0x90]
call fcn.1000b6f0
mov ecx, dword [sym.imp.MSVCP60.dll_const_std::basic_ofstream_char__struct_std::char_traits_char__::vbtable]
mov byte [esp + 0x440], 0x1e
mov dword [esp + 0x1fc], ecx
lea ecx, [esp + 0x254]
call dword [sym.imp.MSVCP60.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
mov dword [esp + 0x14], 7
push 0
push 1
lea edx, [esp + 0x208]
push 0
push edx
lea ecx, [esp + 0x20c]
mov byte [esp + 0x450], 0x1f
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool__bool_]
push 0
lea ecx, [esp + 0x204]
mov dword [esp + 0x444], 0x20
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_filebuf_char__struct_std::char_traits_char__::constructor_struct__iobuf__]
mov eax, dword [esp + 0x1fc]
mov edx, dword [sym.imp.MSVCP60.dll_const_std::basic_ofstream_char__struct_std::char_traits_char__::vftable]
mov ecx, dword [eax + 4]
mov dword [esp + ecx + 0x1fc], edx
mov eax, dword [esp + 0x58]
mov bl, 0x21
test eax, eax
mov byte [esp + 0x440], bl
jne 0x1001a96c
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push 0x12
push eax
lea ecx, [esp + 0x208]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_filebuf_char__struct_std::char_traits_char______thiscall_std::basic_filebuf_char__struct_std::char_traits_char__::open_char_const___int_]
test eax, eax
jne 0x1001a99a
push eax
mov eax, dword [esp + 0x200]
push 2
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x204]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
lea edx, [esp + 0x78]
lea eax, [esp + 0x1fc]
push edx
push eax
call sub.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
add esp, 8
lea ecx, [esp + 0x200]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_filebuf_char__struct_std::char_traits_char______thiscall_std::basic_filebuf_char__struct_std::char_traits_char__::close_void_]
test eax, eax
jne 0x1001a9da
mov ecx, dword [esp + 0x1fc]
push eax
push 2
mov edx, dword [ecx + 4]
lea ecx, [esp + edx + 0x204]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
lea ecx, [esp + 0x124]
call fcn.100024f0
mov eax, dword [esp + 0x58]
mov byte [esp + 0x440], 0x22
test eax, eax
jne 0x1001a9fb
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push 0
push eax
lea ecx, [esp + 0x12c]
call fcn.10002790
test al, al
jne 0x1001aa23
mov dword [esp + 0x124], 0x10042814
mov byte [esp + 0x440], 0x23
jmp 0x1001aa4c
lea ecx, [esp + 0x124]
call fcn.10001dd0
mov esi, eax
test esi, esi
jne 0x1001ab18
mov dword [esp + 0x124], 0x10042814
mov byte [esp + 0x440], 0x24
lea ecx, [esp + 0x158]
call fcn.10005fe0
lea ecx, [esp + 0x124]
mov byte [esp + 0x440], bl
call fcn.10001790
lea ecx, [esp + 0x254]
mov byte [esp + 0x440], 0x1e
call dword [sym.imp.MSVCP60.dll_public_virtual:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [esp + 0x254]
call dword [sym.imp.MSVCP60.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
push 1
lea ecx, [esp + 0x7c]
mov byte [esp + 0x444], 0x1d
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 1
lea ecx, [esp + 0x8c]
mov byte [esp + 0x444], 0x1a
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 1
lea ecx, [esp + 0x9c]
mov byte [esp + 0x444], 0x19
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea ecx, [esp + 0x2d8]
mov byte [esp + 0x440], 0x16
call dword [sym.imp.MSVCP60.dll_public_virtual:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x2d8]
call dword [sym.imp.MSVCP60.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [esp + 0x1c8]
mov byte [esp + 0x440], 0x13
call dword [sym.imp.MSVCP60.dll_public_virtual:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [esp + 0x1c8]
call dword [sym.imp.MSVCP60.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
jmp 0x1001ad97
push str.type
mov ecx, esi
call fcn.100020d0
test eax, eax
jne 0x1001ab5f
mov dword [esp + 0x124], 0x10042814
lea ecx, [esp + 0x158]
mov byte [esp + 0x440], 0x25
call fcn.10005fe0
lea ecx, [esp + 0x124]
mov byte [esp + 0x440], bl
call fcn.10001790
jmp 0x1001ad16
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
cmp eax, 2
jne 0x1001ad03
push 0x84
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov byte [esp + 0x440], 0x26
je 0x1001ab98
mov ecx, eax
call fcn.1001c380
jmp 0x1001ab9a
xor eax, eax
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x444], 0x22
call fcn.1001db50
mov eax, dword [esp + 0x18]
push esi
mov byte [esp + 0x444], 0x27
lea ecx, [eax + 0x10]
call fcn.1000f2e0
test al, al
jne 0x1001abdb
lea ecx, [esp + 0x1c]
mov byte [esp + 0x440], 0x22
call fcn.1001ae10
jmp 0x1001ad03
mov ecx, dword [esp + 0x18]
add ecx, 0x10
call fcn.1001cd90
lea ecx, [esp + 0x30c]
call fcn.1001c350
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ecx, dword [esp + 0x44c]
mov dword [esp + 0x30c], 0x64
mov byte [esp + 0x440], 0x28
mov eax, dword [edx]
push eax
push 0
push ecx
lea ecx, [esp + 0x330]
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 edx, dword [esp + 0x18]
mov eax, dword [edx + 0x18]
lea ecx, [edx + 0x10]
lea edx, [esp + 0x30c]
push edx
push eax
call fcn.100118b0
mov eax, dword [esp + 0x18]
lea ecx, [eax + 0x10]
call fcn.10010dd0
test al, al
jne 0x1001ac78
lea ecx, [esp + 0x30c]
mov byte [esp + 0x440], 0x27
call fcn.100109f0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x440], 0x22
call fcn.1001ae10
jmp 0x1001ad03
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov byte [esp + 0x440], 0x29
je 0x1001aca0
lea ecx, [esp + 0x18]
push ecx
mov ecx, eax
call fcn.1001c660
jmp 0x1001aca2
xor eax, eax
mov edx, dword [esp + 0x64]
push eax
push 0
push 0x4cc
mov eax, dword [edx + 0x24]
push eax
call dword [sym.imp.USER32.dll_PostThreadMessageA]
lea ecx, [esp + 0x30c]
mov byte [esp + 0x440], 0x27
call fcn.100109f0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x440], 0x22
call fcn.1001ae10
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x1001acea
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push eax
call sub.MFC42.DLL_CFile::Remove
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x1001acfd
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push eax
call sub.MFC42.DLL_CFile::Remove
lea ecx, [esp + 0x124]
mov byte [esp + 0x440], bl
call fcn.100025c0
lea ecx, [esp + 0x1fc]
mov byte [esp + 0x440], 0x1e
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
push 1
lea ecx, [esp + 0x7c]
mov byte [esp + 0x444], 0x1d
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 1
lea ecx, [esp + 0x8c]
mov byte [esp + 0x444], 0x1a
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 1
lea ecx, [esp + 0x9c]
mov byte [esp + 0x444], 0x19
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea ecx, [esp + 0x288]
mov byte [esp + 0x440], 0x16
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::vbase_dtor_void_]
lea ecx, [esp + 0x16c]
mov byte [esp + 0x440], 0x13
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
push 1
lea ecx, [esp + 0x58]
mov byte [esp + 0x444], 0x12
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 1
lea ecx, [esp + 0x48]
mov byte [esp + 0x444], 0x11
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 1
lea ecx, [esp + 0x28]
mov byte [esp + 0x444], 0x10
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 dword [esp + 0x440], ebp
push 1
lea ecx, [esp + 0x38]
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 [esp + 0x438]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x434
ret 8