joyce8/EMBER2024-capa huggingface dataset:
Function at 0x536c80
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x7b1178]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x536e0d
sub esp, 0x38
lea edi, [esp + 0x54]
xor eax, eax
call fcn.0046ffc8
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x4c]
cmp ecx, edx
jbe 0x536e05
mov ebx, dword [esp + 0x40]
movzx ebp, byte [ebx + edx]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x536d9e
lea eax, [0x5f41a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x34], eax
mov dword [eax + 4], 0x25
lea ecx, [0x62c272]
mov dword [eax], ecx
lea ecx, [0x66e144]
cmp dword [0x786140], ecx
jne 0x536d22
mov edx, dword [0x786144]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x536d22
lea ecx, [0x66e144]
mov eax, dword [esp + 0x34]
jmp 0x536d7d
lea eax, [0x5faf40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov ebx, dword [esp + 0x4c]
mov ebp, ebx
sar ebx, 0x1f
add edx, ebp
mov dword [eax], edx
adc ecx, ebx
mov dword [eax + 4], ecx
lea ecx, [0x66e144]
mov dword [eax + 8], ecx
mov ecx, dword [0x7b12d0]
test ecx, ecx
jne 0x536d69
mov ecx, dword [esp + 0x34]
jmp 0x536d74
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x34]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x66e4e0]
mov dword [esp + 0x10], ecx
lea edi, [esp + 0x54]
mov edx, eax
xor eax, eax
call fcn.0046ffc8
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
add esp, 0x38
ret
xchg ebp, ebx
movzx eax, bl
xchg ebp, ebx
xchg ebp, eax
movzx eax, al
xchg ebp, eax
mov esi, eax
lea eax, [0x632015]
movzx eax, byte [eax + ebp]
dec eax
nop
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], eax
lea edi, [esp + 0x54]
lea esi, [esp + 0x14]
call fcn.00470490
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
add esp, 0x38
ret
mov eax, edx
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.internal_zstd._Reader_.makeReverseBitReader
Function at 0x582da0
Capabilities:
Hash data using fnv

Disassembly:
mov ecx, dword [0x7b1178]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x582f27
sub esp, 0x34
nop
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
xor eax, eax
mov ecx, 0x811c9dc5
jmp 0x582dd6
movzx ebp, byte [ebx + eax]
xor ecx, ebp
inc eax
imul ecx, ecx, 0x1000193
cmp edx, eax
jg 0x582dc9
mov ebp, dword [esp + 0x38]
mov esi, dword [ebp + 8]
mov edi, ecx
shr ecx, 0x10
xor edi, ecx
and edi, 0x1ff
lea eax, [esi + edi*4 + 4]
mov dword [esp + 0x24], eax
mov ecx, dword [ebp + 0x20]
mov ebx, dword [ecx + 8]
mov dword [esp + 0x2c], ebx
sar ebx, 0x1f
lea esi, [esi + edi*4]
test ebx, ebx
setl bl
xchg edi, ebx
sete bl
xchg edi, ebx
mov edx, dword [esp + 0x2c]
cmp edx, eax
xchg ebp, ebx
setbe bl
xchg ebp, ebx
and edi, ebp
or ebx, edi
test bl, bl
je 0x582e2b
xor ecx, ecx
jmp 0x582e4c
cmp edx, eax
jbe 0x582f1f
mov eax, dword [ecx + 4]
lea eax, [esi + eax + 4]
mov dword [esp], eax
call sym.sync_atomic.LoadUint32
mov eax, dword [esp + 4]
mov ecx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], ecx
mov edx, ecx
jmp 0x582e5c
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
test ecx, ecx
je 0x582f06
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.cmd_vendor_golang.org_x_telemetry_internal_counter._mappedFile_.entryAt
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test al, al
je 0x582ee5
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x40]
cmp ebx, eax
jne 0x582e54
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 8]
mov dword [esp], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
jne 0x582ec4
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x40]
jmp 0x582e54
mov eax, dword [esp + 0x30]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x4c], eax
mov byte [esp + 0x50], 1
add esp, 0x34
ret
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov byte [esp + 0x50], 0
add esp, 0x34
ret
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov byte [esp + 0x50], 1
add esp, 0x34
ret
mov ecx, edx
call sym.runtime.panicIndexU
nop
call sym.runtime.morestack_noctxt
jmp sym.cmd_vendor_golang.org_x_telemetry_internal_counter._mappedFile_.lookup
Function at 0x5bf5b0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov ecx, dword [0x7b1178]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5bf7c0
sub esp, 0x1c
mov eax, dword [0x791700]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
lea ebp, [0x5ef380]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call sym.runtime.mapaccess2_faststr
movzx eax, byte [esp + 0x14]
test al, al
je 0x5bf609
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x24]
jmp 0x5bf61f
mov byte [esp + 0x28], 0
add esp, 0x1c
ret
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
mov edx, dword [esp + 0x18]
test eax, eax
je 0x5bf6be
lea ebx, [0x66ee04]
cmp dword [edx + 0x10], ebx
jne 0x5bf637
mov edx, dword [edx + 0x14]
jmp 0x5bf63c
mov edx, 0
jne 0x5bf6b5
mov dword [esp + 0x18], edx
mov ebp, dword [edx + 0xc]
cmp eax, ebp
je 0x5bf650
mov eax, 1
jmp 0x5bf675
mov eax, dword [edx + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
xor eax, 1
mov edx, dword [esp + 0x18]
lea ebx, [0x66ee04]
test al, al
jne 0x5bf6b5
mov eax, dword [0x791700]
mov ecx, dword [edx + 8]
mov ebx, dword [edx + 0xc]
lea ebp, [0x5ef380]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call sym.runtime.mapaccess2_faststr
movzx eax, byte [esp + 0x14]
test al, al
jne 0x5bf612
mov byte [esp + 0x28], 0
add esp, 0x1c
ret
mov byte [esp + 0x28], 0
add esp, 0x1c
ret
lea eax, [0x66ef84]
cmp dword [edx + 0x10], eax
jne 0x5bf6ce
mov eax, dword [edx + 0x14]
jmp 0x5bf6d3
mov eax, 0
jne 0x5bf609
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x5bf609
mov edx, dword [ecx + 8]
cmp edx, 0x112800e2
jne 0x5bf706
lea eax, [0x66f014]
cmp ecx, eax
jne 0x5bf609
mov byte [esp + 0x28], 1
add esp, 0x1c
ret
cmp edx, 0xf750d0f7
jne 0x5bf609
lea edx, [0x66efcc]
cmp ecx, edx
jne 0x5bf609
mov eax, dword [eax + 0x14]
cmp dword [eax + 0x14], 8
jne 0x5bf609
mov ecx, dword [eax + 0x10]
cmp dword [ecx], 0x626f6a5f
jne 0x5bf609
cmp dword [ecx + 4], 0x7463656a
jne 0x5bf609
mov ecx, dword [eax + 0x24]
test ecx, ecx
jne 0x5bf609
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x18]
cmp ecx, 5
jne 0x5bf78a
cmp dword [edx], 0x73616c63
jne 0x5bf609
cmp byte [edx + 4], 0x73
jne 0x5bf609
movzx eax, byte [eax + 0x2c]
test al, al
jne 0x5bf609
mov byte [esp + 0x28], 1
add esp, 0x1c
ret
cmp ecx, 6
jne 0x5bf609
cmp dword [edx], 0x75727473
jne 0x5bf609
cmp word [edx + 4], 0x7463
jne 0x5bf609
movzx eax, byte [eax + 0x2c]
test al, al
je 0x5bf609
mov byte [esp + 0x28], 1
add esp, 0x1c
ret
call sym.runtime.morestack_noctxt
jmp sym.main._typeConv_.badJNI
Function at 0x100139d0
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov eax, ecx
push edi
push ecx
push str.Enabled
mov ebx, edx
mov dword [esp + 0x1c], eax
call fcn.10024b10
add esp, 4
mov edx, ebx
mov ecx, eax
call fcn.10024d40
lea eax, [edi + 1]
push eax
push ecx
mov ecx, dword [esp + 0x18]
push str.Only_During_Freeze_Time
call fcn.10024b10
add esp, 4
lea edx, [ebx + 1]
mov ecx, eax
call fcn.10024d40
lea eax, [edi + 2]
push eax
push ecx
mov ecx, dword [esp + 0x18]
push str.Show_Prices
call fcn.10024b10
add esp, 4
lea edx, [ebx + 2]
mov ecx, eax
call fcn.10024d40
lea eax, [edi + 3]
push eax
push ecx
mov ecx, dword [esp + 0x18]
push str.No_Title_Bar
call fcn.10024b10
add esp, 4
lea edx, [ebx + 3]
mov ecx, eax
call fcn.10024d40
mov ecx, dword [esp + 0x10]
push str.Mode
call fcn.10024b10
mov esi, dword [ebx + 0xc]
mov dword [esp + 0x14], eax
cmp esi, dword [edi + 0xc]
je 0x10013ac9
mov byte [esp + 0x18], 0
lea ecx, [esp + 0x20]
push dword [esp + 0x18]
xorps xmm0, xmm0
movq qword [esp + 0x24], xmm0
call fcn.100228e0
mov ebx, dword [esp + 0x14]
mov eax, esi
cdq
mov cl, byte [ebx]
mov byte [ebx], 5
mov esi, dword [ebx + 0xc]
mov byte [esp + 0x14], cl
push dword [esp + 0x14]
mov byte [esp + 0x1c], cl
mov ecx, dword [ebx + 8]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x24]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov dword [esp + 0x28], esi
call fcn.100228e0
or ecx, 0xffffffff
mov esi, 0x101d0d89
mov al, 0x50
or edi, 0xffffffff
cmp al, 0x23
jne 0x10013ae4
cmp byte [esi], al
jne 0x10013ae4
cmp byte [esi + 1], al
cmove ecx, edi
movzx edx, cl
movzx eax, al
xor edx, eax
shr ecx, 8
mov al, byte [esi]
inc esi
xor ecx, dword [edx*4 + 0x101f05b0]
test al, al
jne 0x10013ad6
not ecx
call fcn.10155f90
test eax, eax
je 0x10013b5e
add eax, 0x10
lea ecx, [esp + 0x18]
push eax
call fcn.10026360
mov ecx, dword [esp + 0x10]
push 0x101d02bc
call fcn.10024b10
mov cl, byte [esp + 0x18]
mov edi, eax
mov eax, dword [esp + 0x20]
mov dl, byte [edi]
mov byte [edi], cl
mov esi, dword [edi + 0xc]
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x14], dl
push dword [esp + 0x14]
mov byte [esp + 0x1c], dl
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [esp + 0x24]
mov dword [edi + 8], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
call fcn.100228e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x10013b70
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov eax, ecx
push edi
push ecx
push str.Enabled
mov ebx, edx
mov dword [esp + 0x18], eax
call fcn.10024b10
add esp, 4
mov edx, ebx
mov ecx, eax
call fcn.10024d40
lea eax, [edi + 1]
push eax
push ecx
mov ecx, dword [esp + 0x14]
push str.Steam_ID
call fcn.10024b10
add esp, 4
lea edx, [ebx + 1]
mov ecx, eax
call fcn.10024d40
lea eax, [edi + 2]
push eax
push ecx
mov ecx, dword [esp + 0x14]
push str.Rank
call fcn.10024b10
add esp, 4
lea edx, [ebx + 2]
mov ecx, eax
call fcn.10024d40
lea eax, [edi + 3]
push eax
push ecx
mov ecx, dword [esp + 0x14]
push str.Wins
call fcn.10024b10
add esp, 4
lea edx, [ebx + 3]
mov ecx, eax
call fcn.10024d40
lea eax, [edi + 4]
push eax
push ecx
mov ecx, dword [esp + 0x14]
push str.Money
call fcn.10024b10
add esp, 4
lea edx, [ebx + 4]
mov ecx, eax
call fcn.10024d40
lea eax, [edi + 5]
push eax
push ecx
mov ecx, dword [esp + 0x14]
push str.Health
call fcn.10024b10
add esp, 4
lea edx, [ebx + 5]
mov ecx, eax
call fcn.10024d40
lea eax, [edi + 6]
push eax
push ecx
lea esi, [ebx + 6]
mov ebx, dword [esp + 0x14]
push str.Armor
mov ecx, ebx
call fcn.10024b10
add esp, 4
mov edx, esi
mov ecx, eax
call fcn.10024d40
or ecx, 0xffffffff
mov esi, 0x101d0da5
mov al, 0x50
or edi, 0xffffffff
cmp al, 0x23
jne 0x10013c7e
cmp byte [esi], al
jne 0x10013c7e
cmp byte [esi + 1], al
cmove ecx, edi
movzx edx, cl
movzx eax, al
xor edx, eax
shr ecx, 8
mov al, byte [esi]
inc esi
xor ecx, dword [edx*4 + 0x101f05b0]
test al, al
jne 0x10013c70
not ecx
call fcn.10155f90
test eax, eax
je 0x10013cf6
add eax, 0x10
lea ecx, [esp + 0x10]
push eax
call fcn.10026360
push 0x101d02bc
mov ecx, ebx
call fcn.10024b10
mov cl, byte [esp + 0x10]
mov edi, eax
mov eax, dword [esp + 0x18]
mov dl, byte [edi]
mov byte [edi], cl
mov esi, dword [edi + 0xc]
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0xc], dl
push dword [esp + 0xc]
mov byte [esp + 0x14], dl
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [esp + 0x1c]
mov dword [edi + 8], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], esi
call fcn.100228e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x10027230
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 8
push ebx
push ebp
mov ebp, dword [esp + 0x18]
mov ebx, ecx
push esi
push edi
mov edx, ebp
cmp dword [ebp + 0x14], 0xf
mov edi, dword [ebp + 0x10]
jbe 0x1002724b
mov edx, dword [ebp]
xor ecx, ecx
mov esi, 0x811c9dc5
test edi, edi
je 0x10027267
movzx eax, byte [edx + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edi
jb 0x10027256
push esi
push ebp
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.1002cac0
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x10027291
mov eax, dword [esp + 0x1c]
mov dword [eax], ecx
mov byte [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 0xc
cmp dword [ebx + 8], 0x5d1745d
je 0x100273e0
push 0x2c
call fcn.101995a0
add esp, 4
mov edi, eax
lea ecx, [edi + 8]
push ebp
call fcn.10020b00
mov eax, dword [esp + 0x24]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [edi + 0x20], xmm0
mov dword [edi + 0x28], eax
mov eax, dword [ebx + 8]
mov ebp, dword [ebx + 0x1c]
inc eax
movss xmm3, dword [ebx]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101f8030]
mov eax, ebp
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ebp
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x101f8030]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x1002737d
divss xmm2, xmm3
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call fcn.101bd490
fstp qword [esp + 0x18]
movsd xmm0, qword [esp + 0x18]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.101bf630
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebp, ecx
jae 0x10027360
cmp ebp, 0x200
jae 0x1002735e
shl ebp, 3
cmp ebp, ecx
jae 0x10027360
mov ebp, ecx
push ebp
mov ecx, ebx
call fcn.1002a500
push esi
lea eax, [edi + 8]
mov ecx, ebx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1002cac0
mov edx, dword [eax]
jmp 0x10027381
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 4]
inc dword [ebx + 8]
mov dword [edi], edx
mov dword [edi + 4], ebp
mov dword [ebp], edi
mov dword [edx + 4], edi
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0xc]
and eax, esi
mov esi, dword [ecx + eax*8]
cmp esi, dword [ebx + 4]
jne 0x100273a7
mov dword [ecx + eax*8], edi
jmp 0x100273c8
cmp esi, edx
jne 0x100273c2
mov dword [ecx + eax*8], edi
mov eax, dword [esp + 0x1c]
mov dword [eax], edi
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 0xc
cmp dword [ecx + eax*8 + 4], ebp
jne 0x100273cc
mov dword [ecx + eax*8 + 4], edi
mov eax, dword [esp + 0x1c]
mov dword [eax], edi
pop edi
pop esi
pop ebp
mov byte [eax + 4], 1
pop ebx
add esp, 8
ret 0xc
push str.unordered_map_set_too_long
call fcn.10197fea
int3
Function at 0x1002ee00
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0xc
push ebx
push ebp
mov ebp, dword [esp + 0x1c]
mov ebx, ecx
push esi
push edi
mov edx, ebp
cmp dword [ebp + 0x14], 0xf
mov edi, dword [ebp + 0x10]
jbe 0x1002ee1b
mov edx, dword [ebp]
xor ecx, ecx
mov esi, 0x811c9dc5
test edi, edi
je 0x1002ee37
movzx eax, byte [edx + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, edi
jb 0x1002ee26
push esi
push ebp
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.1002cac0
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1002ee61
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
mov byte [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ebx + 8], 0x4444444
je 0x1002effb
push 0x3c
call fcn.101995a0
add esp, 4
mov edi, eax
push ebp
lea ecx, [edi + 8]
call fcn.10020b00
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x20], 0x3f800000
mov dword [edi + 0x24], 0x3f800000
mov dword [edi + 0x28], 0x3f800000
mov dword [edi + 0x2c], 0x3f800000
mov dword [edi + 0x30], 0x3f19999a
mov word [edi + 0x34], 0
mov byte [edi + 0x36], 0
mov dword [edi + 0x38], 0
mov eax, dword [ebx + 8]
mov ebp, dword [ebx + 0x1c]
inc eax
movss xmm3, dword [ebx]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101f8030]
mov eax, ebp
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ebp
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x101f8030]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x1002ef98
divss xmm2, xmm3
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call fcn.101bd490
fstp qword [esp + 0x18]
movsd xmm0, qword [esp + 0x18]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.101bf630
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebp, ecx
jae 0x1002ef7b
cmp ebp, 0x200
jae 0x1002ef79
shl ebp, 3
cmp ebp, ecx
jae 0x1002ef7b
mov ebp, ecx
push ebp
mov ecx, ebx
call fcn.10030210
push esi
lea eax, [edi + 8]
mov ecx, ebx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1002cac0
mov edx, dword [eax]
jmp 0x1002ef9c
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 4]
inc dword [ebx + 8]
mov dword [edi], edx
mov dword [edi + 4], ebp
mov dword [ebp], edi
mov dword [edx + 4], edi
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0xc]
and eax, esi
mov esi, dword [ecx + eax*8]
cmp esi, dword [ebx + 4]
jne 0x1002efc2
mov dword [ecx + eax*8], edi
jmp 0x1002efe3
cmp esi, edx
jne 0x1002efdd
mov dword [ecx + eax*8], edi
mov eax, dword [esp + 0x20]
mov dword [eax], edi
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ecx + eax*8 + 4], ebp
jne 0x1002efe7
mov dword [ecx + eax*8 + 4], edi
mov eax, dword [esp + 0x20]
mov dword [eax], edi
pop edi
pop esi
pop ebp
mov byte [eax + 4], 1
pop ebx
add esp, 0xc
ret 8
push str.unordered_map_set_too_long
call fcn.10197fea
int3
Function at 0x1002f010
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
mov esi, dword [esp + 0x20]
mov ebp, ecx
push edi
mov edx, esi
cmp dword [esi + 0x14], 0xf
mov ebx, dword [esi + 0x10]
jbe 0x1002f02a
mov edx, dword [esi]
xor ecx, ecx
mov edi, 0x811c9dc5
test ebx, ebx
je 0x1002f046
movzx eax, byte [edx + ecx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, ebx
jb 0x1002f035
push edi
push esi
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
call fcn.1002cac0
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1002f070
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
mov byte [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ebp + 8], 0x234f72c
je 0x1002f1c3
push 0x74
call fcn.101995a0
add esp, 4
mov ebx, eax
lea ecx, [ebx + 8]
push esi
call fcn.10020b00
push 0x54
lea esi, [ebx + 0x20]
push 0
push esi
call fcn.1019b040
add esp, 0xc
mov ecx, esi
call fcn.10034820
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x1c]
inc eax
movss xmm3, dword [ebp]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101f8030]
mov eax, esi
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x101f8030]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x1002f161
divss xmm2, xmm3
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call fcn.101bd490
fstp qword [esp + 0x18]
movsd xmm0, qword [esp + 0x18]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.101bf630
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp esi, ecx
jae 0x1002f144
cmp esi, 0x200
jae 0x1002f142
shl esi, 3
cmp esi, ecx
jae 0x1002f144
mov esi, ecx
push esi
mov ecx, ebp
call fcn.10030210
push edi
lea eax, [ebx + 8]
mov ecx, ebp
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1002cac0
mov edx, dword [eax]
jmp 0x1002f165
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 4]
inc dword [ebp + 8]
mov dword [ebx], edx
mov dword [ebx + 4], esi
mov dword [esi], ebx
mov dword [edx + 4], ebx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0xc]
and eax, edi
mov edi, dword [ecx + eax*8]
cmp edi, dword [ebp + 4]
jne 0x1002f18a
mov dword [ecx + eax*8], ebx
jmp 0x1002f1ab
cmp edi, edx
jne 0x1002f1a5
mov dword [ecx + eax*8], ebx
mov eax, dword [esp + 0x20]
mov dword [eax], ebx
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ecx + eax*8 + 4], esi
jne 0x1002f1af
mov dword [ecx + eax*8 + 4], ebx
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [eax], ebx
mov byte [eax + 4], 1
pop ebx
add esp, 0xc
ret 8
push str.unordered_map_set_too_long
call fcn.10197fea
int3
Function at 0x1002f1d0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
mov esi, dword [esp + 0x20]
mov ebp, ecx
push edi
mov edx, esi
cmp dword [esi + 0x14], 0xf
mov ebx, dword [esi + 0x10]
jbe 0x1002f1ea
mov edx, dword [esi]
xor ecx, ecx
mov edi, 0x811c9dc5
test ebx, ebx
je 0x1002f206
movzx eax, byte [edx + ecx]
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
cmp ecx, ebx
jb 0x1002f1f5
push edi
push esi
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
call fcn.1002cac0
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1002f230
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
mov byte [eax + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ebp + 8], 0xffffff
je 0x1002f389
push 0x100
call fcn.101995a0
add esp, 4
mov ebx, eax
lea ecx, [ebx + 8]
push esi
call fcn.10020b00
push 0xe0
lea esi, [ebx + 0x20]
push 0
push esi
call fcn.1019b040
add esp, 0xc
mov ecx, esi
call fcn.100348c0
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x1c]
inc eax
movss xmm3, dword [ebp]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101f8030]
mov eax, esi
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x101f8030]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x1002f327
divss xmm2, xmm3
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call fcn.101bd490
fstp qword [esp + 0x18]
movsd xmm0, qword [esp + 0x18]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.101bf630
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp esi, ecx
jae 0x1002f30a
cmp esi, 0x200
jae 0x1002f308
shl esi, 3
cmp esi, ecx
jae 0x1002f30a
mov esi, ecx
push esi
mov ecx, ebp
call fcn.10030210
push edi
lea eax, [ebx + 8]
mov ecx, ebp
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1002cac0
mov edx, dword [eax]
jmp 0x1002f32b
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 4]
inc dword [ebp + 8]
mov dword [ebx], edx
mov dword [ebx + 4], esi
mov dword [esi], ebx
mov dword [edx + 4], ebx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0xc]
and eax, edi
mov edi, dword [ecx + eax*8]
cmp edi, dword [ebp + 4]
jne 0x1002f350
mov dword [ecx + eax*8], ebx
jmp 0x1002f371
cmp edi, edx
jne 0x1002f36b
mov dword [ecx + eax*8], ebx
mov eax, dword [esp + 0x20]
mov dword [eax], ebx
mov byte [eax + 4], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
cmp dword [ecx + eax*8 + 4], esi
jne 0x1002f375
mov dword [ecx + eax*8 + 4], ebx
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [eax], ebx
mov byte [eax + 4], 1
pop ebx
add esp, 0xc
ret 8
push str.unordered_map_set_too_long
call fcn.10197fea
int3