Function at 0x42030f
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
mov esi, edx
mov bl, cl
mov byte [esi], 0
test bl, bl
jne 0x420365
call fcn.0042434b
cmp dword [0x45f4ac], 0
jne 0x42035b
xor ecx, ecx
push 8
mov eax, ecx
pop edx
test al, 1
je 0x420344
shr eax, 1
xor eax, 0xedb88320
jmp 0x420346
shr eax, 1
sub edx, 1
jne 0x420337
mov dword [ecx*4 + 0x45f4a8], eax
inc ecx
cmp ecx, 0x100
jb 0x420332
call fcn.004243c1
call fcn.0041fd06
push 3
push 2
mov edx, 0xc01f01ff
lea ecx, [ebp - 0x14]
call fcn.00429bf2
push esi
mov edx, eax
mov cl, bl
call fcn.0041f544
add esp, 0xc
lea ecx, [ebp - 0x14]
mov esi, eax
call fcn.00429bc1
test esi, esi
je 0x420398
mov eax, esi
jmp 0x4205fa
push 2
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 0x40ff37
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov esi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x461a38
mov dword [0x483758], eax
call esi
push 0x461a20
call esi
push 0x9c40
push 0x4619f8
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
push 0x4619e0
call esi
call fcn.0040f2a9
xor ebx, ebx
mov ecx, 0x7d7
inc ebx
push ebx
push 4
pop edx
call fcn.0042441c
mov dword [0x481cec], eax
mov eax, dword [0x484520]
inc eax
cmp dword [0x44e3a8], 0
mov dword [0x481cf0], eax
jne 0x420421
mov eax, dword [0x44e4a4]
shr eax, 0x11
test bl, al
mov eax, dword [0x44ac50]
cmove eax, ebx
mov dword [0x44ac50], eax
push edi
call fcn.00419951
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventA]
xor ebx, ebx
push ebx
or edi, 0xffffffff
push ebx
push 1
push ebx
mov dword [0x461ac0], edi
mov dword [0x461ac4], edi
mov dword [0x461c68], edi
mov dword [0x461c58], edi
mov dword [0x461c1c], edi
mov dword [0x461c20], edi
mov dword [0x44de50], edi
call esi
push ebx
push 1
push ebx
push ebx
mov dword [0x461a10], eax
call esi
push ebx
push ebx
push ebx
push ebx
mov dword [0x4619c8], eax
call esi
push ebx
push ebx
push ebx
push ebx
mov dword [0x4619cc], eax
call esi
push ebx
push ebx
push ebx
push ebx
mov dword [0x4619dc], eax
call esi
push ebx
push 1
push ebx
push ebx
mov dword [0x4619d8], eax
call esi
push ebx
push ebx
push 1
push ebx
mov dword [0x4619c0], eax
call esi
push ebx
push ebx
push ebx
push ebx
mov dword [0x4619c4], eax
call esi
push ebx
push ebx
push ebx
push ebx
mov dword [0x461a14], eax
call esi
push ebx
push ebx
push ebx
push ebx
mov dword [0x461a18], eax
call esi
push ebx
push ebx
push ebx
push ebx
mov dword [0x461a1c], eax
call esi
push ebx
push ebx
mov dword [0x4619d0], eax
push ebx
push ebx
call esi
mov dword [0x4619d4], eax
xor edx, edx
movzx eax, byte [0x44a6e9]
mov ecx, 0x461c24
shl eax, 4
push 1
movzx eax, word [eax + 0x449aac]
push eax
call fcn.004287ab
push 0xf8
push ebx
push 0x45ec38
call fcn.0042c7b0
mov dword [0x45ec44], edi
call fcn.004291ac
push ecx
push 0x444ee0
push 0x42003a
mov dword [0x449774], 0x40ff4d
call fcn.004291e7
push 0x64
pop ecx
call fcn.004209b9
mov eax, dword [0x44e498]
test eax, 0x3fffffc0
cmove eax, dword [0x44e490]
mov dword [0x44e498], eax
call fcn.00412dee
inc ebx
mov cl, bl
call fcn.00410f96
cmp dword [0x45f8f8], 0
pop edi
jne 0x420579
call fcn.00424240
mov dword [0x45f8f8], ebx
push ecx
push 0x444ee4
push 0x413b74
call fcn.004291e7
push ecx
push 0x444ee8
push 0x4222e6
call fcn.004291e7
push ecx
push 0x444eec
push 0x41c813
call fcn.004291e7
push ecx
push 0x444ef0
push 0x41a9a1
call fcn.004291e7
push ecx
push 0x444ef4
push 0x4181c0
call fcn.004291e7
push ecx
push 0x444ef8
push 0x41d9b3
call fcn.004291e7
push ecx
push 0x444efc
push 0x41e6f3
call fcn.004291e7
mov eax, dword [0x44ac48]
test eax, eax
cmove eax, ebx
mov dword [0x44ac48], eax
xor eax, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret