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

Disassembly:
test dword [0x7eeab0], 0xffffff80
jne 0x5b5004
test dword [0x7eeab0], 0xffffffff
jne 0x5b55e8
call fcn.006a7fbc
jmp fcn.005b4fdc
push edi
push esi
push ebp
push ebx
push ecx
mov eax, 0x20
call fcn.006977b0
mov ecx, dword [esp + 0x20]
mov ebx, ecx
lea ecx, [esp]
call fcn.0052c3f8
mov ecx, 0x801
call fcn.004dc288
mov dword [esp + 0xc], eax
push 0x3c
push dword [ebx + 0x10]
lea ecx, [esp + 8]
call fcn.0052c078
mov eax, dword [esp + 8]
test eax, eax
je 0x5b5057
movsx eax, byte [eax]
test eax, eax
je 0x5b5057
push 0x3e
lea ecx, [esp + 4]
call fcn.0052bdd0
push dword [esp + 4]
push str.MAIL_FROM:__s__r_n
mov eax, dword [esp + 0x14]
push eax
call fcn.00697936
add esp, 0xc
mov ecx, dword [esp + 0xc]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b5088
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b5073
dec eax
push eax
mov edx, dword [esp + 0x10]
push edx
mov ecx, ebx
call fcn.005b5bbc
cmp eax, 1
je 0x5b55b7
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 0x5b558a
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d617c
call fcn.00698cf0
add esp, 0xc
test eax, eax
jne 0x5b55b7
cmp byte [0x7e9d23], 0x2d
je 0x5b509e
push 0x3b
push dword [ebx + 0x14]
lea ecx, [esp + 8]
call fcn.0052c078
mov eax, dword [esp + 4]
test eax, eax
je 0x5b51c5
movsx edx, byte [eax]
test edx, edx
je 0x5b51c5
mov ebp, dword [esp + 0xc]
push eax
push str.RCPT_TO:__s__r_n
push ebp
call fcn.00697936
add esp, 0xc
mov ecx, ebp
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b513e
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b5129
dec eax
push eax
push ebp
mov ecx, ebx
call fcn.005b5bbc
cmp eax, 1
je 0x5b5558
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 0x5b552b
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d617c
call fcn.00698cf0
add esp, 0xc
test eax, eax
jne 0x5b5558
cmp byte [0x7e9d23], 0x2d
je 0x5b5150
mov ebp, dword [esp + 0xc]
push 0x3b
push dword [esp + 0xc]
lea ecx, [esp + 8]
call fcn.0052c078
mov eax, dword [esp + 4]
test eax, eax
je 0x5b51c5
movsx edx, byte [eax]
test edx, edx
jne 0x5b5116
push 0x3b
push dword [ebx + 0x18]
lea ecx, [esp + 8]
call fcn.0052c078
mov eax, dword [esp + 4]
test eax, eax
je 0x5b529d
movsx edx, byte [eax]
test edx, edx
je 0x5b529d
mov ebp, dword [esp + 0xc]
push eax
push str.RCPT_TO:__s__r_n
push ebp
call fcn.00697936
add esp, 0xc
mov ecx, ebp
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b5216
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b5201
dec eax
push eax
push ebp
mov ecx, ebx
call fcn.005b5bbc
cmp eax, 1
je 0x5b54f9
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 0x5b54cc
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d617c
call fcn.00698cf0
add esp, 0xc
test eax, eax
jne 0x5b54f9
cmp byte [0x7e9d23], 0x2d
je 0x5b5228
mov ebp, dword [esp + 0xc]
push 0x3b
push dword [esp + 0xc]
lea ecx, [esp + 8]
call fcn.0052c078
mov eax, dword [esp + 4]
test eax, eax
je 0x5b529d
movsx edx, byte [eax]
test edx, edx
jne 0x5b51ee
push 0x3b
push dword [ebx + 0x1c]
lea ecx, [esp + 8]
call fcn.0052c078
mov eax, dword [esp + 4]
test eax, eax
je 0x5b5375
movsx edx, byte [eax]
test edx, edx
je 0x5b5375
mov ebp, dword [esp + 0xc]
push eax
push str.RCPT_TO:__s__r_n
push ebp
call fcn.00697936
add esp, 0xc
mov ecx, ebp
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b52ee
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b52d9
dec eax
push eax
push ebp
mov ecx, ebx
call fcn.005b5bbc
cmp eax, 1
je 0x5b549a
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 0x5b546d
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d617c
call fcn.00698cf0
add esp, 0xc
test eax, eax
jne 0x5b549a
cmp byte [0x7e9d23], 0x2d
je 0x5b5300
mov ebp, dword [esp + 0xc]
push 0x3b
push dword [esp + 0xc]
lea ecx, [esp + 8]
call fcn.0052c078
mov eax, dword [esp + 4]
test eax, eax
je 0x5b5375
movsx edx, byte [eax]
test edx, edx
jne 0x5b52c6
push str.DATA_r_n
mov eax, dword [esp + 0x10]
push eax
call fcn.00697936
add esp, 8
mov ecx, dword [esp + 0xc]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b53a2
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b538d
dec eax
push eax
mov edx, dword [esp + 0x10]
push edx
mov ecx, ebx
call fcn.005b5bbc
cmp eax, 1
je 0x5b543f
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 0x5b541a
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d6498
call fcn.00698cf0
add esp, 0xc
test eax, eax
jne 0x5b543f
cmp byte [0x7e9d23], 0x2d
je 0x5b53b8
mov ecx, dword [esp + 0xc]
call fcn.004db958
lea ecx, [esp]
call fcn.0052c3e4
xor eax, eax
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
cmp eax, 0xffffffff
je 0x5b543f
movzx eax, byte [esp + 0x10]
mov byte [ebp + 0x7e9d20], al
inc ebp
cmp eax, 0xa
je 0x5b53d7
cmp ebp, 0x3e8
jb 0x5b53c4
mov byte [0x7e9d20], 0
mov ecx, dword [esp + 0xc]
call fcn.004db958
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.0052c3e4
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
cmp eax, 0xffffffff
je 0x5b549a
movzx eax, byte [esp + 0x18]
mov byte [ebp + 0x7e9d20], al
inc ebp
cmp eax, 0xa
je 0x5b5323
cmp ebp, 0x3e8
jb 0x5b530c
mov byte [0x7e9d20], 0
mov ecx, dword [esp + 0xc]
call fcn.004db958
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.0052c3e4
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
cmp eax, 0xffffffff
je 0x5b54f9
movzx eax, byte [esp + 0x1c]
mov byte [ebp + 0x7e9d20], al
inc ebp
cmp eax, 0xa
je 0x5b524b
cmp ebp, 0x3e8
jb 0x5b5234
mov byte [0x7e9d20], 0
mov ecx, dword [esp + 0xc]
call fcn.004db958
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.0052c3e4
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
cmp eax, 0xffffffff
je 0x5b5558
movzx eax, byte [esp + 0x20]
mov byte [ebp + 0x7e9d20], al
inc ebp
cmp eax, 0xa
je 0x5b5173
cmp ebp, 0x3e8
jb 0x5b515c
mov byte [0x7e9d20], 0
mov ecx, dword [esp + 0xc]
call fcn.004db958
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.0052c3e4
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
cmp eax, 0xffffffff
je 0x5b55b7
movzx eax, byte [esp + 0x14]
mov byte [ebp + 0x7e9d20], al
inc ebp
cmp eax, 0xa
je 0x5b50c1
cmp ebp, 0x3e8
jb 0x5b50aa
mov byte [0x7e9d20], 0
mov ecx, dword [esp + 0xc]
call fcn.004db958
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.0052c3e4
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.006977b0
mov ecx, dword [esp + 0x20]
mov ebx, ecx
lea ecx, [esp]
call fcn.0052c3f8
mov ecx, 0x801
call fcn.004dc288
mov dword [esp + 0xc], eax
push 0x3c
push dword [ebx + 0x10]
lea ecx, [esp + 8]
call fcn.0052c078
mov eax, dword [esp + 8]
test eax, eax
je 0x5b563b
movsx eax, byte [eax]
test eax, eax
je 0x5b563b
push 0x3e
lea ecx, [esp + 4]
call fcn.0052bdd0
push dword [esp + 4]
push str.MAIL_FROM:__s__r_n
mov eax, dword [esp + 0x14]
push eax
call fcn.00697936
add esp, 0xc
mov ecx, dword [esp + 0xc]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b566c
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b5657
dec eax
push eax
mov edx, dword [esp + 0x10]
push edx
mov ecx, ebx
call fcn.005b5bbc
cmp eax, 1
je 0x5b56ae
mov esi, dword [ebx + 8]
mov byte [0x7e9d20], 0
xor ebp, ebp
cmp ebp, 0x3e8
jae 0x5b5bad
lea eax, [esp + 0x14]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
je 0x5b56f0
cmp eax, 0xffffffff
jne 0x5b56df
mov ecx, dword [esp + 0xc]
call fcn.004db958
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.0052c3e4
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 0x5b568a
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d617c
call fcn.00698cf0
add esp, 0xc
test eax, eax
jne 0x5b56ae
cmp byte [0x7e9d23], 0x2d
je 0x5b567e
push 0x3b
push dword [ebx + 0x14]
lea ecx, [esp + 8]
call fcn.0052c078
mov eax, dword [esp + 4]
test eax, eax
je 0x5b5840
movsx edx, byte [eax]
test edx, edx
je 0x5b5840
mov ebp, dword [esp + 0xc]
push eax
push str.RCPT_TO:__s__r_n
push ebp
call fcn.00697936
add esp, 0xc
mov ecx, ebp
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b576d
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b5758
dec eax
push eax
push ebp
mov ecx, ebx
call fcn.005b5bbc
cmp eax, 1
je 0x5b57ab
mov esi, dword [ebx + 8]
mov byte [0x7e9d20], 0
xor ebp, ebp
cmp ebp, 0x3e8
jae 0x5b5ba1
lea eax, [esp + 0x20]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
je 0x5b57ee
cmp eax, 0xffffffff
jne 0x5b57dd
mov ecx, dword [esp + 0xc]
call fcn.004db958
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.0052c3e4
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 0x5b5787
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d617c
call fcn.00698cf0
add esp, 0xc
test eax, eax
jne 0x5b57ab
cmp byte [0x7e9d23], 0x2d
je 0x5b577b
mov ebp, dword [esp + 0xc]
push 0x3b
push dword [esp + 0xc]
lea ecx, [esp + 8]
call fcn.0052c078
mov eax, dword [esp + 4]
test eax, eax
je 0x5b5840
movsx edx, byte [eax]
test edx, edx
jne 0x5b5745
push 0x3b
push dword [ebx + 0x18]
lea ecx, [esp + 8]
call fcn.0052c078
mov eax, dword [esp + 4]
test eax, eax
je 0x5b5964
movsx edx, byte [eax]
test edx, edx
je 0x5b5964
mov ebp, dword [esp + 0xc]
push eax
push str.RCPT_TO:__s__r_n
push ebp
call fcn.00697936
add esp, 0xc
mov ecx, ebp
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b5891
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b587c
dec eax
push eax
push ebp
mov ecx, ebx
call fcn.005b5bbc
cmp eax, 1
je 0x5b58cf
mov esi, dword [ebx + 8]
mov byte [0x7e9d20], 0
xor ebp, ebp
cmp ebp, 0x3e8
jae 0x5b5b95
lea eax, [esp + 0x1c]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
je 0x5b5912
cmp eax, 0xffffffff
jne 0x5b5901
mov ecx, dword [esp + 0xc]
call fcn.004db958
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.0052c3e4
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 0x5b58ab
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d617c
call fcn.00698cf0
add esp, 0xc
test eax, eax
jne 0x5b58cf
cmp byte [0x7e9d23], 0x2d
je 0x5b589f
mov ebp, dword [esp + 0xc]
push 0x3b
push dword [esp + 0xc]
lea ecx, [esp + 8]
call fcn.0052c078
mov eax, dword [esp + 4]
test eax, eax
je 0x5b5964
movsx edx, byte [eax]
test edx, edx
jne 0x5b5869
push 0x3b
push dword [ebx + 0x1c]
lea ecx, [esp + 8]
call fcn.0052c078
mov eax, dword [esp + 4]
test eax, eax
je 0x5b5a88
movsx edx, byte [eax]
test edx, edx
je 0x5b5a88
mov ebp, dword [esp + 0xc]
push eax
push str.RCPT_TO:__s__r_n
push ebp
call fcn.00697936
add esp, 0xc
mov ecx, ebp
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b59b5
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b59a0
dec eax
push eax
push ebp
mov ecx, ebx
call fcn.005b5bbc
cmp eax, 1
je 0x5b59f3
mov esi, dword [ebx + 8]
mov byte [0x7e9d20], 0
xor ebp, ebp
cmp ebp, 0x3e8
jae 0x5b5b89
lea eax, [esp + 0x18]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
je 0x5b5a36
cmp eax, 0xffffffff
jne 0x5b5a25
mov ecx, dword [esp + 0xc]
call fcn.004db958
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.0052c3e4
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 0x5b59cf
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d617c
call fcn.00698cf0
add esp, 0xc
test eax, eax
jne 0x5b59f3
cmp byte [0x7e9d23], 0x2d
je 0x5b59c3
mov ebp, dword [esp + 0xc]
push 0x3b
push dword [esp + 0xc]
lea ecx, [esp + 8]
call fcn.0052c078
mov eax, dword [esp + 4]
test eax, eax
je 0x5b5a88
movsx edx, byte [eax]
test edx, edx
jne 0x5b598d
push str.DATA_r_n
mov eax, dword [esp + 0x10]
push eax
call fcn.00697936
add esp, 8
mov ecx, dword [esp + 0xc]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b5ab5
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b5aa0
dec eax
push eax
mov edx, dword [esp + 0x10]
push edx
mov ecx, ebx
call fcn.005b5bbc
cmp eax, 1
je 0x5b5af7
mov esi, dword [ebx + 8]
mov byte [0x7e9d20], 0
xor ebp, ebp
cmp ebp, 0x3e8
jae 0x5b5b7d
lea eax, [esp + 0x10]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
je 0x5b5b36
cmp eax, 0xffffffff
jne 0x5b5b25
mov ecx, dword [esp + 0xc]
call fcn.004db958
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.0052c3e4
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 0x5b5ad3
mov byte [ebp + 0x7e9d20], 0
push 3
push 0x7e9d20
push 0x6d6498
call fcn.00698cf0
add esp, 0xc
test eax, eax
jne 0x5b5af7
cmp byte [0x7e9d23], 0x2d
je 0x5b5ac7
mov ecx, dword [esp + 0xc]
call fcn.004db958
lea ecx, [esp]
call fcn.0052c3e4
xor eax, eax
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
mov byte [0x7e9d20], 0
jmp 0x5b5af7
mov byte [0x7e9d20], 0
jmp 0x5b59f3
mov byte [0x7e9d20], 0
jmp 0x5b58cf
mov byte [0x7e9d20], 0
jmp 0x5b57ab
mov byte [0x7e9d20], 0
jmp 0x5b56ae