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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
mov eax, dword [ebp + 0x14]
push ebx
push esi
push edi
xor edx, edx
lea edi, [eax + 0x627]
xor ecx, ecx
mov esi, eax
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x40], edi
cmp eax, edi
ja 0x1003fe0b
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 0x2c]
jmp 0x1003f7a6
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
cmp esi, 0x6b3b
ja 0x1003fcc9
je 0x1003fc7e
cmp esi, 0x2ae3
ja 0x1003f9e9
je 0x1003f878
cmp esi, 0x2ab1
ja 0x1003f838
je 0x1003f81e
mov eax, esi
sub eax, 0x1e75
je 0x1003f7f8
sub eax, 0x19
jne case.0x1003fd5b.30824
lea ecx, [ebp - 0x50]
call fcn.1006d1d0
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or byte [ebp - 0x74c0a208], bh
inc ebp
or al, 0x8b
or byte [ebx + 0x28b1855], cl
mov edx, dword [ebx]
push ecx
mov ecx, dword [ebp + 0x10]
push eax
push ecx
push edx
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 8], eax
jmp case.0x1003fd5b.30824
mov eax, dword [ebx + 0x14]
push eax
lea ecx, [ebp - 0x50]
push ecx
push 0x72fb
call fcn.1003f690
add esp, 0xc
jmp case.0x1003fd5b.30824
cmp esi, 0x2aca
jne case.0x1003fd5b.30824
xor eax, eax
lea edx, [ebp - 0x34]
push edx
mov dword [ebp - 4], eax
mov byte [ebp - 0x18], al
mov word [ebp - 0x17], ax
mov byte [ebp - 0x15], al
lea eax, [ebp + 0x14]
push eax
lea ecx, [ebp - 0x18]
push 0x1e74
push ecx
mov dword [ebp - 0x34], 4
call fcn.1006bc50
add esp, 0x10
jmp case.0x1003fd5b.30824
cmp ecx, edx
je 0x1003f9bb
mov eax, edx
lea ebx, [ecx + 4]
sub eax, ecx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0xc], eax
lea ecx, [ecx]
mov eax, 0x58db
mov dword [ebp - 0x28], eax
jmp 0x1003f8a0
sub eax, 0x58db
je 0x1003f96d
sub eax, 0x3a
jne 0x1003f985
xor esi, esi
add ebx, 4
lea esp, [esp]
mov edi, 0x1fcb
mov eax, edi
sub eax, 0x1fcb
je 0x1003f8f9
sub eax, 2
jne 0x1003f939
lea edx, [ebp - 0x34]
push edx
push eax
mov dword [ebp - 0x24], eax
push 0x252b
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp + 0x14]
push ecx
mov dword [ebp - 0x34], 4
call fcn.100654b0
add esp, 0x14
jmp 0x1003f939
movzx edx, word [ebx]
lea eax, [ebp + 0x14]
push eax
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24], edx
push ecx
lea edx, [ebp - 0x24]
push edx
push 0x544b
mov dword [ebp - 0x34], 0xa
call fcn.10007f80
lea eax, [ebp + 0x14]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1003f925
sub eax, edx
add dword [ebp - 4], eax
cmp esi, 1
je 0x1003f939
inc dword [ebp - 4]
add edi, 2
cmp edi, 0x1fcd
jbe 0x1003f8c5
inc esi
add ebx, 2
cmp esi, 2
jne 0x1003f8c0
mov eax, 0x2aaaaaab
imul dword [ebp - 0xc]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jle 0x1003f985
add dword [ebp - 4], esi
jmp 0x1003f985
mov eax, dword [ebx]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1003f972
mov ecx, dword [ebp - 4]
sub eax, edx
lea edx, [ecx + eax + 1]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x1c]
add eax, 0x3a
mov dword [ebp - 0x28], eax
cmp eax, 0x5915
jbe 0x1003f8a0
sub dword [ebp - 0xc], 0x18
add ebx, 0x18
lea eax, [ebx - 4]
mov dword [ebp - 0x1c], ebx
cmp eax, dword [ebp - 0x4c]
jne 0x1003f890
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 4]
push 0x2f77
lea edx, [ebp - 0x34]
push edx
inc ecx
push 0
push 0
mov dword [ebp - 0x34], ecx
call fcn.10066470
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov dl, byte [0x100751d0]
add esp, 0x10
mov byte [eax], dl
jmp case.0x1003fd5b.30824
cmp esi, 0x6b09
ja 0x1003fc44
je 0x1003fc37
mov eax, esi
sub eax, 0x2afc
je 0x1003fc09
sub eax, 0x19
jne case.0x1003fd5b.30824
cmp ecx, edx
je case.0x1003fd5b.30824
lea eax, [ecx + 8]
mov dword [ebp - 0xc], eax
mov eax, edx
sub eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x1003fa30
mov dword [ebp - 0x24], 0xb3e
jmp 0x1003fa40
mov eax, dword [ebp - 0x24]
sub eax, 0xb3e
je 0x1003fa94
sub eax, 0x37
jne 0x1003fbce
mov eax, 0x2aaaaaab
imul dword [ebp - 0x28]
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 1
jle 0x1003fbce
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1003fa74
mov cx, word [0x10077269]
mov word [eax], cx
mov dl, byte [0x1007726b]
mov byte [eax + 2], dl
jmp 0x1003fbce
mov eax, dword [ebp - 0xc]
mov eax, dword [eax - 4]
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1003faa0
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebx]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x1003fab1
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebx]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1003fad0
mov cx, word [0x10077964]
mov edx, dword [ebp - 0xc]
mov word [edi], cx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], edx
nop
mov eax, 0x6480
mov dword [ebp - 0x34], eax
sub eax, 0x6480
je 0x1003fb53
sub eax, 0x5d
je 0x1003fb34
sub eax, 0x5d
jne 0x1003fba6
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x38]
push eax
push 0
push 0x252b
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp + 0x14]
push edx
mov dword [ebp - 0x38], 4
call fcn.100654b0
add esp, 0x14
jmp 0x1003fba6
cmp dword [ebp - 0x1c], 1
je 0x1003fba6
mov edi, dword [ebx]
dec edi
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1003fb40
mov ax, word [0x10076c65]
mov word [edi], ax
jmp 0x1003fba6
mov ecx, dword [ebp - 0x20]
movzx edx, word [ecx]
lea eax, [ebp + 0x14]
push eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x38], edx
push ecx
lea edx, [ebp - 0x38]
push edx
push 0x544b
mov dword [ebp - 0x3c], 0xa
call fcn.10007f80
lea eax, [ebp + 0x14]
add esp, 0x10
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1003fb81
mov edi, dword [ebx]
sub eax, ecx
mov esi, ecx
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x1003fb90
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x34]
add eax, 0x5d
mov dword [ebp - 0x34], eax
cmp eax, 0x653a
jbe 0x1003faf8
mov eax, dword [ebp - 0x1c]
add dword [ebp - 0x20], 2
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 2
jne 0x1003faf0
mov eax, dword [ebp - 0x24]
add eax, 0x37
mov dword [ebp - 0x24], eax
cmp eax, 0xb75
jbe 0x1003fa40
mov eax, dword [ebp - 0xc]
sub dword [ebp - 0x28], 0x18
add eax, 0x18
mov dword [ebp - 0xc], eax
add eax, 0xfffffff8
cmp eax, dword [ebp - 0x4c]
jne 0x1003fa30
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
jmp case.0x1003fd5b.30824
lea eax, [ebp - 0x3c]
push eax
push 0
push 0x252b
lea ecx, [ebp - 0x38]
push ecx
lea edx, [ebp + 0x14]
push edx
mov dword [ebp - 0x3c], 4
mov dword [ebp - 0x38], 0
call fcn.100654b0
add esp, 0x14
jmp case.0x1003fd5b.30824
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], eax
jmp case.0x1003fd5b.30824
cmp esi, 0x6b22
jne case.0x1003fd5b.30824
xor byte [edi + esi*2 + 0x14a1d9e1], dl
les eax, [edi]
adc byte [ebp - 0xfa8b40], al
ror byte [ecx + 0x458bf045], 1
invalid
push 0
lea eax, [edi + 0xc]
push eax
push 0x4a79
call fcn.10003820
mov eax, dword [edi]
add esp, 0xc
test eax, eax
jne 0x1003fcba
mov ecx, dword [ebp - 0x10]
push eax
lea edx, [ebp - 0x3c]
push edx
push 0x7b46
push ebx
mov dword [ebp - 0x3c], ecx
call fcn.10009900
mov eax, dword [edi]
add esp, 0x10
test eax, eax
je case.0x1003fd5b.30824
dec eax
mov dword [edi], eax
mov eax, dword [edi + eax*4 + 0x24]
mov dword [ebp - 0x14], eax
jmp case.0x1003fd5b.30824
cmp esi, 0x6bb8
ja 0x1003fd45
je 0x1003fe15
lea eax, [esi - 0x6b54]
cmp eax, 0x4b
ja case.0x1003fd5b.30824
movzx ecx, byte [eax + 0x1003fe70]
jmp dword [ecx*4 + 0x1003fe5c]
cmp dword [ebp - 0x14], 0
jne case.0x1003fd5b.30824
lea ecx, [ebp - 0x50]
xor esi, esi
call fcn.1006d1d0
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x14]
or dword [eax - 4], 5
jmp case.0x1003fd5b.30824
mov edx, dword [ebp - 0x14]
mov dword [ebp - 8], edx
jmp case.0x1003fd5b.30824
idiv byte [ebp + edx*8 + 0x70]
invalid
lea eax, [esi - 0x7867]
cmp eax, 0x4b
ja case.0x1003fd5b.30824
movzx edx, byte [eax + 0x1003fed0]
jmp dword [edx*4 + 0x1003febc]
sbb esp, eax
in eax, 0xa3
dec edi
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax]
test eax, eax
js 0x1003fd76
mov dword [ebx + 0xbc], eax
mov dword [ebp - 8], 0
jmp case.0x1003fd5b.30824
cmpsd dword [esi], dword es:[edi]
or esp, dword [esi + 0x64]
add al, 0x8b
dec ebp
or al, 0x8b
add dword [ebp - 0x76ab8740], eax
cmp dword [eax - 0x15000000], 0x4c
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
test eax, eax
js 0x1003fdb0
mov dword [ebx + 0x6c], eax
mov edx, dword [ecx]
neg edx
sbb edx, edx
and edx, 0xffffffba
add edx, 0x64
mov dword [ebx + 0x34], edx
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
test eax, eax
js case.0x1003fd5b.30824
cmp eax, 0x1388
jle 0x1003fdcb
mov ecx, dword [ebp + 0x18]
mov dword [ecx], 0x1388
jmp 0x1003fdd9
cmp eax, 0xa
jge 0x1003fdd9
mov edx, dword [ebp + 0x18]
mov dword [edx], 0xa
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
mov dword [ebx + 0x50], ecx
add esi, 0x19
mov dword [ebp - 0x30], esi
cmp esi, dword [ebp - 0x40]
jbe 0x1003f7a0
cmp dword [ebp - 0x50], 0
je 0x1003fe0b
mov ecx, dword [ebp - 0x50]
push 0
push 0
push 0x1313
push ecx
call fcn.10062ff0
add esp, 0x10
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, ecx
je 0x1003fe0b
mov edx, dword [ebp - 0x50]
push 0
push 0
push 0x1313
push edx
call fcn.10062ff0
mov eax, dword [ebp - 8]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, ecx
je 0x1003fe0b
mov eax, dword [ebp - 0x50]
push 0
push 0
push 0x1313
push eax
call fcn.10062ff0
mov eax, dword [ebp - 8]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret