Function at 0x100479d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1022b3dd
mov eax, dword fs:[0]
push eax
sub esp, 0xf4
mov eax, dword [0x1029912c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0x100], edi
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
mov dword [ebp - 4], 0
mov eax, 9
mov dword [ebp - 0xa0], eax
xor ecx, ecx
mov dword [ebp - 0x9c], 0x2d2e3e1a
mov dword [ebp - 0x98], 0x242e1e20
mov dword [ebp - 0x94], 0x5239
lea eax, [ecx + 0x49]
xor byte [ebp + ecx - 0x9c], al
inc ecx
mov eax, dword [ebp - 0xa0]
cmp ecx, eax
jb 0x10047a60
mov byte [ebp + eax - 0x9c], 0
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x18], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10047a98
sub ecx, edx
lea eax, [ebp - 0x9c]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.100025c0
mov byte [ebp - 4], 1
xor ecx, ecx
movaps xmm0, xmmword [0x1027a620]
mov eax, 0x14
mov dword [ebp - 0x60], eax
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x4c], 0x313a3f2d
mov byte [ebp - 0x48], 0x5d
mov word [ebp - 0x47], cx
mov byte [ebp - 0x45], cl
nop dword [eax]
lea eax, [ecx + 0x49]
xor byte [ebp + ecx - 0x5c], al
inc ecx
mov eax, dword [ebp - 0x60]
cmp ecx, eax
jb 0x10047ae0
mov byte [ebp + eax - 0x5c], 0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x30], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10047b10
sub ecx, edx
lea eax, [ebp - 0x5c]
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.100025c0
push ecx
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x28]
mov ecx, getpeername
push eax
lea edx, [ebp - 0x40]
call fcn.1004bfe0
mov byte [ebp - 4], 1
add esp, 0xc
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x10047b7b
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047b71
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10048397
push edx
push ecx
call fcn.101d50ac
add esp, 8
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x10047bc5
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047bbb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004839c
push edx
push ecx
call fcn.101d50ac
add esp, 8
mov eax, 0xa
mov dword [ebp - 0x9c], 0x253f2908
mov dword [ebp - 0xa0], eax
xor ecx, ecx
mov dword [ebp - 0x98], 0x231a2b3b
mov dword [ebp - 0x94], 0x532034
lea eax, [ecx + 0x49]
xor byte [ebp + ecx - 0x9c], al
inc ecx
mov eax, dword [ebp - 0xa0]
cmp ecx, eax
jb 0x10047bf0
mov byte [ebp + eax - 0x9c], 0
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x18], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10047c28
sub ecx, edx
lea eax, [ebp - 0x9c]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.100025c0
mov byte [ebp - 4], 3
mov eax, 0x22
movaps xmm0, xmmword [0x1027a620]
xor ecx, ecx
movups xmmword [ebp - 0xc8], xmm0
mov dword [ebp - 0xcc], eax
movaps xmm0, xmmword [0x1027a630]
movups xmmword [ebp - 0xb8], xmm0
mov dword [ebp - 0xa8], 0x6b191a
nop dword [eax + eax]
lea eax, [ecx + 0x49]
xor byte [ebp + ecx - 0xc8], al
inc ecx
mov eax, dword [ebp - 0xcc]
cmp ecx, eax
jb 0x10047c80
mov byte [ebp + eax - 0xc8], 0
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0x30], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10047cb8
sub ecx, edx
lea eax, [ebp - 0xc8]
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.100025c0
push ecx
lea eax, [ebp - 0x44]
mov ecx, getpeername
push eax
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x40]
call fcn.1004c190
mov edx, dword [ebp - 0x2c]
add esp, 0xc
mov esi, eax
cmp edx, 0x10
jb 0x10047d20
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047d16
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100483a1
push edx
push ecx
call fcn.101d50ac
add esp, 8
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x10047d6a
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047d60
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100483a6
push edx
push ecx
call fcn.101d50ac
add esp, 8
cmp esi, 2
jne 0x10048178
mov eax, dword fs:[0x2c]
mov ecx, dword [0x102a7d90]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x102ad790]
cmp eax, dword [ecx + 4]
jle 0x10047dd7
push 0x102ad790
call fcn.101d529a
add esp, 4
cmp dword [0x102ad790], 0xffffffff
jne 0x10047dd7
push 0x10232ed0
mov dword [0x102ad7a4], 0
mov dword [0x102ad7a8], 0xf
mov byte [0x102ad794], 0
call fcn.101d56bf
push 0x102ad790
call fcn.101d5250
add esp, 8
cmp dword [0x102ad7a4], 0
jne 0x10047e58
lea ecx, [ebp - 0x28]
call fcn.1004a400
mov esi, eax
cmp esi, 0x102ad794
je 0x10047e24
mov ecx, 0x102ad794
call fcn.10002520
movups xmm0, xmmword [esi]
movups xmmword [0x102ad794], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x102ad7a4], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x10047e58
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047e4e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100483ab
push edx
push ecx
call fcn.101d50ac
add esp, 8
movaps xmm0, xmmword [0x1027a6c0]
xor ecx, ecx
mov dword [ebp - 0xc0], 0x17
movups xmmword [ebp - 0xbc], xmm0
mov dword [ebp - 0xac], 0x2808063c
mov dword [ebp - 0xa8], 0x60323f38
nop word [eax + eax]
lea eax, [ecx + 0x49]
xor byte [ebp + ecx - 0xbc], al
inc ecx
mov eax, dword [ebp - 0xc0]
cmp ecx, eax
jb 0x10047e90
mov byte [ebp + eax - 0xbc], 0
lea edx, [ebp - 0xa4]
lea eax, [ebp - 0xbc]
push 0x102ad794
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0xa4], eax
call fcn.1004e270
add esp, 4
mov byte [ebp - 4], 4
mov eax, 9
mov dword [ebp - 0xa0], eax
xor ecx, ecx
mov dword [ebp - 0x9c], 0x2d2e3e1a
mov dword [ebp - 0x98], 0x242e1e20
mov dword [ebp - 0x94], 0x5239
nop
lea eax, [ecx + 0x49]
xor byte [ebp + ecx - 0x9c], al
inc ecx
mov eax, dword [ebp - 0xa0]
cmp ecx, eax
jb 0x10047f00
mov byte [ebp + eax - 0x9c], 0
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x18], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10047f38
sub ecx, edx
lea eax, [ebp - 0x9c]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.100025c0
push ecx
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x28]
mov ecx, reloc.WS2_32.dll_closesocket
push eax
lea edx, [ebp - 0x5c]
call fcn.1004bfe0
mov byte [ebp - 4], 4
add esp, 0xc
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x10047fa6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047f9c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100483b0
push edx
push ecx
call fcn.101d50ac
add esp, 8
movaps xmm0, xmmword [0x1027a6c0]
mov eax, 0x25
movups xmmword [ebp - 0xf8], xmm0
xor ecx, ecx
mov dword [ebp - 0xfc], eax
movaps xmm0, xmmword [0x1027a650]
movups xmmword [ebp - 0xe8], xmm0
mov dword [ebp - 0xd8], 0x1f0e0906
mov dword [ebp - 0xd4], 0x6e1e
lea eax, [ecx + 0x49]
xor byte [ebp + ecx - 0xf8], al
inc ecx
mov eax, dword [ebp - 0xfc]
cmp ecx, eax
jb 0x10047fe3
mov byte [ebp + eax - 0xf8], 0
lea edx, [ebp - 0xa4]
lea eax, [ebp - 0xf8]
push 0x102ad794
lea ecx, [ebp - 0x40]
mov dword [ebp - 0xa4], eax
call fcn.1004e270
add esp, 4
mov byte [ebp - 4], 6
mov eax, 0xa
mov dword [ebp - 0xa0], eax
xor ecx, ecx
mov dword [ebp - 0x9c], 0x253f2908
mov dword [ebp - 0x98], 0x231a2b3b
mov dword [ebp - 0x94], 0x532034
lea eax, [ecx + 0x49]
xor byte [ebp + ecx - 0x9c], al
inc ecx
mov eax, dword [ebp - 0xa0]
cmp ecx, eax
jb 0x10048051
mov byte [ebp + eax - 0x9c], 0
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x18], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10048090
sub ecx, edx
lea eax, [ebp - 0x9c]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.100025c0
push ecx
lea eax, [ebp - 0x44]
mov ecx, reloc.WS2_32.dll_closesocket
push eax
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x40]
call fcn.1004c190
mov edx, dword [ebp - 0x14]
add esp, 0xc
cmp edx, 0x10
jb 0x100480f6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100480ec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100483b5
push edx
push ecx
call fcn.101d50ac
add esp, 8
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x1004812e
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10048124
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100483ba
push edx
push ecx
call fcn.101d50ac
add esp, 8
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x10048178
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004816e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100483bf
push edx
push ecx
call fcn.101d50ac
add esp, 8
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.101b4410
mov esi, eax
add esp, 8
lea eax, [ebp - 0x78]
cmp eax, esi
je 0x100481ba
mov ecx, eax
call fcn.10002520
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x78], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x68], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov edx, dword [ebp - 0x48]
cmp edx, 0x10
jb 0x100481ee
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100481e4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100483c4
push edx
push ecx
call fcn.101d50ac
add esp, 8
movaps xmm0, xmmword [0x1027a8b0]
mov eax, 0x1d
movups xmmword [ebp - 0xc4], xmm0
xor ecx, ecx
mov dword [ebp - 0xc8], eax
movaps xmm0, xmmword [str.jj_a02__f]
movups xmmword [ebp - 0xb4], xmm0
nop word [eax + eax]
lea eax, [ecx + 0x49]
xor byte [ebp + ecx - 0xc4], al
inc ecx
mov eax, dword [ebp - 0xc8]
cmp ecx, eax
jb 0x10048220
mov byte [ebp + eax - 0xc4], 0
lea edx, [ebp - 0xa4]
lea eax, [ebp - 0xc4]
mov dword [ebp - 0xa4], eax
lea ecx, [ebp - 0x90]
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.1004e2f0
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 7
push 1
push eax
call fcn.101b3c00
add esp, 0x10
lea eax, [ebp - 0x90]
lea ecx, [ebp - 0x28]
push eax
call fcn.10006410
mov byte [ebp - 4], 9
mov ecx, edi
mov eax, dword [ebp - 0x18]
add eax, 9
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
push eax
mov byte [edi], 0
mov dword [ebp - 0xd0], 4
call fcn.10008310
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.100062a0
push str.video.txt
mov ecx, edi
call fcn.10006230
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x100482fe
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100482f4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100483c9
push edx
push ecx
call fcn.101d50ac
add esp, 8
mov edx, dword [ebp - 0x7c]
cmp edx, 0x10
jb 0x10048335
mov ecx, dword [ebp - 0x90]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004832b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100483ce
push edx
push ecx
call fcn.101d50ac
add esp, 8
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
cmp edx, 0x10
jb 0x1004837a
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10048370
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100483d3
push edx
push ecx
call fcn.101d50ac
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101d506b
mov esp, ebp
pop ebp
ret
call fcn.101f0b28
call fcn.101f0b28
call fcn.101f0b28
call fcn.101f0b28
call fcn.101f0b28
call fcn.101f0b28
call fcn.101f0b28
call fcn.101f0b28
call fcn.101f0b28
call fcn.101f0b28
call fcn.101f0b28
call fcn.101f0b28
call fcn.101f0b28
int3