Function at 0x4c5ba0
Capabilities:
Encode data using xor
Hash data with crc32
Terminate process

Disassembly:
sub esp, 0x228
mov eax, dword [0x6019e4]
xor eax, esp
mov dword [esp + 0x224], eax
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x7c]
mov esi, ecx
push 0xc
push eax
mov ebp, edx
mov dword [esp + 0x18], esi
call fcn.004e3140
push dword [esi + 0x38]
lea eax, [esp + 0x1bc]
push dword [esi + 0x50]
push dword [esi + 0x30]
push 0x627508
push 0x80
push eax
call fcn.00401140
mov esi, eax
lea eax, [esp + 0x38]
push eax
call fcn.004d68b0
add esp, 0x24
lea eax, [esp + 0x1b0]
push esi
push eax
lea eax, [esp + 0x20]
push eax
call fcn.004d6910
add esp, 0xc
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.004d6790
mov ebx, dword [sym.imp.WS2_32.dll_htons]
add esp, 8
push 8
call ebx
push 0x2112a442
mov word [esp + 0x9c], ax
call dword [sym.imp.WS2_32.dll_htonl]
cmp dword [esp + 0x23c], 0
mov esi, 0x14
movq xmm0, qword [esp + 0x7c]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x84]
movq qword [esp + 0xa0], xmm0
lea edi, [esi - 0x10]
mov dword [esp + 0xa8], eax
jle 0x4c5d33
nop dword [eax]
lea eax, [esp + 0x7c]
mov ecx, ebp
push eax
lea edx, [esp + 0x1a0]
call fcn.004c56c0
add esp, 4
mov edi, eax
push 0x12
call ebx
push edi
mov word [esp + esi + 0x9c], ax
call ebx
mov word [esp + esi + 0x9a], ax
test edi, edi
jle 0x4c5ccf
lea eax, [esp + 0x19c]
mov edx, edi
push edi
lea ecx, [esp + 0xa0]
push eax
add ecx, esi
call fcn.00401000
add esp, 8
add edi, 4
mov eax, edi
and eax, reloc.WS2_32.dll_closesocket
jns 0x4c5ce0
dec eax
or eax, 0xfffffffc
inc eax
mov ecx, 4
sub ecx, eax
and ecx, reloc.WS2_32.dll_closesocket
jns 0x4c5cf4
dec ecx
or ecx, 0xfffffffc
inc ecx
lea eax, [ecx + edi]
mov dword [esp + 0x14], eax
test ecx, ecx
jle 0x4c5d1b
push ecx
lea ecx, [esp + 0x9c]
lea eax, [edi + esi]
add eax, ecx
push 0
push eax
call fcn.00587250
mov eax, dword [esp + 0x20]
add esp, 0xc
add esi, eax
add ebp, 0x1c
sub dword [esp + 0x23c], 1
jne 0x4c5c80
mov edi, 4
mov ebp, dword [esp + 0x10]
push 6
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x14], eax
call ebx
push dword [esp + 0x14]
mov word [esp + esi + 0x9c], ax
call ebx
mov word [esp + esi + 0x9a], ax
mov eax, dword [esp + 0x14]
test eax, eax
jle 0x4c5d83
push eax
push dword [esp + 0x14]
lea ecx, [esp + 0xa4]
mov edx, eax
add ecx, esi
call fcn.00401000
mov eax, dword [esp + 0x1c]
add esp, 8
lea edx, [eax + 4]
mov eax, edx
and eax, reloc.WS2_32.dll_closesocket
jns 0x4c5d94
dec eax
or eax, 0xfffffffc
inc eax
mov ecx, edi
sub ecx, eax
and ecx, reloc.WS2_32.dll_closesocket
jns 0x4c5da5
dec ecx
or ecx, 0xfffffffc
inc ecx
lea eax, [ecx + edx]
mov dword [esp + 0x10], eax
test ecx, ecx
jle 0x4c5dcc
push ecx
lea eax, [edx + esi]
lea ecx, [esp + 0x9c]
add eax, ecx
push 0
push eax
call fcn.00587250
mov eax, dword [esp + 0x1c]
add esp, 0xc
add esi, eax
mov eax, dword [ebp + 0x54]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x50]
push 0x14
mov dword [esp + 0x14], eax
call ebx
push dword [esp + 0x14]
mov word [esp + esi + 0x9c], ax
call ebx
mov word [esp + esi + 0x9a], ax
mov eax, dword [esp + 0x14]
test eax, eax
jle 0x4c5e1a
push eax
push dword [esp + 0x14]
lea ecx, [esp + 0xa4]
mov edx, eax
add ecx, esi
call fcn.00401000
mov eax, dword [esp + 0x1c]
add esp, 8
lea edx, [eax + 4]
mov eax, edx
and eax, reloc.WS2_32.dll_closesocket
jns 0x4c5e2b
dec eax
or eax, 0xfffffffc
inc eax
mov ecx, edi
sub ecx, eax
and ecx, reloc.WS2_32.dll_closesocket
jns 0x4c5e3c
dec ecx
or ecx, 0xfffffffc
inc ecx
lea eax, [ecx + edx]
mov dword [esp + 0x10], eax
test ecx, ecx
jle 0x4c5e63
push ecx
lea eax, [edx + esi]
lea ecx, [esp + 0x9c]
add eax, ecx
push 0
push eax
call fcn.00587250
mov eax, dword [esp + 0x1c]
add esp, 0xc
add esi, eax
mov eax, dword [ebp + 0x4c]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x48]
push 0x15
mov dword [esp + 0x14], eax
call ebx
push dword [esp + 0x14]
mov word [esp + esi + 0x9c], ax
call ebx
mov word [esp + esi + 0x9a], ax
mov eax, dword [esp + 0x14]
test eax, eax
jle 0x4c5eb1
push eax
push dword [esp + 0x14]
lea ecx, [esp + 0xa4]
mov edx, eax
add ecx, esi
call fcn.00401000
mov eax, dword [esp + 0x1c]
add esp, 8
lea ecx, [eax + 4]
mov eax, ecx
and eax, reloc.WS2_32.dll_closesocket
jns 0x4c5ec2
dec eax
or eax, 0xfffffffc
inc eax
sub edi, eax
and edi, reloc.WS2_32.dll_closesocket
jns 0x4c5ed1
dec edi
or edi, 0xfffffffc
inc edi
lea eax, [edi + ecx]
mov dword [esp + 0x10], eax
test edi, edi
jle 0x4c5ef8
lea eax, [ecx + esi]
push edi
lea ecx, [esp + 0x9c]
add eax, ecx
push 0
push eax
call fcn.00587250
mov eax, dword [esp + 0x1c]
add esp, 0xc
add esi, eax
mov dword [esp + 0x10], 0x14
lea eax, [esi + 4]
push eax
call ebx
push 8
mov word [esp + 0x9e], ax
call ebx
push 0x14
mov word [esp + esi + 0x9c], ax
call ebx
mov word [esp + esi + 0x9a], ax
call fcn.004e69f0
push 0
mov edi, eax
call fcn.004d1c80
push eax
push 0x10
lea eax, [esp + 0x94]
push eax
push edi
call fcn.004e6bd0
add esp, 0x14
lea eax, [esp + 0x98]
push esi
push eax
push edi
call fcn.004e6de0
add esp, 0xc
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xa0]
add eax, esi
push eax
push edi
call fcn.004e6b20
add esp, 0xc
push edi
call fcn.004e6980
add esi, 0x18
add esp, 4
lea eax, [esi - 0xc]
push eax
call ebx
push 0x8028
mov word [esp + 0x9e], ax
call ebx
push 4
mov word [esp + esi + 0x9c], ax
call ebx
or ecx, 0xffffffff
mov word [esp + esi + 0x9a], ax
lea edi, [esp + 0x98]
mov edx, esi
test esi, esi
je 0x4c5fda
nop dword [eax]
movsx eax, byte [edi]
lea edi, [edi + 1]
xor eax, ecx
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x5f15a8]
sub edx, 1
jne 0x4c5fc0
xor ecx, 0xacabaab1
push ecx
call dword [sym.imp.WS2_32.dll_htonl]
mov ebx, dword [esp + 0x240]
mov dword [esp + esi + 0x9c], eax
add esi, 8
test ebx, ebx
je 0x4c6071
cmp dword [esp + 0x244], 0
je 0x4c6050
push 8
call fcn.0058db11
mov edi, eax
add esp, 4
test edi, edi
je 0x4c60a4
mov eax, dword [esp + 0x244]
lea edx, [esp + 0x7c]
xorps xmm0, xmm0
movq qword [edi], xmm0
mov dword [edi], ebx
mov dword [edi + 4], eax
mov ecx, dword [ebp + 0x40]
push 1
push 0xc
call fcn.004b0710
add esp, 8
test eax, eax
je 0x4c6071
mov dword [eax + 0x14], edi
mov dword [eax + 0x18], 2
jmp 0x4c6071
mov ecx, dword [ebp + 0x40]
lea edx, [esp + 0x7c]
push 1
push 0xc
call fcn.004b0710
add esp, 8
test eax, eax
je 0x4c6071
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], 0
push 2
push esi
lea eax, [esp + 0xa0]
push eax
push 1
push 0
push dword [ebp + 0x2c]
call fcn.004aa920
mov ecx, dword [esp + 0x24c]
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005852a8
add esp, 0x228
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xfe
push 0x4c4
mov edx, 0x624148
xor ecx, ecx
call fcn.004b4f80
add esp, 0xc
push 0x4c4
push 0x624164
push 0x624180
call fcn.004010e0
add esp, 0xc
push 0xfe
call fcn.005885bd
int3