Function at 0x46bb38
Capabilities:
Authenticate hmac
Connect socket
Get socket status
Resolve dns
Set socket configuration

Disassembly:
push 0x4f4
mov eax, 0x4717c7
call fcn.0046fc42
mov ebx, dword [ebp + 8]
xor eax, eax
push eax
mov dword [ebp - 4], eax
push 1
or edi, 0xffffffff
push 2
mov dword [ebp - 0x2a0], ebx
mov esi, ecx
mov dword [ebp - 0x2c0], 1
mov dword [ebp - 0x2f0], 0xb4
mov dword [ebp - 0x2ec], eax
mov dword [ebx + 0x14c], edi
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebx + 0x14c], eax
cmp eax, edi
jne 0x46bbaa
mov dword [ebp - 0x2cc], 0x6a
lea eax, [ebp - 0x2cc]
push 0x49ab24
push eax
call sub.MSVCR90.dll__CxxThrowException
cmp word [ebp + 0xc], 0
je 0x46bbb6
push dword [ebp + 0xc]
jmp 0x46bbc9
push 0
push str.mail
call dword [sym.imp.WS2_32.dll_getservbyname]
test eax, eax
jne 0x46bbd4
push 0x19
call dword [sym.imp.WS2_32.dll_htons]
movzx eax, ax
jmp 0x46bbd8
movzx eax, word [eax + 8]
push 2
pop ecx
push esi
mov word [ebp - 0x160], cx
mov word [ebp - 0x15e], ax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x15c], eax
cmp eax, edi
jne 0x46bc1e
push esi
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x46bc60
movsx ecx, word [eax + 0xa]
mov eax, dword [eax + 0xc]
push ecx
push dword [eax]
lea eax, [ebp - 0x15c]
push eax
call sub.MSVCR90.dll_memcpy
add esp, 0xc
lea eax, [ebp - 0x2c0]
push eax
push 0x8004667e
push dword [ebx + 0x14c]
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, edi
jne 0x46bc86
push dword [ebx + 0x14c]
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x2b0], 0x6c
push 0x49ab24
lea eax, [ebp - 0x2b0]
jmp 0x46bba4
push dword [ebx + 0x14c]
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x2a8], 0x69
push 0x49ab24
lea eax, [ebp - 0x2a8]
jmp 0x46bba4
push 0x10
lea eax, [ebp - 0x160]
push eax
push dword [ebx + 0x14c]
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, edi
jne 0x46d05f
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x46bcd6
push dword [ebx + 0x14c]
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x288], 0x68
push 0x49ab24
lea eax, [ebp - 0x288]
jmp 0x46bba4
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x3f8], ecx
mov dword [ebp - 0x500], edx
xor eax, eax
cmp eax, ecx
jae 0x46bd00
mov esi, dword [ebp + eax*4 - 0x3f4]
cmp esi, dword [ebx + 0x14c]
je 0x46bcfe
inc eax
jmp 0x46bce8
cmp eax, ecx
jne 0x46bd1a
cmp ecx, 0x40
jae 0x46bd1a
mov ecx, dword [ebx + 0x14c]
mov dword [ebp + eax*4 - 0x3f4], ecx
inc dword [ebp - 0x3f8]
xor eax, eax
cmp eax, edx
jae 0x46bd34
mov ecx, dword [ebp + eax*4 - 0x4fc]
cmp ecx, dword [ebx + 0x14c]
je 0x46bd32
inc eax
jmp 0x46bd1c
cmp eax, edx
jne 0x46bd4e
cmp edx, 0x40
jae 0x46bd4e
mov ecx, dword [ebx + 0x14c]
mov dword [ebp + eax*4 - 0x4fc], ecx
inc dword [ebp - 0x500]
lea eax, [ebp - 0x2f0]
push eax
lea eax, [ebp - 0x500]
push eax
lea eax, [ebp - 0x3f8]
push eax
mov eax, dword [ebx + 0x14c]
push 0
inc eax
push eax
call dword [sym.imp.WS2_32.dll_select]
cmp eax, edi
jne 0x46bd9d
push dword [ebx + 0x14c]
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x28c], 0x6d
push 0x49ab24
lea eax, [ebp - 0x28c]
jmp 0x46bba4
test eax, eax
jne 0x46bdc7
push dword [ebx + 0x14c]
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x294], 0x193
push 0x49ab24
lea eax, [ebp - 0x294]
jmp 0x46bba4
lea eax, [ebp - 0x3f8]
push eax
push dword [ebx + 0x14c]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x46d098
xor eax, eax
cmp eax, dword [ebp - 0x3f8]
jae 0x46be1c
mov ecx, dword [ebp + eax*4 - 0x3f4]
cmp ecx, dword [ebx + 0x14c]
jne 0x46be55
mov ecx, dword [ebp - 0x3f8]
dec ecx
cmp eax, ecx
jae 0x46be16
mov ecx, dword [ebp + eax*4 - 0x3f0]
mov dword [ebp + eax*4 - 0x3f4], ecx
inc eax
jmp 0x46bdfa
dec dword [ebp - 0x3f8]
xor eax, eax
cmp eax, dword [ebp - 0x500]
jae 0x46be5e
mov ecx, dword [ebp + eax*4 - 0x4fc]
cmp ecx, dword [ebx + 0x14c]
jne 0x46bf34
mov ecx, dword [ebp - 0x500]
dec ecx
cmp eax, ecx
jae 0x46be58
mov ecx, dword [ebp + eax*4 - 0x4f8]
mov dword [ebp + eax*4 - 0x4fc], ecx
inc eax
jmp 0x46be39
inc eax
jmp 0x46bde3
dec dword [ebp - 0x500]
mov eax, dword [ebp + 0x10]
cmp eax, 3
je 0x46be6c
mov dword [ebx + 0x1d0], eax
mov eax, dword [ebx + 0x1d0]
cmp eax, 1
je 0x46be7c
cmp eax, 2
jne 0x46beb1
call fcn.00406490
call fcn.004065d0
call fcn.00407000
push eax
call fcn.00406010
pop ecx
mov dword [ebx + 0x1d4], eax
test eax, eax
jne 0x46bea1
call fcn.00469f38
cmp dword [ebx + 0x1d0], 2
jne 0x46beb1
mov esi, ebx
call fcn.00469dc0
push 0
call fcn.00469d8d
pop ecx
push eax
push ebx
call fcn.0046b1fd
mov esi, ebx
call fcn.0046b47f
cmp dword [ebx + 0x1d0], 1
jne 0x46bedc
mov eax, ebx
call fcn.0046b3c4
call fcn.0046b47f
cmp byte [ebp + 0x14], 0
je 0x46d05f
push str.AUTH
push dword [ebx + 0x148]
call fcn.00469cbf
pop ecx
pop ecx
cmp al, 1
jne 0x46d05f
xor eax, eax
je 0x46bf11
push eax
lea ecx, [ebx + 0xe8]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
cmp dword [ebx + 0xfc], 0
jne 0x46bf3a
mov dword [ebp - 0x29c], 0xcc
push 0x49ab24
lea eax, [ebp - 0x29c]
jmp 0x46bba4
inc eax
jmp 0x46be1e
xor eax, eax
je 0x46bf4b
push eax
lea ecx, [ebx + 0x104]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
cmp dword [ebx + 0x118], 0
jne 0x46bf6e
mov dword [ebp - 0x2a4], 0xcd
push 0x49ab24
lea eax, [ebp - 0x2a4]
jmp 0x46bba4
push str.LOGIN
push dword [ebx + 0x148]
call fcn.00469cbf
pop ecx
pop ecx
cmp al, 1
jne 0x46c0ce
push 3
call fcn.00469d8d
mov esi, dword [sym.imp.MSVCR90.dll_sprintf_s]
mov dword [esp], str.AUTH_LOGIN_r_n
mov edi, 0x2800
push edi
push dword [ebx + 0x144]
mov dword [ebp - 0x254], eax
call esi
add esp, 0xc
push dword [ebp - 0x254]
mov eax, ebx
call fcn.0046a32e
push dword [ebp - 0x254]
push ebx
call fcn.0046b1fd
mov ecx, dword [ebx + 0xfc]
lea eax, [ebx + 0xe8]
cmp dword [eax + 0x18], 0x10
jb 0x46bfe3
mov eax, dword [eax + 4]
jmp 0x46bfe6
add eax, 4
push ecx
mov edx, eax
lea ecx, [ebp - 0xa4]
call fcn.0046d917
pop ecx
push 7
mov byte [ebp - 4], 1
call fcn.00469d8d
cmp dword [ebp - 0x8c], 0x10
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0xa0]
pop ecx
jae 0x46c01c
lea eax, [ebp - 0xa0]
push eax
push str._s_r_n
push edi
push dword [ebx + 0x144]
call esi
add esp, 0x10
push dword [ebp - 0x254]
mov eax, ebx
call fcn.0046a32e
push dword [ebp - 0x254]
push ebx
call fcn.0046b1fd
mov ecx, dword [ebx + 0x118]
lea eax, [ebx + 0x104]
cmp dword [eax + 0x18], 0x10
jb 0x46c05e
mov eax, dword [eax + 4]
jmp 0x46c061
add eax, 4
push ecx
mov edx, eax
lea ecx, [ebp - 0x6c]
call fcn.0046d917
pop ecx
push 8
mov byte [ebp - 4], 2
call fcn.00469d8d
cmp dword [ebp - 0x54], 0x10
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x68]
pop ecx
jae 0x46c08b
lea eax, [ebp - 0x68]
push eax
push str._s_r_n
push edi
push dword [ebx + 0x144]
call esi
add esp, 0x10
push dword [ebp - 0x254]
mov eax, ebx
call fcn.0046a32e
push dword [ebp - 0x254]
push ebx
call fcn.0046b1fd
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0xa4]
jmp 0x46d055
push str.PLAIN
push dword [ebx + 0x148]
call fcn.00469cbf
pop ecx
pop ecx
cmp al, 1
jne 0x46c1eb
push 2
call fcn.00469d8d
mov dword [ebp - 0x254], eax
lea eax, [ebx + 0x104]
cmp dword [eax + 0x18], 0x10
pop ecx
jb 0x46c107
mov eax, dword [eax + 4]
jmp 0x46c10a
add eax, 4
cmp dword [ebx + 0x100], 0x10
jb 0x46c11b
mov edx, dword [ebx + 0xec]
jmp 0x46c121
lea edx, [ebx + 0xec]
cmp dword [ebx + 0x100], 0x10
jb 0x46c132
mov ecx, dword [ebx + 0xec]
jmp 0x46c138
lea ecx, [ebx + 0xec]
push eax
push edx
push ecx
push str._s_s_s
mov edi, 0x2800
push edi
push dword [ebx + 0x144]
call dword [sym.imp.MSVCR90.dll_sprintf_s]
mov esi, dword [ebx + 0x144]
mov ecx, esi
add esp, 0x18
lea eax, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x46c160
sub ecx, eax
mov eax, esi
mov dword [ebp - 0x258], ecx
call fcn.00469c7c
mov esi, eax
xor eax, eax
cmp eax, dword [ebp - 0x258]
jae 0x46c18f
cmp byte [eax + esi], 0x5e
jne 0x46c18c
mov byte [eax + esi], 0
inc eax
jmp 0x46c17a
push dword [ebp - 0x258]
mov edx, esi
lea ecx, [ebp - 0x6c]
call fcn.0046d917
pop ecx
push esi
mov byte [ebp - 4], 3
call sub.mfc90.dll_Ordinal_266
cmp dword [ebp - 0x54], 0x10
mov eax, dword [ebp - 0x68]
pop ecx
jae 0x46c1b7
lea eax, [ebp - 0x68]
push eax
push str.AUTH_PLAIN__s_r_n
push edi
push dword [ebx + 0x144]
call dword [sym.imp.MSVCR90.dll_sprintf_s]
add esp, 0x10
push dword [ebp - 0x254]
mov eax, ebx
call fcn.0046a32e
push dword [ebp - 0x254]
push ebx
call fcn.0046b1fd
jmp 0x46d052
push str.CRAM_MD5
push dword [ebx + 0x148]
call fcn.00469cbf
pop ecx
pop ecx
cmp al, 1
jne 0x46c53f
push 4
call fcn.00469d8d
mov dword [esp], str.AUTH_CRAM_MD5_r_n
push 0x2800
push dword [ebx + 0x144]
mov esi, eax
call dword [sym.imp.MSVCR90.dll_sprintf_s]
add esp, 0xc
push esi
mov eax, ebx
call fcn.0046a32e
push esi
push ebx
call fcn.0046b1fd
push dword [ebx + 0x148]
lea ecx, [ebp - 0x88]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [ebp - 4], 4
mov eax, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
push dword [eax]
lea eax, [ebp - 0x6c]
push 4
push eax
lea ecx, [ebp - 0x88]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
push eax
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call dword [0x4733d8]
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 4
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x50]
call fcn.0046da92
pop ecx
mov byte [ebp - 4], 6
cmp dword [ebp - 0x38], 0x10
mov eax, dword [ebp - 0x4c]
jae 0x46c2a5
lea eax, [ebp - 0x4c]
call fcn.00469c7c
mov dword [ebp - 0x25c], eax
lea eax, [ebx + 0x104]
cmp dword [eax + 0x18], 0x10
jb 0x46c2c1
mov eax, dword [eax + 4]
jmp 0x46c2c4
add eax, 4
call fcn.00469c7c
cmp dword [ebp - 0x25c], 0
mov edi, eax
je 0x46c525
test edi, edi
je 0x46c525
mov esi, dword [ebx + 0x118]
cmp esi, 0x40
jle 0x46c319
lea eax, [ebp - 0x1d0]
call fcn.00468ec6
push edi
mov eax, esi
lea ecx, [ebp - 0x1d0]
call fcn.004696b8
lea esi, [ebp - 0x1d0]
call fcn.0046977c
call fcn.00469659
push 0x10
mov edi, eax
pop esi
push 0x40
lea eax, [ebp - 0x218]
push 0
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x40
lea eax, [ebp - 0x128]
push 0
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
push esi
lea eax, [ebp - 0x218]
push edi
push eax
call sub.MSVCR90.dll_memcpy
add esp, 0xc
push esi
lea eax, [ebp - 0x128]
push edi
push eax
call sub.MSVCR90.dll_memcpy
add esp, 0xc
xor eax, eax
cmp eax, 0x40
jge 0x46c37b
xor byte [ebp + eax - 0x218], 0x36
xor byte [ebp + eax - 0x128], 0x5c
inc eax
jmp 0x46c363
lea eax, [ebp - 0x1d0]
call fcn.00468ec6
lea eax, [ebp - 0x218]
push eax
push 0x40
pop eax
lea ecx, [ebp - 0x1d0]
call fcn.004696b8
push dword [ebp - 0x25c]
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x1d0]
call fcn.004696b8
lea esi, [ebp - 0x1d0]
call fcn.0046977c
call fcn.00469659
mov dword [ebp - 0x258], eax
lea eax, [ebp - 0x1d0]
call fcn.00468ec6
lea eax, [ebp - 0x128]
push eax
push 0x40
pop eax
lea ecx, [ebp - 0x1d0]
call fcn.004696b8
push dword [ebp - 0x258]
lea ecx, [ebp - 0x1d0]
push 0x10
pop eax
call fcn.004696b8
lea esi, [ebp - 0x1d0]
call fcn.0046977c
mov eax, esi
push eax
call fcn.004695cf
push eax
lea ecx, [ebp - 0x50]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push dword [ebp - 0x25c]
call sub.mfc90.dll_Ordinal_266
pop ecx
push edi
call sub.mfc90.dll_Ordinal_266
pop ecx
push dword [ebp - 0x258]
call sub.mfc90.dll_Ordinal_266
lea eax, [ebx + 0xe8]
mov dword [esp], 0x4963ac
push eax
lea eax, [ebp - 0xa4]
push eax
call dword [sym.imp.MSVCP90.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
add esp, 0xc
lea ecx, [ebp - 0x50]
push ecx
push eax
lea eax, [ebp - 0x6c]
push eax
mov byte [ebp - 4], 7
call dword [sym.imp.MSVCP90.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
add esp, 0xc
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 8
call dword [0x4733d8]
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 7
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 6
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
cmp dword [ebp - 0x38], 0x10
mov edx, dword [ebp - 0x4c]
jae 0x46c49f
lea edx, [ebp - 0x4c]
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x6c]
call fcn.0046d917
pop ecx
push eax
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 9
call dword [0x4733d8]
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 6
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
cmp dword [ebp - 0x70], 0x10
mov eax, dword [ebp - 0x84]
jae 0x46c4db
lea eax, [ebp - 0x84]
push eax
push str._s_r_n
push 0x2800
push dword [ebx + 0x144]
call dword [sym.imp.MSVCR90.dll_sprintf_s]
push 8
call fcn.00469d8d
mov esi, eax
add esp, 0x14
push esi
mov eax, ebx
call fcn.0046a32e
push esi
push ebx
call fcn.0046b1fd
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 4
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x88]
jmp 0x46d055
mov dword [ebp - 0x2ac], 0xce
push 0x49ab24
lea eax, [ebp - 0x2ac]
jmp 0x46bba4
push str.DIGEST_MD5
push dword [ebx + 0x148]
call fcn.00469cbf
pop ecx
pop ecx
cmp al, 1
jne 0x46d083
push 6
call fcn.00469d8d
mov edi, dword [sym.imp.MSVCR90.dll_sprintf_s]
mov dword [esp], str.AUTH_DIGEST_MD5_r_n
push 0x2800
push dword [ebx + 0x144]
mov esi, eax
call edi
add esp, 0xc
push esi
mov eax, ebx
call fcn.0046a32e
push esi
push ebx
call fcn.0046b1fd
push dword [ebx + 0x148]
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [ebp - 4], 0xa
mov eax, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
push dword [eax]
lea eax, [ebp - 0x2e8]
push 4
push eax
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0xb
call dword [0x4733d8]
lea ecx, [ebp - 0x2e8]
mov byte [ebp - 4], 0xa
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x88]
call fcn.0046da92
pop ecx
push 0
push str.nonce
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xc
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int_const]
test eax, eax
jge 0x46c61d
mov dword [ebp - 0x2c4], 0xcf
push 0x49ab24
lea eax, [ebp - 0x2c4]
jmp 0x46bba4
mov ecx, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
push dword [ecx]
add eax, 7
push eax
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x88]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
push 0
mov esi, 0x4964e8
push esi
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0xd
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int_const]
test eax, eax
jge 0x46c672
mov dword [ebp - 0x284], 0xcf
push 0x49ab24
lea eax, [ebp - 0x284]
jmp 0x46bba4
push eax
push 0
lea eax, [ebp - 0x2e8]
push eax
lea ecx, [ebp - 0xc0]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
push eax
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0xe
call dword [0x4733d8]
lea ecx, [ebp - 0x2e8]
mov byte [ebp - 4], 0xd
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x50]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
push 0
push str.realm
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xf
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int_const]
test eax, eax
jl 0x46c769
mov ecx, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
push dword [ecx]
add eax, 7
push eax
lea eax, [ebp - 0x2e8]
push eax
lea ecx, [ebp - 0x88]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x10
call dword [0x4733d8]
lea ecx, [ebp - 0x2e8]
mov byte [ebp - 4], 0xf
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 0
push esi
lea ecx, [ebp - 0x50]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int_const]
test eax, eax
jge 0x46c738
mov dword [ebp - 0x2b8], 0xcf
push 0x49ab24
lea eax, [ebp - 0x2b8]
jmp 0x46bba4
push eax
push 0
lea eax, [ebp - 0x2e8]
push eax
lea ecx, [ebp - 0x50]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x11
call dword [0x4733d8]
lea ecx, [ebp - 0x2e8]
mov byte [ebp - 4], 0xf
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 0
call dword [sym.imp.MSVCR90.dll__time64]
pop ecx
push eax
push 0x495910
lea eax, [ebp - 0x34]
push 0x11
push eax
call edi
push 1
push str._08d
lea eax, [ebp - 0x20]
push 9
push eax
call edi
add esp, 0x20
push str.auth
lea ecx, [ebp - 0xa4]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea eax, [ebp - 0x2b4]
push eax
lea eax, [ebp - 0x250]
mov byte [ebp - 4], 0x12
push eax
push dword [ebx + 0x14c]
mov dword [ebp - 0x2b4], 0x80
call dword [sym.imp.WS2_32.dll_getpeername]
test eax, eax
jne 0x46c7e9
mov dword [ebp - 0x290], 0xd0
push 0x49ab24
lea eax, [ebp - 0x290]
jmp 0x46bba4
push dword [ebp - 0x24c]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea ecx, [ebp - 0xdc]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x2e8]
push str.smtp_
push eax
mov byte [ebp - 4], 0x13
call dword [sym.imp.MSVCP90.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___char_const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
add esp, 0xc
push eax
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x14
call dword [0x4733d8]
lea ecx, [ebp - 0x2e8]
mov byte [ebp - 4], 0x13
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, dword [ebp - 0x4c]
push 0x10
pop esi
cmp dword [ebp - 0x38], esi
jae 0x46c851
lea eax, [ebp - 0x4c]
call fcn.00469c7c
mov dword [ebp - 0x264], eax
cmp dword [ebx + 0x100], esi
jb 0x46c86c
mov eax, dword [ebx + 0xec]
jmp 0x46c872
lea eax, [ebx + 0xec]
call fcn.00469c7c
mov dword [ebp - 0x26c], eax
lea eax, [ebx + 0x104]
cmp dword [eax + 0x18], esi
jb 0x46c88d
mov eax, dword [eax + 4]
jmp 0x46c890
add eax, 4
call fcn.00469c7c
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0xbc]
cmp dword [ebp - 0xa8], esi
jae 0x46c8af
lea eax, [ebp - 0xbc]
call fcn.00469c7c
mov dword [ebp - 0x254], eax
lea eax, [ebp - 0x34]
call fcn.00469c7c
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0xd8]
cmp dword [ebp - 0xc4], esi
jae 0x46c8dc
lea eax, [ebp - 0xd8]
call fcn.00469c7c
mov dword [ebp - 0x270], eax
lea eax, [ebp - 0x20]
call fcn.00469c7c
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0xa0]
cmp dword [ebp - 0x8c], esi
jae 0x46c909
lea eax, [ebp - 0xa0]
call fcn.00469c7c
xor ecx, ecx
mov dword [ebp - 0x280], eax
cmp dword [ebp - 0x264], ecx
je 0x46d069
cmp dword [ebp - 0x26c], ecx
je 0x46d069
cmp dword [ebp - 0x268], ecx
je 0x46d069
cmp dword [ebp - 0x254], ecx
je 0x46d069
cmp dword [ebp - 0x25c], ecx
je 0x46d069
cmp dword [ebp - 0x270], ecx
je 0x46d069
cmp dword [ebp - 0x258], ecx
je 0x46d069
cmp eax, ecx
je 0x46d069
lea eax, [ebp - 0x150]
call fcn.00468ec6
push dword [ebp - 0x26c]
mov eax, dword [ebx + 0xfc]
lea ecx, [ebp - 0x150]
call fcn.004696b8
xor eax, eax
mov edi, 0x49650c
push edi
inc eax
lea ecx, [ebp - 0x150]
call fcn.004696b8
push dword [ebp - 0x264]
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x150]
call fcn.004696b8
xor eax, eax
push edi
inc eax
lea ecx, [ebp - 0x150]
call fcn.004696b8
push dword [ebp - 0x268]
mov eax, dword [ebx + 0x118]
lea ecx, [ebp - 0x150]
call fcn.004696b8
lea esi, [ebp - 0x150]
call fcn.0046977c
call fcn.00469659
mov dword [ebp - 0x260], eax
lea eax, [ebp - 0x150]
call fcn.00468ec6
push dword [ebp - 0x260]
lea ecx, [ebp - 0x150]
push 0x10
pop eax
call fcn.004696b8
xor eax, eax
push edi
inc eax
lea ecx, [ebp - 0x150]
call fcn.004696b8
push dword [ebp - 0x254]
mov eax, dword [ebp - 0xac]
lea ecx, [ebp - 0x150]
call fcn.004696b8
xor eax, eax
push edi
inc eax
lea ecx, [ebp - 0x150]
call fcn.004696b8
lea eax, [ebp - 0x34]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46ca52
push dword [ebp - 0x25c]
sub eax, edx
lea ecx, [ebp - 0x150]
call fcn.004696b8
lea esi, [ebp - 0x150]
call fcn.0046977c
mov eax, esi
push eax
call fcn.004695cf
mov dword [ebp - 0x278], eax
lea eax, [ebp - 0x1d0]
call fcn.00468ec6
push str.AUTHENTICATE:
push 0xd
pop eax
lea ecx, [ebp - 0x1d0]
call fcn.004696b8
push dword [ebp - 0x270]
mov eax, dword [ebp - 0xc8]
lea ecx, [ebp - 0x1d0]
call fcn.004696b8
lea esi, [ebp - 0x1d0]
call fcn.0046977c
mov eax, esi
push eax
call fcn.004695cf
push dword [ebp - 0x260]
mov dword [ebp - 0x274], eax
call sub.mfc90.dll_Ordinal_266
mov eax, dword [ebp - 0x278]
pop ecx
call fcn.00469c7c
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x274]
call fcn.00469c7c
mov dword [ebp - 0x27c], eax
lea eax, [ebp - 0x150]
call fcn.00468ec6
push dword [ebp - 0x260]
lea ecx, [ebp - 0x150]
push 0x20
pop eax
call fcn.004696b8
xor esi, esi
inc esi
push edi
mov eax, esi
lea ecx, [ebp - 0x150]
call fcn.004696b8
push dword [ebp - 0x254]
mov eax, dword [ebp - 0xac]
lea ecx, [ebp - 0x150]
call fcn.004696b8
push edi
mov eax, esi
lea ecx, [ebp - 0x150]
call fcn.004696b8
lea eax, [ebp - 0x20]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46cb5c
push dword [ebp - 0x258]
sub eax, edx
lea ecx, [ebp - 0x150]
call fcn.004696b8
push edi
mov eax, esi
lea ecx, [ebp - 0x150]
call fcn.004696b8
lea eax, [ebp - 0x34]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46cb8a
push dword [ebp - 0x25c]
sub eax, edx
lea ecx, [ebp - 0x150]
call fcn.004696b8
push edi
mov eax, esi
lea ecx, [ebp - 0x150]
call fcn.004696b8
push dword [ebp - 0x280]
mov eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x150]
call fcn.004696b8
push edi
mov eax, esi
lea ecx, [ebp - 0x150]
call fcn.004696b8
push dword [ebp - 0x27c]
lea ecx, [ebp - 0x150]
push 0x20
pop eax
call fcn.004696b8
lea esi, [ebp - 0x150]
call fcn.0046977c
mov eax, esi
push eax
call fcn.004695cf
push eax
lea ecx, [ebp - 0x88]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push dword [ebp - 0x264]
call sub.mfc90.dll_Ordinal_266
pop ecx
push dword [ebp - 0x26c]
call sub.mfc90.dll_Ordinal_266
pop ecx
push dword [ebp - 0x268]
call sub.mfc90.dll_Ordinal_266
pop ecx
push dword [ebp - 0x254]
call sub.mfc90.dll_Ordinal_266
pop ecx
push dword [ebp - 0x25c]
call sub.mfc90.dll_Ordinal_266
pop ecx
push dword [ebp - 0x270]
call sub.mfc90.dll_Ordinal_266
pop ecx
push dword [ebp - 0x258]
call sub.mfc90.dll_Ordinal_266
pop ecx
push dword [ebp - 0x280]
call sub.mfc90.dll_Ordinal_266
pop ecx
push dword [ebp - 0x260]
call sub.mfc90.dll_Ordinal_266
pop ecx
push dword [ebp - 0x27c]
call sub.mfc90.dll_Ordinal_266
pop ecx
push dword [ebp - 0x278]
call sub.mfc90.dll_Ordinal_266
pop ecx
push dword [ebp - 0x274]
call sub.mfc90.dll_Ordinal_266
mov eax, dword [ebx + 0x148]
mov dword [esp], str.charset
push eax
call dword [sym.imp.MSVCR90.dll_strstr]
cmp dword [ebx + 0x100], 0x10
pop ecx
pop ecx
jb 0x46ccc1
mov eax, dword [ebx + 0xec]
jmp 0x46ccc7
lea eax, [ebx + 0xec]
mov edi, dword [sym.imp.MSVCR90.dll_sprintf_s]
push eax
push str.charsetutf_8_username__s_
mov esi, 0x2800
push esi
push dword [ebx + 0x144]
call edi
add esp, 0x10
cmp dword [ebp - 0x3c], 0
je 0x46cd3b
cmp dword [ebp - 0x38], 0x10
mov eax, dword [ebp - 0x4c]
jae 0x46ccf6
lea eax, [ebp - 0x4c]
push eax
push str._realm__s_
push esi
push dword [ebx + 0x148]
call edi
mov eax, dword [ebx + 0x148]
add esp, 0x10
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46cd10
mov edi, dword [ebx + 0x144]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x46cd20
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, 0x2800
cmp dword [ebp - 0xa8], 0x10
mov eax, dword [ebp - 0xbc]
jae 0x46cd50
lea eax, [ebp - 0xbc]
push eax
push str._nonce__s_
push esi
push dword [ebx + 0x148]
call dword [sym.imp.MSVCR90.dll_sprintf_s]
mov eax, dword [ebx + 0x148]
add esp, 0x10
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46cd6e
mov edi, dword [ebx + 0x144]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x46cd7e
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x20]
push eax
push str._nc_s
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x2800
push dword [ebx + 0x148]
call dword [sym.imp.MSVCR90.dll_sprintf_s]
mov eax, dword [ebx + 0x148]
add esp, 0x10
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46cdb9
mov edi, dword [ebx + 0x144]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x46cdc9
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x34]
push eax
push str._cnonce__s_
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x2800
push dword [ebx + 0x148]
call dword [sym.imp.MSVCR90.dll_sprintf_s]
mov eax, dword [ebx + 0x148]
add esp, 0x10
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46ce04
mov edi, dword [ebx + 0x144]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x46ce14
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp dword [ebp - 0xc4], 0x10
mov eax, dword [ebp - 0xd8]
jae 0x46ce3f
lea eax, [ebp - 0xd8]
push eax
push str._digest_uri__s_
push 0x2800
push dword [ebx + 0x148]
call dword [sym.imp.MSVCR90.dll_sprintf_s]
mov eax, dword [ebx + 0x148]
add esp, 0x10
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46ce61
mov edi, dword [ebx + 0x144]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x46ce71
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp dword [ebp - 0x70], 0x10
mov eax, dword [ebp - 0x84]
jae 0x46ce99
lea eax, [ebp - 0x84]
push eax
push str._response_s
push 0x2800
push dword [ebx + 0x148]
call dword [sym.imp.MSVCR90.dll_sprintf_s]
mov eax, dword [ebx + 0x148]
add esp, 0x10
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46cebb
mov edi, dword [ebx + 0x144]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x46cecb
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp dword [ebp - 0x8c], 0x10
mov eax, dword [ebp - 0xa0]
jae 0x46cef6
lea eax, [ebp - 0xa0]
push eax
push str._qop_s
push 0x2800
push dword [ebx + 0x148]
call dword [sym.imp.MSVCR90.dll_sprintf_s]
mov eax, dword [ebx + 0x148]
add esp, 0x10
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46cf18
mov edi, dword [ebx + 0x144]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x46cf28
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x144]
call fcn.00469c7c
mov esi, eax
mov eax, dword [ebx + 0x144]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46cf54
sub eax, edx
push eax
mov edx, esi
lea ecx, [ebp - 0x2e8]
call fcn.0046d917
pop ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x15
call dword [0x4733d8]
lea ecx, [ebp - 0x2e8]
mov byte [ebp - 4], 0x13
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push esi
call sub.mfc90.dll_Ordinal_266
cmp dword [ebp - 0x54], 0x10
mov eax, dword [ebp - 0x68]
pop ecx
jae 0x46cf9d
lea eax, [ebp - 0x68]
mov esi, dword [sym.imp.MSVCR90.dll_sprintf_s]
push eax
push str._s_r_n
mov edi, 0x2800
push edi
push dword [ebx + 0x144]
call esi
push 6
call fcn.00469d8d
add esp, 0x14
mov dword [ebp - 0x254], eax
push eax
mov eax, ebx
call fcn.0046a32e
push dword [ebp - 0x254]
push ebx
call fcn.0046b1fd
push 0x496440
push edi
push dword [ebx + 0x144]
call esi
add esp, 0xc
push 8
call fcn.00469d8d
mov esi, eax
pop ecx
push esi
mov eax, ebx
call fcn.0046a32e
push esi
push ebx
call fcn.0046b1fd
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x12
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0xf
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xd
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0xc
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xa
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov al, 1
call fcn.0046fc9e
ret 0x10
mov dword [ebp - 0x2bc], 0xce
push 0x49ab24
lea eax, [ebp - 0x2bc]
jmp 0x46bba4
mov dword [ebp - 0x298], 0x1a1
lea eax, [ebp - 0x298]
jmp 0x46bb9f
lea eax, [ebp - 0x500]
push eax
push dword [ebx + 0x14c]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x46bcd6
push dword [ebx + 0x14c]
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x2c8], 0x6d
push 0x49ab24
lea eax, [ebp - 0x2c8]
jmp 0x46bba4