Function at 0x10014ca0
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], 0
push ebx
push esi
mov esi, dword [0x100c29e4]
push edi
mov edi, dword [esi + 0x1a00]
mov dword [ebp - 8], edi
test al, 0x10
jne 0x10014f8e
mov ebx, dword [edi + 0x10c]
lea ecx, [esi + 0x1a34]
test ebx, ebx
je 0x10014ce2
cmp dword [ecx], ebx
jne 0x10014f85
cmp byte [esi + 0xf0], 0
je 0x10014f85
test ebx, ebx
jne 0x10014f15
test al, 8
jne 0x10014d1b
push 0x2353
push str.D:Dev_Arc2MGRModingcppRisingDevMenu_srcimguiimgui.cpp
push 0x1008762c
call fcn.1006664e
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test byte [edi + 0x110], 1
jne 0x10014d39
cmp dword [ecx], 0
je 0x10014f85
cmp dword [esi + 0x1a60], edi
jne 0x10014f85
lea ecx, [edi + 0x114]
mov dword [ebp - 0xc], ecx
push ecx
mov ecx, edi
call fcn.100198e0
mov ebx, eax
mov dword [edi + 0x10c], ebx
mov edi, dword [0x100c29e4]
mov eax, dword [edi + 0x1a20]
test eax, eax
je 0x10014d73
cmp eax, ebx
je 0x10014d73
cmp byte [edi + 0x1a24], 0
je 0x10014efa
mov edx, dword [edi + 0x1a00]
cmp dword [edi + 0x1a04], edx
jne 0x10014efa
mov eax, dword [edi + 0x1a34]
test eax, eax
je 0x10014da0
cmp eax, ebx
je 0x10014da0
cmp byte [edi + 0x1a41], 0
je 0x10014efa
mov eax, dword [ebp - 0xc]
movss xmm1, dword [edi + 0x1570]
movaps xmm6, xmm1
movss xmm3, dword [eax]
movss xmm0, dword [eax + 8]
maxss xmm3, dword [edx + 0x22c]
minss xmm0, dword [edx + 0x234]
movss xmm4, dword [eax + 4]
movss xmm2, dword [eax + 0xc]
maxss xmm4, dword [edx + 0x230]
minss xmm2, dword [edx + 0x238]
subss xmm3, xmm1
movss xmm1, dword [edi + 0xe8]
addss xmm6, xmm0
movss xmm0, dword [edi + 0x1574]
movaps xmm5, xmm0
subss xmm4, xmm0
addss xmm5, xmm2
comiss xmm1, xmm3
jb 0x10014efa
movss xmm0, dword [edi + 0xec]
comiss xmm0, xmm4
jb 0x10014efa
comiss xmm6, xmm1
jbe 0x10014efa
comiss xmm5, xmm0
jbe 0x10014efa
cmp byte [edi + 0x1b77], 0
jne 0x10014efa
push 0
push edx
call fcn.1001be30
add esp, 8
test al, al
je 0x10014efa
test byte [edx + 0x1a4], 4
jne 0x10014efa
mov dword [edi + 0x1a20], ebx
mov byte [edi + 0x1a24], 0
test ebx, ebx
je 0x10014e8a
cmp dword [edi + 0x1a28], ebx
je 0x10014e8a
mov dword [edi + 0x1a30], 0
mov dword [edi + 0x1a2c], 0
cmp byte [edi + 0x2dec], 0
je 0x10014ecb
cmp dword [edi + 0x1a28], ebx
jne 0x10014ecb
push ecx
mov dword [esp], 0x3f800000
push 0xf
push ecx
mov ecx, dword [ebp - 0xc]
mov dword [esp], 0
push 0xff00ffff
lea eax, [ecx + 8]
push eax
push ecx
mov ecx, dword [0x100c29e4]
lea ecx, [ecx + 0x1d14]
call fcn.1002b0e0
cmp dword [edi + 0x2df0], ebx
jne 0x10014ed4
int3
cmp byte [esi + 0x3e0], 0
mov al, 1
mov byte [ebp - 1], al
je 0x10014efc
mov edi, dword [ebp - 8]
push edi
push ebx
call fcn.10024290
push edi
call fcn.10018cf0
mov al, byte [ebp - 1]
add esp, 0xc
jmp 0x10014eff
xor al, al
mov edi, dword [ebp - 8]
cmp dword [esi + 0x1a34], ebx
lea ecx, [esi + 0x1a34]
jne 0x10014f85
mov byte [esi + 0x1a41], al
jmp 0x10014f1c
mov byte [esi + 0x1a41], 0
cmp dword [ecx], ebx
jne 0x10014f85
lea ecx, [edi + 0xbc]
call fcn.10026f30
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
mov eax, dword [0x100c29e4]
cmp byte [eax + 0xf0], 0
jne 0x10014f42
xor al, al
jmp 0x10014f59
movss xmm1, dword [eax + 0x30]
movss xmm0, dword [eax + 0x44c]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae al
mov dword [esi + 0x1a48], 0xffffffff
mov dword [esi + 0x1a4c], 0xffffffff
mov dword [esi + 0x1a50], 0xffffffff
mov dword [esi + 0x1a54], 0xffffffff
test al, al
jne 0x10014fcc
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
xor edi, edi
or ebx, 0xffffffff
mov dword [ebp - 8], edi
mov edx, 0x1008a519
mov al, 0x23
or edi, 0xffffffff
cmp al, 0x23
jne 0x10014fae
cmp byte [edx], al
jne 0x10014fae
cmp byte [edx + 1], al
cmove ebx, edi
movzx ecx, bl
movzx eax, al
xor ecx, eax
shr ebx, 8
mov al, byte [edx]
inc edx
xor ebx, dword [ecx*4 + 0x100870a0]
test al, al
jne 0x10014fa0
mov edi, dword [ebp - 8]
not ebx
cmp byte [esi + 0x1d90], 0
jne 0x10015020
test ebx, ebx
jne 0x10014ff0
push 0x2382
push str.D:Dev_Arc2MGRModingcppRisingDevMenu_srcimguiimgui.cpp
push str.source_id___0
call fcn.1006664e
add esp, 0xc
call fcn.10016260
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x1da8], ebx
mov ebx, dword [ebp + 8]
mov dword [esi + 0x1dac], eax
mov byte [esi + 0x1d90], 1
mov dword [esi + 0x1d94], ebx
mov dword [esi + 0x1d9c], 0
jmp 0x10015023
mov ebx, dword [ebp + 8]
mov eax, dword [esi + 0x19b0]
mov dword [esi + 0x1d98], eax
mov byte [esi + 0x1d91], 1
test bl, 1
jne 0x10015070
push 0
push 0
call fcn.10015410
add esp, 8
cmp dword [esi + 0x1df8], 0
je 0x10015070
test dword [esi + 0x1dec], 0x1000
je 0x10015070
mov eax, dword [esi + 0x1a00]
mov byte [eax + 0x7f], 1
mov dword [eax + 0x98], 1
test bl, 0x12
jne 0x1001507c
and dword [edi + 0x110], 0xfffffffe
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret