Function at 0x483160
Capabilities:
Encode data using xor
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x6019e4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
xor eax, eax
push esi
mov esi, ecx
mov dword [ebp - 0x18], edx
mov edx, 0x80
mov dword [ebp - 0x24], ebx
push edi
mov edi, dword [ebp + 0xc]
mov ecx, dword [esi + 4]
test ecx, ecx
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x10]
cmove eax, edx
movzx edx, ax
or edx, 0x8000
cmp dword [esi + 0xc], 0
push edi
jne 0x4831ab
push dword [ebp - 0x18]
jmp 0x4831b4
mov dword [esi + 0xc], 0
push 0
call fcn.004c6720
add esp, 8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x1c], 0
jne 0x4832af
add eax, 0x28
add eax, edi
call fcn.00585a60
mov eax, dword [ebp - 0x14]
mov ecx, esp
add eax, 4
add eax, edi
push 1
push 4
mov edx, eax
mov dword [ebp - 0x20], eax
call fcn.004aec40
mov edx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], edx
push eax
lea ecx, [edx + 4]
mov dword [edx], ecx
lea ecx, [edx + eax]
mov dword [ebp - 0x14], ecx
mov edx, eax
lea ecx, [ebp - 0x10]
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.00401000
push 4
push dword [ebp - 0x14]
call fcn.004e3140
mov edx, dword [ebp - 0x14]
add esp, 0x18
mov eax, dword [edx]
mov dword [ebp - 0x24], eax
test edi, edi
jle 0x48327d
mov eax, edi
xor ecx, ecx
sar eax, 2
mov dword [ebp - 0x1c], eax
test eax, eax
jle 0x483257
add edx, 4
mov edi, eax
nop dword [eax]
mov eax, dword [ebx + ecx*4]
lea edx, [edx + 4]
xor eax, dword [ebp - 0x24]
inc ecx
mov dword [edx - 4], eax
cmp ecx, edi
jl 0x483240
mov edi, dword [ebp + 0xc]
mov edx, dword [ebp - 0x14]
shl ecx, 2
cmp ecx, edi
jge 0x48327d
nop
mov eax, ecx
and eax, reloc.WS2_32.dll_closesocket
jns 0x48326e
dec eax
or eax, 0xfffffffc
inc eax
mov al, byte [eax + edx]
xor al, byte [ebx + ecx]
mov byte [edx + ecx + 4], al
inc ecx
cmp ecx, edi
jl 0x483260
mov ecx, dword [esi + 0x38]
call fcn.004aed40
test eax, eax
je 0x483450
mov eax, dword [esi + 0x38]
test eax, eax
je 0x483298
mov ecx, dword [eax]
jmp 0x48329a
xor ecx, ecx
push dword [ebp - 0x20]
xor edx, edx
push dword [ebp - 0x18]
call fcn.004978c0
add esp, 8
jmp 0x483455
mov eax, dword [esi]
mov dword [ebp - 0x20], eax
cmp dword [eax + 8], 0
je 0x4833c9
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 8], eax
je 0x4833c9
mov eax, dword [ebp - 0x14]
add eax, edi
mov dword [ebp - 0x18], eax
add eax, 0x10
push eax
mov dword [ebp - 0x20], eax
call fcn.0058db11
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
test ebx, ebx
je 0x483472
push dword [ebp - 0x20]
push 0
push ebx
call fcn.00587250
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x10]
mov dword [ebx], eax
add esp, 0xc
mov dword [ebx + 4], 0
mov eax, dword [0x624130]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x14]
mov edx, eax
mov dword [ebx + 0xc], 0
add ebx, 0x10
push eax
push ecx
mov ecx, ebx
call fcn.00401000
mov ecx, dword [ebp - 0x14]
mov edx, edi
push edi
push dword [ebp - 0x24]
lea ecx, [ebx + ecx]
call fcn.00401000
mov ecx, dword [esi + 0x38]
add esp, 0x10
call fcn.004aed40
test eax, eax
je 0x48337c
mov eax, dword [esi + 0x38]
test eax, eax
je 0x48336a
push dword [ebp - 0x18]
mov ecx, dword [eax]
xor edx, edx
push ebx
call fcn.004978c0
add esp, 8
jmp 0x483381
push dword [ebp - 0x18]
xor ecx, ecx
xor edx, edx
push ebx
call fcn.004978c0
add esp, 8
jmp 0x483381
mov eax, 1
mov edi, dword [ebp - 0x1c]
xor ebx, ebx
test eax, eax
sete bl
lea ecx, [edi + 0x10]
call fcn.004aed40
test eax, eax
je 0x48345c
cmp dword [edi + 0xc], 0
jne 0x48345c
cmp dword [edi + 4], 0
jbe 0x4833b5
mov eax, dword [edi]
xorps xmm0, xmm0
movups xmmword [eax + edi + 0x10], xmm0
xorps xmm0, xmm0
push edi
movups xmmword [edi], xmm0
call fcn.0058c812
add esp, 4
jmp 0x48345c
mov ecx, dword [esi + 0x38]
call fcn.004aed40
test edi, edi
jle 0x48342b
test eax, eax
je 0x4833f8
mov eax, dword [esi + 0x38]
test eax, eax
je 0x4833e4
mov ecx, dword [eax]
jmp 0x4833e6
xor ecx, ecx
mov eax, dword [ebp - 0x14]
xor edx, edx
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004978c0
add esp, 8
mov ecx, dword [esi + 0x38]
call fcn.004aed40
test eax, eax
je 0x483450
mov eax, dword [esi + 0x38]
test eax, eax
je 0x48341b
mov ecx, dword [eax]
xor edx, edx
push edi
push ebx
call fcn.004978c0
add esp, 8
jmp 0x483455
push edi
xor ecx, ecx
xor edx, edx
push ebx
call fcn.004978c0
add esp, 8
jmp 0x483455
test eax, eax
je 0x483450
mov eax, dword [esi + 0x38]
test eax, eax
je 0x48343a
mov ecx, dword [eax]
jmp 0x48343c
xor ecx, ecx
mov eax, dword [ebp - 0x14]
xor edx, edx
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004978c0
add esp, 8
jmp 0x483455
mov eax, 1
xor ebx, ebx
test eax, eax
sete bl
mov eax, ebx
lea esp, [ebp - 0x34]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005852a8
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xfe
push 0x46d
mov edx, 0x6240d4
xor ecx, ecx
call fcn.004b4f80
add esp, 0xc
push 0x46d
push 0x6240f0
push 0x62410c
call fcn.004010e0
add esp, 0xc
push 0xfe
call fcn.005885bd
int3