Function at 0x4303e0
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 0x4307cf
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp dword [eax + 0x9c], 0
je 0x4304d3
mov eax, dword [ebp - 4]
cmp byte [eax + 0x40], 6
jne 0x4304b0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x9c], 0x1f8
jne 0x43047b
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.mjrwsvc.exe__Smtpprot_TCustomSmtpClient_AuthNextLogin_qqrv
mov ecx, 0x4307e4
mov dl, 0xb
mov eax, dword [ebp - 4]
call sym.mjrwsvc.exe__Smtpprot_TCustomSmtpClient_ExecAsync_qqr21Smtpprot_TSmtpRequest17System_AnsiStringpxusxiynpqqrv_v
jmp 0x4307a4
mov eax, dword [ebp - 4]
add eax, 0x8c
mov edx, 0x4307f8
call fcn.00499990
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x9c]
cmp edx, 0xffff
jbe 0x4304a3
call fcn.00498c20
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x40]
jmp 0x4307a4
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x9c]
cmp edx, 0xffff
jbe 0x4304c6
call fcn.00498c20
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x40]
jmp 0x4307a4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88]
call fcn.00499bbc
cmp eax, 5
jge 0x43051a
mov eax, dword [ebp - 4]
add eax, 0x88
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x88]
mov edx, 0x430834
call fcn.00499c08
mov eax, dword [ebp - 4]
call sym.mjrwsvc.exe__Smtpprot_TCustomSmtpClient_SetErrorMessage_qqrv
mov dx, 0x1f4
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x40]
jmp 0x4307a4
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88]
call fcn.00499bbc
mov ecx, eax
sub ecx, 4
mov edx, 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88]
call fcn.00499dc4
lea edx, [ebp - 0x104]
mov eax, dword [ebp - 8]
call sym.mjrwsvc.exe__Mimeutil_Base64Decode_qqr17System_AnsiString
mov edx, dword [ebp - 0x104]
lea eax, [ebp - 8]
call fcn.004999d4
xor eax, eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
call fcn.00499bbc
mov edx, dword [ebp - 0x14]
inc edx
cmp eax, edx
jl 0x4305da
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 0x43058d
call fcn.00498c20
inc eax
mov al, byte [edx + eax - 1]
xor al, 0x36
mov edx, dword [ebp - 0x14]
cmp edx, 0x3f
jbe 0x4305a1
call fcn.00498c20
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 0x4305bd
call fcn.00498c20
inc eax
mov al, byte [edx + eax - 1]
xor al, 0x5c
mov edx, dword [ebp - 0x14]
cmp edx, 0x3f
jbe 0x4305d1
call fcn.00498c20
mov byte [ebp + edx - 0xfc], al
jmp 0x430604
mov eax, dword [ebp - 0x14]
cmp eax, 0x3f
jbe 0x4305e7
call fcn.00498c20
mov byte [ebp + eax - 0xbc], 0x36
mov eax, dword [ebp - 0x14]
cmp eax, 0x3f
jbe 0x4305fc
call fcn.00498c20
mov byte [ebp + eax - 0xfc], 0x5c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x40
jne 0x430565
lea eax, [ebp - 0x7c]
call sym.mjrwsvc.exe__Icsmd5_MD5Init_qqrr18Icsmd5_TMD5Context
lea edx, [ebp - 0xbc]
lea eax, [ebp - 0x7c]
mov ecx, 0x40
call sym.mjrwsvc.exe__Icsmd5_MD5Update_qqrr18Icsmd5_TMD5Contextpxvi
lea eax, [ebp - 8]
call fcn.00499d8c
mov edx, 1
dec edx
cmp edx, dword [eax - 4]
jb 0x430644
call fcn.00498c20
inc edx
lea eax, [eax + edx - 1]
push eax
mov eax, dword [ebp - 8]
call fcn.00499bbc
mov ecx, eax
lea eax, [ebp - 0x7c]
pop edx
call sym.mjrwsvc.exe__Icsmd5_MD5UpdateBuffer_qqrr18Icsmd5_TMD5Contextpvi
lea edx, [ebp - 0x7c]
lea eax, [ebp - 0x24]
call sym.mjrwsvc.exe__Icsmd5_MD5Final_qqrpcr18Icsmd5_TMD5Context
lea eax, [ebp - 0x7c]
call sym.mjrwsvc.exe__Icsmd5_MD5Init_qqrr18Icsmd5_TMD5Context
lea edx, [ebp - 0xfc]
lea eax, [ebp - 0x7c]
mov ecx, 0x40
call sym.mjrwsvc.exe__Icsmd5_MD5Update_qqrr18Icsmd5_TMD5Contextpxvi
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x7c]
mov ecx, 0x10
call sym.mjrwsvc.exe__Icsmd5_MD5Update_qqrr18Icsmd5_TMD5Contextpxvi
lea edx, [ebp - 0x7c]
lea eax, [ebp - 0x24]
call sym.mjrwsvc.exe__Icsmd5_MD5Final_qqrpcr18Icsmd5_TMD5Context
lea eax, [ebp - 0x10]
mov edx, 0x43085c
call fcn.004999d4
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
call fcn.004999d4
lea eax, [ebp - 0xc]
mov edx, 0x430878
call fcn.00499bc4
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x108]
mov edx, dword [ebp - 0x14]
cmp edx, 0xf
jbe 0x4306de
call fcn.00498c20
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 0x4306fd
call fcn.00498c20
inc edx
mov dl, byte [ecx + edx - 1]
call fcn.00499ae4
mov edx, dword [ebp - 0x108]
lea eax, [ebp - 0xc]
call fcn.00499bc4
lea eax, [ebp - 0x10c]
mov edx, dword [ebp - 0x14]
cmp edx, 0xf
jbe 0x430728
call fcn.00498c20
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 0x430744
call fcn.00498c20
inc edx
mov dl, byte [ecx + edx - 1]
call fcn.00499ae4
mov edx, dword [ebp - 0x10c]
lea eax, [ebp - 0xc]
call fcn.00499bc4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x10
jne 0x4306cb
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.mjrwsvc.exe__Mimeutil_Base64Encode_qqr17System_AnsiString
mov ecx, dword [ebp - 0x110]
mov dl, 0xb
mov eax, dword [ebp - 4]
call sym.mjrwsvc.exe__Smtpprot_TCustomSmtpClient_ExecAsync_qqr21Smtpprot_TSmtpRequest17System_AnsiStringpxusxiynpqqrv_v
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4307d6
lea eax, [ebp - 0x110]
mov edx, 4
call fcn.00499960
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00499960
ret