Function at 0x40af4c
Capabilities:
Create process on windows
Create process suspended
Encode data using base64
Parse pe header
Self delete

Disassembly:
push 0xffffffffffffffff
push 0x42651d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5d0
push ebx
push ebp
push esi
mov esi, dword [esp + 0x5ec]
xor ebx, ebx
mov ebp, ecx
cmp esi, ebx
push edi
mov dword [esp + 0x50], ebp
jne 0x40af49
xor al, al
jmp 0x40de8f
mov ecx, dword [esi + 0x34]
push 5
push 0x430680
call fcn.00418a90
mov edi, dword [esp + 0x5f4]
mov dword [esp + 0xf8], eax
cmp edi, ebx
je 0x40af7f
mov eax, dword [esp + 0x5f8]
push ebx
push eax
push 0xbd7
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [esp + 0xe4]
call fcn.0040e760
mov dword [esp + 0xe0], 0x4273ec
lea ecx, [esp + 0xe0]
mov dword [esp + 0x5e8], ebx
push ecx
mov ecx, ebp
call fcn.00409d30
mov dl, byte [esp + 0x12]
push ebx
lea ecx, [esp + 0x100]
mov byte [esp + 0x100], dl
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 eax, dword [esi]
lea ecx, [esp + 0xfc]
push ecx
mov ecx, esi
mov byte [esp + 0x5ec], 1
call dword [eax + 4]
mov ecx, dword [esi + 0x34]
push 5
mov dword [esp + 0x30], ebx
call fcn.00418920
cmp eax, ebx
mov dword [esp + 0x28], eax
je 0x40dd1a
mov esi, dword [esp + 0x28]
push 0x430680
mov ecx, esi
call fcn.00417c00
test al, al
je 0x40dcf8
mov dl, byte [esp + 0x12]
push 0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x3c], dl
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 al, byte [esp + 0x12]
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x5ec], 2
mov byte [esp + 0x80], 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 cl, byte [esp + 0x12]
push 0
mov byte [esp + 0x94], cl
lea ecx, [esp + 0x94]
mov byte [esp + 0x5ec], 3
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 dl, byte [esp + 0x12]
push 0
lea ecx, [esp + 0x70]
mov byte [esp + 0x5ec], 4
mov byte [esp + 0x70], dl
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 al, byte [esp + 0x12]
push 0
lea ecx, [esp + 0xb0]
mov byte [esp + 0x5ec], 5
mov byte [esp + 0xb0], 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 ecx, [esp + 0x38]
push 0x430678
push ecx
mov ecx, esi
mov byte [esp + 0x5f0], 6
call fcn.00417960
lea edx, [esp + 0xac]
push str.name
push edx
mov ecx, esi
call fcn.00417960
mov eax, dword [esp + 0xb0]
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]
test eax, eax
je 0x40b0e4
mov esi, eax
mov al, byte [esp + 0x12]
push 0
lea ecx, [esp + 0x190]
mov byte [esp + 0x190], 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_]
push esi
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
lea ecx, [esp + 0x18c]
push eax
push esi
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 ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
mov byte [esp + 0x5e8], 7
mov edx, dword [ecx]
lea ecx, [esp + 0x7c]
push edx
push 0
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__::erase_unsigned_int__unsigned_int_]
mov eax, dword [esp + 0x194]
test eax, eax
je 0x40b36b
mov ebp, dword [esp + 0x190]
test ebp, ebp
jne 0x40b154
mov ebp, 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]
mov ax, word [ebp]
xor ebx, ebx
test ax, ax
je 0x40b36b
cmp ax, 0x5b
jne 0x40b19f
cmp word [ebp + 2], 0x24
jne 0x40b19f
lea ecx, [ebp + 4]
mov esi, ecx
mov ax, word [esi]
test ax, ax
je 0x40b19f
cmp ax, 0x5d
je 0x40b24b
cmp ax, 0x5b
je 0x40b19f
cmp ax, 0x24
je 0x40b19f
mov ax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x40b17d
add ebp, 2
inc ebx
mov ax, word [ebp]
test ax, ax
jne 0x40b163
test ebx, ebx
je 0x40b36b
push ebx
lea ecx, [esp + 0x80]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::resize_unsigned_int_]
lea ecx, [esp + 0x7c]
push ecx
call fcn.004028b0
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x40b36b
mov esi, dword [esp + 0x190]
test esi, esi
jne 0x40b1ea
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]
mov dx, word [esi]
test dx, dx
je 0x40b36b
cmp dx, 0x5b
jne 0x40b355
cmp word [esi + 2], 0x24
jne 0x40b355
lea ecx, [esi + 4]
mov ebx, ecx
mov ax, word [ebx]
test ax, ax
je 0x40b355
cmp ax, 0x5d
je 0x40b2b6
cmp ax, 0x5b
je 0x40b355
cmp ax, 0x24
je 0x40b355
mov ax, word [ebx + 2]
add ebx, 2
test ax, ax
jne 0x40b21c
jmp 0x40b355
mov edi, esi
lea eax, [esp + 0xa7]
sub edi, ebp
push eax
lea edx, [edi - 4]
sar edx, 1
push edx
push ecx
lea ecx, [esp + 0x2e8]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const___unsigned_int__class_std::allocator_unsigned_short_int__const__]
lea eax, [esp + 0x2dc]
lea ecx, [esp + 0xe4]
push eax
mov byte [esp + 0x5ec], 8
call fcn.0040e780
test eax, eax
je 0x40b290
add ebx, dword [eax + 8]
jmp 0x40b297
add edi, 2
sar edi, 1
add ebx, edi
push 1
lea ecx, [esp + 0x2e0]
lea ebp, [esi + 2]
mov byte [esp + 0x5ec], 7
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 0x40b1a3
mov edi, ebx
lea edx, [esp + 0x36]
sub edi, esi
push edx
lea eax, [edi - 4]
sar eax, 1
push eax
push ecx
lea ecx, [esp + 0x358]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const___unsigned_int__class_std::allocator_unsigned_short_int__const__]
lea ecx, [esp + 0x34c]
mov byte [esp + 0x5e8], 9
push ecx
lea ecx, [esp + 0xe8]
call fcn.0040e780
test eax, eax
je 0x40b31e
mov esi, dword [eax + 4]
mov ecx, dword [eax + 8]
test esi, esi
jne 0x40b303
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]
add ecx, ecx
mov edi, ebp
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 8]
lea ebp, [ebp + eax*2]
jmp 0x40b339
lea eax, [edi + 2]
mov edi, ebp
sar eax, 1
shl eax, 1
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
add ebp, eax
rep movsb byte es:[edi], byte [esi]
push 1
lea ecx, [esp + 0x350]
lea esi, [ebx + 2]
mov byte [esp + 0x5ec], 7
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 0x40b35f
mov word [ebp], dx
add ebp, 2
add esi, 2
mov dx, word [esi]
test dx, dx
jne 0x40b1f6
push 1
lea ecx, [esp + 0x190]
mov byte [esp + 0x5ec], 6
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 [esp + 0x28]
lea eax, [esp + 0xac]
push str.srcname
push eax
call fcn.00417960
mov esi, dword [esp + 0xb0]
test esi, esi
jne 0x40b3a9
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]
mov cl, byte [esp + 0x36]
push 0
mov byte [esp + 0x170], cl
lea ecx, [esp + 0x170]
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_]
push esi
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
lea ecx, [esp + 0x16c]
push eax
push esi
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 edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
lea ecx, [esp + 0x90]
mov byte [esp + 0x5e8], 0xa
mov eax, dword [edx]
push eax
push 0
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__::erase_unsigned_int__unsigned_int_]
mov eax, dword [esp + 0x174]
test eax, eax
je 0x40b634
mov ebx, dword [esp + 0x170]
test ebx, ebx
jne 0x40b41c
mov ebx, 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]
mov ax, word [ebx]
xor ebp, ebp
test ax, ax
je 0x40b634
cmp ax, 0x5b
jne 0x40b466
cmp word [ebx + 2], 0x24
jne 0x40b466
lea ecx, [ebx + 4]
mov esi, ecx
mov ax, word [esi]
test ax, ax
je 0x40b466
cmp ax, 0x5d
je 0x40b514
cmp ax, 0x5b
je 0x40b466
cmp ax, 0x24
je 0x40b466
mov ax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x40b444
add ebx, 2
inc ebp
mov ax, word [ebx]
test ax, ax
jne 0x40b42a
test ebp, ebp
je 0x40b634
push ebp
lea ecx, [esp + 0x94]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::resize_unsigned_int_]
lea edx, [esp + 0x90]
push edx
call fcn.004028b0
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x40b634
mov esi, dword [esp + 0x170]
test esi, esi
jne 0x40b4b3
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]
mov dx, word [esi]
test dx, dx
je 0x40b634
cmp dx, 0x5b
jne 0x40b61e
cmp word [esi + 2], 0x24
jne 0x40b61e
lea ecx, [esi + 4]
mov ebx, ecx
mov ax, word [ebx]
test ax, ax
je 0x40b61e
cmp ax, 0x5d
je 0x40b57f
cmp ax, 0x5b
je 0x40b61e
cmp ax, 0x24
je 0x40b61e
mov ax, word [ebx + 2]
add ebx, 2
test ax, ax
jne 0x40b4e5
jmp 0x40b61e
mov edi, esi
lea edx, [esp + 0xa6]
sub edi, ebx
push edx
lea eax, [edi - 4]
sar eax, 1
push eax
push ecx
lea ecx, [esp + 0x368]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const___unsigned_int__class_std::allocator_unsigned_short_int__const__]
lea ecx, [esp + 0x35c]
mov byte [esp + 0x5e8], 0xb
push ecx
lea ecx, [esp + 0xe8]
call fcn.0040e780
test eax, eax
je 0x40b559
add ebp, dword [eax + 8]
jmp 0x40b560
add edi, 2
sar edi, 1
add ebp, edi
push 1
lea ecx, [esp + 0x360]
lea ebx, [esi + 2]
mov byte [esp + 0x5ec], 0xa
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 0x40b46a
mov edi, ebx
lea eax, [esp + 0x34]
sub edi, esi
push eax
lea edx, [edi - 4]
sar edx, 1
push edx
push ecx
lea ecx, [esp + 0x2f8]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const___unsigned_int__class_std::allocator_unsigned_short_int__const__]
lea eax, [esp + 0x2ec]
lea ecx, [esp + 0xe4]
push eax
mov byte [esp + 0x5ec], 0xc
call fcn.0040e780
test eax, eax
je 0x40b5e7
mov esi, dword [eax + 4]
mov ecx, dword [eax + 8]
test esi, esi
jne 0x40b5cc
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]
add ecx, ecx
mov edi, ebp
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 8]
lea ebp, [ebp + eax*2]
jmp 0x40b602
lea eax, [edi + 2]
mov edi, ebp
sar eax, 1
shl eax, 1
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
add ebp, eax
rep movsb byte es:[edi], byte [esi]
push 1
lea ecx, [esp + 0x2f0]
lea esi, [ebx + 2]
mov byte [esp + 0x5ec], 0xa
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 0x40b628
mov word [ebp], dx
add ebp, 2
add esi, 2
mov dx, word [esi]
test dx, dx
jne 0x40b4bf
push 1
lea ecx, [esp + 0x170]
mov byte [esp + 0x5ec], 6
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 [esp + 0x28]
lea eax, [esp + 0xac]
push str.destname
push eax
call fcn.00417960
mov esi, dword [esp + 0xb0]
test esi, esi
jne 0x40b672
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]
mov cl, byte [esp + 0x34]
push 0
mov byte [esp + 0x1c0], cl
lea ecx, [esp + 0x1c0]
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_]
push esi
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
lea ecx, [esp + 0x1bc]
push eax
push esi
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 edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
lea ecx, [esp + 0x6c]
mov byte [esp + 0x5e8], 0xd
mov eax, dword [edx]
push eax
push 0
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__::erase_unsigned_int__unsigned_int_]
mov eax, dword [esp + 0x1c4]
test eax, eax
je 0x40b8f4
mov ebx, dword [esp + 0x1c0]
test ebx, ebx
jne 0x40b6e2
mov ebx, 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]
mov ax, word [ebx]
xor ebp, ebp
test ax, ax
je 0x40b8f4
cmp ax, 0x5b
jne 0x40b72c
cmp word [ebx + 2], 0x24
jne 0x40b72c
lea ecx, [ebx + 4]
mov esi, ecx
mov ax, word [esi]
test ax, ax
je 0x40b72c
cmp ax, 0x5d
je 0x40b7d4
cmp ax, 0x5b
je 0x40b72c
cmp ax, 0x24
je 0x40b72c
mov ax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x40b70a
add ebx, 2
inc ebp
mov ax, word [ebx]
test ax, ax
jne 0x40b6f0
test ebp, ebp
je 0x40b8f4
push ebp
lea ecx, [esp + 0x70]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::resize_unsigned_int_]
lea edx, [esp + 0x6c]
push edx
call fcn.004028b0
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x40b8f4
mov esi, dword [esp + 0x1c0]
test esi, esi
jne 0x40b773
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]
mov dx, word [esi]
test dx, dx
je 0x40b8f4
cmp dx, 0x5b
jne 0x40b8de
cmp word [esi + 2], 0x24
jne 0x40b8de
lea ecx, [esi + 4]
mov ebx, ecx
mov ax, word [ebx]
test ax, ax
je 0x40b8de
cmp ax, 0x5d
je 0x40b83f
cmp ax, 0x5b
je 0x40b8de
cmp ax, 0x24
je 0x40b8de
mov ax, word [ebx + 2]
add ebx, 2
test ax, ax
jne 0x40b7a5
jmp 0x40b8de
mov edi, esi
lea edx, [esp + 0xaa]
sub edi, ebx
push edx
lea eax, [edi - 4]
sar eax, 1
push eax
push ecx
lea ecx, [esp + 0x338]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const___unsigned_int__class_std::allocator_unsigned_short_int__const__]
lea ecx, [esp + 0x32c]
mov byte [esp + 0x5e8], 0xe
push ecx
lea ecx, [esp + 0xe8]
call fcn.0040e780
test eax, eax
je 0x40b819
add ebp, dword [eax + 8]
jmp 0x40b820
add edi, 2
sar edi, 1
add ebp, edi
push 1
lea ecx, [esp + 0x330]
lea ebx, [esi + 2]
mov byte [esp + 0x5ec], 0xd
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 0x40b730
mov edi, ebx
lea eax, [esp + 0x13]
sub edi, esi
push eax
lea edx, [edi - 4]
sar edx, 1
push edx
push ecx
lea ecx, [esp + 0x318]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const___unsigned_int__class_std::allocator_unsigned_short_int__const__]
lea eax, [esp + 0x30c]
lea ecx, [esp + 0xe4]
push eax
mov byte [esp + 0x5ec], 0xf
call fcn.0040e780
test eax, eax
je 0x40b8a7
mov esi, dword [eax + 4]
mov ecx, dword [eax + 8]
test esi, esi
jne 0x40b88c
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]
add ecx, ecx
mov edi, ebp
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 8]
lea ebp, [ebp + eax*2]
jmp 0x40b8c2
lea eax, [edi + 2]
mov edi, ebp
sar eax, 1
shl eax, 1
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
add ebp, eax
rep movsb byte es:[edi], byte [esi]
push 1
lea ecx, [esp + 0x310]
lea esi, [ebx + 2]
mov byte [esp + 0x5ec], 0xd
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 0x40b8e8
mov word [ebp], dx
add ebp, 2
add esi, 2
mov dx, word [esi]
test dx, dx
jne 0x40b77f
push 1
lea ecx, [esp + 0x1c0]
mov byte [esp + 0x5ec], 6
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 esi, dword [esp + 0x28]
lea eax, [esp + 0x12]
push str.ignorerror
push eax
mov ecx, esi
call fcn.00417aa0
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x14c], cl
lea ecx, [esp + 0x14c]
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 edx, [esp + 0x148]
push 0x430884
push edx
mov ecx, esi
mov byte [esp + 0x5f0], 0x10
call fcn.00417960
mov eax, dword [esp + 0x150]
test eax, eax
je 0x40ba57
mov ecx, dword [esp + 0x50]
lea eax, [esp + 0x148]
push eax
call fcn.0040ac60
test al, al
jne 0x40ba57
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x5f4]
inc ecx
test edi, edi
mov dword [esp + 0x2c], ecx
je 0x40b9c1
mov eax, dword [esp + 0x5fc]
mov ecx, dword [esp + 0x5f8]
sub eax, ecx
xor edx, edx
imul eax, dword [esp + 0x2c]
div dword [esp + 0xf8]
push 0
add eax, ecx
push eax
push 0xbd7
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
push 5
mov ecx, esi
call fcn.00417c30
push 1
lea ecx, [esp + 0x14c]
mov dword [esp + 0x2c], eax
mov byte [esp + 0x5ec], 6
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_]
push 1
lea ecx, [esp + 0xb0]
mov byte [esp + 0x5ec], 5
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_]
push 1
lea ecx, [esp + 0x70]
mov byte [esp + 0x5ec], 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_]
push 1
lea ecx, [esp + 0x94]
mov byte [esp + 0x5ec], 3
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_]
push 1
lea ecx, [esp + 0x80]
mov byte [esp + 0x5ec], 2
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_]
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0x5ec], 1
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 0x40dd05
lea ecx, [esp + 0x38]
push ecx
call fcn.004028b0
mov edx, dword [esp + 0x44]
add esp, 4
lea edx, [eax + edx*2]
cmp eax, edx
jae 0x40ba8b
mov cx, word [eax]
cmp cx, 0x41
jb 0x40ba84
cmp cx, 0x5a
ja 0x40ba84
add ecx, 0x20
mov word [eax], cx
add eax, 2
cmp eax, edx
jb 0x40ba6f
mov ebx, dword [sym.imp.MSVCP60.dll_bool___cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_short_int_const__]
lea eax, [esp + 0x38]
push str.create_dir
push eax
call ebx
add esp, 8
test al, al
je 0x40bae5
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x40bab4
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
call fcn.0040f270
add esp, 4
test al, al
jne 0x40dc1b
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x40bad5
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
call fcn.0040fc10
add esp, 4
mov bl, al
jmp 0x40dc1d
lea ecx, [esp + 0x38]
push str.delete_dir
push ecx
call ebx
add esp, 8
test al, al
je 0x40bb39
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x40bb08
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
call fcn.0040f270
add esp, 4
test al, al
je 0x40dc1b
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x40bb29
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
call fcn.0040f4c0
add esp, 4
mov bl, al
jmp 0x40dc1d
lea edx, [esp + 0x38]
push str.empty_dir
push edx
call ebx
add esp, 8
test al, al
je 0x40bba9
lea eax, [esp + 0x144]
push str.includsubdir
push eax
mov ecx, esi
call fcn.00417aa0
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x40bb70
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
call fcn.0040f270
add esp, 4
test al, al
je 0x40dc1b
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x40bb91
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]
mov ecx, dword [esp + 0x144]
push ecx
push eax
call fcn.0040f840
add esp, 8
mov bl, al
jmp 0x40dc1d
lea edx, [esp + 0x38]
push str.move_dir
push edx
call ebx
add esp, 8
test al, al
je 0x40bbea
mov ecx, dword [esp + 0x70]
mov edx, 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]
test ecx, ecx
jne 0x40bbcc
mov ecx, edx
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x40bbd9
mov eax, edx
push ecx
push eax
call fcn.0040f3f0
add esp, 8
mov bl, al
jmp 0x40dc1d
lea eax, [esp + 0x38]
push str.create_file
push eax
call ebx
add esp, 8
test al, al
je 0x40bd2c
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x15c], cl
lea ecx, [esp + 0x15c]
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 edx, [esp + 0xac]
push str.data
push edx
mov ecx, esi
mov byte [esp + 0x5f0], 0x11
call fcn.00417960
mov eax, dword [esp + 0x160]
test eax, eax
jne 0x40bc66
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x40bc52
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 0
push 0
push eax
call fcn.0040f430
add esp, 0xc
mov bl, al
jmp 0x40bd10
test byte [esp + 0x160], 1
jne 0x40bd0e
shr eax, 1
push eax
mov dword [esp + 0x20], eax
call sub.MFC42u.DLL_operatornew
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x40bd0e
mov edi, dword [esp + 0x15c]
test edi, edi
jne 0x40bca2
mov edi, 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]
test edi, edi
je 0x40bd01
test byte [esp + 0x160], 1
jne 0x40bd01
mov ebx, dword [esp + 0x160]
mov esi, 0
shr ebx, 1
je 0x40bcd5
lea eax, [esi + ebp]
push edi
push eax
call fcn.00402d20
add esp, 8
test al, al
je 0x40bd01
inc esi
add edi, 4
cmp esi, ebx
jb 0x40bcbc
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x40bce5
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]
mov ecx, dword [esp + 0x1c]
push ecx
push ebp
push eax
call fcn.0040f430
add esp, 0xc
mov bl, al
push ebp
call sub.MFC42u.DLL_operatordelete
add esp, 4
jmp 0x40bd10
push ebp
xor bl, bl
call sub.MFC42u.DLL_operatordelete
add esp, 4
jmp 0x40bd10
xor bl, bl
push 1
lea ecx, [esp + 0x15c]
mov byte [esp + 0x5ec], 0x10
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 0x40dc1d
lea edx, [esp + 0x38]
push str.copy_file
push edx
call ebx
add esp, 8
test al, al
je 0x40bffb
lea eax, [esp + 0x8c]
push str.overwrite
push eax
mov ecx, esi
call fcn.00417aa0
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x1d0], cl
lea ecx, [esp + 0x1d0]
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 edx, [esp + 0x1cc]
push 0x4303a4
push edx
mov ecx, esi
mov byte [esp + 0x5f0], 0x12
call fcn.00417960
mov ebx, dword [esp + 0x94]
mov ebp, 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]
test ebx, ebx
mov edx, ebp
je 0x40bda2
mov edx, ebx
mov ax, word [edx]
xor edi, edi
test ax, ax
mov esi, str.http:__
je 0x40bdf6
mov cx, word [esi]
test cx, cx
je 0x40bdf1
cmp edi, 7
jae 0x40bdf4
cmp ax, 0x41
jb 0x40bdcd
cmp ax, 0x5a
ja 0x40bdcd
add eax, 0x20
cmp cx, 0x41
jb 0x40bddc
cmp cx, 0x5a
ja 0x40bddc
add ecx, 0x20
cmp ax, cx
jne 0x40bdf1
mov ax, word [edx + 2]
add edx, 2
add esi, 2
inc edi
test ax, ax
jne 0x40bdb1
cmp edi, 7
je 0x40be0a
cmp word [edx], 0
jne 0x40bf86
cmp word [esi], 0
jne 0x40bf86
mov eax, dword [esp + 0x2c]
push 0xa
lea ecx, [esp + 0x390]
push eax
push ecx
call fcn.00402070
mov esi, eax
mov eax, dword [esp + 0x5c]
lea edx, [esp + 0x108]
add eax, 0x274
push edx
lea ecx, [esp + 0x42c]
push eax
push ecx
mov byte [esp + 0x600], 0x13
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__
push esi
lea edx, [esp + 0x3e8]
push eax
push edx
mov byte [esp + 0x60c], 0x14
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__
push str..tmp
push eax
lea eax, [esp + 0x298]
mov byte [esp + 0x614], 0x15
push eax
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_short_int_const__
add esp, 0x30
push 1
lea ecx, [esp + 0x3d0]
mov byte [esp + 0x5ec], 0x19
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_]
push 1
lea ecx, [esp + 0x420]
mov byte [esp + 0x5ec], 0x18
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_]
push 1
lea ecx, [esp + 0x390]
mov byte [esp + 0x5ec], 0x17
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 eax, dword [esp + 0x70]
test eax, eax
jne 0x40bece
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]
lea ecx, [esp + 0x1cc]
push eax
push ecx
call fcn.0040deb0
add esp, 8
test al, al
je 0x40beea
mov bl, 1
jmp 0x40bf6d
mov eax, dword [esp + 0x270]
test eax, eax
jne 0x40befa
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]
lea edx, [esp + 0x1cc]
push eax
push edx
call fcn.0040deb0
add esp, 8
test al, al
je 0x40bf6b
mov al, byte [esp + 0x8c]
test al, al
jne 0x40bf38
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x40bf27
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
call fcn.0040f290
add esp, 4
test al, al
je 0x40bf38
mov bl, 1
jmp 0x40bf6d
mov ecx, dword [esp + 0x70]
mov edx, 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]
test ecx, ecx
jne 0x40bf48
mov ecx, edx
mov eax, dword [esp + 0x270]
test eax, eax
jne 0x40bf55
mov eax, edx
mov edx, dword [esp + 0x8c]
push edx
push ecx
push eax
call fcn.0040f2c0
add esp, 0xc
mov bl, al
jmp 0x40bf6d
xor bl, bl
push 1
lea ecx, [esp + 0x270]
mov byte [esp + 0x5ec], 0x12
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 0x40bfdf
mov al, byte [esp + 0x8c]
test al, al
jne 0x40bfb9
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x40bf9b
mov eax, ebp
push eax
call fcn.0040f290
add esp, 4
test al, al
je 0x40bfac
mov bl, 1
jmp 0x40bfdf
mov ebx, dword [esp + 0x94]
mov ebp, 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]
mov ecx, dword [esp + 0x70]
test ecx, ecx
jne 0x40bfc3
mov ecx, ebp
test ebx, ebx
mov eax, ebp
je 0x40bfcb
mov eax, ebx
mov edx, dword [esp + 0x8c]
push edx
push ecx
push eax
call fcn.0040f2c0
add esp, 0xc
mov bl, al
push 1
lea ecx, [esp + 0x1d0]
mov byte [esp + 0x5ec], 0x10
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 0x40dc1d
lea eax, [esp + 0x38]
push str.delete_file
push eax
call ebx
add esp, 8
test al, al
je 0x40c04f
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x40c01e
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
call fcn.0040f290
add esp, 4
test al, al
je 0x40dc1b
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x40c03f
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
call fcn.0040f320
add esp, 4
mov bl, al
jmp 0x40dc1d
lea ecx, [esp + 0x38]
push str.empty_file
push ecx
call ebx
add esp, 8
test al, al
je 0x40c0a7
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x40c072
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
call fcn.0040f290
add esp, 4
test al, al
je 0x40d64c
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x40c093
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 0
push 0
push eax
call fcn.0040f430
add esp, 0xc
mov bl, al
jmp 0x40dc1d
lea edx, [esp + 0x38]
push str.move_file
push edx
call ebx
add esp, 8
test al, al
je 0x40c12d
lea eax, [esp + 0x10c]
push str.replace
push eax
mov ecx, esi
call fcn.00417aa0
mov al, byte [esp + 0x10c]
test al, al
jne 0x40c0f7
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x40c0e6
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
call fcn.0040f290
add esp, 4
test al, al
jne 0x40dc1b
mov ecx, dword [esp + 0x70]
mov edx, 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]
test ecx, ecx
jne 0x40c107
mov ecx, edx
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x40c114
mov eax, edx
mov edx, dword [esp + 0x10c]
push edx
push ecx
push eax
call fcn.0040f350
add esp, 0xc
mov bl, al
jmp 0x40dc1d
lea eax, [esp + 0x38]
push str.rename_file
push eax
call ebx
add esp, 8
test al, al
je 0x40c18f
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x40c150
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
call fcn.0040f290
add esp, 4
test al, al
je 0x40d64c
mov ecx, dword [esp + 0x70]
mov edx, 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]
test ecx, ecx
jne 0x40c171
mov ecx, edx
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x40c17e
mov eax, edx
push ecx
push eax
call fcn.0040f3c0
add esp, 8
mov bl, al
jmp 0x40dc1d
lea ecx, [esp + 0x38]
push str.unlgz_file
push ecx
call ebx
add esp, 8
test al, al
je 0x40c7fd
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x114]
mov byte [esp + 0x114], dl
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, [esp + 0xac]
push str.lgzfile
push eax
mov ecx, esi
mov byte [esp + 0x5f0], 0x1a
call fcn.00417960
mov esi, dword [esp + 0xb0]
test esi, esi
jne 0x40c1ed
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]
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x1b0], cl
lea ecx, [esp + 0x1b0]
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_]
push esi
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
lea ecx, [esp + 0x1ac]
push eax
push esi
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 edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
lea ecx, [esp + 0x110]
mov byte [esp + 0x5e8], 0x1b
mov eax, dword [edx]
push eax
push 0
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__::erase_unsigned_int__unsigned_int_]
mov eax, dword [esp + 0x1b4]
test eax, eax
je 0x40c486
mov ebx, dword [esp + 0x1b0]
test ebx, ebx
jne 0x40c260
mov ebx, 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]
mov ax, word [ebx]
xor ebp, ebp
test ax, ax
je 0x40c486
cmp ax, 0x5b
jne 0x40c2aa
cmp word [ebx + 2], 0x24
jne 0x40c2aa
lea ecx, [ebx + 4]
mov esi, ecx
mov ax, word [esi]
test ax, ax
je 0x40c2aa
cmp ax, 0x5d
je 0x40c366
cmp ax, 0x5b
je 0x40c2aa
cmp ax, 0x24
je 0x40c2aa
mov ax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x40c288
add ebx, 2
inc ebp
mov ax, word [ebx]
test ax, ax
jne 0x40c26e
test ebp, ebp
je 0x40c486
push ebp
lea ecx, [esp + 0x114]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::resize_unsigned_int_]
mov eax, dword [esp + 0x118]
test eax, eax
je 0x40c486
push 0
lea ecx, [esp + 0x114]
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__::at_unsigned_int_]
mov ebp, eax
test ebp, ebp
je 0x40c486
mov esi, dword [esp + 0x1b0]
test esi, esi
jne 0x40c305
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]
mov dx, word [esi]
test dx, dx
je 0x40c486
cmp dx, 0x5b
jne 0x40c470
cmp word [esi + 2], 0x24
jne 0x40c470
lea ecx, [esi + 4]
mov ebx, ecx
mov ax, word [ebx]
test ax, ax
je 0x40c470
cmp ax, 0x5d
je 0x40c3d1
cmp ax, 0x5b
je 0x40c470
cmp ax, 0x24
je 0x40c470
mov ax, word [ebx + 2]
add ebx, 2
test ax, ax
jne 0x40c337
jmp 0x40c470
mov edi, esi
lea edx, [esp + 0xa5]
sub edi, ebx
push edx
lea eax, [edi - 4]
sar eax, 1
push eax
push ecx
lea ecx, [esp + 0x2d8]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const___unsigned_int__class_std::allocator_unsigned_short_int__const__]
lea ecx, [esp + 0x2cc]
mov byte [esp + 0x5e8], 0x1c
push ecx
lea ecx, [esp + 0xe8]
call fcn.0040e780
test eax, eax
je 0x40c3ab
add ebp, dword [eax + 8]
jmp 0x40c3b2
add edi, 2
sar edi, 1
add ebp, edi
push 1
lea ecx, [esp + 0x2d0]
lea ebx, [esi + 2]
mov byte [esp + 0x5ec], 0x1b
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 0x40c2ae
mov edi, ebx
lea edx, [esp + 0x1b]
sub edi, esi
push edx
lea eax, [edi - 4]
sar eax, 1
push eax
push ecx
lea ecx, [esp + 0x2c8]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const___unsigned_int__class_std::allocator_unsigned_short_int__const__]
lea ecx, [esp + 0x2bc]
mov byte [esp + 0x5e8], 0x1d
push ecx
lea ecx, [esp + 0xe8]
call fcn.0040e780
test eax, eax
je 0x40c439
mov esi, dword [eax + 4]
mov ecx, dword [eax + 8]
test esi, esi
jne 0x40c41e
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]
add ecx, ecx
mov edi, ebp
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 8]
lea ebp, [ebp + eax*2]
jmp 0x40c454
lea eax, [edi + 2]
mov edi, ebp
sar eax, 1
shl eax, 1
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
add ebp, eax
rep movsb byte es:[edi], byte [esi]
push 1
lea ecx, [esp + 0x2c0]
lea esi, [ebx + 2]
mov byte [esp + 0x5ec], 0x1b
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 0x40c47a
mov word [ebp], dx
add ebp, 2
add esi, 2
mov dx, word [esi]
test dx, dx
jne 0x40c311
push 1
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x5ec], 0x1a
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 esi, dword [esp + 0x28]
lea eax, [esp + 0x27]
push str.overwrite
push eax
mov ecx, esi
call fcn.00417aa0
mov cl, byte [esp + 0x1b]
push 0
mov byte [esp + 0x230], cl
lea ecx, [esp + 0x230]
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 edx, [esp + 0x22c]
push 0x4303a4
push edx
mov ecx, esi
mov byte [esp + 0x5f0], 0x1e
call fcn.00417960
mov edx, dword [esp + 0x114]
mov ebx, 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]
test edx, edx
jne 0x40c4fb
mov edx, ebx
mov ax, word [edx]
xor edi, edi
test ax, ax
mov esi, str.http:__
je 0x40c54f
mov cx, word [esi]
test cx, cx
je 0x40c54a
cmp edi, 7
jae 0x40c54d
cmp ax, 0x41
jb 0x40c526
cmp ax, 0x5a
ja 0x40c526
add eax, 0x20
cmp cx, 0x41
jb 0x40c535
cmp cx, 0x5a
ja 0x40c535
add ecx, 0x20
cmp ax, cx
jne 0x40c54a
mov ax, word [edx + 2]
add edx, 2
add esi, 2
inc edi
test ax, ax
jne 0x40c50a
cmp edi, 7
je 0x40c563
cmp word [edx], 0
jne 0x40c718
cmp word [esi], 0
jne 0x40c718
mov eax, dword [esp + 0x2c]
push 0xa
lea ecx, [esp + 0x440]
push eax
push ecx
call fcn.00402070
mov esi, eax
mov eax, dword [esp + 0x5c]
lea edx, [esp + 0x108]
add eax, 0x274
push edx
lea ecx, [esp + 0x3bc]
push eax
push ecx
mov byte [esp + 0x600], 0x1f
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__
push esi
lea edx, [esp + 0x448]
push eax
push edx
mov byte [esp + 0x60c], 0x20
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__
push str..tmp
push eax
lea eax, [esp + 0x2d8]
mov byte [esp + 0x614], 0x21
push eax
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_short_int_const__
add esp, 0x30
push 1
lea ecx, [esp + 0x430]
mov byte [esp + 0x5ec], 0x25
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_]
push 1
lea ecx, [esp + 0x3b0]
mov byte [esp + 0x5ec], 0x24
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_]
push 1
lea ecx, [esp + 0x440]
mov byte [esp + 0x5ec], 0x23
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 eax, dword [esp + 0x2b0]
test eax, eax
jne 0x40c62a
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]
lea ecx, [esp + 0x22c]
push eax
push ecx
call fcn.0040deb0
add esp, 8
test al, al
je 0x40c6fa
mov al, byte [esp + 0x27]
test al, al
jne 0x40c66c
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x40c658
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
call fcn.0040f290
add esp, 4
test al, al
je 0x40c66c
mov bl, 1
jmp 0x40c6fc
lea ecx, [esp + 0x47c]
call fcn.00413150
mov eax, dword [esp + 0x2b0]
mov byte [esp + 0x5e8], 0x26
test eax, eax
jne 0x40c690
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 1
push eax
lea ecx, [esp + 0x484]
call fcn.00413300
test al, al
je 0x40c6e2
mov ecx, dword [esp + 0x70]
mov edx, 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]
test ecx, ecx
jne 0x40c6b3
mov ecx, edx
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x40c6c0
mov eax, edx
push 1
push 1
push ecx
push eax
lea ecx, [esp + 0x48c]
call fcn.004136b0
lea ecx, [esp + 0x47c]
mov bl, al
call fcn.004135a0
jmp 0x40c6e4
xor bl, bl
lea ecx, [esp + 0x47c]
mov byte [esp + 0x5e8], 0x23
call fcn.00413280
jmp 0x40c6fc
xor bl, bl
push 1
lea ecx, [esp + 0x2b0]
mov byte [esp + 0x5ec], 0x1e
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 0x40c7ca
mov al, byte [esp + 0x27]
test al, al
jne 0x40c73e
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x40c72a
mov eax, ebx
push eax
call fcn.0040f290
add esp, 4
test al, al
je 0x40c73e
mov bl, 1
jmp 0x40c7ca
lea ecx, [esp + 0x4c4]
call fcn.00413150
mov eax, dword [esp + 0x114]
mov byte [esp + 0x5e8], 0x27
test eax, eax
jne 0x40c762
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 1
push eax
lea ecx, [esp + 0x4cc]
call fcn.00413300
test al, al
je 0x40c7b4
mov ecx, dword [esp + 0x70]
mov edx, 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]
test ecx, ecx
jne 0x40c785
mov ecx, edx
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x40c792
mov eax, edx
push 1
push 1
push ecx
push eax
lea ecx, [esp + 0x4d4]
call fcn.004136b0
lea ecx, [esp + 0x4c4]
mov bl, al
call fcn.004135a0
jmp 0x40c7b6
xor bl, bl
lea ecx, [esp + 0x4c4]
mov byte [esp + 0x5e8], 0x1e
call fcn.00413280
push 1
lea ecx, [esp + 0x230]
mov byte [esp + 0x5ec], 0x1a
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_]
push 1
lea ecx, [esp + 0x114]
mov byte [esp + 0x5ec], 0x10
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 0x40dc1d
lea edx, [esp + 0x38]
push str.unlgz_all
push edx
call ebx
add esp, 8
test al, al
je 0x40cdda
mov al, byte [esp + 0x1b]
push 0
lea ecx, [esp + 0x124]
mov byte [esp + 0x124], 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 ecx, [esp + 0xac]
push str.lgzfile
push ecx
mov ecx, esi
mov byte [esp + 0x5f0], 0x28
call fcn.00417960
mov esi, dword [esp + 0xb0]
test esi, esi
jne 0x40c85b
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]
mov dl, byte [esp + 0x1b]
push 0
lea ecx, [esp + 0x180]
mov byte [esp + 0x180], dl
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_]
push esi
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
lea ecx, [esp + 0x17c]
push eax
push esi
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 eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
mov byte [esp + 0x5e8], 0x29
mov ecx, dword [eax]
push ecx
push 0
lea ecx, [esp + 0x128]
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__::erase_unsigned_int__unsigned_int_]
mov eax, dword [esp + 0x184]
test eax, eax
je 0x40caf3
mov ebx, dword [esp + 0x180]
test ebx, ebx
jne 0x40c8cd
mov ebx, 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]
mov ax, word [ebx]
xor ebp, ebp
test ax, ax
je 0x40caf3
cmp ax, 0x5b
jne 0x40c917
cmp word [ebx + 2], 0x24
jne 0x40c917
lea ecx, [ebx + 4]
mov esi, ecx
mov ax, word [esi]
test ax, ax
je 0x40c917
cmp ax, 0x5d
je 0x40c9d3
cmp ax, 0x5b
je 0x40c917
cmp ax, 0x24
je 0x40c917
mov ax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x40c8f5
add ebx, 2
inc ebp
mov ax, word [ebx]
test ax, ax
jne 0x40c8db
test ebp, ebp
je 0x40caf3
push ebp
lea ecx, [esp + 0x124]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::resize_unsigned_int_]
mov eax, dword [esp + 0x128]
test eax, eax
je 0x40caf3
push 0
lea ecx, [esp + 0x124]
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__::at_unsigned_int_]
mov ebp, eax
test ebp, ebp
je 0x40caf3
mov esi, dword [esp + 0x180]
test esi, esi
jne 0x40c972
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]
mov dx, word [esi]
test dx, dx
je 0x40caf3
cmp dx, 0x5b
jne 0x40cadd
cmp word [esi + 2], 0x24
jne 0x40cadd
lea ecx, [esi + 4]
mov ebx, ecx
mov ax, word [ebx]
test ax, ax
je 0x40cadd
cmp ax, 0x5d
je 0x40ca3e
cmp ax, 0x5b
je 0x40cadd
cmp ax, 0x24
je 0x40cadd
mov ax, word [ebx + 2]
add ebx, 2
test ax, ax
jne 0x40c9a4
jmp 0x40cadd
mov edi, esi
lea edx, [esp + 0xbf]
sub edi, ebx
push edx
lea eax, [edi - 4]
sar eax, 1
push eax
push ecx
lea ecx, [esp + 0x308]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const___unsigned_int__class_std::allocator_unsigned_short_int__const__]
lea ecx, [esp + 0x2fc]
mov byte [esp + 0x5e8], 0x2a
push ecx
lea ecx, [esp + 0xe8]
call fcn.0040e780
test eax, eax
je 0x40ca18
add ebp, dword [eax + 8]
jmp 0x40ca1f
add edi, 2
sar edi, 1
add ebp, edi
push 1
lea ecx, [esp + 0x300]
lea ebx, [esi + 2]
mov byte [esp + 0x5ec], 0x29
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 0x40c91b
mov edi, ebx
lea edx, [esp + 0x26]
sub edi, esi
push edx
lea eax, [edi - 4]
sar eax, 1
push eax
push ecx
lea ecx, [esp + 0x328]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const___unsigned_int__class_std::allocator_unsigned_short_int__const__]
lea ecx, [esp + 0x31c]
mov byte [esp + 0x5e8], 0x2b
push ecx
lea ecx, [esp + 0xe8]
call fcn.0040e780
test eax, eax
je 0x40caa6
mov esi, dword [eax + 4]
mov ecx, dword [eax + 8]
test esi, esi
jne 0x40ca8b
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]
add ecx, ecx
mov edi, ebp
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 8]
lea ebp, [ebp + eax*2]
jmp 0x40cac1
lea eax, [edi + 2]
mov edi, ebp
sar eax, 1
shl eax, 1
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
add ebp, eax
rep movsb byte es:[edi], byte [esi]
push 1
lea ecx, [esp + 0x320]
lea esi, [ebx + 2]
mov byte [esp + 0x5ec], 0x29
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 0x40cae7
mov word [ebp], dx
add ebp, 2
add esi, 2
mov dx, word [esi]
test dx, dx
jne 0x40c97e
push 1
lea ecx, [esp + 0x180]
mov byte [esp + 0x5ec], 0x28
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 al, byte [esp + 0x26]
push 0
lea ecx, [esp + 0x210]
mov byte [esp + 0x210], 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 ecx, [esp + 0x20c]
push 0x4303a4
push ecx
mov ecx, dword [esp + 0x30]
mov byte [esp + 0x5f0], 0x2c
call fcn.00417960
mov edx, dword [esp + 0x124]
test edx, edx
jne 0x40cb53
mov edx, 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]
mov ax, word [edx]
xor edi, edi
test ax, ax
mov esi, str.http:__
je 0x40cba7
mov cx, word [esi]
test cx, cx
je 0x40cba2
cmp edi, 7
jae 0x40cba5
cmp ax, 0x41
jb 0x40cb7e
cmp ax, 0x5a
ja 0x40cb7e
add eax, 0x20
cmp cx, 0x41
jb 0x40cb8d
cmp cx, 0x5a
ja 0x40cb8d
add ecx, 0x20
cmp ax, cx
jne 0x40cba2
mov ax, word [edx + 2]
add edx, 2
add esi, 2
inc edi
test ax, ax
jne 0x40cb62
cmp edi, 7
je 0x40cbbb
cmp word [edx], 0
jne 0x40cd2e
cmp word [esi], 0
jne 0x40cd2e
mov edx, dword [esp + 0x2c]
push 0xa
lea eax, [esp + 0x3f0]
push edx
push eax
call fcn.00402070
mov esi, eax
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x108]
add edx, 0x274
push ecx
lea eax, [esp + 0x45c]
push edx
push eax
mov byte [esp + 0x600], 0x2d
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__
push esi
lea ecx, [esp + 0x388]
push eax
push ecx
mov byte [esp + 0x60c], 0x2e
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__
push str..tmp
lea edx, [esp + 0x2c4]
push eax
push edx
mov byte [esp + 0x618], 0x2f
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_short_int_const__
add esp, 0x30
push 1
lea ecx, [esp + 0x370]
mov byte [esp + 0x5ec], 0x33
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_]
push 1
lea ecx, [esp + 0x450]
mov byte [esp + 0x5ec], 0x32
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_]
push 1
lea ecx, [esp + 0x3f0]
mov byte [esp + 0x5ec], 0x31
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 eax, dword [esp + 0x2a0]
test eax, eax
jne 0x40cc83
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, [esp + 0x210]
push eax
call fcn.0040deb0
add esp, 8
test al, al
je 0x40cd13
lea ecx, [esp + 0x554]
call fcn.00413150
mov eax, dword [esp + 0x2a0]
mov byte [esp + 0x5e8], 0x34
test eax, eax
jne 0x40ccbc
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 1
push eax
lea ecx, [esp + 0x55c]
call fcn.00413300
test al, al
je 0x40ccfb
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x40ccdc
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 1
push eax
lea ecx, [esp + 0x55c]
call fcn.00414300
lea ecx, [esp + 0x554]
mov bl, al
call fcn.004135a0
jmp 0x40ccfd
xor bl, bl
lea ecx, [esp + 0x554]
mov byte [esp + 0x5e8], 0x31
call fcn.00413280
jmp 0x40cd15
xor bl, bl
push 1
lea ecx, [esp + 0x2a0]
mov byte [esp + 0x5ec], 0x2c
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 0x40cda7
lea ecx, [esp + 0x50c]
call fcn.00413150
mov eax, dword [esp + 0x124]
mov byte [esp + 0x5e8], 0x35
test eax, eax
jne 0x40cd52
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 1
push eax
lea ecx, [esp + 0x514]
call fcn.00413300
test al, al
je 0x40cd91
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x40cd72
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 1
push eax
lea ecx, [esp + 0x514]
call fcn.00414300
lea ecx, [esp + 0x50c]
mov bl, al
call fcn.004135a0
jmp 0x40cd93
xor bl, bl
lea ecx, [esp + 0x50c]
mov byte [esp + 0x5e8], 0x2c
call fcn.00413280
push 1
lea ecx, [esp + 0x210]
mov byte [esp + 0x5ec], 0x28
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_]
push 1
lea ecx, [esp + 0x124]
mov byte [esp + 0x5ec], 0x10
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 0x40dc1d
lea ecx, [esp + 0x38]
push str.install_dict
push ecx
call ebx
add esp, 8
test al, al
jne 0x40dc1b
lea edx, [esp + 0x38]
push str.update_dict
push edx
call ebx
add esp, 8
test al, al
jne 0x40dc1b
lea eax, [esp + 0x38]
push str.uninstall_dict
push eax
call ebx
add esp, 8
test al, al
jne 0x40dc1b
lea ecx, [esp + 0x38]
push str.reload_ad
push ecx
call ebx
add esp, 8
test al, al
jne 0x40dc1b
lea edx, [esp + 0x38]
push 0x430730
push edx
call ebx
add esp, 8
test al, al
je 0x40d626
lea eax, [esp + 0x35]
push str.waitexit
push eax
mov ecx, esi
call fcn.00417aa0
mov cl, byte [esp + 0x26]
push 0
mov byte [esp + 0x60], cl
lea ecx, [esp + 0x60]
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 edx, [esp + 0x5c]
push str.param
push edx
mov ecx, esi
mov byte [esp + 0x5f0], 0x36
call fcn.00417960
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 1
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenProcess]
push 0xa
mov dword [esp + 0x134], eax
push eax
lea eax, [esp + 0x464]
push eax
call fcn.00402070
add esp, 0xc
mov eax, dword [eax + 4]
mov byte [esp + 0x5e8], 0x37
test eax, eax
jne 0x40cecd
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]
mov ecx, str.__ProcessHand_
mov dword [esp + 0x20], eax
test ecx, ecx
je 0x40d150
test eax, eax
je 0x40d150
mov eax, dword [esp + 0x64]
test eax, eax
je 0x40d150
push ecx
call dword [sym.imp.MSVCRT.dll_wcslen]
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x40d150
mov edx, dword [esp + 0x20]
push edx
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
mov ebx, eax
lea eax, [esp + 0x37]
lea ecx, [esp + 0xd0]
push eax
mov dword [esp + 0x18], ebx
call fcn.00403a20
mov edx, dword [esp + 0xd8]
lea ecx, [esp + 0x1c]
xor edi, edi
push ecx
push edx
lea ecx, [esp + 0xd8]
mov byte [esp + 0x5f0], 0x38
mov dword [esp + 0x50], edi
mov dword [esp + 0x24], edi
call fcn.00403a60
mov eax, dword [esp + 0x48]
push ebp
push eax
push str.__ProcessHand_
lea ecx, [esp + 0x68]
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__::find_unsigned_short_int_const___unsigned_int__unsigned_int_const]
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
mov esi, eax
cmp esi, dword [ecx]
je 0x40cfdd
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0xd8]
mov edx, esi
sub edx, eax
lea eax, [esp + 0x1c]
push eax
push ecx
lea ecx, [esp + 0xd8]
mov dword [esp + 0x24], edx
call fcn.00403a60
mov eax, dword [esp + 0xd8]
lea edx, [esp + 0x48]
add esi, ebp
push edx
push eax
lea ecx, [esp + 0xd8]
inc edi
mov dword [esp + 0x50], esi
call fcn.00403a60
mov ecx, dword [esp + 0x48]
push ebp
push ecx
push str.__ProcessHand_
lea ecx, [esp + 0x68]
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__::find_unsigned_short_int_const___unsigned_int__unsigned_int_const]
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
mov esi, eax
cmp esi, dword [edx]
jne 0x40cf77
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0xd8]
lea ecx, [esp + 0x1c]
sub eax, esi
push ecx
push edx
lea ecx, [esp + 0xd8]
mov dword [esp + 0x24], eax
call fcn.00403a60
test edi, edi
je 0x40d13c
mov esi, ebx
mov edx, dword [esp + 0x64]
sub esi, ebp
mov al, byte [esp + 0x37]
imul esi, edi
add esi, edx
push 0
lea ecx, [esp + 0x200]
mov dword [esp + 0x34], esi
mov byte [esp + 0x200], 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_]
cmp ebp, ebx
mov byte [esp + 0x5e8], 0x39
jae 0x40d05d
push 0
push esi
lea ecx, [esp + 0x204]
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_int__unsigned_short_int_]
lea ecx, [esp + 0x1fc]
push ecx
jmp 0x40d062
lea edx, [esp + 0x5c]
push edx
call fcn.004028b0
mov edi, eax
mov eax, dword [esp + 0x64]
add esp, 4
test eax, eax
jne 0x40d079
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]
lea ecx, [esp + 0xd0]
mov dword [esp + 0x54], eax
call fcn.00403a40
shr eax, 1
mov dword [esp + 0x1c], eax
mov ebx, 0
je 0x40d0ef
mov ecx, dword [esp + 0xd4]
mov esi, dword [ecx + ebx*8 + 4]
mov eax, dword [ecx + ebx*8]
test esi, esi
jbe 0x40d0ba
mov ecx, dword [esp + 0x54]
push esi
lea edx, [ecx + eax*2]
push edx
push edi
call fcn.00401000
add esp, 0xc
mov eax, dword [esp + 0x1c]
lea edi, [edi + esi*2]
dec eax
cmp ebx, eax
je 0x40d0e6
mov eax, dword [esp + 0x14]
test eax, eax
jbe 0x40d0df
mov edx, dword [esp + 0x20]
mov ecx, eax
push ecx
push edx
push edi
call fcn.00401000
add esp, 0xc
mov eax, dword [esp + 0x14]
lea edi, [edi + eax*2]
mov eax, dword [esp + 0x1c]
inc ebx
cmp ebx, eax
jb 0x40d096
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
mov eax, dword [esp + 0x14]
cmp ebp, eax
mov edx, dword [ecx]
push edx
jae 0x40d116
lea eax, [esp + 0x200]
push 0
push eax
lea ecx, [esp + 0x68]
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_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_int__unsigned_int_]
jmp 0x40d125
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x60]
push eax
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__::erase_unsigned_int__unsigned_int_]
push 1
lea ecx, [esp + 0x200]
mov byte [esp + 0x5ec], 0x38
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 ecx, [esp + 0xd0]
mov byte [esp + 0x5e8], 0x37
call fcn.00425400
push 1
lea ecx, [esp + 0x460]
mov byte [esp + 0x5ec], 0x36
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_]
call sub.MFC42u.DLL_AfxGetThread
test eax, eax
je 0x40d179
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x7c]
jmp 0x40d17b
xor eax, eax
mov eax, dword [eax + 0x20]
push 0xa
lea ecx, [esp + 0x410]
push eax
push ecx
call fcn.00402070
add esp, 0xc
mov eax, dword [eax + 4]
mov byte [esp + 0x5e8], 0x3a
test eax, eax
jne 0x40d1ac
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]
mov dword [esp + 0x20], esi
jmp 0x40d1b2
mov dword [esp + 0x20], eax
mov esi, eax
mov edx, 0x4306d0
test edx, edx
je 0x40d428
test esi, esi
je 0x40d428
mov eax, dword [esp + 0x64]
test eax, eax
je 0x40d428
push edx
call dword [sym.imp.MSVCRT.dll_wcslen]
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x40d428
push esi
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
mov ebx, eax
lea eax, [esp + 0xa8]
lea ecx, [esp + 0xc0]
push eax
mov dword [esp + 0x18], ebx
call fcn.00403a20
mov edx, dword [esp + 0xc8]
lea ecx, [esp + 0x30]
xor edi, edi
push ecx
push edx
lea ecx, [esp + 0xc8]
mov byte [esp + 0x5f0], 0x3b
mov dword [esp + 0x54], edi
mov dword [esp + 0x38], edi
call fcn.00403a60
mov eax, dword [esp + 0x4c]
push ebp
push eax
push 0x4306d0
lea ecx, [esp + 0x68]
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__::find_unsigned_short_int_const___unsigned_int__unsigned_int_const]
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
mov esi, eax
cmp esi, dword [ecx]
je 0x40d2bd
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xc8]
mov edx, esi
sub edx, eax
lea eax, [esp + 0x30]
push eax
push ecx
lea ecx, [esp + 0xc8]
mov dword [esp + 0x38], edx
call fcn.00403a60
mov eax, dword [esp + 0xc8]
lea edx, [esp + 0x4c]
add esi, ebp
push edx
push eax
lea ecx, [esp + 0xc8]
inc edi
mov dword [esp + 0x54], esi
call fcn.00403a60
mov ecx, dword [esp + 0x4c]
push ebp
push ecx
push 0x4306d0
lea ecx, [esp + 0x68]
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__::find_unsigned_short_int_const___unsigned_int__unsigned_int_const]
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
mov esi, eax
cmp esi, dword [edx]
jne 0x40d257
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0xc8]
lea ecx, [esp + 0x30]
sub eax, esi
push ecx
push edx
lea ecx, [esp + 0xc8]
mov dword [esp + 0x38], eax
call fcn.00403a60
test edi, edi
je 0x40d414
mov esi, ebx
mov edx, dword [esp + 0x64]
sub esi, ebp
lea eax, [esp + 0x25]
imul esi, edi
add esi, edx
push eax
lea ecx, [esp + 0x260]
mov dword [esp + 0x34], esi
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_class_std::allocator_unsigned_short_int__const__]
cmp ebp, ebx
mov byte [esp + 0x5e8], 0x3c
jae 0x40d335
push 0
push esi
lea ecx, [esp + 0x264]
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_int__unsigned_short_int_]
lea ecx, [esp + 0x25c]
push ecx
jmp 0x40d33a
lea edx, [esp + 0x5c]
push edx
call fcn.004028b0
mov edi, eax
mov eax, dword [esp + 0x64]
add esp, 4
test eax, eax
jne 0x40d351
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]
lea ecx, [esp + 0xc0]
mov dword [esp + 0x1c], eax
call fcn.00403a40
shr eax, 1
mov dword [esp + 0x54], eax
mov ebx, 0
je 0x40d3c7
mov ecx, dword [esp + 0xc4]
mov esi, dword [ecx + ebx*8 + 4]
mov eax, dword [ecx + ebx*8]
test esi, esi
jbe 0x40d392
mov ecx, dword [esp + 0x1c]
push esi
lea edx, [ecx + eax*2]
push edx
push edi
call fcn.00401000
add esp, 0xc
mov eax, dword [esp + 0x54]
lea edi, [edi + esi*2]
dec eax
cmp ebx, eax
je 0x40d3be
mov eax, dword [esp + 0x14]
test eax, eax
jbe 0x40d3b7
mov edx, dword [esp + 0x20]
mov ecx, eax
push ecx
push edx
push edi
call fcn.00401000
add esp, 0xc
mov eax, dword [esp + 0x14]
lea edi, [edi + eax*2]
mov eax, dword [esp + 0x54]
inc ebx
cmp ebx, eax
jb 0x40d36e
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
mov eax, dword [esp + 0x14]
cmp ebp, eax
mov edx, dword [ecx]
push edx
jae 0x40d3ee
lea eax, [esp + 0x260]
push 0
push eax
lea ecx, [esp + 0x68]
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_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_int__unsigned_int_]
jmp 0x40d3fd
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x60]
push eax
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__::erase_unsigned_int__unsigned_int_]
push 1
lea ecx, [esp + 0x260]
mov byte [esp + 0x5ec], 0x3b
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 ecx, [esp + 0xc0]
mov byte [esp + 0x5e8], 0x3a
call fcn.00425400
push 1
lea ecx, [esp + 0x410]
mov byte [esp + 0x5ec], 0x36
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, 0x11
xor eax, eax
lea edi, [esp + 0x59c]
lea edx, [esp + 0x7c]
rep stosd dword es:[edi], eax
xor ecx, ecx
push edx
mov dword [esp + 0x138], ecx
lea eax, [esp + 0x470]
mov dword [esp + 0x13c], ecx
push 0x4306cc
mov dword [esp + 0x144], ecx
push eax
mov dword [esp + 0x5a8], 0x44
mov dword [esp + 0x14c], ecx
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_unsigned_short_int_const___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__
push 0x4306cc
lea ecx, [esp + 0x1fc]
push eax
push ecx
mov byte [esp + 0x600], 0x3d
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_short_int_const__
add esp, 0x18
push 1
lea ecx, [esp + 0x470]
mov byte [esp + 0x5ec], 0x3f
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 eax, dword [esp + 0x64]
test eax, eax
je 0x40d51e
lea edx, [esp + 0x5c]
lea eax, [esp + 0x37c]
push edx
push 0x4306c8
push eax
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_unsigned_short_int_const___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__
add esp, 0xc
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
mov byte [esp + 0x5e8], 0x40
mov edx, dword [ecx]
lea ecx, [esp + 0x1ec]
push edx
push 0
push eax
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_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [esp + 0x380]
mov byte [esp + 0x5ec], 0x3f
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 eax, dword [esp + 0x1f4]
lea ecx, [eax + eax + 2]
push ecx
call sub.MFC42u.DLL_operatornew
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x40d5e6
mov esi, dword [esp + 0x1f0]
test esi, esi
jne 0x40d54d
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]
mov edx, dword [esp + 0x1f4]
mov edi, ebp
lea ecx, [edx + edx + 2]
lea edx, [esp + 0x59c]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x134]
push ecx
push edx
push 0
push 0
push 0
push 1
push 0
push 0
push ebp
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x40d5d9
mov al, byte [esp + 0x35]
mov bl, 1
test al, al
je 0x40d5b4
mov eax, dword [esp + 0x134]
push 0x2bf20
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x40d5b4
xor bl, bl
mov ecx, dword [esp + 0x138]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ecx
call esi
mov edx, dword [esp + 0x134]
push edx
call esi
push ebp
call sub.MFC42u.DLL_operatordelete
add esp, 4
jmp 0x40d5e8
push ebp
xor bl, bl
call sub.MFC42u.DLL_operatordelete
add esp, 4
jmp 0x40d5e8
xor bl, bl
mov eax, dword [esp + 0x130]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 1
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x5ec], 0x36
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_]
push 1
lea ecx, [esp + 0x60]
mov byte [esp + 0x5ec], 0x10
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 0x40dc1d
lea ecx, [esp + 0x38]
push str.modify_config_param
push ecx
call ebx
add esp, 8
test al, al
jne 0x40d653
lea edx, [esp + 0x38]
push str.modify_user_param
push edx
call ebx
add esp, 8
test al, al
jne 0x40d653
xor bl, bl
jmp 0x40dc1d
lea eax, [esp + 0x38]
push str.modify_config_param
push eax
call ebx
add esp, 8
mov dword [esp + 0x14], 0x43240c
test al, al
jne 0x40d676
mov dword [esp + 0x14], 0x432438
mov cl, byte [esp + 0x25]
push 0
mov byte [esp + 0x240], cl
lea ecx, [esp + 0x240]
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 dl, byte [esp + 0x25]
push 0
lea ecx, [esp + 0x1e0]
mov byte [esp + 0x5ec], 0x41
mov byte [esp + 0x1e0], dl
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, [esp + 0x23c]
push 0x4303a4
push eax
mov ecx, esi
mov byte [esp + 0x5f0], 0x42
call fcn.00417960
lea ecx, [esp + 0x1dc]
push 0x4306b0
push ecx
mov ecx, esi
call fcn.00417960
lea edx, [esp + 0x1dc]
push 0x4306ac
push edx
call ebx
add esp, 8
test al, al
je 0x40d702
mov dword [esp + 0x20], 0
jmp 0x40d71f
lea eax, [esp + 0x1dc]
push 0x4306a8
push eax
call ebx
add esp, 8
neg al
sbb eax, eax
add eax, 2
mov dword [esp + 0x20], eax
mov ebp, dword [esp + 0x94]
mov edx, 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]
test ebp, ebp
je 0x40d732
mov edx, ebp
mov ax, word [edx]
xor edi, edi
test ax, ax
mov esi, str.http:__
je 0x40d786
mov cx, word [esi]
test cx, cx
je 0x40d781
cmp edi, 7
jae 0x40d784
cmp ax, 0x41
jb 0x40d75d
cmp ax, 0x5a
ja 0x40d75d
add eax, 0x20
cmp cx, 0x41
jb 0x40d76c
cmp cx, 0x5a
ja 0x40d76c
add ecx, 0x20
cmp ax, cx
jne 0x40d781
mov ax, word [edx + 2]
add edx, 2
add esi, 2
inc edi
test ax, ax
jne 0x40d741
cmp edi, 7
je 0x40d79a
cmp word [edx], 0
jne 0x40db9d
cmp word [esi], 0
jne 0x40db9d
mov ecx, dword [esp + 0x2c]
push 0xa
lea edx, [esp + 0x3e0]
push ecx
push edx
call fcn.00402070
mov esi, eax
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x108]
add ecx, 0x274
push eax
lea edx, [esp + 0x3cc]
push ecx
push edx
mov byte [esp + 0x600], 0x43
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__
push esi
push eax
lea eax, [esp + 0x3bc]
mov byte [esp + 0x608], 0x44
push eax
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__
push str..tmp
lea ecx, [esp + 0x2b4]
push eax
push ecx
mov byte [esp + 0x618], 0x45
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_short_int_const__
add esp, 0x30
push 1
lea ecx, [esp + 0x3a0]
mov byte [esp + 0x5ec], 0x49
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_]
push 1
lea ecx, [esp + 0x3c0]
mov byte [esp + 0x5ec], 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_]
push 1
lea ecx, [esp + 0x3e0]
mov byte [esp + 0x5ec], 0x47
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 eax, dword [esp + 0x290]
test eax, eax
jne 0x40d862
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]
lea edx, [esp + 0x23c]
push eax
push edx
call fcn.0040deb0
add esp, 8
test al, al
je 0x40d92f
mov esi, dword [esp + 0x290]
test esi, esi
jne 0x40d894
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]
test esi, esi
je 0x40d92f
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x40d8ac
mov edi, dword [esp + 0x14]
push 0
lea ecx, [edi + 8]
call fcn.00408160
jmp 0x40d8b0
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x58]
push esi
push eax
mov ecx, edi
mov dword [esp + 0x60], 0
call fcn.00407e70
mov esi, eax
test esi, esi
je 0x40d92f
mov eax, dword [esp + 0x58]
test eax, eax
je 0x40d92f
lea ecx, [esp + 0xa2]
push ecx
lea ecx, [esp + 0x1a0]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_class_std::allocator_unsigned_short_int__const__]
mov edx, dword [esp + 0x58]
push 0
push esi
lea eax, [esp + 0x1a4]
push edx
push eax
mov ecx, edi
mov byte [esp + 0x5f8], 0x4b
call fcn.00405b40
test al, al
jne 0x40d94d
mov ecx, dword [esp + 0x58]
push ecx
call sub.MFC42u.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x19c]
mov byte [esp + 0x5e8], 0x47
push 1
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_]
xor bl, bl
push 1
lea ecx, [esp + 0x290]
mov byte [esp + 0x5ec], 0x42
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 0x40dbeb
mov edx, dword [esp + 0x58]
push edx
call sub.MFC42u.DLL_operatordelete
add esp, 4
lea eax, [esp + 0xa9]
lea ecx, [esp + 0x21c]
push eax
push 0x2f
push 1
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_int__unsigned_short_int__class_std::allocator_unsigned_short_int__const__]
lea ecx, [esp + 0xa4]
mov byte [esp + 0x5e8], 0x4c
push ecx
lea ecx, [esp + 0x250]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_class_std::allocator_unsigned_short_int__const__]
lea edx, [esp + 0xab]
lea ecx, [esp + 0x27c]
push edx
mov byte [esp + 0x5ec], 0x4d
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_class_std::allocator_unsigned_short_int__const__]
lea eax, [esp + 0xa3]
lea ecx, [esp + 0x33c]
push eax
mov byte [esp + 0x5ec], 0x4e
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_class_std::allocator_unsigned_short_int__const__]
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x1a4]
mov ebp, 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]
xor esi, esi
test eax, eax
mov byte [esp + 0x5e8], 0x4f
mov ebx, ecx
je 0x40d9f0
mov ebp, eax
test ecx, ecx
jle 0x40daf6
push 1
lea ecx, [esp + 0x16c]
push esi
push ecx
lea ecx, [esp + 0x1a8]
mov dword [esp + 0x174], 0xa
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__::find_unsigned_short_int_const___unsigned_int__unsigned_int_const]
mov edi, eax
cmp edi, 0xffffffff
jne 0x40da24
mov edi, ebx
mov edx, edi
lea eax, [ebp + esi*2]
sub edx, esi
lea ecx, [esp + 0x33c]
push edx
push eax
lea edx, [esp + 0x284]
push ecx
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x258]
push edx
push eax
call fcn.00407a50
cmp eax, 2
jne 0x40da87
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
lea eax, [esp + 0x24c]
mov edx, dword [ecx]
lea ecx, [esp + 0x21c]
push edx
push 0
push eax
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_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_int__unsigned_int_]
push 0x2f
push 1
lea ecx, [esp + 0x224]
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_int__unsigned_short_int_]
jmp 0x40daeb
cmp eax, 3
jne 0x40daeb
lea ecx, [esp + 0x24c]
lea edx, [esp + 0x21c]
push ecx
lea eax, [esp + 0x400]
push edx
push eax
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__
add esp, 0xc
mov esi, dword [esp + 0x20]
lea edx, [esp + 0x27c]
cmp esi, 1
mov byte [esp + 0x5e8], 0x50
sete cl
push ecx
push edx
push eax
mov eax, dword [esp + 0x20]
lea ecx, [eax + 4]
call fcn.00407f30
push 1
lea ecx, [esp + 0x400]
mov byte [esp + 0x5ec], 0x4f
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 esi, [edi + 1]
cmp esi, ebx
jl 0x40d9f8
push 1
lea ecx, [esp + 0x340]
mov byte [esp + 0x5ec], 0x4e
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_]
push 1
lea ecx, [esp + 0x280]
mov byte [esp + 0x5ec], 0x4d
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_]
push 1
lea ecx, [esp + 0x250]
mov byte [esp + 0x5ec], 0x4c
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_]
push 1
lea ecx, [esp + 0x220]
mov byte [esp + 0x5ec], 0x4b
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_]
push 1
lea ecx, [esp + 0x1a0]
mov byte [esp + 0x5ec], 0x47
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 ecx, [esp + 0x38]
push str.modify_config_param
push ecx
call dword [sym.imp.MSVCP60.dll_bool___cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_short_int_const__]
add esp, 8
mov ecx, 0x432318
test al, al
je 0x40db91
call fcn.00406200
mov bl, al
jmp 0x40d931
call fcn.00406380
mov bl, al
jmp 0x40d931
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]
test ebp, ebp
je 0x40dba8
mov eax, ebp
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
push 0
push edx
push 0
push eax
call fcn.00406500
test al, al
je 0x40dbe9
lea eax, [esp + 0x38]
push str.modify_config_param
push eax
call ebx
add esp, 8
mov ecx, 0x432318
test al, al
je 0x40dbe0
call fcn.00406200
mov bl, al
jmp 0x40dbeb
call fcn.00406380
mov bl, al
jmp 0x40dbeb
xor bl, bl
push 1
lea ecx, [esp + 0x1e0]
mov byte [esp + 0x5ec], 0x41
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_]
push 1
lea ecx, [esp + 0x240]
mov byte [esp + 0x5ec], 0x10
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 0x40dc1d
mov bl, 1
mov al, byte [esp + 0x12]
test al, al
jne 0x40dc2d
test bl, bl
je 0x40dd5f
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x5f4]
inc ecx
test esi, esi
mov dword [esp + 0x2c], ecx
je 0x40dc70
mov eax, dword [esp + 0x5fc]
mov ecx, dword [esp + 0x5f8]
sub eax, ecx
xor edx, edx
imul eax, dword [esp + 0x2c]
div dword [esp + 0xf8]
push 0
add eax, ecx
push eax
push 0xbd7
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
push 1
lea ecx, [esp + 0x14c]
mov byte [esp + 0x5ec], 6
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_]
push 1
lea ecx, [esp + 0xb0]
mov byte [esp + 0x5ec], 5
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_]
push 1
lea ecx, [esp + 0x70]
mov byte [esp + 0x5ec], 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_]
push 1
lea ecx, [esp + 0x94]
mov byte [esp + 0x5ec], 3
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_]
push 1
lea ecx, [esp + 0x80]
mov byte [esp + 0x5ec], 2
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_]
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0x5ec], 1
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 esi, dword [esp + 0x28]
push 5
mov ecx, esi
call fcn.00417c30
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x40aff6
mov edi, dword [esp + 0x5f4]
xor ebx, ebx
cmp edi, ebx
je 0x40dd33
mov eax, dword [esp + 0x5fc]
push ebx
push eax
push 0xbd7
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [esp + 0x100]
cmp ecx, ebx
je 0x40de3b
mov al, byte [ecx - 1]
test al, al
je 0x40de2f
cmp al, 0xff
je 0x40de2f
dec al
mov byte [ecx - 1], al
jmp 0x40de3b
push 1
lea ecx, [esp + 0x14c]
mov byte [esp + 0x5ec], 6
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_]
push 1
lea ecx, [esp + 0xb0]
mov byte [esp + 0x5ec], 5
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_]
push 1
lea ecx, [esp + 0x70]
mov byte [esp + 0x5ec], 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_]
push 1
lea ecx, [esp + 0x94]
mov byte [esp + 0x5ec], 3
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_]
push 1
lea ecx, [esp + 0x80]
mov byte [esp + 0x5ec], 2
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_]
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0x5ec], 1
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_]
push 1
lea ecx, [esp + 0x100]
mov byte [esp + 0x5ec], 0
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 ecx, [esp + 0xe0]
lea edx, [esp + 0xe4]
neg ecx
sbb ecx, ecx
push 0
and ecx, edx
mov dword [esp + 0x5ec], 0xffffffff
mov dword [esp + 0xe4], 0x4273ec
call fcn.00408160
xor al, al
jmp 0x40de8f
add ecx, 0xfffffffe
push ecx
call sub.MFC42u.DLL_operatordelete
add esp, 4
lea esi, [esp + 0xe0]
lea ecx, [esp + 0xe4]
neg esi
sbb esi, esi
mov dword [esp + 0xe0], 0x4273ec
and esi, ecx
mov dword [esp + 0x100], ebx
mov ecx, esi
mov dword [esp + 0x104], ebx
mov edx, dword [esi + 4]
mov dword [esp + 0x108], ebx
push edx
mov dword [esp + 0x5ec], 0xffffffff
call fcn.00408560
mov dword [esi + 4], ebx
mov dword [esi], ebx
mov dword [esi + 8], ebx
mov al, 1
mov ecx, dword [esp + 0x5e0]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x5dc
ret 0x10