Function at 0x57d6b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
push ebx
push esi
mov esi, ecx
mov dword [esp + 8], 0x11
push edi
mov dword [esp + 0x10], 0xf200f0
xor ecx, ecx
mov dword [esp + 0x14], 0xe200ff
mov dword [esp + 0x18], 0xfe00e3
mov dword [esp + 0x1c], 0xed00eb
mov dword [esp + 0x20], 0x840092
mov dword [esp + 0x24], 0x97008c
mov dword [esp + 0x28], 0x90009b
mov dword [esp + 0x2c], 0x820095
mov dword [esp + 0x30], 0xc9009a
lea eax, [ecx + 0xb8]
xor word [esp + ecx*2 + 0x10], ax
inc ecx
mov eax, dword [esp + 0xc]
cmp ecx, eax
jb 0x57d710
xor ecx, ecx
mov word [esp + eax*2 + 0x10], cx
lea ecx, [esp + 0x10]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57d732
mov eax, dword [esi + 0x10]
sub ecx, edx
sar ecx, 1
mov edx, esi
cmp dword [esi + 0x14], 8
jb 0x57d74e
mov edx, dword [esi]
cmp eax, ecx
jne 0x57d771
push eax
lea eax, [esp + 0x14]
push eax
push edx
call fcn.004090d0
add esp, 0xc
test eax, eax
jne 0x57d771
mov eax, SysReAllocString
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xa
mov dword [esp + 0x10], 0xf200f0
mov dword [esp + 0xc], eax
xor ecx, ecx
mov dword [esp + 0x14], 0xe200ff
mov dword [esp + 0x18], 0xe800e3
mov dword [esp + 0x1c], 0xfa00ed
mov dword [esp + 0x20], 0x920092
mov dword [esp + 0x24], 0xc2
nop dword [eax]
lea eax, [ecx + 0xb8]
xor word [esp + ecx*2 + 0x10], ax
inc ecx
mov eax, dword [esp + 0xc]
cmp ecx, eax
jb 0x57d7b0
xor ecx, ecx
mov word [esp + eax*2 + 0x10], cx
lea ecx, [esp + 0x10]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57d7d2
mov eax, dword [esi + 0x10]
sub ecx, edx
sar ecx, 1
mov edx, esi
cmp dword [esi + 0x14], 8
jb 0x57d7ee
mov edx, dword [esi]
cmp eax, ecx
jne 0x57d811
push eax
lea eax, [esp + 0x14]
push eax
push edx
call fcn.004090d0
add esp, 0xc
test eax, eax
jne 0x57d811
mov eax, reloc.WS2_32.dll_closesocket
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x12
mov dword [esp + 0x10], 0xf200f0
mov dword [esp + 0xc], eax
xor ecx, ecx
mov dword [esp + 0x14], 0xe200ff
mov dword [esp + 0x18], 0xf100e3
mov dword [esp + 0x1c], 0xfc00f1
mov dword [esp + 0x20], 0x8d0081
mov dword [esp + 0x24], 0x8e009d
mov dword [esp + 0x28], 0x860085
mov dword [esp + 0x2c], 0x8e008e
mov dword [esp + 0x30], 0x8c0086
mov dword [esp + 0x34], 0xca
nop dword [eax]
lea eax, [ecx + 0xb8]
xor word [esp + ecx*2 + 0x10], ax
inc ecx
mov eax, dword [esp + 0xc]
cmp ecx, eax
jb 0x57d870
xor ecx, ecx
mov word [esp + eax*2 + 0x10], cx
lea ecx, [esp + 0x10]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57d892
mov eax, dword [esi + 0x10]
sub ecx, edx
sar ecx, 1
mov edx, esi
cmp dword [esi + 0x14], 8
jb 0x57d8ae
mov edx, dword [esi]
cmp eax, ecx
jne 0x57d8d1
push eax
lea eax, [esp + 0x14]
push eax
push edx
call fcn.004090d0
add esp, 0xc
test eax, eax
jne 0x57d8d1
mov eax, reloc.OLEAUT32.dll_SysReAllocString
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0xc]
mov dword [esp + 0xc], 0x11
mov dword [esp + 0x10], 0xf200f0
mov dword [esp + 0x14], 0xe200ff
mov dword [esp + 0x18], 0xfe00e3
mov dword [esp + 0x1c], 0xfe00f2
mov dword [esp + 0x20], 0x920093
mov dword [esp + 0x24], 0x900087
mov dword [esp + 0x28], 0x97009b
mov dword [esp + 0x2c], 0x880089
mov dword [esp + 0x30], 0xc9009c
call fcn.00403e20
mov edi, eax
mov edx, edi
lea eax, [edx + 2]
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x57d931
sub edx, eax
mov eax, dword [esi + 0x10]
sar edx, 1
cmp dword [esi + 0x14], 8
jb 0x57d94b
mov esi, dword [esi]
cmp eax, edx
jne 0x57d96a
push eax
push edi
push esi
call fcn.004090d0
add esp, 0xc
test eax, eax
jne 0x57d96a
mov eax, SysReAllocString
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret