joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10038020
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 0x10038064
mov eax, dword [edx]
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x10038088
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 0x10038073
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 0x100380a7
mov dword [ebx], eax
mov byte [ebx + 4], 0
jmp 0x100381b8
cmp dword [edi + 8], 0x38e38e3
jne 0x100380bb
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::fileinfo_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 0x1003816b
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 0x1003816e
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 0x1003819b
mov dword [edx + eax*8], edi
jmp 0x100381ae
cmp ecx, dword [ebp - 0x14]
jne 0x100381a5
mov dword [edx + eax*8], edi
jmp 0x100381b2
mov ecx, dword [ebp - 0x1c]
cmp dword [edx + eax*8 + 4], ecx
jne 0x100381b2
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 0x100381d0
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 0x10038214
mov eax, dword [edx]
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x10038238
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 0x10038223
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 0x10038257
mov dword [ebx], eax
mov byte [ebx + 4], 0
jmp 0x10038368
cmp dword [edi + 8], 0x38e38e3
jne 0x1003826b
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::playback_speed_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 0x1003831b
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 0x1003831e
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 0x1003834b
mov dword [edx + eax*8], edi
jmp 0x1003835e
cmp ecx, dword [ebp - 0x14]
jne 0x10038355
mov dword [edx + eax*8], edi
jmp 0x10038362
mov ecx, dword [ebp - 0x1c]
cmp dword [edx + eax*8 + 4], ecx
jne 0x10038362
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 0x10038380
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 0x100383c4
mov eax, dword [edx]
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x100383e8
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 0x100383d3
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 0x10038407
mov dword [ebx], eax
mov byte [ebx + 4], 0
jmp 0x10038518
cmp dword [edi + 8], 0x38e38e3
jne 0x1003841b
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::scene_cache_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 0x100384cb
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 0x100384ce
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 0x100384fb
mov dword [edx + eax*8], edi
jmp 0x1003850e
cmp ecx, dword [ebp - 0x14]
jne 0x10038505
mov dword [edx + eax*8], edi
jmp 0x10038512
mov ecx, dword [ebp - 0x1c]
cmp dword [edx + eax*8 + 4], ecx
jne 0x10038512
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 0x10038530
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 0x10038574
mov eax, dword [edx]
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x10038598
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 0x10038583
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 0x100385b7
mov dword [ebx], eax
mov byte [ebx + 4], 0
jmp 0x100386c8
cmp dword [edi + 8], 0x38e38e3
jne 0x100385cb
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::scene_cache_t::config_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 0x1003867b
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 0x1003867e
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 0x100386ab
mov dword [edx + eax*8], edi
jmp 0x100386be
cmp ecx, dword [ebp - 0x14]
jne 0x100386b5
mov dword [edx + eax*8], edi
jmp 0x100386c2
mov ecx, dword [ebp - 0x1c]
cmp dword [edx + eax*8 + 4], ecx
jne 0x100386c2
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 0x100386e0
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 0x10038724
mov eax, dword [edx]
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x10038748
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 0x10038733
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 0x10038767
mov dword [ebx], eax
mov byte [ebx + 4], 0
jmp 0x10038878
cmp dword [edi + 8], 0x38e38e3
jne 0x1003877b
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::aup_layer_setting_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 0x1003882b
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 0x1003882e
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 0x1003885b
mov dword [edx + eax*8], edi
jmp 0x1003886e
cmp ecx, dword [ebp - 0x14]
jne 0x10038865
mov dword [edx + eax*8], edi
jmp 0x10038872
mov ecx, dword [ebp - 0x1c]
cmp dword [edx + eax*8 + 4], ecx
jne 0x10038872
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 0x10038890
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 0x100388d4
mov eax, dword [edx]
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x100388f8
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 0x100388e3
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 0x10038917
mov dword [ebx], eax
mov byte [ebx + 4], 0
jmp 0x10038a28
cmp dword [edi + 8], 0x38e38e3
jne 0x1003892b
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::Glow_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 0x100389db
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 0x100389de
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 0x10038a0b
mov dword [edx + eax*8], edi
jmp 0x10038a1e
cmp ecx, dword [ebp - 0x14]
jne 0x10038a15
mov dword [edx + eax*8], edi
jmp 0x10038a22
mov ecx, dword [ebp - 0x1c]
cmp dword [edx + eax*8 + 4], ecx
jne 0x10038a22
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 0x10038a40
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 0x10038a84
mov eax, dword [edx]
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x10038aa8
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 0x10038a93
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 0x10038ac7
mov dword [ebx], eax
mov byte [ebx + 4], 0
jmp 0x10038bd8
cmp dword [edi + 8], 0x38e38e3
jne 0x10038adb
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::obj_Glow_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 0x10038b8b
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 0x10038b8e
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 0x10038bbb
mov dword [edx + eax*8], edi
jmp 0x10038bce
cmp ecx, dword [ebp - 0x14]
jne 0x10038bc5
mov dword [edx + eax*8], edi
jmp 0x10038bd2
mov ecx, dword [ebp - 0x1c]
cmp dword [edx + eax*8 + 4], ecx
jne 0x10038bd2
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