Function at 0x41e980
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4eb909
mov eax, dword fs:[0]
push eax
sub esp, 0x4b4
mov eax, dword [0x5383c4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x53c198]
test eax, eax
jne 0x41e9fa
push 0x110
call fcn.004bec3b
mov esi, eax
add esp, 4
mov dword [ebp - 0x7c], esi
mov dword [ebp - 4], 0
test esi, esi
je 0x41e9ec
push 0x110
push 0
push esi
call fcn.004c0a60
add esp, 0xc
mov ecx, esi
call fcn.00421000
jmp 0x41e9ee
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x53c198], eax
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.00421570
mov eax, dword [0x53c198]
mov dword [ebp - 4], 1
test eax, eax
jne 0x41ea53
push 0x110
call fcn.004bec3b
mov esi, eax
add esp, 4
mov dword [ebp - 0x7c], esi
mov byte [ebp - 4], 2
test esi, esi
je 0x41ea48
push 0x110
push 0
push esi
call fcn.004c0a60
add esp, 0xc
mov ecx, esi
call fcn.00421000
jmp 0x41ea4a
xor eax, eax
mov byte [ebp - 4], 1
mov dword [0x53c198], eax
push str._jingmo
mov ecx, eax
call sym.Install.exe_public_virtual:_int___thiscall_DuiLib::CListUI::GetExpandedItem_void_const
mov ecx, eax
call fcn.00404b60
test al, al
jne 0x41ee09
push str._JingMo
call fcn.0041b590
mov ecx, eax
call sym.Install.exe_public_virtual:_int___thiscall_DuiLib::CListUI::GetExpandedItem_void_const
mov ecx, eax
call fcn.00404b60
test al, al
jne 0x41ee09
lea eax, [ebp - 0x70]
push eax
call fcn.0041b590
mov ecx, eax
call fcn.00421640
mov ecx, dword [ebp - 0x60]
mov eax, SysReAllocString
sub eax, ecx
mov byte [ebp - 4], 3
mov dword [ebp - 0x74], ecx
cmp eax, 7
jb 0x41eea9
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
lea edi, [ecx + 7]
mov dword [ebp - 0x28], 0
cmovae eax, dword [ebp - 0x70]
mov esi, 0xf
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x80], eax
cmp edi, esi
jbe 0x41eb27
mov eax, 0x10
mov esi, edi
cmp edi, eax
cmovb esi, eax
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x41eafd
mov esi, SysReAllocString
jmp 0x41eb07
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
xor ecx, ecx
mov eax, esi
add eax, 1
setb cl
neg ecx
or ecx, eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.00404120
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x28], eax
push ecx
push dword [ebp - 0x78]
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x80]
push esi
mov dword [ebp - 0x18], edi
call fcn.004c04e0
mov ecx, dword [ebp - 0x74]
add esp, 0xc
mov eax, dword [0x4f03f8]
mov dword [esi + ecx], eax
mov ax, word [0x4f03fc]
mov word [esi + ecx + 4], ax
mov al, byte [0x4f03fe]
mov byte [esi + ecx + 6], al
mov byte [esi + edi], 0
cmp dword [ebp - 0x14], 0x10
lea esi, [ebp - 0x28]
mov edi, dword [ebp - 0x18]
cmovae esi, dword [ebp - 0x28]
mov dword [ebp - 0x78], esi
xor esi, esi
mov byte [ebp - 4], 4
mov ecx, esi
mov eax, esi
shr ecx, 1
mov edx, ecx
xor edx, 0xedb88320
test al, 1
cmove edx, ecx
mov eax, edx
shr eax, 1
mov ecx, eax
xor ecx, 0xedb88320
test dl, 1
cmove ecx, eax
mov eax, ecx
shr eax, 1
mov edx, eax
xor edx, 0xedb88320
test cl, 1
cmove edx, eax
mov eax, edx
shr eax, 1
mov ecx, eax
xor ecx, 0xedb88320
test dl, 1
cmove ecx, eax
mov eax, ecx
shr eax, 1
mov edx, eax
xor edx, 0xedb88320
test cl, 1
cmove edx, eax
mov eax, edx
shr eax, 1
mov ecx, eax
xor ecx, 0xedb88320
test dl, 1
cmove ecx, eax
mov eax, ecx
shr eax, 1
mov edx, eax
xor edx, 0xedb88320
test cl, 1
cmove edx, eax
mov ecx, edx
shr ecx, 1
mov eax, ecx
xor eax, 0xedb88320
test dl, 1
cmove eax, ecx
mov dword [ebp + esi*4 - 0x4c0], eax
inc esi
cmp esi, 0x100
jl 0x41eb77
mov esi, dword [ebp - 0x78]
mov edx, 0xffffffff
test edi, edi
je 0x41ec41
movsx eax, byte [esi]
lea esi, [esi + 1]
movzx ecx, dl
xor ecx, eax
shr edx, 8
xor edx, dword [ebp + ecx*4 - 0x4c0]
sub edi, 1
jne 0x41ec27
not edx
lea eax, [ebp - 0xc0]
push edx
push eax
call fcn.00401860
add esp, 8
push 1
push 0x4f0020
push 0
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.0041eff0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x98], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x88], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 1
push 0x4f0020
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 6
call fcn.00403390
lea ecx, [ebp - 0x98]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xa8], xmm0
movups xmmword [ebp - 0x40], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x30], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.004043a0
lea ecx, [ebp - 0xc0]
call fcn.004043a0
cmp dword [ebp - 0x2c], 0x10
lea ecx, [ebp - 0x40]
mov esi, dword [ebp - 0x30]
lea edx, [ebp - 0x58]
cmovae ecx, dword [ebp - 0xa8]
cmp dword [ebp - 0x44], 0x10
mov eax, dword [ebp - 0x48]
cmovae edx, dword [ebp - 0x58]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x7c], edx
cmp esi, eax
ja 0x41eddc
sub eax, esi
test esi, esi
jne 0x41ed3c
xor edi, edi
jmp 0x41eddf
movsx ecx, byte [ecx]
inc eax
add eax, edx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x74], eax
sub eax, edx
push eax
push ecx
push edx
call fcn.004c1380
mov edi, eax
add esp, 0xc
test edi, edi
je 0x41eddc
nop
mov ecx, dword [ebp - 0x78]
mov edx, edi
sub esi, 4
jb 0x41ed81
nop word [eax + eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x41ed86
add edx, 4
add ecx, 4
sub esi, 4
jae 0x41ed70
cmp esi, 0xfffffffc
je 0x41edba
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x41edb3
cmp esi, 0xfffffffd
je 0x41edba
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x41edb3
cmp esi, 0xfffffffe
je 0x41edba
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x41edb3
cmp esi, 0xffffffff
je 0x41edba
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x41edba
sbb eax, eax
or eax, 1
jmp 0x41edbc
xor eax, eax
test eax, eax
je 0x41ee04
mov eax, dword [ebp - 0x74]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x80]
push edi
call fcn.004c1380
mov esi, dword [ebp - 0x30]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x41ed60
or edi, 0xffffffff
cmp edi, 0xffffffff
lea ecx, [ebp - 0x40]
setne byte [ebp - 0x74]
call fcn.004043a0
lea ecx, [ebp - 0x28]
call fcn.004043a0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 1
call fcn.004043a0
jmp 0x41ee0d
sub edi, dword [ebp - 0x7c]
jmp 0x41eddf
mov byte [ebp - 0x74], 1
mov eax, dword [0x53c198]
test eax, eax
jne 0x41ee54
push 0x110
call fcn.004bec3b
mov esi, eax
add esp, 4
mov dword [ebp - 0x7c], esi
mov byte [ebp - 4], 7
test esi, esi
je 0x41ee49
push 0x110
push 0
push esi
call fcn.004c0a60
add esp, 0xc
mov ecx, esi
call fcn.00421000
jmp 0x41ee4b
xor eax, eax
mov byte [ebp - 4], 1
mov dword [0x53c198], eax
push dword [ebp - 0x74]
mov ecx, eax
call fcn.00421cb0
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x41ee8e
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41ee84
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41eeae
push ecx
push edx
call fcn.004bec6b
add esp, 8
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.004bebdd
mov esp, ebp
pop ebp
ret
call fcn.00404180
call fcn.004c8fd6
int3