Function at 0x468b40
Capabilities:
Hash data with crc32

Disassembly:
sub esp, 0xc
mov eax, dword [esp + 0x10]
push ebx
push ebp
push esi
push edi
mov edi, dword [0x6815a8]
xor esi, esi
mov dword [esp + 0x10], eax
mov ebp, dword [edi + 0x3f04]
test al, 0x10
jne 0x468dda
mov esi, dword [edi + 0x3fb4]
mov dword [esp + 0x20], esi
test esi, esi
je 0x468bad
cmp dword [edi + 0x3f40], esi
jne 0x468dd0
mov esi, dword [edi + 0x3f64]
xor eax, eax
cmp esi, 0xffffffff
cmove esi, eax
cmp byte [esi + edi + 0xd60], al
je 0x468dd0
cmp byte [ebp + 0xc8], al
jne 0x468dd0
xor bl, bl
jmp 0x468d9e
cmp byte [edi + 0xd60], 0
je 0x468dd0
cmp byte [ebp + 0xc8], 0
jne 0x468dd0
test byte [edi + 0x3fbc], 1
jne 0x468be9
cmp dword [edi + 0x3f40], 0
je 0x468dd0
cmp dword [edi + 0x3f5c], ebp
jne 0x468dd0
test al, 8
je 0x468dd0
lea eax, [edi + 0x3fc0]
mov ecx, ebp
push eax
call fcn.00474da0
mov esi, eax
push esi
mov dword [esp + 0x24], esi
mov dword [edi + 0x3fb4], esi
call fcn.004770c0
mov ebx, dword [0x6815a8]
add esp, 4
mov eax, dword [ebx + 0x3f2c]
test eax, eax
je 0x468c38
cmp eax, esi
je 0x468c38
cmp byte [ebx + 0x3f34], 0
jne 0x468c38
xor bl, bl
jmp 0x468d94
mov eax, dword [ebx + 0x3f04]
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x3f08], eax
je 0x468c51
xor bl, bl
jmp 0x468d94
mov eax, dword [ebx + 0x3f40]
test eax, eax
je 0x468c6f
cmp eax, esi
je 0x468c6f
cmp byte [ebx + 0x3f4d], 0
jne 0x468c6f
xor bl, bl
jmp 0x468d94
lea eax, [edi + 0x3fc0]
lea ecx, [eax + 8]
push 1
push ecx
push eax
mov dword [esp + 0x24], ecx
call fcn.004769a0
add esp, 0xc
test al, al
jne 0x468c93
xor bl, bl
jmp 0x468d94
push 0
push dword [esp + 0x18]
call fcn.00476be0
add esp, 8
test al, al
jne 0x468cb3
mov byte [ebx + 0x3f37], 1
xor bl, bl
jmp 0x468d94
test esi, esi
je 0x468ce7
mov eax, dword [0x6815a8]
mov dword [eax + 0x3f2c], esi
mov word [eax + 0x3f34], 0
cmp dword [eax + 0x3f30], esi
je 0x468ce7
mov dword [eax + 0x3f3c], 0
mov dword [eax + 0x3f38], 0
cmp dword [ebx + 0x3fb4], esi
jne 0x468cf7
mov eax, dword [ebx + 0x3fb8]
jmp 0x468cfd
mov eax, dword [ebx + 0x3f9c]
test al, 4
je 0x468d20
cmp dword [ebx + 0x3f40], esi
jne 0x468d15
push 0
push 0
call fcn.00480330
add esp, 8
mov byte [ebx + 0x3f37], 1
xor bl, bl
jmp 0x468d94
test esi, esi
je 0x468d6c
cmp byte [ebx + 0x53fc], 0
je 0x468d63
cmp dword [ebx + 0x3f30], esi
jne 0x468d63
push ecx
mov dword [esp], 0x3f800000
lea eax, [edi + 0x3fc0]
push 0
push ecx
mov dword [esp], 0
push 0xff00ffff
push dword [esp + 0x28]
push eax
call fcn.00474c50
mov ecx, eax
call fcn.00489190
cmp dword [ebx + 0x5400], esi
jne 0x468d6c
int3
cmp byte [ebx + 0x4163], 0
je 0x468d79
xor bl, bl
jmp 0x468d94
cmp byte [edi + 0x3678], 0
mov bl, 1
je 0x468d94
push ebp
push esi
call fcn.00480330
push ebp
call fcn.00474750
add esp, 0xc
cmp dword [edi + 0x3f40], esi
jne 0x468dd0
xor esi, esi
mov byte [edi + 0x3f4d], bl
mov ecx, dword [ebp + 0xfc]
mov eax, dword [ebp + 0x104]
push ecx
mov dword [esp], 0xbf800000
push esi
mov ebp, dword [eax + ecx*4 - 4]
call fcn.00476960
add esp, 8
mov bl, al
call fcn.00480480
test bl, bl
jne 0x468e14
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0xc
ret
or ebx, 0xffffffff
mov al, 0x23
mov edx, 0x5468b5
or ebp, 0xffffffff
cmp al, 0x23
jne 0x468df5
cmp byte [edx], al
jne 0x468df5
cmp byte [edx + 1], al
cmove ebx, ebp
movzx ecx, bl
movzx eax, al
xor ecx, eax
shr ebx, 8
mov al, byte [edx]
inc edx
xor ebx, dword [ecx*4 + 0x545690]
test al, al
jne 0x468de7
not ebx
xor ebp, ebp
jmp 0x468e18
mov ebx, dword [esp + 0x20]
cmp byte [edi + 0x4294], 0
jne 0x468e58
call fcn.0046a4f0
mov eax, dword [esp + 0x10]
mov dword [edi + 0x42ac], ebx
mov dword [edi + 0x42b0], ebp
mov byte [edi + 0x4294], 1
mov dword [edi + 0x4298], eax
mov dword [edi + 0x42a0], esi
cmp ebx, dword [edi + 0x3f40]
jne 0x468e58
mov byte [edi + 0x3f4e], 1
mov ebx, dword [esp + 0x10]
mov eax, dword [edi + 0x3ea0]
mov dword [edi + 0x429c], eax
mov byte [edi + 0x4295], 1
test bl, 1
jne 0x468eb0
push 0
push 0
call fcn.004692a0
add esp, 8
cmp dword [edi + 0x42fc], 0
je 0x468eb0
test dword [edi + 0x42f0], 0x1000
je 0x468eb0
mov eax, dword [edi + 0x3f04]
mov byte [eax + 0xc8], 1
mov byte [eax + 0xca], 1
mov byte [eax + 0xe4], 1
test bl, 0x12
jne 0x468ebc
and dword [edi + 0x3fbc], 0xfffffffe
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0xc
ret