Function at 0x468100
Capabilities:
Hash data with crc32

Disassembly:
push ecx
push ebx
push esi
push edi
mov esi, eax
call fcn.00536ea0
push esi
lea edi, [esp + 0x13]
call fcn.00469240
test eax, eax
je 0x4683a8
lea ecx, [ecx]
mov bl, byte [esp + 0xf]
mov al, bl
mov ecx, esi
call fcn.0046b030
test al, al
jne 0x4683a8
cmp bl, 0x2a
je 0x468396
cmp bl, 0x18
je 0x46815d
movzx eax, bl
push eax
call fcn.00536ea0
mov ecx, dword [esi + 0x24]
mov edx, dword [ecx + 8]
add esp, 4
mov dword [esi + 0x28], edx
jmp 0x468396
mov ebx, 1
cmp ebx, 5
jge 0x4683b4
push esi
lea edi, [esp + 0x13]
call fcn.00469240
test eax, eax
je 0x4683a8
mov al, byte [esp + 0xf]
inc ebx
cmp al, 0x18
je 0x468162
cmp ebx, 5
jge 0x4683b4
movzx ecx, al
mov eax, ecx
sub eax, 0x41
je 0x4681c2
sub eax, 1
je 0x4681ba
sub eax, 1
je 0x4681b1
push ecx
call fcn.00536ea0
add esp, 4
jmp 0x468396
mov edi, esi
call fcn.00468560
jmp 0x4681c9
push esi
call fcn.004684a0
jmp 0x4681c9
mov edi, esi
call fcn.004683e0
test al, al
je 0x4683a8
cmp byte [esi + 0x984], 0
jne 0x4682d2
movzx ax, byte [esi + 0x977]
xor ax, word [0x666f40]
movzx ecx, ax
mov eax, dword [esi + 0x978]
movzx edx, cx
shr edx, 8
shl ecx, 8
xor cx, word [edx*2 + 0x666f40]
movzx dx, al
xor cx, dx
mov ebx, eax
movzx ecx, cx
movzx edx, cx
shr edx, 8
shr ebx, 8
movzx di, bl
xor di, word [edx*2 + 0x666f40]
shl ecx, 8
xor di, cx
mov ebx, eax
movzx ecx, di
movzx edx, cx
shr edx, 8
shr ebx, 0x10
movzx di, bl
xor di, word [edx*2 + 0x666f40]
shl ecx, 8
xor di, cx
movzx ecx, di
shr eax, 0x18
movzx edx, cx
shr edx, 8
xor ax, word [edx*2 + 0x666f40]
shl ecx, 8
xor ax, cx
movzx ecx, word [esi + 0x97c]
movzx eax, ax
movzx edx, ax
shr edx, 8
shl eax, 8
xor ax, word [edx*2 + 0x666f40]
movzx dx, cl
xor ax, dx
movzx eax, ax
movzx edx, ax
mov ebx, ecx
shr ebx, 8
shr edx, 8
movzx di, bl
xor di, word [edx*2 + 0x666f40]
shl eax, 8
xor di, ax
movzx eax, di
test ax, ax
sete dl
test dl, dl
jne 0x4683c5
call fcn.00536ea0
movzx ecx, cx
push ecx
call fcn.00536ea0
movzx edx, ax
push edx
jmp 0x468374
mov al, byte [esi + 0x977]
not al
movzx ecx, al
mov eax, dword [ecx*4 + 0x667140]
mov ecx, dword [esi + 0x978]
xor eax, 0xffffff
mov edx, eax
and edx, 0xff
movzx edi, cl
xor edx, edi
shr eax, 8
xor eax, dword [edx*4 + 0x667140]
mov edx, ecx
shr edx, 8
movzx edx, dl
mov edi, eax
and edi, 0xff
xor edx, edi
shr eax, 8
xor eax, dword [edx*4 + 0x667140]
mov edx, ecx
shr edx, 0x10
movzx edx, dl
mov edi, eax
and edi, 0xff
xor edx, edi
shr eax, 8
xor eax, dword [edx*4 + 0x667140]
shr ecx, 0x18
mov edx, eax
and edx, 0xff
xor ecx, edx
shr eax, 8
xor eax, dword [ecx*4 + 0x667140]
mov ecx, dword [esi + 0x980]
mov edx, eax
not edx
cmp edx, ecx
sete dl
test dl, dl
jne 0x4683c5
call fcn.00536ea0
push ecx
call fcn.00536ea0
push eax
call fcn.00536ea0
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
add esp, 8
call edx
mov eax, esi
call fcn.0046a630
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 8]
mov dword [esi + 0x28], ecx
push esi
lea edi, [esp + 0x13]
call fcn.00469240
test eax, eax
jne 0x468120
call fcn.00536ea0
pop edi
pop esi
xor eax, eax
pop ebx
pop ecx
ret
call fcn.00536ea0
call fcn.0046b100
pop edi
pop esi
xor eax, eax
pop ebx
pop ecx
ret
call fcn.00536ea0
pop edi
pop esi
mov eax, 1
pop ebx
pop ecx
ret