joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1003c700
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10078bf5
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x100a900c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x18], edi
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x14], edx
cmp dword [edx + 0x14], 0x10
jb 0x1003c744
mov eax, dword [edx]
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x1003c768
mov edi, dword [ebp - 0x14]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edx + 0x10]
jb 0x1003c753
mov edi, dword [ebp - 0x18]
push esi
push edx
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
call fcn.1002e4c0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x1003c787
mov dword [ebx], eax
mov byte [ebx + 4], 0
jmp 0x1003c898
cmp dword [edi + 8], 0x38e38e3
jne 0x1003c79b
push str.unordered_map_set_too_long
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
lea eax, [edi + 4]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 0
push 0x48
mov dword [ebp - 0x28], 0
call fcn.10074b36
add esp, 4
mov edi, eax
mov dword [ebp - 0x28], edi
push dword [ebp - 0x1c]
lea ecx, [edi + 8]
call fcn.100210a0
mov eax, dword [ebp + 0x10]
lea ecx, [edi + 0x20]
mov dword [ecx + 0x24], 0
mov dword [ecx], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_patch::any_obj_t::switch_load_class_ConfigReader__::_2::_lambda_1___void__struct_json_value_s__.0
mov eax, dword [eax]
mov dword [ecx + 4], eax
mov dword [ecx + 0x24], ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 4], 1
mov eax, dword [ecx + 8]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1009fc00]
mov eax, dword [ecx + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1009fc00]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ecx]
jbe 0x1003c84b
call fcn.1003f000
mov ecx, dword [ebp - 0x18]
lea eax, [edi + 8]
push esi
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.1002e4c0
mov ecx, dword [ebp - 0x18]
mov edx, dword [eax]
jmp 0x1003c84e
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
inc dword [ecx + 8]
mov dword [edi + 4], eax
mov dword [edi], edx
mov dword [eax], edi
mov dword [edx + 4], edi
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 0x18]
and eax, esi
mov dword [ebp - 0x14], edx
mov edx, dword [ecx + 0xc]
mov esi, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*8]
cmp ecx, dword [esi]
jne 0x1003c87b
mov dword [edx + eax*8], edi
jmp 0x1003c88e
cmp ecx, dword [ebp - 0x14]
jne 0x1003c885
mov dword [edx + eax*8], edi
jmp 0x1003c892
mov ecx, dword [ebp - 0x1c]
cmp dword [edx + eax*8 + 4], ecx
jne 0x1003c892
mov dword [edx + eax*8 + 4], edi
mov dword [ebx], edi
mov byte [ebx + 4], 1
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x1003c8b0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10078bf5
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x100a900c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x18], edi
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x14], edx
cmp dword [edx + 0x14], 0x10
jb 0x1003c8f4
mov eax, dword [edx]
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x1003c918
mov edi, dword [ebp - 0x14]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edx + 0x10]
jb 0x1003c903
mov edi, dword [ebp - 0x18]
push esi
push edx
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
call fcn.1002e4c0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x1003c937
mov dword [ebx], eax
mov byte [ebx + 4], 0
jmp 0x1003ca48
cmp dword [edi + 8], 0x38e38e3
jne 0x1003c94b
push str.unordered_map_set_too_long
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
lea eax, [edi + 4]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 0
push 0x48
mov dword [ebp - 0x28], 0
call fcn.10074b36
add esp, 4
mov edi, eax
mov dword [ebp - 0x28], edi
push dword [ebp - 0x1c]
lea ecx, [edi + 8]
call fcn.100210a0
mov eax, dword [ebp + 0x10]
lea ecx, [edi + 0x20]
mov dword [ecx + 0x24], 0
mov dword [ecx], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_patch::fast::ExtractEdge_t::switch_load_class_ConfigReader__::_2::_lambda_1___void__struct_json_value_s__.0
mov eax, dword [eax]
mov dword [ecx + 4], eax
mov dword [ecx + 0x24], ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 4], 1
mov eax, dword [ecx + 8]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1009fc00]
mov eax, dword [ecx + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1009fc00]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ecx]
jbe 0x1003c9fb
call fcn.1003f000
mov ecx, dword [ebp - 0x18]
lea eax, [edi + 8]
push esi
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.1002e4c0
mov ecx, dword [ebp - 0x18]
mov edx, dword [eax]
jmp 0x1003c9fe
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
inc dword [ecx + 8]
mov dword [edi + 4], eax
mov dword [edi], edx
mov dword [eax], edi
mov dword [edx + 4], edi
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 0x18]
and eax, esi
mov dword [ebp - 0x14], edx
mov edx, dword [ecx + 0xc]
mov esi, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*8]
cmp ecx, dword [esi]
jne 0x1003ca2b
mov dword [edx + eax*8], edi
jmp 0x1003ca3e
cmp ecx, dword [ebp - 0x14]
jne 0x1003ca35
mov dword [edx + eax*8], edi
jmp 0x1003ca42
mov ecx, dword [ebp - 0x1c]
cmp dword [edx + eax*8 + 4], ecx
jne 0x1003ca42
mov dword [edx + eax*8 + 4], edi
mov dword [ebx], edi
mov byte [ebx + 4], 1
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x1003ca60
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10078bf5
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x100a900c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x18], edi
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x14], edx
cmp dword [edx + 0x14], 0x10
jb 0x1003caa4
mov eax, dword [edx]
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x1003cac8
mov edi, dword [ebp - 0x14]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edx + 0x10]
jb 0x1003cab3
mov edi, dword [ebp - 0x18]
push esi
push edx
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
call fcn.1002e4c0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x1003cae7
mov dword [ebx], eax
mov byte [ebx + 4], 0
jmp 0x1003cbf8
cmp dword [edi + 8], 0x38e38e3
jne 0x1003cafb
push str.unordered_map_set_too_long
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
lea eax, [edi + 4]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 0
push 0x48
mov dword [ebp - 0x28], 0
call fcn.10074b36
add esp, 4
mov edi, eax
mov dword [ebp - 0x28], edi
push dword [ebp - 0x1c]
lea ecx, [edi + 8]
call fcn.100210a0
mov eax, dword [ebp + 0x10]
lea ecx, [edi + 0x20]
mov dword [ecx + 0x24], 0
mov dword [ecx], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_patch::load_exedit_backup_t::switch_load_class_ConfigReader__::_2::_lambda_1___void__struct_json_value_s__.0
mov eax, dword [eax]
mov dword [ecx + 4], eax
mov dword [ecx + 0x24], ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 4], 1
mov eax, dword [ecx + 8]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1009fc00]
mov eax, dword [ecx + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1009fc00]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ecx]
jbe 0x1003cbab
call fcn.1003f000
mov ecx, dword [ebp - 0x18]
lea eax, [edi + 8]
push esi
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.1002e4c0
mov ecx, dword [ebp - 0x18]
mov edx, dword [eax]
jmp 0x1003cbae
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
inc dword [ecx + 8]
mov dword [edi + 4], eax
mov dword [edi], edx
mov dword [eax], edi
mov dword [edx + 4], edi
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 0x18]
and eax, esi
mov dword [ebp - 0x14], edx
mov edx, dword [ecx + 0xc]
mov esi, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*8]
cmp ecx, dword [esi]
jne 0x1003cbdb
mov dword [edx + eax*8], edi
jmp 0x1003cbee
cmp ecx, dword [ebp - 0x14]
jne 0x1003cbe5
mov dword [edx + eax*8], edi
jmp 0x1003cbf2
mov ecx, dword [ebp - 0x1c]
cmp dword [edx + eax*8 + 4], ecx
jne 0x1003cbf2
mov dword [edx + eax*8 + 4], edi
mov dword [ebx], edi
mov byte [ebx + 4], 1
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x1003cc10
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10078bf5
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x100a900c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x18], edi
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x14], edx
cmp dword [edx + 0x14], 0x10
jb 0x1003cc54
mov eax, dword [edx]
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x1003cc78
mov edi, dword [ebp - 0x14]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edx + 0x10]
jb 0x1003cc63
mov edi, dword [ebp - 0x18]
push esi
push edx
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
call fcn.1002e4c0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x1003cc97
mov dword [ebx], eax
mov byte [ebx + 4], 0
jmp 0x1003cda8
cmp dword [edi + 8], 0x38e38e3
jne 0x1003ccab
push str.unordered_map_set_too_long
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
lea eax, [edi + 4]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 0
push 0x48
mov dword [ebp - 0x28], 0
call fcn.10074b36
add esp, 4
mov edi, eax
mov dword [ebp - 0x28], edi
push dword [ebp - 0x1c]
lea ecx, [edi + 8]
call fcn.100210a0
mov eax, dword [ebp + 0x10]
lea ecx, [edi + 0x20]
mov dword [ecx + 0x24], 0
mov dword [ecx], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_patch::fast::BorderBlur_t::switch_load_class_ConfigReader__::_2::_lambda_1___void__struct_json_value_s__.0
mov eax, dword [eax]
mov dword [ecx + 4], eax
mov dword [ecx + 0x24], ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 4], 1
mov eax, dword [ecx + 8]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1009fc00]
mov eax, dword [ecx + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1009fc00]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ecx]
jbe 0x1003cd5b
call fcn.1003f000
mov ecx, dword [ebp - 0x18]
lea eax, [edi + 8]
push esi
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.1002e4c0
mov ecx, dword [ebp - 0x18]
mov edx, dword [eax]
jmp 0x1003cd5e
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
inc dword [ecx + 8]
mov dword [edi + 4], eax
mov dword [edi], edx
mov dword [eax], edi
mov dword [edx + 4], edi
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 0x18]
and eax, esi
mov dword [ebp - 0x14], edx
mov edx, dword [ecx + 0xc]
mov esi, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*8]
cmp ecx, dword [esi]
jne 0x1003cd8b
mov dword [edx + eax*8], edi
jmp 0x1003cd9e
cmp ecx, dword [ebp - 0x14]
jne 0x1003cd95
mov dword [edx + eax*8], edi
jmp 0x1003cda2
mov ecx, dword [ebp - 0x1c]
cmp dword [edx + eax*8 + 4], ecx
jne 0x1003cda2
mov dword [edx + eax*8 + 4], edi
mov dword [ebx], edi
mov byte [ebx + 4], 1
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x1003cdc0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10078bf5
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x100a900c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x18], edi
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x14], edx
cmp dword [edx + 0x14], 0x10
jb 0x1003ce04
mov eax, dword [edx]
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x1003ce28
mov edi, dword [ebp - 0x14]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edx + 0x10]
jb 0x1003ce13
mov edi, dword [ebp - 0x18]
push esi
push edx
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
call fcn.1002e4c0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x1003ce47
mov dword [ebx], eax
mov byte [ebx + 4], 0
jmp 0x1003cf58
cmp dword [edi + 8], 0x38e38e3
jne 0x1003ce5b
push str.unordered_map_set_too_long
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
lea eax, [edi + 4]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 0
push 0x48
mov dword [ebp - 0x28], 0
call fcn.10074b36
add esp, 4
mov edi, eax
mov dword [ebp - 0x28], edi
push dword [ebp - 0x1c]
lea ecx, [edi + 8]
call fcn.100210a0
mov eax, dword [ebp + 0x10]
lea ecx, [edi + 0x20]
mov dword [ecx + 0x24], 0
mov dword [ecx], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_patch::init_window_pos_t::switch_load_class_ConfigReader__::_2::_lambda_1___void__struct_json_value_s__.0
mov eax, dword [eax]
mov dword [ecx + 4], eax
mov dword [ecx + 0x24], ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 4], 1
mov eax, dword [ecx + 8]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1009fc00]
mov eax, dword [ecx + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1009fc00]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ecx]
jbe 0x1003cf0b
call fcn.1003f000
mov ecx, dword [ebp - 0x18]
lea eax, [edi + 8]
push esi
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.1002e4c0
mov ecx, dword [ebp - 0x18]
mov edx, dword [eax]
jmp 0x1003cf0e
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
inc dword [ecx + 8]
mov dword [edi + 4], eax
mov dword [edi], edx
mov dword [eax], edi
mov dword [edx + 4], edi
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 0x18]
and eax, esi
mov dword [ebp - 0x14], edx
mov edx, dword [ecx + 0xc]
mov esi, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*8]
cmp ecx, dword [esi]
jne 0x1003cf3b
mov dword [edx + eax*8], edi
jmp 0x1003cf4e
cmp ecx, dword [ebp - 0x14]
jne 0x1003cf45
mov dword [edx + eax*8], edi
jmp 0x1003cf52
mov ecx, dword [ebp - 0x1c]
cmp dword [edx + eax*8 + 4], ecx
jne 0x1003cf52
mov dword [edx + eax*8 + 4], edi
mov dword [ebx], edi
mov byte [ebx + 4], 1
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x1003cf70
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10078bf5
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x100a900c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x18], edi
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x14], edx
cmp dword [edx + 0x14], 0x10
jb 0x1003cfb4
mov eax, dword [edx]
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x1003cfd8
mov edi, dword [ebp - 0x14]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edx + 0x10]
jb 0x1003cfc3
mov edi, dword [ebp - 0x18]
push esi
push edx
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
call fcn.1002e4c0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x1003cff7
mov dword [ebx], eax
mov byte [ebx + 4], 0
jmp 0x1003d108
cmp dword [edi + 8], 0x38e38e3
jne 0x1003d00b
push str.unordered_map_set_too_long
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
lea eax, [edi + 4]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 0
push 0x48
mov dword [ebp - 0x28], 0
call fcn.10074b36
add esp, 4
mov edi, eax
mov dword [ebp - 0x28], edi
push dword [ebp - 0x1c]
lea ecx, [edi + 8]
call fcn.100210a0
mov eax, dword [ebp + 0x10]
lea ecx, [edi + 0x20]
mov dword [ecx + 0x24], 0
mov dword [ecx], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_patch::object_table_t::switch_load_class_ConfigReader__::_2::_lambda_1___void__struct_json_value_s__.0
mov eax, dword [eax]
mov dword [ecx + 4], eax
mov dword [ecx + 0x24], ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 4], 1
mov eax, dword [ecx + 8]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1009fc00]
mov eax, dword [ecx + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1009fc00]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ecx]
jbe 0x1003d0bb
call fcn.1003f000
mov ecx, dword [ebp - 0x18]
lea eax, [edi + 8]
push esi
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.1002e4c0
mov ecx, dword [ebp - 0x18]
mov edx, dword [eax]
jmp 0x1003d0be
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
inc dword [ecx + 8]
mov dword [edi + 4], eax
mov dword [edi], edx
mov dword [eax], edi
mov dword [edx + 4], edi
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 0x18]
and eax, esi
mov dword [ebp - 0x14], edx
mov edx, dword [ecx + 0xc]
mov esi, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*8]
cmp ecx, dword [esi]
jne 0x1003d0eb
mov dword [edx + eax*8], edi
jmp 0x1003d0fe
cmp ecx, dword [ebp - 0x14]
jne 0x1003d0f5
mov dword [edx + eax*8], edi
jmp 0x1003d102
mov ecx, dword [ebp - 0x1c]
cmp dword [edx + eax*8 + 4], ecx
jne 0x1003d102
mov dword [edx + eax*8 + 4], edi
mov dword [ebx], edi
mov byte [ebx + 4], 1
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x1003d120
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10078bf5
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x100a900c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x18], edi
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x14], edx
cmp dword [edx + 0x14], 0x10
jb 0x1003d164
mov eax, dword [edx]
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x1003d188
mov edi, dword [ebp - 0x14]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edx + 0x10]
jb 0x1003d173
mov edi, dword [ebp - 0x18]
push esi
push edx
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
call fcn.1002e4c0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x1003d1a7
mov dword [ebx], eax
mov byte [ebx + 4], 0
jmp 0x1003d2b8
cmp dword [edi + 8], 0x38e38e3
jne 0x1003d1bb
push str.unordered_map_set_too_long
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
lea eax, [edi + 4]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 0
push 0x48
mov dword [ebp - 0x28], 0
call fcn.10074b36
add esp, 4
mov edi, eax
mov dword [ebp - 0x28], edi
push dword [ebp - 0x1c]
lea ecx, [edi + 8]
call fcn.100210a0
mov eax, dword [ebp + 0x10]
lea ecx, [edi + 0x20]
mov dword [ecx + 0x24], 0
mov dword [ecx], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_patch::sat_rgb_space_t::switch_load_class_ConfigReader__::_2::_lambda_1___void__struct_json_value_s__.0
mov eax, dword [eax]
mov dword [ecx + 4], eax
mov dword [ecx + 0x24], ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 4], 1
mov eax, dword [ecx + 8]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1009fc00]
mov eax, dword [ecx + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1009fc00]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ecx]
jbe 0x1003d26b
call fcn.1003f000
mov ecx, dword [ebp - 0x18]
lea eax, [edi + 8]
push esi
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.1002e4c0
mov ecx, dword [ebp - 0x18]
mov edx, dword [eax]
jmp 0x1003d26e
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
inc dword [ecx + 8]
mov dword [edi + 4], eax
mov dword [edi], edx
mov dword [eax], edi
mov dword [edx + 4], edi
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 0x18]
and eax, esi
mov dword [ebp - 0x14], edx
mov edx, dword [ecx + 0xc]
mov esi, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*8]
cmp ecx, dword [esi]
jne 0x1003d29b
mov dword [edx + eax*8], edi
jmp 0x1003d2ae
cmp ecx, dword [ebp - 0x14]
jne 0x1003d2a5
mov dword [edx + eax*8], edi
jmp 0x1003d2b2
mov ecx, dword [ebp - 0x1c]
cmp dword [edx + eax*8 + 4], ecx
jne 0x1003d2b2
mov dword [edx + eax*8 + 4], edi
mov dword [ebx], edi
mov byte [ebx + 4], 1
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc