Function at 0x1509af10
Capabilities:
Hash data using crc32b
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [sym.imp.kernel32.dll_SetEvent]
sub esp, 0xc
push ebx
mov ebx, dword [sym.imp.kernel32.dll_WaitForSingleObject]
push esi
push edi
xor esi, esi
nop word [eax + eax]
mov eax, esi
mov ecx, 8
shl eax, 0x18
nop word [eax + eax]
test eax, eax
jns 0x1509af4d
add eax, eax
xor eax, 0x4c11db7
jmp 0x1509af4f
add eax, eax
sub ecx, 1
jne 0x1509af40
cmp eax, dword [esi*4 + sym.Core.dll_unsigned_long_int__FCrc::CRCTable_DEPRECATED]
je 0x1509afb0
push dword [0x151b5b14]
call edx
push 0x2710
push dword [0x151b5b10]
call ebx
push 0x152
push 0
push 0x15118048
call sym.Core.dll_wchar_t_const____cdecl_appFromAnsi_char_const___wchar_t__
add esp, 8
push eax
push 0
push 0x15118058
call sym.Core.dll_wchar_t_const____cdecl_appFromAnsi_char_const___wchar_t__
add esp, 8
push eax
push 0x1511fa70
push dword [sym.Core.dll_class_FOutputDeviceError__GError]
call sym.Core.dll_public:_void___cdecl_FOutputDevice::Logf_wchar_t_const__
mov edx, dword [sym.imp.kernel32.dll_SetEvent]
add esp, 0x14
inc esi
cmp esi, 0x100
jb 0x1509af30
xor esi, esi
nop
mov eax, esi
mov ecx, 8
test al, 1
je 0x1509afd4
shr eax, 1
xor eax, 0xedb88320
jmp 0x1509afd6
shr eax, 1
sub ecx, 1
jne 0x1509afc7
cmp dword [esi*4 + sym.Core.dll_unsigned_long_int____256__FCrc::CRCTablesSB8], eax
je 0x1509b031
push dword [0x151b5b14]
call edx
push 0x2710
push dword [0x151b5b10]
call ebx
push 0x15f
push 0
push 0x15118048
call sym.Core.dll_wchar_t_const____cdecl_appFromAnsi_char_const___wchar_t__
add esp, 8
push eax
push 0
push 0x15118080
call sym.Core.dll_wchar_t_const____cdecl_appFromAnsi_char_const___wchar_t__
add esp, 8
push eax
push 0x1511fa70
push dword [sym.Core.dll_class_FOutputDeviceError__GError]
call sym.Core.dll_public:_void___cdecl_FOutputDevice::Logf_wchar_t_const__
add esp, 0x14
mov edx, dword [sym.imp.kernel32.dll_SetEvent]
inc esi
cmp esi, 0x100
jne 0x1509afc0
mov eax, 0x15180fa0
mov dword [ebp - 8], 0x100
mov dword [ebp - 4], eax
nop
mov ebx, dword [eax - 0x400]
mov esi, eax
mov edi, 7
nop dword [eax]
movzx eax, bl
shr ebx, 8
xor ebx, dword [eax*4 + sym.Core.dll_unsigned_long_int____256__FCrc::CRCTablesSB8]
cmp dword [esi], ebx
je 0x1509b0c6
push dword [0x151b5b14]
call dword [sym.imp.kernel32.dll_SetEvent]
push 0x2710
push dword [0x151b5b10]
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
push 0x168
push 0
push 0x15118048
call sym.Core.dll_wchar_t_const____cdecl_appFromAnsi_char_const___wchar_t__
add esp, 8
push eax
push 0
push 0x1511809c
call sym.Core.dll_wchar_t_const____cdecl_appFromAnsi_char_const___wchar_t__
add esp, 8
push eax
push 0x1511fa70
push dword [sym.Core.dll_class_FOutputDeviceError__GError]
call sym.Core.dll_public:_void___cdecl_FOutputDevice::Logf_wchar_t_const__
add esp, 0x14
add esi, 0x400
sub edi, 1
jne 0x1509b060
mov eax, dword [ebp - 4]
add eax, 4
sub dword [ebp - 8], 1
mov dword [ebp - 4], eax
jne 0x1509b050
xor esi, esi
mov edx, esi
mov eax, 8
shl edx, 0x18
test edx, edx
jns 0x1509b0fe
add edx, edx
xor edx, 0x4c11db7
jmp 0x1509b100
add edx, edx
sub eax, 1
jne 0x1509b0f0
mov ecx, edx
mov eax, edx
and ecx, 0xff00
shl eax, 0x10
add ecx, eax
mov eax, edx
shr eax, 8
shl ecx, 8
and eax, 0xff00
add ecx, eax
shr edx, 0x18
add ecx, edx
cmp dword [esi*4 + sym.Core.dll_unsigned_long_int____256__FCrc::CRCTablesSB8_DEPRECATED], ecx
je 0x1509b186
push dword [0x151b5b14]
call dword [sym.imp.kernel32.dll_SetEvent]
push 0x2710
push dword [0x151b5b10]
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
push 0x174
push 0
push 0x15118048
call sym.Core.dll_wchar_t_const____cdecl_appFromAnsi_char_const___wchar_t__
add esp, 8
push eax
push 0
push 0x151180b8
call sym.Core.dll_wchar_t_const____cdecl_appFromAnsi_char_const___wchar_t__
add esp, 8
push eax
push 0x1511fa70
push dword [sym.Core.dll_class_FOutputDeviceError__GError]
call sym.Core.dll_public:_void___cdecl_FOutputDevice::Logf_wchar_t_const__
add esp, 0x14
inc esi
cmp esi, 0x100
jne 0x1509b0e6
mov ebx, 0x15182fa0
mov dword [ebp - 4], esi
mov dword [ebp - 8], ebx
nop
mov ecx, dword [ebx - 0x400]
mov edi, ebx
mov esi, ecx
mov eax, ecx
shl esi, 0x10
and eax, 0xff00
add esi, eax
mov ebx, 7
mov eax, ecx
shl esi, 8
shr eax, 8
and eax, 0xff00
shr ecx, 0x18
add esi, eax
add esi, ecx
mov edx, esi
shr edx, 0x18
mov ecx, dword [edx*4 + sym.Core.dll_unsigned_long_int____256__FCrc::CRCTablesSB8_DEPRECATED]
mov edx, ecx
mov eax, ecx
shl edx, 0x10
and eax, 0xff00
shl esi, 8
add edx, eax
mov eax, ecx
shr eax, 8
and eax, 0xff00
shl edx, 8
add edx, eax
shr ecx, 0x18
add edx, ecx
xor esi, edx
mov ecx, esi
mov eax, esi
and eax, 0xff00
shl ecx, 0x10
add ecx, eax
mov edx, esi
shr edx, 0x18
mov eax, esi
shr eax, 8
shl ecx, 8
and eax, 0xff00
add ecx, edx
mov dword [ebp - 0xc], edx
add eax, ecx
cmp dword [edi], eax
je 0x1509b285
push dword [0x151b5b14]
call dword [sym.imp.kernel32.dll_SetEvent]
push 0x2710
push dword [0x151b5b10]
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
push 0x17d
push 0
push 0x15118048
call sym.Core.dll_wchar_t_const____cdecl_appFromAnsi_char_const___wchar_t__
add esp, 8
push eax
push 0
push 0x151180f4
call sym.Core.dll_wchar_t_const____cdecl_appFromAnsi_char_const___wchar_t__
add esp, 8
push eax
push 0x1511fa70
push dword [sym.Core.dll_class_FOutputDeviceError__GError]
call sym.Core.dll_public:_void___cdecl_FOutputDevice::Logf_wchar_t_const__
mov edx, dword [ebp - 0xc]
add esp, 0x14
add edi, 0x400
sub ebx, 1
jne 0x1509b1d4
mov ebx, dword [ebp - 8]
add ebx, 4
sub dword [ebp - 4], 1
mov dword [ebp - 8], ebx
jne 0x1509b1a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret