Function at 0x460ed2
Capabilities:
Connect socket
Encode data using xor
Get socket status
Resolve dns
Set socket configuration

Disassembly:
mov eax, 0x47ce3b
call fcn.0047c7d4
sub esp, 0x584
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
xor eax, eax
mov dword [ebp - 0x14], edi
push eax
xor ecx, ecx
mov dword [ebp - 4], eax
or dword [edi + 0x120], 0xffffffff
inc ecx
push ecx
push 2
mov dword [ebp - 0x118], eax
pop eax
push eax
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0x11c], 0xb4
call dword [sym.imp.WS2_32.dll_socket]
mov dword [edi + 0x120], eax
cmp eax, 0xffffffff
je 0x46228d
cmp word [ebp + 0xc], 0
je 0x460f44
push dword [ebp + 0xc]
call dword [sym.imp.WS2_32.dll_htons]
movzx eax, ax
xor esi, esi
jmp 0x460f67
xor esi, esi
push esi
push str.mail
call dword [sym.imp.WS2_32.dll_getservbyname]
test eax, eax
jne 0x460f63
push 0x19
call dword [sym.imp.WS2_32.dll_htons]
movzx eax, ax
jmp 0x460f67
movzx eax, word [eax + 8]
push 2
pop ecx
push dword [ebp + 8]
mov word [ebp - 0x12c], cx
mov word [ebp - 0x12a], ax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x128], eax
cmp eax, 0xffffffff
jne 0x460fb4
push dword [ebp + 8]
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov ecx, eax
test ecx, ecx
je 0x460ff4
movsx eax, word [ecx + 0xa]
push eax
mov eax, dword [ecx + 0xc]
push dword [eax]
lea eax, [ebp - 0x128]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [ebp - 0xd8]
push eax
push 0x8004667e
push dword [edi + 0x120]
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov ecx, dword [edi + 0x120]
cmp eax, 0xffffffff
jne 0x461019
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
push 0x6c
lea ecx, [ebp - 0x7c]
call fcn.00460048
push 0x4aedb8
mov eax, ecx
jmp 0x4622a1
push dword [edi + 0x120]
call dword [sym.imp.WS2_32.dll_closesocket]
push 0x69
lea ecx, [ebp - 0xbc]
call fcn.00460048
push 0x4aedb8
mov eax, ecx
jmp 0x4622a1
push 0x10
lea eax, [ebp - 0x12c]
push eax
push ecx
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x4621cf
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x461061
push dword [edi + 0x120]
call dword [sym.imp.WS2_32.dll_closesocket]
push 0x68
lea ecx, [ebp - 0x80]
call fcn.00460048
push 0x4aedb8
mov eax, ecx
jmp 0x4622a1
mov eax, dword [edi + 0x120]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x48c], ecx
mov dword [ebp - 0x590], ecx
lea ecx, [ebp - 0x11c]
push ecx
lea ecx, [ebp - 0x590]
mov dword [ebp - 0x58c], eax
push ecx
lea ecx, [ebp - 0x48c]
inc eax
push ecx
push esi
push eax
call dword [sym.imp.WS2_32.dll_select]
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x4610cc
push dword [edi + 0x120]
call dword [sym.imp.WS2_32.dll_closesocket]
push 0x6d
lea ecx, [ebp - 0x84]
call fcn.00460048
push 0x4aedb8
mov eax, ecx
jmp 0x4622a1
mov eax, dword [edi + 0x120]
test ecx, ecx
jne 0x4610f9
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
push 0x193
lea ecx, [ebp - 0x88]
call fcn.00460048
push 0x4aedb8
mov eax, ecx
jmp 0x4622a1
lea ecx, [ebp - 0x48c]
push ecx
push eax
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x46221a
mov edx, dword [ebp - 0x48c]
mov ecx, esi
test edx, edx
je 0x461163
mov eax, dword [edi + 0x120]
cmp dword [ebp + ecx*4 - 0x488], eax
je 0x461131
inc ecx
cmp ecx, edx
jb 0x461121
jmp 0x461163
lea eax, [edx - 1]
cmp ecx, eax
jae 0x46115c
lea eax, [ebp - 0x484]
mov eax, dword [eax + ecx*4]
mov dword [ebp + ecx*4 - 0x488], eax
inc ecx
mov edx, dword [ebp - 0x48c]
lea eax, [edx - 1]
cmp ecx, eax
lea eax, [ebp - 0x484]
jb 0x46113e
dec edx
mov dword [ebp - 0x48c], edx
mov edx, dword [ebp - 0x590]
mov ecx, esi
test edx, edx
je 0x4611b7
mov eax, dword [edi + 0x120]
cmp dword [ebp + ecx*4 - 0x58c], eax
je 0x461185
inc ecx
cmp ecx, edx
jb 0x461175
jmp 0x4611b7
lea eax, [edx - 1]
cmp ecx, eax
jae 0x4611b0
lea eax, [ebp - 0x588]
mov eax, dword [eax + ecx*4]
mov dword [ebp + ecx*4 - 0x58c], eax
inc ecx
mov edx, dword [ebp - 0x590]
lea eax, [edx - 1]
cmp ecx, eax
lea eax, [ebp - 0x588]
jb 0x461192
dec edx
mov dword [ebp - 0x590], edx
cmp dword [ebp + 0x10], 3
je 0x4611c7
push dword [ebp + 0x10]
mov ecx, edi
call fcn.0046005a
mov ecx, edi
call fcn.00460053
cmp eax, 1
je 0x4611df
call fcn.00460053
push 2
pop ecx
cmp eax, ecx
jne 0x4611fb
mov ecx, edi
call 0x463b9d
mov ecx, edi
call fcn.00460053
push 2
pop ecx
cmp eax, ecx
jne 0x4611fb
mov ecx, edi
call fcn.00463be4
xor ecx, ecx
call fcn.00460067
push eax
mov ecx, edi
call fcn.0046383f
mov ecx, edi
call fcn.004634f0
mov ecx, edi
call fcn.00460053
cmp eax, 1
jne 0x461229
call 0x46358f
mov ecx, edi
call fcn.004634f0
cmp byte [ebp + 0x14], 0
je 0x4621cf
mov ecx, dword [edi + 0x11c]
mov edx, str.AUTH
call fcn.0046008e
cmp al, 1
jne 0x4621cf
lea ecx, [edi + 0xc8]
call fcn.0045fb31
test eax, eax
jne 0x461276
push 0xcc
lea ecx, [ebp - 0x8c]
call fcn.00460048
push 0x4aedb8
mov eax, ecx
jmp 0x4622a1
lea ecx, [edi + 0xe0]
call fcn.0045fb31
test eax, eax
jne 0x4612a1
push 0xcd
lea ecx, [ebp - 0x90]
call fcn.00460048
push 0x4aedb8
mov eax, ecx
jmp 0x4622a1
mov ecx, dword [edi + 0x11c]
mov edx, str.LOGIN
call fcn.0046008e
cmp al, 1
jne 0x4613b1
push 3
pop ecx
call fcn.00460067
push str.AUTH_LOGIN_r_n
push 0x2800
push dword [edi + 0x118]
mov esi, eax
call fcn.00465127
add esp, 0xc
mov ecx, edi
push esi
call fcn.00462e88
push esi
mov ecx, edi
call fcn.0046383f
lea ecx, [edi + 0xc8]
call fcn.0045fb31
push eax
call fcn.00463fc4
mov edx, eax
lea ecx, [ebp - 0xd4]
call fcn.0045f7eb
pop ecx
push 7
pop ecx
mov byte [ebp - 4], 1
call fcn.00460067
lea ecx, [ebp - 0xd4]
mov esi, eax
call fcn.00463fc4
push eax
push str._s_r_n
push 0x2800
push dword [edi + 0x118]
call fcn.00465127
add esp, 0x10
mov ecx, edi
push esi
call fcn.00462e88
push esi
mov ecx, edi
call fcn.0046383f
lea ecx, [edi + 0xe0]
call fcn.0045fb31
push eax
call fcn.00463fc4
mov edx, eax
lea ecx, [ebp - 0x60]
call fcn.0045f7eb
pop ecx
push 2
pop eax
push 8
pop ecx
mov byte [ebp - 4], al
call fcn.00460067
lea ecx, [ebp - 0x60]
mov esi, eax
call fcn.00463fc4
push eax
push str._s_r_n
push 0x2800
push dword [edi + 0x118]
call fcn.00465127
add esp, 0x10
mov ecx, edi
push esi
call fcn.00462e88
push esi
mov ecx, edi
call fcn.0046383f
lea ecx, [ebp - 0x60]
jmp 0x4621bf
mov ecx, dword [edi + 0x11c]
mov edx, str.PLAIN
call fcn.0046008e
cmp al, 1
jne 0x461498
push 2
pop eax
mov ecx, eax
call fcn.00460067
lea ecx, [edi + 0xe0]
mov dword [ebp + 0xc], eax
call fcn.00463fc4
lea edx, [edi + 0xc8]
push eax
mov ecx, edx
call fcn.00463fc4
push eax
mov ecx, edx
call fcn.00463fc4
push eax
push str._s_s_s
push 0x2800
push dword [edi + 0x118]
call fcn.00465127
mov ecx, dword [edi + 0x118]
add esp, 0x18
mov esi, ecx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x46141b
sub esi, edx
call fcn.0046016b
mov edx, eax
xor eax, eax
mov dword [ebp + 0x14], edx
mov ecx, eax
test esi, esi
je 0x461444
cmp byte [ecx + edx], 0x5e
jne 0x46143f
mov byte [ecx + edx], al
inc ecx
cmp ecx, esi
jb 0x461436
push esi
lea ecx, [ebp - 0x60]
call fcn.0045f7eb
pop ecx
push dword [ebp + 0x14]
mov byte [ebp - 4], 3
call dword [sym.imp.mfc140u.dll_operator_1]
pop ecx
lea ecx, [ebp - 0x60]
call fcn.00463fc4
push eax
push str.AUTH_PLAIN__s_r_n
push 0x2800
push dword [edi + 0x118]
call fcn.00465127
mov esi, dword [ebp + 0xc]
add esp, 0x10
mov ecx, edi
push esi
call fcn.00462e88
push esi
mov ecx, edi
call fcn.0046383f
lea ecx, [ebp - 0x60]
jmp 0x4621ca
mov ecx, dword [edi + 0x11c]
mov edx, str.CRAM_MD5
call fcn.0046008e
cmp al, 1
jne 0x4617ac
push 4
pop ecx
call fcn.00460067
push str.AUTH_CRAM_MD5_r_n
push 0x2800
push dword [edi + 0x118]
mov dword [ebp + 0x14], eax
call fcn.00465127
add esp, 0xc
mov ecx, edi
push dword [ebp + 0x14]
call fcn.00462e88
push dword [ebp + 0x14]
mov ecx, edi
call fcn.0046383f
push dword [edi + 0x11c]
lea ecx, [ebp - 0x78]
call fcn.0045fb7a
push 0xffffffffffffffff
push 4
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x78]
call fcn.00463f49
push eax
lea ecx, [ebp - 0x78]
call fcn.00464011
lea ecx, [ebp - 0x60]
call fcn.0045fb55
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x34]
call fcn.0045f974
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 5
call fcn.00463fc4
mov ecx, eax
call fcn.0046016b
lea ecx, [edi + 0xe0]
mov dword [ebp + 0xc], eax
call fcn.00463fc4
mov ecx, eax
call fcn.0046016b
cmp dword [ebp + 0xc], 0
mov dword [ebp + 0x14], eax
je 0x461790
test eax, eax
je 0x461790
lea ecx, [edi + 0xe0]
call fcn.0045fb31
mov edx, eax
mov dword [ebp + 8], edx
cmp edx, 0x40
jle 0x4615ab
lea ecx, [ebp - 0x374]
call fcn.0046566c
push edx
push dword [ebp + 0x14]
call fcn.00465674
lea ecx, [ebp - 0x374]
call fcn.00465732
lea ecx, [ebp - 0x374]
call fcn.004657c0
mov dword [ebp + 0x14], eax
mov dword [ebp + 8], 0x10
push 0x40
lea eax, [ebp - 0x208]
push esi
push eax
call sub.VCRUNTIME140.dll_memset
push 0x40
lea eax, [ebp - 0x19c]
push esi
push eax
call sub.VCRUNTIME140.dll_memset
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x208]
push esi
push dword [ebp + 0x14]
push eax
call sub.VCRUNTIME140.dll_memcpy
push esi
push dword [ebp + 0x14]
lea eax, [ebp - 0x19c]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0x30
xor eax, eax
movups xmm0, xmmword [ebp + eax - 0x208]
movaps xmm1, xmmword [str.6666666666666666]
xorps xmm1, xmm0
movups xmm0, xmmword [ebp + eax - 0x19c]
movups xmmword [ebp + eax - 0x208], xmm1
movaps xmm1, xmmword [0x4aac00]
xorps xmm1, xmm0
movups xmmword [ebp + eax - 0x19c], xmm1
add eax, 0x10
cmp eax, 0x40
jl 0x4615f1
lea ecx, [ebp - 0x29c]
call fcn.0046566c
push 0x40
lea eax, [ebp - 0x208]
push eax
call fcn.00465674
lea ecx, [ebp - 0x34]
call fcn.0045fb31
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x29c]
call fcn.00465674
lea ecx, [ebp - 0x29c]
call fcn.00465732
lea ecx, [ebp - 0x29c]
call fcn.004657c0
mov esi, eax
lea ecx, [ebp - 0x308]
mov dword [ebp + 8], esi
call fcn.0046566c
push 0x40
lea eax, [ebp - 0x19c]
push eax
call fcn.00465674
push 0x10
push esi
lea ecx, [ebp - 0x308]
call fcn.00465674
lea ecx, [ebp - 0x308]
call fcn.00465732
lea ecx, [ebp - 0x308]
call fcn.00465824
push eax
lea ecx, [ebp - 0x34]
call fcn.0046400c
push dword [ebp + 0xc]
mov esi, dword [sym.imp.mfc140u.dll_operator_1]
call esi
push dword [ebp + 0x14]
call esi
push dword [ebp + 8]
call esi
add esp, 8
lea edx, [edi + 0xc8]
lea ecx, [ebp - 0xd4]
call fcn.0046430c
pop ecx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 6
push ecx
mov edx, eax
lea ecx, [ebp - 0x60]
call 0x46436d
pop ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00464011
lea ecx, [ebp - 0x60]
call fcn.0045fb55
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 5
call fcn.0045fb55
lea ecx, [ebp - 0x34]
call fcn.0045fb31
push eax
call fcn.00463fc4
mov edx, eax
lea ecx, [ebp - 0x60]
call fcn.0045f7eb
pop ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.00464011
lea ecx, [ebp - 0x60]
call fcn.0045fb55
lea ecx, [ebp - 0x78]
call fcn.00463fc4
push eax
push str._s_r_n
push 0x2800
push dword [edi + 0x118]
call fcn.00465127
add esp, 0x10
push 8
pop ecx
call fcn.00460067
mov esi, eax
mov ecx, edi
push esi
call fcn.00462e88
push esi
mov ecx, edi
call fcn.0046383f
lea ecx, [ebp - 0x34]
call fcn.0045fb55
lea ecx, [ebp - 0x78]
jmp 0x4621ca
push 0xce
lea ecx, [ebp - 0x94]
call fcn.00460048
push 0x4aedb8
mov eax, ecx
jmp 0x4622a1
mov ecx, dword [edi + 0x11c]
mov edx, str.DIGEST_MD5
call fcn.0046008e
cmp al, 1
jne 0x4621fe
push 6
pop ecx
call fcn.00460067
push str.AUTH_DIGEST_MD5_r_n
push 0x2800
push dword [edi + 0x118]
mov dword [ebp + 0x14], eax
call fcn.00465127
add esp, 0xc
mov ecx, edi
push dword [ebp + 0x14]
call fcn.00462e88
push dword [ebp + 0x14]
mov ecx, edi
call fcn.0046383f
push dword [edi + 0x11c]
lea ecx, [ebp - 0xd4]
call fcn.0045fb7a
push 0xffffffffffffffff
push 4
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0xd4]
call fcn.00463f49
push eax
lea ecx, [ebp - 0xd4]
call fcn.00464011
lea ecx, [ebp - 0xf0]
call fcn.0045fb55
lea edx, [ebp - 0xd4]
lea ecx, [ebp - 0x78]
call fcn.0045f974
push ecx
push str.nonce
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 8
call fcn.00463f90
test eax, eax
jns 0x46187d
push 0xcf
lea ecx, [ebp - 0x98]
call fcn.00460048
push 0x4aedb8
mov eax, ecx
jmp 0x4622a1
push 0xffffffffffffffff
add eax, 7
lea ecx, [ebp - 0x78]
push eax
lea eax, [ebp - 0x114]
push eax
call fcn.00463f49
push ecx
push 0x4a5264
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 9
call fcn.00463f90
test eax, eax
jns 0x4618c7
push 0xcf
lea ecx, [ebp - 0x9c]
call fcn.00460048
push 0x4aedb8
mov eax, ecx
jmp 0x4622a1
push eax
push esi
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x114]
call fcn.00463f49
push eax
lea ecx, [ebp - 0x114]
call fcn.00464011
lea ecx, [ebp - 0xf0]
call fcn.0045fb55
lea ecx, [ebp - 0x34]
call fcn.0045fbab
push ecx
push str.realm
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xa
call fcn.00463f90
test eax, eax
js 0x46198c
push 0xffffffffffffffff
add eax, 7
lea ecx, [ebp - 0x78]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.00463f49
push eax
lea ecx, [ebp - 0x34]
call fcn.00464011
lea ecx, [ebp - 0xf0]
call fcn.0045fb55
push ecx
push 0x4a5264
lea ecx, [ebp - 0x34]
call fcn.00463f90
test eax, eax
jns 0x461967
push 0xcf
lea ecx, [ebp - 0xa0]
call fcn.00460048
push 0x4aedb8
mov eax, ecx
jmp 0x4622a1
push eax
push esi
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x34]
call fcn.00463f49
push eax
lea ecx, [ebp - 0x34]
call fcn.00464011
lea ecx, [ebp - 0xf0]
call fcn.0045fb55
xor ecx, ecx
call fcn.004650eb
push eax
push 0x4a5270
lea eax, [ebp - 0x140]
push 0x11
push eax
call fcn.00465127
push 1
push str._08d
lea eax, [ebp - 0xfc]
push 9
push eax
call fcn.00465127
add esp, 0x20
lea ecx, [ebp - 0x60]
push str.auth
call fcn.0045fb7a
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x388]
mov dword [ebp - 0xa4], 0x80
push eax
push dword [edi + 0x120]
call dword [sym.imp.WS2_32.dll_getpeername]
test eax, eax
jne 0x461a14
push 0xd0
lea ecx, [ebp - 0xa8]
call fcn.00460048
push 0x4aedb8
mov eax, ecx
jmp 0x4622a1
push dword [ebp - 0x384]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea ecx, [ebp - 0x158]
call fcn.0045fb7a
lea eax, [ebp - 0x158]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0xf0]
call fcn.00464398
pop ecx
push eax
lea ecx, [ebp - 0x158]
call fcn.00464011
lea ecx, [ebp - 0xf0]
call fcn.0045fb55
lea ecx, [ebp - 0x34]
call fcn.00463fc4
mov ecx, eax
call fcn.0046016b
lea ecx, [edi + 0xc8]
mov dword [ebp + 8], eax
call fcn.00463fc4
mov ecx, eax
call fcn.0046016b
lea esi, [edi + 0xe0]
mov dword [ebp - 0x38], eax
mov ecx, esi
call fcn.00463fc4
mov ecx, eax
call fcn.0046016b
lea ecx, [ebp - 0x114]
mov dword [ebp + 0x10], eax
call fcn.00463fc4
mov ecx, eax
call fcn.0046016b
lea ecx, [ebp - 0x140]
mov dword [ebp + 0x14], eax
call fcn.0046016b
lea ecx, [ebp - 0x158]
mov dword [ebp + 0xc], eax
call fcn.00463fc4
mov ecx, eax
call fcn.0046016b
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0x18], eax
call fcn.0046016b
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x1c], eax
call fcn.00463fc4
mov ecx, eax
call fcn.0046016b
cmp dword [ebp + 8], 0
mov dword [ebp - 0x3c], eax
je 0x4621e2
mov edx, dword [ebp - 0x38]
test edx, edx
je 0x4621e2
cmp dword [ebp + 0x10], 0
je 0x4621e2
cmp dword [ebp + 0x14], 0
je 0x4621e2
cmp dword [ebp + 0xc], 0
je 0x4621e2
cmp dword [ebp - 0x18], 0
je 0x4621e2
cmp dword [ebp - 0x1c], 0
je 0x4621e2
test eax, eax
je 0x4621e2
lea ecx, [ebp - 0x230]
call fcn.0046566c
lea ecx, [edi + 0xc8]
call fcn.0045fb31
push eax
push edx
lea ecx, [ebp - 0x230]
call fcn.00465674
push 1
push 0x4a528c
lea ecx, [ebp - 0x230]
call fcn.00465674
lea ecx, [ebp - 0x34]
call fcn.0045fb31
push eax
push dword [ebp + 8]
lea ecx, [ebp - 0x230]
call fcn.00465674
push 1
push 0x4a528c
lea ecx, [ebp - 0x230]
call fcn.00465674
mov ecx, esi
call fcn.0045fb31
push eax
push dword [ebp + 0x10]
lea ecx, [ebp - 0x230]
call fcn.00465674
lea ecx, [ebp - 0x230]
call fcn.00465732
lea ecx, [ebp - 0x230]
call fcn.004657c0
lea ecx, [ebp - 0x29c]
mov esi, eax
call fcn.0046566c
push 0x10
push esi
call fcn.00465674
push 1
push 0x4a528c
lea ecx, [ebp - 0x29c]
call fcn.00465674
lea ecx, [ebp - 0x114]
call fcn.0045fb31
push eax
push dword [ebp + 0x14]
lea ecx, [ebp - 0x29c]
call fcn.00465674
push 1
push 0x4a528c
lea ecx, [ebp - 0x29c]
call fcn.00465674
lea ecx, [ebp - 0x140]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x461c25
sub ecx, edx
push ecx
push dword [ebp + 0xc]
lea ecx, [ebp - 0x29c]
call fcn.00465674
lea ecx, [ebp - 0x29c]
call fcn.00465732
lea ecx, [ebp - 0x29c]
call fcn.00465824
lea ecx, [ebp - 0x308]
mov dword [ebp - 0x44], eax
call fcn.0046566c
push 0xd
push str.AUTHENTICATE:
call fcn.00465674
lea ecx, [ebp - 0x158]
call fcn.0045fb31
push eax
push dword [ebp - 0x18]
lea ecx, [ebp - 0x308]
call fcn.00465674
lea ecx, [ebp - 0x308]
call fcn.00465732
lea ecx, [ebp - 0x308]
call fcn.00465824
push esi
mov dword [ebp - 0x48], eax
call dword [sym.imp.mfc140u.dll_operator_1]
pop ecx
mov ecx, dword [ebp - 0x44]
call fcn.0046016b
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x40], eax
call fcn.0046016b
lea ecx, [ebp - 0x1c4]
mov esi, eax
call fcn.0046566c
push 0x20
push dword [ebp - 0x40]
call fcn.00465674
push 1
push 0x4a528c
lea ecx, [ebp - 0x1c4]
call fcn.00465674
lea ecx, [ebp - 0x114]
call fcn.0045fb31
push eax
push dword [ebp + 0x14]
lea ecx, [ebp - 0x1c4]
call fcn.00465674
push 1
push 0x4a528c
lea ecx, [ebp - 0x1c4]
call fcn.00465674
lea ecx, [ebp - 0xfc]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x461d19
sub ecx, edx
push ecx
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1c4]
call fcn.00465674
push 1
push 0x4a528c
lea ecx, [ebp - 0x1c4]
call fcn.00465674
lea ecx, [ebp - 0x140]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x461d4c
sub ecx, edx
push ecx
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1c4]
call fcn.00465674
push 1
push 0x4a528c
lea ecx, [ebp - 0x1c4]
call fcn.00465674
lea ecx, [ebp - 0x60]
call fcn.0045fb31
push eax
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x1c4]
call fcn.00465674
push 1
push 0x4a528c
lea ecx, [ebp - 0x1c4]
call fcn.00465674
push 0x20
push esi
lea ecx, [ebp - 0x1c4]
call fcn.00465674
lea ecx, [ebp - 0x1c4]
call fcn.00465732
lea ecx, [ebp - 0x1c4]
call fcn.00465824
push eax
lea ecx, [ebp - 0x78]
call fcn.0046400c
push dword [ebp + 8]
call dword [sym.imp.mfc140u.dll_operator_1]
push dword [ebp - 0x38]
call dword [sym.imp.mfc140u.dll_operator_1]
push dword [ebp + 0x10]
call dword [sym.imp.mfc140u.dll_operator_1]
push dword [ebp + 0x14]
call dword [sym.imp.mfc140u.dll_operator_1]
push dword [ebp + 0xc]
call dword [sym.imp.mfc140u.dll_operator_1]
push dword [ebp - 0x18]
call dword [sym.imp.mfc140u.dll_operator_1]
push dword [ebp - 0x1c]
call dword [sym.imp.mfc140u.dll_operator_1]
push dword [ebp - 0x3c]
call dword [sym.imp.mfc140u.dll_operator_1]
push dword [ebp - 0x40]
call dword [sym.imp.mfc140u.dll_operator_1]
push esi
mov esi, dword [sym.imp.mfc140u.dll_operator_1]
call esi
push dword [ebp - 0x44]
call esi
push dword [ebp - 0x48]
call esi
mov ecx, dword [edi + 0x11c]
add esp, 0x30
mov edx, str.charset
call fcn.004650de
lea ecx, [edi + 0xc8]
call fcn.00463fc4
push eax
push str.charsetutf_8_username__s_
mov esi, 0x2800
push esi
push dword [edi + 0x118]
call fcn.00465127
add esp, 0x10
lea ecx, [ebp - 0x34]
call fcn.00463fbc
test al, al
jne 0x461ec4
call fcn.00463fc4
push eax
push str._realm__s_
push esi
push dword [edi + 0x11c]
call fcn.00465127
mov edx, dword [edi + 0x11c]
add esp, 0x10
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x461e96
mov edi, dword [edi + 0x118]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x461ea6
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x14]
mov esi, 0x2800
lea ecx, [ebp - 0x114]
call fcn.00463fc4
push eax
push str._nonce__s_
push esi
push dword [edi + 0x11c]
call fcn.00465127
mov edx, dword [edi + 0x11c]
add esp, 0x10
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x461eec
mov edi, dword [edi + 0x118]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x461efc
mov ecx, edx
lea eax, [ebp - 0xfc]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x14]
push eax
push str._nc_s
push 0x2800
push dword [ecx + 0x11c]
call fcn.00465127
mov edx, dword [ebp - 0x14]
add esp, 0x10
mov esi, dword [edx + 0x11c]
mov ecx, esi
mov dword [ebp + 0x14], ecx
mov al, byte [esi]
inc esi
test al, al
jne 0x461f42
mov edi, dword [edx + 0x118]
sub esi, ecx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x461f52
mov ecx, esi
lea eax, [ebp - 0x140]
mov dword [ebp + 0xc], esi
mov esi, dword [ebp + 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0xc]
push eax
push str._cnonce__s_
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x2800
push dword [edx + 0x11c]
call fcn.00465127
mov edx, dword [ebp - 0x14]
add esp, 0x10
mov esi, dword [edx + 0x11c]
mov ecx, esi
mov dword [ebp + 0x14], ecx
mov al, byte [esi]
inc esi
test al, al
jne 0x461f9c
mov edi, dword [edx + 0x118]
sub esi, ecx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x461fac
mov ecx, esi
shr ecx, 2
mov dword [ebp + 0xc], esi
mov esi, dword [ebp + 0x14]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0xc]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x158]
call fcn.00463fc4
push eax
push str._digest_uri__s_
push 0x2800
push dword [edx + 0x11c]
call fcn.00465127
mov edx, dword [ebp - 0x14]
add esp, 0x10
mov esi, dword [edx + 0x11c]
mov ecx, esi
mov dword [ebp + 0x14], ecx
mov al, byte [esi]
inc esi
test al, al
jne 0x461ffb
mov edi, dword [edx + 0x118]
sub esi, ecx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x46200b
mov ecx, esi
shr ecx, 2
mov dword [ebp + 0xc], esi
mov esi, dword [ebp + 0x14]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0xc]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x78]
call fcn.00463fc4
push eax
push str._response_s
push 0x2800
push dword [edx + 0x11c]
call fcn.00465127
mov edx, dword [ebp - 0x14]
add esp, 0x10
mov esi, dword [edx + 0x11c]
mov ecx, esi
mov dword [ebp + 0x14], ecx
mov al, byte [esi]
inc esi
test al, al
jne 0x462057
mov edi, dword [edx + 0x118]
sub esi, ecx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x462067
mov ecx, esi
shr ecx, 2
mov dword [ebp + 0xc], esi
mov esi, dword [ebp + 0x14]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0xc]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x60]
call fcn.00463fc4
push eax
push str._qop_s
push 0x2800
push dword [edx + 0x11c]
call fcn.00465127
mov ecx, dword [ebp - 0x14]
add esp, 0x10
mov edx, dword [ecx + 0x11c]
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x4620b0
mov edi, dword [ecx + 0x118]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4620c0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x14]
mov ecx, dword [esi + 0x118]
call fcn.0046016b
mov ecx, dword [esi + 0x118]
mov edi, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4620ef
sub ecx, edx
mov edx, edi
push ecx
lea ecx, [ebp - 0xf0]
call fcn.0045f7eb
pop ecx
push eax
lea ecx, [ebp - 0xd4]
call fcn.00464011
lea ecx, [ebp - 0xf0]
call fcn.0045fb55
push edi
call dword [sym.imp.mfc140u.dll_operator_1]
pop ecx
lea ecx, [ebp - 0xd4]
call fcn.00463fc4
push eax
push str._s_r_n
push 0x2800
push dword [esi + 0x118]
call fcn.00465127
add esp, 0x10
push 6
pop ecx
call fcn.00460067
mov edi, eax
mov ecx, esi
push edi
call fcn.00462e88
push edi
mov ecx, esi
call fcn.0046383f
push 0x4a51bc
push 0x2800
push dword [esi + 0x118]
call fcn.00465127
add esp, 0xc
push 8
pop ecx
call fcn.00460067
mov edi, eax
mov ecx, esi
push edi
call fcn.00462e88
push edi
mov ecx, esi
call fcn.0046383f
lea ecx, [ebp - 0x158]
call fcn.0045fb55
lea ecx, [ebp - 0x60]
call fcn.0045fb55
lea ecx, [ebp - 0x34]
call fcn.0045fb55
lea ecx, [ebp - 0x114]
call fcn.0045fb55
lea ecx, [ebp - 0x78]
call fcn.0045fb55
lea ecx, [ebp - 0xd4]
call fcn.0045fb55
mov ecx, dword [ebp - 0xc]
mov al, 1
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0x18
push 0xce
lea ecx, [ebp - 0xac]
call fcn.00460048
push 0x4aedb8
mov eax, ecx
jmp 0x4622a1
push 0x1a1
lea ecx, [ebp - 0xb0]
call fcn.00460048
push 0x4aedb8
mov eax, ecx
jmp 0x4622a1
lea eax, [ebp - 0x590]
push eax
push dword [edi + 0x120]
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x461061
push dword [edi + 0x120]
call dword [sym.imp.WS2_32.dll_closesocket]
push 0x6d
lea ecx, [ebp - 0xb4]
call fcn.00460048
push 0x4aedb8
mov eax, ecx
jmp 0x4622a1
push 0x6a
lea ecx, [ebp - 0xb8]
call fcn.00460048
push 0x4aedb8
mov eax, ecx
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3