Function at 0x45344c
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffef0
xor edx, edx
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x104], edx
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x45383b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp dword [eax + 0x9c], 0
je 0x45353f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x40], 6
jne 0x45351c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x9c], 0x1f8
jne 0x4534e7
mov eax, dword [ebp - 4]
mov byte [eax + 0x71], 4
mov word [ebp - 0x100], 0x14e
lea eax, [ebp - 0x100]
push eax
push 0
mov eax, dword [ebp - 4]
push eax
push sym.mjrwmon.exe__Smtpprot_TCustomSmtpClient_AuthNextLogin_qqrv
mov ecx, 0x453850
mov dl, 0xb
mov eax, dword [ebp - 4]
call sym.mjrwmon.exe__Smtpprot_TCustomSmtpClient_ExecAsync_qqr21Smtpprot_TSmtpRequest17System_AnsiStringpxusxiynpqqrv_v
jmp 0x453810
mov eax, dword [ebp - 4]
add eax, 0x8c
mov edx, 0x453864
call fcn.004de178
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x9c]
cmp edx, 0xffff
jbe 0x45350f
call fcn.004dd5b4
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x40]
jmp 0x453810
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x9c]
cmp edx, 0xffff
jbe 0x453532
call fcn.004dd5b4
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x40]
jmp 0x453810
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88]
call fcn.004de3a4
cmp eax, 5
jge 0x453586
mov eax, dword [ebp - 4]
add eax, 0x88
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x88]
mov edx, 0x4538a0
call fcn.004de3f0
mov eax, dword [ebp - 4]
call sym.mjrwmon.exe__Smtpprot_TCustomSmtpClient_SetErrorMessage_qqrv
mov dx, 0x1f4
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x40]
jmp 0x453810
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88]
call fcn.004de3a4
mov ecx, eax
sub ecx, 4
mov edx, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88]
call fcn.004de5ac
lea edx, [ebp - 0x104]
mov eax, dword [ebp - 8]
call sym.mjrwmon.exe__Mimeutil_Base64Decode_qqr17System_AnsiString
mov edx, dword [ebp - 0x104]
lea eax, [ebp - 8]
call fcn.004de1bc
xor eax, eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
call fcn.004de3a4
mov edx, dword [ebp - 0x14]
inc edx
cmp eax, edx
jl 0x453646
mov eax, dword [ebp - 0x14]
inc eax
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x3c]
dec eax
cmp eax, dword [edx - 4]
jb 0x4535f9
call fcn.004dd5b4
inc eax
mov al, byte [edx + eax - 1]
xor al, 0x36
mov edx, dword [ebp - 0x14]
cmp edx, 0x3f
jbe 0x45360d
call fcn.004dd5b4
mov byte [ebp + edx - 0xbc], al
mov eax, dword [ebp - 0x14]
inc eax
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x3c]
dec eax
cmp eax, dword [edx - 4]
jb 0x453629
call fcn.004dd5b4
inc eax
mov al, byte [edx + eax - 1]
xor al, 0x5c
mov edx, dword [ebp - 0x14]
cmp edx, 0x3f
jbe 0x45363d
call fcn.004dd5b4
mov byte [ebp + edx - 0xfc], al
jmp 0x453670
mov eax, dword [ebp - 0x14]
cmp eax, 0x3f
jbe 0x453653
call fcn.004dd5b4
mov byte [ebp + eax - 0xbc], 0x36
mov eax, dword [ebp - 0x14]
cmp eax, 0x3f
jbe 0x453668
call fcn.004dd5b4
mov byte [ebp + eax - 0xfc], 0x5c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x40
jne 0x4535d1
lea eax, [ebp - 0x7c]
call sym.mjrwmon.exe__Icsmd5_MD5Init_qqrr18Icsmd5_TMD5Context
lea edx, [ebp - 0xbc]
lea eax, [ebp - 0x7c]
mov ecx, 0x40
call sym.mjrwmon.exe__Icsmd5_MD5Update_qqrr18Icsmd5_TMD5Contextpxvi
lea eax, [ebp - 8]
call fcn.004de574
mov edx, 1
dec edx
cmp edx, dword [eax - 4]
jb 0x4536b0
call fcn.004dd5b4
inc edx
lea eax, [eax + edx - 1]
push eax
mov eax, dword [ebp - 8]
call fcn.004de3a4
mov ecx, eax
lea eax, [ebp - 0x7c]
pop edx
call sym.mjrwmon.exe__Icsmd5_MD5UpdateBuffer_qqrr18Icsmd5_TMD5Contextpvi
lea edx, [ebp - 0x7c]
lea eax, [ebp - 0x24]
call sym.mjrwmon.exe__Icsmd5_MD5Final_qqrpcr18Icsmd5_TMD5Context
lea eax, [ebp - 0x7c]
call sym.mjrwmon.exe__Icsmd5_MD5Init_qqrr18Icsmd5_TMD5Context
lea edx, [ebp - 0xfc]
lea eax, [ebp - 0x7c]
mov ecx, 0x40
call sym.mjrwmon.exe__Icsmd5_MD5Update_qqrr18Icsmd5_TMD5Contextpxvi
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x7c]
mov ecx, 0x10
call sym.mjrwmon.exe__Icsmd5_MD5Update_qqrr18Icsmd5_TMD5Contextpxvi
lea edx, [ebp - 0x7c]
lea eax, [ebp - 0x24]
call sym.mjrwmon.exe__Icsmd5_MD5Final_qqrpcr18Icsmd5_TMD5Context
lea eax, [ebp - 0x10]
mov edx, 0x4538c8
call fcn.004de1bc
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
call fcn.004de1bc
lea eax, [ebp - 0xc]
mov edx, 0x4538e4
call fcn.004de3ac
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x108]
mov edx, dword [ebp - 0x14]
cmp edx, 0xf
jbe 0x45374a
call fcn.004dd5b4
mov dl, byte [ebp + edx - 0x24]
and dl, 0xf0
and edx, 0xff
shr edx, 4
inc edx
mov ecx, dword [ebp - 0x10]
dec edx
cmp edx, dword [ecx - 4]
jb 0x453769
call fcn.004dd5b4
inc edx
mov dl, byte [ecx + edx - 1]
call fcn.004de2cc
mov edx, dword [ebp - 0x108]
lea eax, [ebp - 0xc]
call fcn.004de3ac
lea eax, [ebp - 0x10c]
mov edx, dword [ebp - 0x14]
cmp edx, 0xf
jbe 0x453794
call fcn.004dd5b4
mov dl, byte [ebp + edx - 0x24]
and dl, 0xf
and edx, 0xff
inc edx
mov ecx, dword [ebp - 0x10]
dec edx
cmp edx, dword [ecx - 4]
jb 0x4537b0
call fcn.004dd5b4
inc edx
mov dl, byte [ecx + edx - 1]
call fcn.004de2cc
mov edx, dword [ebp - 0x10c]
lea eax, [ebp - 0xc]
call fcn.004de3ac
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x10
jne 0x453737
mov eax, dword [ebp - 4]
mov byte [eax + 0x71], 4
mov word [ebp - 0x100], 0xeb
lea eax, [ebp - 0x100]
push eax
push 0
push 0
push 0
lea edx, [ebp - 0x110]
mov eax, dword [ebp - 0xc]
call sym.mjrwmon.exe__Mimeutil_Base64Encode_qqr17System_AnsiString
mov ecx, dword [ebp - 0x110]
mov dl, 0xb
mov eax, dword [ebp - 4]
call sym.mjrwmon.exe__Smtpprot_TCustomSmtpClient_ExecAsync_qqr21Smtpprot_TSmtpRequest17System_AnsiStringpxusxiynpqqrv_v
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x453842
lea eax, [ebp - 0x110]
mov edx, 4
call fcn.004de148
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004de148
ret