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

Disassembly:
test dword [0x7eda90], 0xffffff80
jne 0x5b48d8
test dword [0x7eda90], 0xffffffff
jne 0x5b4ebc
call fcn.006a6b5c
jmp fcn.005b48b0
push edi
push esi
push ebp
push ebx
push ecx
mov eax, 0x20
call fcn.00696350
mov ecx, dword [esp + 0x20]
mov ebx, ecx
lea ecx, [esp]
call fcn.0052bdc4
mov ecx, 0x801
call fcn.004dbd48
mov dword [esp + 0xc], eax
push 0x3c
push dword [ebx + 0x10]
lea ecx, [esp + 8]
call fcn.0052ba44
mov eax, dword [esp + 8]
test eax, eax
je 0x5b492b
movsx eax, byte [eax]
test eax, eax
je 0x5b492b
push 0x3e
lea ecx, [esp + 4]
call fcn.0052b79c
push dword [esp + 4]
push str.MAIL_FROM:__s__r_n
mov eax, dword [esp + 0x14]
push eax
call fcn.006964d6
add esp, 0xc
mov ecx, dword [esp + 0xc]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b495c
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b4947
dec eax
push eax
mov edx, dword [esp + 0x10]
push edx
mov ecx, ebx
call fcn.005b5490
cmp eax, 1
je 0x5b4e8b
mov esi, dword [ebx + 8]
mov byte [0x7e8d00], 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 0x5b4e5e
mov byte [ebp + 0x7e8d00], 0
push 3
push 0x7e8d00
push 0x6d50dc
call fcn.00697890
add esp, 0xc
test eax, eax
jne 0x5b4e8b
cmp byte [0x7e8d03], 0x2d
je 0x5b4972
push 0x3b
push dword [ebx + 0x14]
lea ecx, [esp + 8]
call fcn.0052ba44
mov eax, dword [esp + 4]
test eax, eax
je 0x5b4a99
movsx edx, byte [eax]
test edx, edx
je 0x5b4a99
mov ebp, dword [esp + 0xc]
push eax
push str.RCPT_TO:__s__r_n
push ebp
call fcn.006964d6
add esp, 0xc
mov ecx, ebp
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b4a12
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b49fd
dec eax
push eax
push ebp
mov ecx, ebx
call fcn.005b5490
cmp eax, 1
je 0x5b4e2c
mov esi, dword [ebx + 8]
mov byte [0x7e8d00], 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 0x5b4dff
mov byte [ebp + 0x7e8d00], 0
push 3
push 0x7e8d00
push 0x6d50dc
call fcn.00697890
add esp, 0xc
test eax, eax
jne 0x5b4e2c
cmp byte [0x7e8d03], 0x2d
je 0x5b4a24
mov ebp, dword [esp + 0xc]
push 0x3b
push dword [esp + 0xc]
lea ecx, [esp + 8]
call fcn.0052ba44
mov eax, dword [esp + 4]
test eax, eax
je 0x5b4a99
movsx edx, byte [eax]
test edx, edx
jne 0x5b49ea
push 0x3b
push dword [ebx + 0x18]
lea ecx, [esp + 8]
call fcn.0052ba44
mov eax, dword [esp + 4]
test eax, eax
je 0x5b4b71
movsx edx, byte [eax]
test edx, edx
je 0x5b4b71
mov ebp, dword [esp + 0xc]
push eax
push str.RCPT_TO:__s__r_n
push ebp
call fcn.006964d6
add esp, 0xc
mov ecx, ebp
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b4aea
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b4ad5
dec eax
push eax
push ebp
mov ecx, ebx
call fcn.005b5490
cmp eax, 1
je 0x5b4dcd
mov esi, dword [ebx + 8]
mov byte [0x7e8d00], 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 0x5b4da0
mov byte [ebp + 0x7e8d00], 0
push 3
push 0x7e8d00
push 0x6d50dc
call fcn.00697890
add esp, 0xc
test eax, eax
jne 0x5b4dcd
cmp byte [0x7e8d03], 0x2d
je 0x5b4afc
mov ebp, dword [esp + 0xc]
push 0x3b
push dword [esp + 0xc]
lea ecx, [esp + 8]
call fcn.0052ba44
mov eax, dword [esp + 4]
test eax, eax
je 0x5b4b71
movsx edx, byte [eax]
test edx, edx
jne 0x5b4ac2
push 0x3b
push dword [ebx + 0x1c]
lea ecx, [esp + 8]
call fcn.0052ba44
mov eax, dword [esp + 4]
test eax, eax
je 0x5b4c49
movsx edx, byte [eax]
test edx, edx
je 0x5b4c49
mov ebp, dword [esp + 0xc]
push eax
push str.RCPT_TO:__s__r_n
push ebp
call fcn.006964d6
add esp, 0xc
mov ecx, ebp
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b4bc2
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b4bad
dec eax
push eax
push ebp
mov ecx, ebx
call fcn.005b5490
cmp eax, 1
je 0x5b4d6e
mov esi, dword [ebx + 8]
mov byte [0x7e8d00], 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 0x5b4d41
mov byte [ebp + 0x7e8d00], 0
push 3
push 0x7e8d00
push 0x6d50dc
call fcn.00697890
add esp, 0xc
test eax, eax
jne 0x5b4d6e
cmp byte [0x7e8d03], 0x2d
je 0x5b4bd4
mov ebp, dword [esp + 0xc]
push 0x3b
push dword [esp + 0xc]
lea ecx, [esp + 8]
call fcn.0052ba44
mov eax, dword [esp + 4]
test eax, eax
je 0x5b4c49
movsx edx, byte [eax]
test edx, edx
jne 0x5b4b9a
push str.DATA_r_n
mov eax, dword [esp + 0x10]
push eax
call fcn.006964d6
add esp, 8
mov ecx, dword [esp + 0xc]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b4c76
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b4c61
dec eax
push eax
mov edx, dword [esp + 0x10]
push edx
mov ecx, ebx
call fcn.005b5490
cmp eax, 1
je 0x5b4d13
mov esi, dword [ebx + 8]
mov byte [0x7e8d00], 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 0x5b4cee
mov byte [ebp + 0x7e8d00], 0
push 3
push 0x7e8d00
push 0x6d53f8
call fcn.00697890
add esp, 0xc
test eax, eax
jne 0x5b4d13
cmp byte [0x7e8d03], 0x2d
je 0x5b4c8c
mov ecx, dword [esp + 0xc]
call fcn.004db418
lea ecx, [esp]
call fcn.0052bdb0
xor eax, eax
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
cmp eax, 0xffffffff
je 0x5b4d13
movzx eax, byte [esp + 0x10]
mov byte [ebp + 0x7e8d00], al
inc ebp
cmp eax, 0xa
je 0x5b4cab
cmp ebp, 0x3e8
jb 0x5b4c98
mov byte [0x7e8d00], 0
mov ecx, dword [esp + 0xc]
call fcn.004db418
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.0052bdb0
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
cmp eax, 0xffffffff
je 0x5b4d6e
movzx eax, byte [esp + 0x18]
mov byte [ebp + 0x7e8d00], al
inc ebp
cmp eax, 0xa
je 0x5b4bf7
cmp ebp, 0x3e8
jb 0x5b4be0
mov byte [0x7e8d00], 0
mov ecx, dword [esp + 0xc]
call fcn.004db418
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.0052bdb0
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
cmp eax, 0xffffffff
je 0x5b4dcd
movzx eax, byte [esp + 0x1c]
mov byte [ebp + 0x7e8d00], al
inc ebp
cmp eax, 0xa
je 0x5b4b1f
cmp ebp, 0x3e8
jb 0x5b4b08
mov byte [0x7e8d00], 0
mov ecx, dword [esp + 0xc]
call fcn.004db418
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.0052bdb0
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
cmp eax, 0xffffffff
je 0x5b4e2c
movzx eax, byte [esp + 0x20]
mov byte [ebp + 0x7e8d00], al
inc ebp
cmp eax, 0xa
je 0x5b4a47
cmp ebp, 0x3e8
jb 0x5b4a30
mov byte [0x7e8d00], 0
mov ecx, dword [esp + 0xc]
call fcn.004db418
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.0052bdb0
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
cmp eax, 0xffffffff
je 0x5b4e8b
movzx eax, byte [esp + 0x14]
mov byte [ebp + 0x7e8d00], al
inc ebp
cmp eax, 0xa
je 0x5b4995
cmp ebp, 0x3e8
jb 0x5b497e
mov byte [0x7e8d00], 0
mov ecx, dword [esp + 0xc]
call fcn.004db418
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.0052bdb0
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.00696350
mov ecx, dword [esp + 0x20]
mov ebx, ecx
lea ecx, [esp]
call fcn.0052bdc4
mov ecx, 0x801
call fcn.004dbd48
mov dword [esp + 0xc], eax
push 0x3c
push dword [ebx + 0x10]
lea ecx, [esp + 8]
call fcn.0052ba44
mov eax, dword [esp + 8]
test eax, eax
je 0x5b4f0f
movsx eax, byte [eax]
test eax, eax
je 0x5b4f0f
push 0x3e
lea ecx, [esp + 4]
call fcn.0052b79c
push dword [esp + 4]
push str.MAIL_FROM:__s__r_n
mov eax, dword [esp + 0x14]
push eax
call fcn.006964d6
add esp, 0xc
mov ecx, dword [esp + 0xc]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b4f40
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b4f2b
dec eax
push eax
mov edx, dword [esp + 0x10]
push edx
mov ecx, ebx
call fcn.005b5490
cmp eax, 1
je 0x5b4f82
mov esi, dword [ebx + 8]
mov byte [0x7e8d00], 0
xor ebp, ebp
cmp ebp, 0x3e8
jae 0x5b5481
lea eax, [esp + 0x14]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
je 0x5b4fc4
cmp eax, 0xffffffff
jne 0x5b4fb3
mov ecx, dword [esp + 0xc]
call fcn.004db418
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.0052bdb0
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
movzx eax, byte [esp + 0x14]
mov byte [ebp + 0x7e8d00], al
inc ebp
cmp eax, 0xa
jne 0x5b4f5e
mov byte [ebp + 0x7e8d00], 0
push 3
push 0x7e8d00
push 0x6d50dc
call fcn.00697890
add esp, 0xc
test eax, eax
jne 0x5b4f82
cmp byte [0x7e8d03], 0x2d
je 0x5b4f52
push 0x3b
push dword [ebx + 0x14]
lea ecx, [esp + 8]
call fcn.0052ba44
mov eax, dword [esp + 4]
test eax, eax
je 0x5b5114
movsx edx, byte [eax]
test edx, edx
je 0x5b5114
mov ebp, dword [esp + 0xc]
push eax
push str.RCPT_TO:__s__r_n
push ebp
call fcn.006964d6
add esp, 0xc
mov ecx, ebp
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b5041
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b502c
dec eax
push eax
push ebp
mov ecx, ebx
call fcn.005b5490
cmp eax, 1
je 0x5b507f
mov esi, dword [ebx + 8]
mov byte [0x7e8d00], 0
xor ebp, ebp
cmp ebp, 0x3e8
jae 0x5b5475
lea eax, [esp + 0x20]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
je 0x5b50c2
cmp eax, 0xffffffff
jne 0x5b50b1
mov ecx, dword [esp + 0xc]
call fcn.004db418
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.0052bdb0
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
movzx eax, byte [esp + 0x20]
mov byte [ebp + 0x7e8d00], al
inc ebp
cmp eax, 0xa
jne 0x5b505b
mov byte [ebp + 0x7e8d00], 0
push 3
push 0x7e8d00
push 0x6d50dc
call fcn.00697890
add esp, 0xc
test eax, eax
jne 0x5b507f
cmp byte [0x7e8d03], 0x2d
je 0x5b504f
mov ebp, dword [esp + 0xc]
push 0x3b
push dword [esp + 0xc]
lea ecx, [esp + 8]
call fcn.0052ba44
mov eax, dword [esp + 4]
test eax, eax
je 0x5b5114
movsx edx, byte [eax]
test edx, edx
jne 0x5b5019
push 0x3b
push dword [ebx + 0x18]
lea ecx, [esp + 8]
call fcn.0052ba44
mov eax, dword [esp + 4]
test eax, eax
je 0x5b5238
movsx edx, byte [eax]
test edx, edx
je 0x5b5238
mov ebp, dword [esp + 0xc]
push eax
push str.RCPT_TO:__s__r_n
push ebp
call fcn.006964d6
add esp, 0xc
mov ecx, ebp
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b5165
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b5150
dec eax
push eax
push ebp
mov ecx, ebx
call fcn.005b5490
cmp eax, 1
je 0x5b51a3
mov esi, dword [ebx + 8]
mov byte [0x7e8d00], 0
xor ebp, ebp
cmp ebp, 0x3e8
jae 0x5b5469
lea eax, [esp + 0x1c]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
je 0x5b51e6
cmp eax, 0xffffffff
jne 0x5b51d5
mov ecx, dword [esp + 0xc]
call fcn.004db418
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.0052bdb0
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
movzx eax, byte [esp + 0x1c]
mov byte [ebp + 0x7e8d00], al
inc ebp
cmp eax, 0xa
jne 0x5b517f
mov byte [ebp + 0x7e8d00], 0
push 3
push 0x7e8d00
push 0x6d50dc
call fcn.00697890
add esp, 0xc
test eax, eax
jne 0x5b51a3
cmp byte [0x7e8d03], 0x2d
je 0x5b5173
mov ebp, dword [esp + 0xc]
push 0x3b
push dword [esp + 0xc]
lea ecx, [esp + 8]
call fcn.0052ba44
mov eax, dword [esp + 4]
test eax, eax
je 0x5b5238
movsx edx, byte [eax]
test edx, edx
jne 0x5b513d
push 0x3b
push dword [ebx + 0x1c]
lea ecx, [esp + 8]
call fcn.0052ba44
mov eax, dword [esp + 4]
test eax, eax
je 0x5b535c
movsx edx, byte [eax]
test edx, edx
je 0x5b535c
mov ebp, dword [esp + 0xc]
push eax
push str.RCPT_TO:__s__r_n
push ebp
call fcn.006964d6
add esp, 0xc
mov ecx, ebp
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b5289
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b5274
dec eax
push eax
push ebp
mov ecx, ebx
call fcn.005b5490
cmp eax, 1
je 0x5b52c7
mov esi, dword [ebx + 8]
mov byte [0x7e8d00], 0
xor ebp, ebp
cmp ebp, 0x3e8
jae 0x5b545d
lea eax, [esp + 0x18]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
je 0x5b530a
cmp eax, 0xffffffff
jne 0x5b52f9
mov ecx, dword [esp + 0xc]
call fcn.004db418
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.0052bdb0
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
movzx eax, byte [esp + 0x18]
mov byte [ebp + 0x7e8d00], al
inc ebp
cmp eax, 0xa
jne 0x5b52a3
mov byte [ebp + 0x7e8d00], 0
push 3
push 0x7e8d00
push 0x6d50dc
call fcn.00697890
add esp, 0xc
test eax, eax
jne 0x5b52c7
cmp byte [0x7e8d03], 0x2d
je 0x5b5297
mov ebp, dword [esp + 0xc]
push 0x3b
push dword [esp + 0xc]
lea ecx, [esp + 8]
call fcn.0052ba44
mov eax, dword [esp + 4]
test eax, eax
je 0x5b535c
movsx edx, byte [eax]
test edx, edx
jne 0x5b5261
push str.DATA_r_n
mov eax, dword [esp + 0x10]
push eax
call fcn.006964d6
add esp, 8
mov ecx, dword [esp + 0xc]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5b5389
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5b5374
dec eax
push eax
mov edx, dword [esp + 0x10]
push edx
mov ecx, ebx
call fcn.005b5490
cmp eax, 1
je 0x5b53cb
mov esi, dword [ebx + 8]
mov byte [0x7e8d00], 0
xor ebp, ebp
cmp ebp, 0x3e8
jae 0x5b5451
lea eax, [esp + 0x10]
push 0
push 1
push eax
push esi
call sub.WSOCK32.dll_recv
test eax, eax
je 0x5b540a
cmp eax, 0xffffffff
jne 0x5b53f9
mov ecx, dword [esp + 0xc]
call fcn.004db418
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.0052bdb0
mov eax, ebx
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
movzx eax, byte [esp + 0x10]
mov byte [ebp + 0x7e8d00], al
inc ebp
cmp eax, 0xa
jne 0x5b53a7
mov byte [ebp + 0x7e8d00], 0
push 3
push 0x7e8d00
push 0x6d53f8
call fcn.00697890
add esp, 0xc
test eax, eax
jne 0x5b53cb
cmp byte [0x7e8d03], 0x2d
je 0x5b539b
mov ecx, dword [esp + 0xc]
call fcn.004db418
lea ecx, [esp]
call fcn.0052bdb0
xor eax, eax
add esp, 0x24
pop ebx
pop ebp
pop esi
pop edi
ret
mov byte [0x7e8d00], 0
jmp 0x5b53cb
mov byte [0x7e8d00], 0
jmp 0x5b52c7
mov byte [0x7e8d00], 0
jmp 0x5b51a3
mov byte [0x7e8d00], 0
jmp 0x5b507f
mov byte [0x7e8d00], 0
jmp 0x5b4f82