Function at 0x471a80
Capabilities:
Get client handle via schannel
Get outbound credentials handle via credssp

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a72f0
mov eax, dword fs:[0]
push eax
sub esp, 0x3c8
mov eax, dword [0x61df80]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x388], ecx
mov dword [ebp - 0x384], 0
mov eax, dword [ebp - 0x388]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x64c], ecx
push 0x70
call fcn.004bde6b
add esp, 4
mov dword [ebp - 0xa8], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0xa8], 0
je 0x471b31
push str.auth
lea ecx, [ebp - 0xc4]
call fcn.00403100
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x384]
or edx, 1
mov dword [ebp - 0x384], edx
push sym.GNTKProProxy.exe_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const_gloox::XMLNS_STREAM_SASL
push sym.GNTKProProxy.exe_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const_gloox::XMLNS
lea eax, [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xa8]
call sym.GNTKProProxy.exe_public:_void___thiscall_gloox::Tag::constructor_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___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
mov dword [ebp - 0x38c], eax
jmp 0x471b3b
mov dword [ebp - 0x38c], 0
mov ecx, dword [ebp - 0x38c]
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 4], 2
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0x10], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x384]
and eax, 1
je 0x471b7b
and dword [ebp - 0x384], 0xfffffffe
lea ecx, [ebp - 0xc4]
call fcn.00403180
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x390], ecx
cmp dword [ebp - 0x390], 0x4000
jg 0x471bee
cmp dword [ebp - 0x390], 0x4000
je 0x4721ae
cmp dword [ebp - 0x390], 0x1000
jg 0x471bd9
cmp dword [ebp - 0x390], 0x1000
je 0x471fda
cmp dword [ebp - 0x390], 0x400
je 0x471c23
cmp dword [ebp - 0x390], 0x800
je 0x471c23
jmp 0x47277e
cmp dword [ebp - 0x390], 0x2000
je 0x472041
jmp 0x47277e
cmp dword [ebp - 0x390], 0x8000
je 0x472215
cmp dword [ebp - 0x390], 0x10000
je 0x47231d
cmp dword [ebp - 0x390], 0x20000
je 0x4723e9
jmp 0x47277e
cmp dword [ebp + 8], 0x400
jne 0x471cd5
mov edx, dword [ebp - 0x388]
mov eax, dword [edx + 0x2a4]
and eax, 0x800
jne 0x471c5b
push 0x5e0dcc
mov ecx, dword [ebp - 0x388]
add ecx, 0x688
call fcn.004031c0
jmp 0x471c71
push 0x5e0dd0
mov ecx, dword [ebp - 0x388]
add ecx, 0x688
call fcn.004031c0
push str.SCRAM_SHA_1
lea ecx, [ebp - 0xe0]
call fcn.00403100
mov dword [ebp - 4], 3
push 0x5e0de0
lea ecx, [ebp - 0xfc]
call fcn.00403100
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xe0]
push ecx
lea edx, [ebp - 0xfc]
push edx
mov ecx, dword [ebp - 0x10]
call sym.GNTKProProxy.exe_public:_bool___thiscall_gloox::Tag::addAttribute_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__
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xfc]
call fcn.00403180
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe0]
call fcn.00403180
jmp 0x471d4d
push str.ptls_unique_
mov ecx, dword [ebp - 0x388]
add ecx, 0x688
call fcn.004031c0
push str.SCRAM_SHA_1_PLUS
lea ecx, [ebp - 0x118]
call fcn.00403100
mov dword [ebp - 4], 5
push 0x5e0e10
lea ecx, [ebp - 0x134]
call fcn.00403100
mov byte [ebp - 4], 6
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x10]
call sym.GNTKProProxy.exe_public:_bool___thiscall_gloox::Tag::addAttribute_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__
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x134]
call fcn.00403180
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x118]
call fcn.00403180
lea ecx, [ebp - 0x30]
call fcn.004030d0
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0x388]
add ecx, 0xc0
call sym.GNTKProProxy.exe_public:_bool___thiscall_gloox::JID::operator_bool_void_const
movzx edx, al
test edx, edx
je 0x471dee
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x388]
add ecx, 0xc0
call sym.GNTKProProxy.exe_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____thiscall_gloox::JID::bare_void_const
push eax
call fcn.004a0b70
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x471dee
lea edx, [ebp - 0x30]
push edx
push 0x5e0e1c
lea eax, [ebp - 0x150]
push eax
call fcn.00426690
add esp, 0xc
mov dword [ebp - 0x394], eax
mov ecx, dword [ebp - 0x394]
mov dword [ebp - 0x398], ecx
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x398]
push edx
mov ecx, dword [ebp - 0x388]
add ecx, 0x688
call fcn.00409360
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x150]
call fcn.00403180
push 0x5e0e20
mov ecx, dword [ebp - 0x388]
add ecx, 0x688
call fcn.00409380
push 0x5e0e24
mov ecx, dword [ebp - 0x388]
add ecx, 0x650
call fcn.004031c0
mov ecx, dword [ebp - 0x388]
add ecx, 0x16c
call fcn.00403230
movzx eax, al
test eax, eax
jne 0x471e69
lea ecx, [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x388]
add edx, 0x16c
push edx
call fcn.004a0b70
add esp, 8
movzx eax, al
test eax, eax
je 0x471e69
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x388]
add ecx, 0x650
call fcn.00409360
jmp 0x471ea0
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x388]
add ecx, 0x14
call sym.GNTKProProxy.exe_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____thiscall_gloox::Disco::Identity::type_void_const
push eax
call fcn.004a0b70
add esp, 8
movzx eax, al
test eax, eax
je 0x471ea0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x388]
add ecx, 0x650
call fcn.00409360
lea edx, [ebp - 0x16c]
push edx
mov ecx, dword [ebp - 0x388]
call sym.GNTKProProxy.exe_protected:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_gloox::ClientBase::getRandom_void_
mov dword [ebp - 0x39c], eax
mov eax, dword [ebp - 0x39c]
mov dword [ebp - 0x3a0], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x3a0]
push ecx
push 0x5e0e28
lea edx, [ebp - 0x188]
push edx
call fcn.00426690
add esp, 0xc
mov dword [ebp - 0x3a4], eax
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x3a8], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x3a8]
push ecx
mov ecx, dword [ebp - 0x388]
add ecx, 0x650
call fcn.00409360
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x188]
call fcn.00403180
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x16c]
call fcn.00403180
mov edx, dword [ebp - 0x388]
add edx, 0x650
push edx
mov eax, dword [ebp - 0x388]
add eax, 0x688
push eax
lea ecx, [ebp - 0x1a4]
push ecx
call fcn.00409180
add esp, 0xc
mov dword [ebp - 0x3ac], eax
mov edx, dword [ebp - 0x3ac]
mov dword [ebp - 0x3b0], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x3b0]
push eax
lea ecx, [ebp - 0x1c0]
push ecx
call sym.GNTKProProxy.exe_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_gloox::Base64::encode64_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__const
add esp, 8
mov dword [ebp - 0x3b4], eax
mov edx, dword [ebp - 0x3b4]
mov dword [ebp - 0x3b8], edx
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x3b8]
push eax
mov ecx, dword [ebp - 0x10]
call sym.GNTKProProxy.exe_public:_bool___thiscall_gloox::Tag::setCData_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1c0]
call fcn.00403180
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1a4]
call fcn.00403180
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.00403180
jmp 0x47277e
push str.DIGEST_MD5
lea ecx, [ebp - 0x1dc]
call fcn.00403100
mov dword [ebp - 4], 0xd
push 0x5e0e38
lea ecx, [ebp - 0x1f8]
call fcn.00403100
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1dc]
push ecx
lea edx, [ebp - 0x1f8]
push edx
mov ecx, dword [ebp - 0x10]
call sym.GNTKProProxy.exe_public:_bool___thiscall_gloox::Tag::addAttribute_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__
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1f8]
call fcn.00403180
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1dc]
call fcn.00403180
jmp 0x47277e
push str.PLAIN
lea ecx, [ebp - 0x214]
call fcn.00403100
mov dword [ebp - 4], 0xf
push 0x5e0e4c
lea ecx, [ebp - 0x230]
call fcn.00403100
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x230]
push ecx
mov ecx, dword [ebp - 0x10]
call sym.GNTKProProxy.exe_public:_bool___thiscall_gloox::Tag::addAttribute_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__
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x230]
call fcn.00403180
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x214]
call fcn.00403180
lea ecx, [ebp - 0x4c]
call fcn.004030d0
mov dword [ebp - 4], 0x11
mov ecx, dword [ebp - 0x388]
add ecx, 0xc0
call sym.GNTKProProxy.exe_public:_bool___thiscall_gloox::JID::operator_bool_void_const
movzx edx, al
test edx, edx
je 0x4720e4
mov ecx, dword [ebp - 0x388]
add ecx, 0xc0
call sym.GNTKProProxy.exe_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____thiscall_gloox::JID::bare_void_const
push eax
lea ecx, [ebp - 0x4c]
call fcn.00409360
push 0
lea ecx, [ebp - 0x4c]
call fcn.0043a4a0
mov ecx, dword [ebp - 0x388]
add ecx, 0x16c
call fcn.00403230
movzx eax, al
test eax, eax
jne 0x47211d
mov ecx, dword [ebp - 0x388]
add ecx, 0x16c
push ecx
lea ecx, [ebp - 0x4c]
call fcn.00409360
jmp 0x472134
mov ecx, dword [ebp - 0x388]
add ecx, 0x14
call sym.GNTKProProxy.exe_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____thiscall_gloox::Disco::Identity::type_void_const
push eax
lea ecx, [ebp - 0x4c]
call fcn.00409360
push 0
lea ecx, [ebp - 0x4c]
call fcn.0043a4a0
mov edx, dword [ebp - 0x388]
add edx, 0x224
push edx
lea ecx, [ebp - 0x4c]
call fcn.00409360
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x24c]
push ecx
call sym.GNTKProProxy.exe_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_gloox::Base64::encode64_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__const
add esp, 8
mov dword [ebp - 0x3bc], eax
mov edx, dword [ebp - 0x3bc]
mov dword [ebp - 0x3c0], edx
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x3c0]
push eax
mov ecx, dword [ebp - 0x10]
call sym.GNTKProProxy.exe_public:_bool___thiscall_gloox::Tag::setCData_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x24c]
call fcn.00403180
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.00403180
jmp 0x47277e
push str.ANONYMOUS
lea ecx, [ebp - 0x268]
call fcn.00403100
mov dword [ebp - 4], 0x13
push 0x5e0e64
lea ecx, [ebp - 0x284]
call fcn.00403100
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x268]
push ecx
lea edx, [ebp - 0x284]
push edx
mov ecx, dword [ebp - 0x10]
call sym.GNTKProProxy.exe_public:_bool___thiscall_gloox::Tag::addAttribute_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__
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x284]
call fcn.00403180
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x268]
call fcn.00403180
jmp 0x47277e
push str.EXTERNAL
lea ecx, [ebp - 0x2a0]
call fcn.00403100
mov dword [ebp - 4], 0x15
push 0x5e0e7c
lea ecx, [ebp - 0x2bc]
call fcn.00403100
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x2a0]
push eax
lea ecx, [ebp - 0x2bc]
push ecx
mov ecx, dword [ebp - 0x10]
call sym.GNTKProProxy.exe_public:_bool___thiscall_gloox::Tag::addAttribute_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__
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x2bc]
call fcn.00403180
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2a0]
call fcn.00403180
mov ecx, dword [ebp - 0x388]
add ecx, 0xc0
call sym.GNTKProProxy.exe_public:_bool___thiscall_gloox::JID::operator_bool_void_const
movzx edx, al
test edx, edx
je 0x4722a8
mov ecx, dword [ebp - 0x388]
add ecx, 0xc0
call sym.GNTKProProxy.exe_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____thiscall_gloox::JID::bare_void_const
mov dword [ebp - 0x3c4], eax
jmp 0x4722bc
mov ecx, dword [ebp - 0x388]
add ecx, 0x14
call sym.GNTKProProxy.exe_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____thiscall_gloox::JID::bare_void_const
mov dword [ebp - 0x3c4], eax
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x2c0], eax
mov ecx, dword [ebp - 0x2c0]
push ecx
lea edx, [ebp - 0x2dc]
push edx
call sym.GNTKProProxy.exe_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_gloox::Base64::encode64_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__const
add esp, 8
mov dword [ebp - 0x3c8], eax
mov eax, dword [ebp - 0x3c8]
mov dword [ebp - 0x3cc], eax
mov dword [ebp - 4], 0x17
mov ecx, dword [ebp - 0x3cc]
push ecx
mov ecx, dword [ebp - 0x10]
call sym.GNTKProProxy.exe_public:_bool___thiscall_gloox::Tag::setCData_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2dc]
call fcn.00403180
jmp 0x47277e
push str.GSSAPI
lea ecx, [ebp - 0x2f8]
call fcn.00403100
mov dword [ebp - 4], 0x18
push 0x5e0e90
lea ecx, [ebp - 0x314]
call fcn.00403100
mov byte [ebp - 4], 0x19
lea edx, [ebp - 0x2f8]
push edx
lea eax, [ebp - 0x314]
push eax
mov ecx, dword [ebp - 0x10]
call sym.GNTKProProxy.exe_public:_bool___thiscall_gloox::Tag::addAttribute_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__
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x314]
call fcn.00403180
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2f8]
call fcn.00403180
lea ecx, [ebp - 0x68]
call fcn.004030d0
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0x68]
push ecx
lea edx, [ebp - 0x330]
push edx
call sym.GNTKProProxy.exe_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_gloox::Base64::encode64_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__const
add esp, 8
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x3d4], eax
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x3d4]
push ecx
mov ecx, dword [ebp - 0x10]
call sym.GNTKProProxy.exe_public:_bool___thiscall_gloox::Tag::setCData_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x330]
call fcn.00403180
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x68]
call fcn.00403180
jmp 0x47277e
push 0x5e0e9c
lea ecx, [ebp - 0x34c]
call fcn.00403100
mov dword [ebp - 4], 0x1c
push str.mechanism
lea ecx, [ebp - 0x368]
call fcn.00403100
mov byte [ebp - 4], 0x1d
lea edx, [ebp - 0x34c]
push edx
lea eax, [ebp - 0x368]
push eax
mov ecx, dword [ebp - 0x10]
call sym.GNTKProProxy.exe_public:_bool___thiscall_gloox::Tag::addAttribute_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__
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x368]
call fcn.00403180
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34c]
call fcn.00403180
mov dword [ebp - 0x84], 0
xor ecx, ecx
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x78], 0
mov ecx, dword [ebp - 0x388]
add ecx, 0x14
call sym.GNTKProProxy.exe_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____thiscall_gloox::Disco::Identity::type_void_const
mov ecx, eax
call sym.GNTKProProxy.exe_public:_class_gloox::Tag_const____thiscall_gloox::Error::appError_void_const
test eax, eax
jbe 0x4726d2
push 0
push 0
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x388]
add ecx, 0x14
call sym.GNTKProProxy.exe_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____thiscall_gloox::Disco::Identity::type_void_const
mov ecx, eax
call fcn.00403210
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
jle 0x47255f
xor ecx, ecx
mov eax, dword [ebp - 0x70]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004bde9a
add esp, 4
mov dword [ebp - 0x36c], eax
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x70]
push ecx
mov edx, dword [ebp - 0x80]
push edx
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x388]
add ecx, 0x14
call sym.GNTKProProxy.exe_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____thiscall_gloox::Disco::Identity::type_void_const
mov ecx, eax
call fcn.00403210
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor eax, eax
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x80]
mov word [edx + ecx*2 - 2], ax
push 0
push 0
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x388]
add ecx, 0x6a4
call fcn.00403210
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
jle 0x4725ee
xor ecx, ecx
mov eax, dword [ebp - 0x6c]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004bde9a
add esp, 4
mov dword [ebp - 0x370], eax
mov eax, dword [ebp - 0x370]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x6c]
push ecx
mov edx, dword [ebp - 0x7c]
push edx
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x388]
add ecx, 0x6a4
call fcn.00403210
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor eax, eax
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x7c]
mov word [edx + ecx*2 - 2], ax
push 0
push 0
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x388]
add ecx, 0x224
call fcn.00403210
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jle 0x47267d
xor ecx, ecx
mov eax, dword [ebp - 0x78]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004bde9a
add esp, 4
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x374]
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp - 0x78]
push ecx
mov edx, dword [ebp - 0x74]
push edx
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x388]
add ecx, 0x224
call fcn.00403210
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor eax, eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov word [edx + ecx*2 - 2], ax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0x70]
sub ecx, 1
mov dword [ebp - 0x9c], ecx
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x6c]
sub eax, 1
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x78]
sub edx, 1
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x88], 2
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x84], eax
push 0
mov ecx, dword [ebp - 0x388]
add ecx, 0x6ec
push ecx
push 0
push 0
mov edx, dword [ebp - 0x84]
push edx
push 0
push 2
push str.NTLM
push 0
call dword [sym.imp.Secur32.dll_AcquireCredentialsHandleW]
cmp dword [ebp - 0x80], 0
je 0x472722
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x378], eax
mov ecx, dword [ebp - 0x378]
push ecx
call fcn.004bdea5
add esp, 4
mov dword [ebp - 0x80], 0
cmp dword [ebp - 0x7c], 0
je 0x472747
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x37c], edx
mov eax, dword [ebp - 0x37c]
push eax
call fcn.004bdea5
add esp, 4
mov dword [ebp - 0x7c], 0
cmp dword [ebp - 0x74], 0
je 0x47277e
mov ecx, dword [ebp - 0x78]
shl ecx, 1
push ecx
mov edx, dword [ebp - 0x74]
push edx
call fcn.0046a030
add esp, 8
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x380], eax
mov ecx, dword [ebp - 0x380]
push ecx
call fcn.004bdea5
add esp, 4
mov dword [ebp - 0x74], 0
mov edx, dword [ebp - 0x10]
push edx
mov ecx, dword [ebp - 0x388]
call sym.GNTKProProxy.exe_public:_void___thiscall_gloox::ClientBase::send_class_gloox::Tag__
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004c7d13
mov esp, ebp
pop ebp
ret 4