Function at 0x5b4bb8
Capabilities:
Receive data
Receive data on socket

Disassembly:
test dword [0x7eeab0], 0xffffff80
jne 0x5b4be0
test dword [0x7eeab0], 0xffffffff
jne 0x5b51c4
call fcn.006a7b4c
jmp fcn.005b4bb8
push edi
push esi
push ebp
push ebx
push ecx
mov eax, 0x20
call fcn.00697340
mov ecx, dword [esp + 0x20]
mov ebx, ecx
lea ecx, [esp]
call fcn.0052bf8c
mov ecx, 0x801
call fcn.004dbe28
mov dword [esp + 0xc], eax
push 0x3c
push dword [ebx + 0x10]
lea ecx, [esp + 8]
call fcn.0052bc0c
mov eax, dword [esp + 8]
test eax, eax
je 0x5b4c33
movsx eax, byte [eax]
test eax, eax
je 0x5b4c33
push 0x3e
lea ecx, [esp + 4]
call fcn.0052b964
push dword [esp + 4]
push str.MAIL_FROM:__s__r_n
mov eax, dword [esp + 0x14]
push eax
call fcn.006974c6
add esp, 0xc
mov ecx, dword [esp + 0xc]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b4c64
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b4c4f
dec eax
push eax
mov edx, dword [esp + 0x10]
push edx
mov ecx, ebx
call fcn.005b5798
cmp eax, 1
je 0x5b5193
mov esi, dword [ebx + 8]
mov byte [0x7e9d20], 0
xor ebp, ebp
lea eax, [esp + 0x14]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
jne 0x5b5166
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d60dc
call fcn.00698880
add esp, 0xc
test eax, eax
jne 0x5b5193
cmp byte [0x7e9d23], 0x2d
je 0x5b4c7a
push 0x3b
push dword [ebx + 0x14]
lea ecx, [esp + 8]
call fcn.0052bc0c
mov eax, dword [esp + 4]
test eax, eax
je 0x5b4da1
movsx edx, byte [eax]
test edx, edx
je 0x5b4da1
mov ebp, dword [esp + 0xc]
push eax
push str.RCPT_TO:__s__r_n
push ebp
call fcn.006974c6
add esp, 0xc
mov ecx, ebp
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b4d1a
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b4d05
dec eax
push eax
push ebp
mov ecx, ebx
call fcn.005b5798
cmp eax, 1
je 0x5b5134
mov esi, dword [ebx + 8]
mov byte [0x7e9d20], 0
xor ebp, ebp
lea eax, [esp + 0x20]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
jne 0x5b5107
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d60dc
call fcn.00698880
add esp, 0xc
test eax, eax
jne 0x5b5134
cmp byte [0x7e9d23], 0x2d
je 0x5b4d2c
mov ebp, dword [esp + 0xc]
push 0x3b
push dword [esp + 0xc]
lea ecx, [esp + 8]
call fcn.0052bc0c
mov eax, dword [esp + 4]
test eax, eax
je 0x5b4da1
movsx edx, byte [eax]
test edx, edx
jne 0x5b4cf2
push 0x3b
push dword [ebx + 0x18]
lea ecx, [esp + 8]
call fcn.0052bc0c
mov eax, dword [esp + 4]
test eax, eax
je 0x5b4e79
movsx edx, byte [eax]
test edx, edx
je 0x5b4e79
mov ebp, dword [esp + 0xc]
push eax
push str.RCPT_TO:__s__r_n
push ebp
call fcn.006974c6
add esp, 0xc
mov ecx, ebp
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b4df2
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b4ddd
dec eax
push eax
push ebp
mov ecx, ebx
call fcn.005b5798
cmp eax, 1
je 0x5b50d5
mov esi, dword [ebx + 8]
mov byte [0x7e9d20], 0
xor ebp, ebp
lea eax, [esp + 0x1c]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
jne 0x5b50a8
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d60dc
call fcn.00698880
add esp, 0xc
test eax, eax
jne 0x5b50d5
cmp byte [0x7e9d23], 0x2d
je 0x5b4e04
mov ebp, dword [esp + 0xc]
push 0x3b
push dword [esp + 0xc]
lea ecx, [esp + 8]
call fcn.0052bc0c
mov eax, dword [esp + 4]
test eax, eax
je 0x5b4e79
movsx edx, byte [eax]
test edx, edx
jne 0x5b4dca
push 0x3b
push dword [ebx + 0x1c]
lea ecx, [esp + 8]
call fcn.0052bc0c
mov eax, dword [esp + 4]
test eax, eax
je 0x5b4f51
movsx edx, byte [eax]
test edx, edx
je 0x5b4f51
mov ebp, dword [esp + 0xc]
push eax
push str.RCPT_TO:__s__r_n
push ebp
call fcn.006974c6
add esp, 0xc
mov ecx, ebp
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b4eca
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b4eb5
dec eax
push eax
push ebp
mov ecx, ebx
call fcn.005b5798
cmp eax, 1
je 0x5b5076
mov esi, dword [ebx + 8]
mov byte [0x7e9d20], 0
xor ebp, ebp
lea eax, [esp + 0x18]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
jne 0x5b5049
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d60dc
call fcn.00698880
add esp, 0xc
test eax, eax
jne 0x5b5076
cmp byte [0x7e9d23], 0x2d
je 0x5b4edc
mov ebp, dword [esp + 0xc]
push 0x3b
push dword [esp + 0xc]
lea ecx, [esp + 8]
call fcn.0052bc0c
mov eax, dword [esp + 4]
test eax, eax
je 0x5b4f51
movsx edx, byte [eax]
test edx, edx
jne 0x5b4ea2
push str.DATA_r_n
mov eax, dword [esp + 0x10]
push eax
call fcn.006974c6
add esp, 8
mov ecx, dword [esp + 0xc]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b4f7e
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b4f69
dec eax
push eax
mov edx, dword [esp + 0x10]
push edx
mov ecx, ebx
call fcn.005b5798
cmp eax, 1
je 0x5b501b
mov esi, dword [ebx + 8]
mov byte [0x7e9d20], 0
xor ebp, ebp
lea eax, [esp + 0x10]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
jne 0x5b4ff6
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d63f8
call fcn.00698880
add esp, 0xc
test eax, eax
jne 0x5b501b
cmp byte [0x7e9d23], 0x2d
je 0x5b4f94
mov ecx, dword [esp + 0xc]
call fcn.004db4f8
lea ecx, [esp]
call fcn.0052bf78
xor eax, eax
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
cmp eax, 0xffffffff
je 0x5b501b
movzx eax, byte [esp + 0x10]
mov byte [ebp + 0x7e9d20], al
inc ebp
cmp eax, 0xa
je 0x5b4fb3
cmp ebp, 0x3e8
jb 0x5b4fa0
mov byte [0x7e9d20], 0
mov ecx, dword [esp + 0xc]
call fcn.004db4f8
mov eax, dword [ebx + 0x60]
mov edx, dword [eax]
push str.DATA_initialization_nfailure_
push eax
call dword [edx + 0x48]
add esp, 8
mov ebx, eax
lea ecx, [esp]
call fcn.0052bf78
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
cmp eax, 0xffffffff
je 0x5b5076
movzx eax, byte [esp + 0x18]
mov byte [ebp + 0x7e9d20], al
inc ebp
cmp eax, 0xa
je 0x5b4eff
cmp ebp, 0x3e8
jb 0x5b4ee8
mov byte [0x7e9d20], 0
mov ecx, dword [esp + 0xc]
call fcn.004db4f8
mov eax, dword [ebx + 0x60]
mov edx, dword [eax]
push dword [esp + 4]
push str.Bad_BCC_address_n_s_
push eax
call dword [edx + 0x48]
add esp, 0xc
mov ebx, eax
lea ecx, [esp]
call fcn.0052bf78
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
cmp eax, 0xffffffff
je 0x5b50d5
movzx eax, byte [esp + 0x1c]
mov byte [ebp + 0x7e9d20], al
inc ebp
cmp eax, 0xa
je 0x5b4e27
cmp ebp, 0x3e8
jb 0x5b4e10
mov byte [0x7e9d20], 0
mov ecx, dword [esp + 0xc]
call fcn.004db4f8
mov eax, dword [ebx + 0x60]
mov edx, dword [eax]
push dword [esp + 4]
push str.Bad_CC_address_n_s_
push eax
call dword [edx + 0x48]
add esp, 0xc
mov ebx, eax
lea ecx, [esp]
call fcn.0052bf78
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
cmp eax, 0xffffffff
je 0x5b5134
movzx eax, byte [esp + 0x20]
mov byte [ebp + 0x7e9d20], al
inc ebp
cmp eax, 0xa
je 0x5b4d4f
cmp ebp, 0x3e8
jb 0x5b4d38
mov byte [0x7e9d20], 0
mov ecx, dword [esp + 0xc]
call fcn.004db4f8
mov eax, dword [ebx + 0x60]
mov edx, dword [eax]
push dword [esp + 4]
push str.Bad_TO_address_n_s_
push eax
call dword [edx + 0x48]
add esp, 0xc
mov ebx, eax
lea ecx, [esp]
call fcn.0052bf78
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
cmp eax, 0xffffffff
je 0x5b5193
movzx eax, byte [esp + 0x14]
mov byte [ebp + 0x7e9d20], al
inc ebp
cmp eax, 0xa
je 0x5b4c9d
cmp ebp, 0x3e8
jb 0x5b4c86
mov byte [0x7e9d20], 0
mov ecx, dword [esp + 0xc]
call fcn.004db4f8
mov eax, dword [ebx + 0x60]
mov edx, dword [eax]
push dword [ebx + 0x10]
push str.Bad_FROM_address_n_s_
push eax
call dword [edx + 0x48]
add esp, 0xc
mov ebx, eax
lea ecx, [esp]
call fcn.0052bf78
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
push edi
push esi
push ebp
push ebx
push ecx
mov eax, 0x20
call fcn.00697340
mov ecx, dword [esp + 0x20]
mov ebx, ecx
lea ecx, [esp]
call fcn.0052bf8c
mov ecx, 0x801
call fcn.004dbe28
mov dword [esp + 0xc], eax
push 0x3c
push dword [ebx + 0x10]
lea ecx, [esp + 8]
call fcn.0052bc0c
mov eax, dword [esp + 8]
test eax, eax
je 0x5b5217
movsx eax, byte [eax]
test eax, eax
je 0x5b5217
push 0x3e
lea ecx, [esp + 4]
call fcn.0052b964
push dword [esp + 4]
push str.MAIL_FROM:__s__r_n
mov eax, dword [esp + 0x14]
push eax
call fcn.006974c6
add esp, 0xc
mov ecx, dword [esp + 0xc]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b5248
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b5233
dec eax
push eax
mov edx, dword [esp + 0x10]
push edx
mov ecx, ebx
call fcn.005b5798
cmp eax, 1
je 0x5b528a
mov esi, dword [ebx + 8]
mov byte [0x7e9d20], 0
xor ebp, ebp
cmp ebp, 0x3e8
jae 0x5b5789
lea eax, [esp + 0x14]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
je 0x5b52cc
cmp eax, 0xffffffff
jne 0x5b52bb
mov ecx, dword [esp + 0xc]
call fcn.004db4f8
mov eax, dword [ebx + 0x60]
mov edx, dword [eax]
push dword [ebx + 0x10]
push str.Bad_FROM_address_n_s_
push eax
call dword [edx + 0x48]
add esp, 0xc
mov ebx, eax
lea ecx, [esp]
call fcn.0052bf78
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
movzx eax, byte [esp + 0x14]
mov byte [ebp + 0x7e9d20], al
inc ebp
cmp eax, 0xa
jne 0x5b5266
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d60dc
call fcn.00698880
add esp, 0xc
test eax, eax
jne 0x5b528a
cmp byte [0x7e9d23], 0x2d
je 0x5b525a
push 0x3b
push dword [ebx + 0x14]
lea ecx, [esp + 8]
call fcn.0052bc0c
mov eax, dword [esp + 4]
test eax, eax
je 0x5b541c
movsx edx, byte [eax]
test edx, edx
je 0x5b541c
mov ebp, dword [esp + 0xc]
push eax
push str.RCPT_TO:__s__r_n
push ebp
call fcn.006974c6
add esp, 0xc
mov ecx, ebp
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b5349
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b5334
dec eax
push eax
push ebp
mov ecx, ebx
call fcn.005b5798
cmp eax, 1
je 0x5b5387
mov esi, dword [ebx + 8]
mov byte [0x7e9d20], 0
xor ebp, ebp
cmp ebp, 0x3e8
jae 0x5b577d
lea eax, [esp + 0x20]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
je 0x5b53ca
cmp eax, 0xffffffff
jne 0x5b53b9
mov ecx, dword [esp + 0xc]
call fcn.004db4f8
mov eax, dword [ebx + 0x60]
mov edx, dword [eax]
push dword [esp + 4]
push str.Bad_TO_address_n_s_
push eax
call dword [edx + 0x48]
add esp, 0xc
mov ebx, eax
lea ecx, [esp]
call fcn.0052bf78
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
movzx eax, byte [esp + 0x20]
mov byte [ebp + 0x7e9d20], al
inc ebp
cmp eax, 0xa
jne 0x5b5363
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d60dc
call fcn.00698880
add esp, 0xc
test eax, eax
jne 0x5b5387
cmp byte [0x7e9d23], 0x2d
je 0x5b5357
mov ebp, dword [esp + 0xc]
push 0x3b
push dword [esp + 0xc]
lea ecx, [esp + 8]
call fcn.0052bc0c
mov eax, dword [esp + 4]
test eax, eax
je 0x5b541c
movsx edx, byte [eax]
test edx, edx
jne 0x5b5321
push 0x3b
push dword [ebx + 0x18]
lea ecx, [esp + 8]
call fcn.0052bc0c
mov eax, dword [esp + 4]
test eax, eax
je 0x5b5540
movsx edx, byte [eax]
test edx, edx
je 0x5b5540
mov ebp, dword [esp + 0xc]
push eax
push str.RCPT_TO:__s__r_n
push ebp
call fcn.006974c6
add esp, 0xc
mov ecx, ebp
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b546d
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b5458
dec eax
push eax
push ebp
mov ecx, ebx
call fcn.005b5798
cmp eax, 1
je 0x5b54ab
mov esi, dword [ebx + 8]
mov byte [0x7e9d20], 0
xor ebp, ebp
cmp ebp, 0x3e8
jae 0x5b5771
lea eax, [esp + 0x1c]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
je 0x5b54ee
cmp eax, 0xffffffff
jne 0x5b54dd
mov ecx, dword [esp + 0xc]
call fcn.004db4f8
mov eax, dword [ebx + 0x60]
mov edx, dword [eax]
push dword [esp + 4]
push str.Bad_CC_address_n_s_
push eax
call dword [edx + 0x48]
add esp, 0xc
mov ebx, eax
lea ecx, [esp]
call fcn.0052bf78
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
movzx eax, byte [esp + 0x1c]
mov byte [ebp + 0x7e9d20], al
inc ebp
cmp eax, 0xa
jne 0x5b5487
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d60dc
call fcn.00698880
add esp, 0xc
test eax, eax
jne 0x5b54ab
cmp byte [0x7e9d23], 0x2d
je 0x5b547b
mov ebp, dword [esp + 0xc]
push 0x3b
push dword [esp + 0xc]
lea ecx, [esp + 8]
call fcn.0052bc0c
mov eax, dword [esp + 4]
test eax, eax
je 0x5b5540
movsx edx, byte [eax]
test edx, edx
jne 0x5b5445
push 0x3b
push dword [ebx + 0x1c]
lea ecx, [esp + 8]
call fcn.0052bc0c
mov eax, dword [esp + 4]
test eax, eax
je 0x5b5664
movsx edx, byte [eax]
test edx, edx
je 0x5b5664
mov ebp, dword [esp + 0xc]
push eax
push str.RCPT_TO:__s__r_n
push ebp
call fcn.006974c6
add esp, 0xc
mov ecx, ebp
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b5591
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b557c
dec eax
push eax
push ebp
mov ecx, ebx
call fcn.005b5798
cmp eax, 1
je 0x5b55cf
mov esi, dword [ebx + 8]
mov byte [0x7e9d20], 0
xor ebp, ebp
cmp ebp, 0x3e8
jae 0x5b5765
lea eax, [esp + 0x18]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
je 0x5b5612
cmp eax, 0xffffffff
jne 0x5b5601
mov ecx, dword [esp + 0xc]
call fcn.004db4f8
mov eax, dword [ebx + 0x60]
mov edx, dword [eax]
push dword [esp + 4]
push str.Bad_BCC_address_n_s_
push eax
call dword [edx + 0x48]
add esp, 0xc
mov ebx, eax
lea ecx, [esp]
call fcn.0052bf78
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
movzx eax, byte [esp + 0x18]
mov byte [ebp + 0x7e9d20], al
inc ebp
cmp eax, 0xa
jne 0x5b55ab
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d60dc
call fcn.00698880
add esp, 0xc
test eax, eax
jne 0x5b55cf
cmp byte [0x7e9d23], 0x2d
je 0x5b559f
mov ebp, dword [esp + 0xc]
push 0x3b
push dword [esp + 0xc]
lea ecx, [esp + 8]
call fcn.0052bc0c
mov eax, dword [esp + 4]
test eax, eax
je 0x5b5664
movsx edx, byte [eax]
test edx, edx
jne 0x5b5569
push str.DATA_r_n
mov eax, dword [esp + 0x10]
push eax
call fcn.006974c6
add esp, 8
mov ecx, dword [esp + 0xc]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b5691
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b567c
dec eax
push eax
mov edx, dword [esp + 0x10]
push edx
mov ecx, ebx
call fcn.005b5798
cmp eax, 1
je 0x5b56d3
mov esi, dword [ebx + 8]
mov byte [0x7e9d20], 0
xor ebp, ebp
cmp ebp, 0x3e8
jae 0x5b5759
lea eax, [esp + 0x10]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
je 0x5b5712
cmp eax, 0xffffffff
jne 0x5b5701
mov ecx, dword [esp + 0xc]
call fcn.004db4f8
mov eax, dword [ebx + 0x60]
mov edx, dword [eax]
push str.DATA_initialization_nfailure_
push eax
call dword [edx + 0x48]
add esp, 8
mov ebx, eax
lea ecx, [esp]
call fcn.0052bf78
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
movzx eax, byte [esp + 0x10]
mov byte [ebp + 0x7e9d20], al
inc ebp
cmp eax, 0xa
jne 0x5b56af
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d63f8
call fcn.00698880
add esp, 0xc
test eax, eax
jne 0x5b56d3
cmp byte [0x7e9d23], 0x2d
je 0x5b56a3
mov ecx, dword [esp + 0xc]
call fcn.004db4f8
lea ecx, [esp]
call fcn.0052bf78
xor eax, eax
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
mov byte [0x7e9d20], 0
jmp 0x5b56d3
mov byte [0x7e9d20], 0
jmp 0x5b55cf
mov byte [0x7e9d20], 0
jmp 0x5b54ab
mov byte [0x7e9d20], 0
jmp 0x5b5387
mov byte [0x7e9d20], 0
jmp 0x5b528a