joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1001ace0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
cmp byte [0x1129003c], 0
je 0x1001ae75
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
test ecx, ecx
je 0x1001ae75
call fcn.100b55c0
test al, al
jne 0x1001ad19
mov dword [0x112911f8], 0
mov esp, ebp
pop ebp
ret
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
call fcn.100b5ff0
cmp eax, 8
je 0x1001ae75
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
call fcn.100b5ff0
cmp eax, 9
je 0x1001ae75
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
call fcn.1001a820
test byte [eax], 1
jne 0x1001ae75
push dword [0x11290010]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1001ae75
cmp byte [0x11290c66], al
je 0x1001ae75
push edi
mov edi, dword [ebp + 8]
cmp byte [0x11290d5c], al
jne 0x1001ae91
mov eax, dword [0x11290d6c]
push ebx
xor ebx, ebx
push esi
mov ecx, dword [eax + 0x1c]
mov eax, dword [edi + 0x30]
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], ecx
lea eax, [ecx - 1]
mov dword [ebp - 8], eax
push eax
mov eax, dword [0x111013cc]
push 0
mov eax, dword [eax]
call eax
mov ecx, dword [edi + 0x30]
mov eax, ecx
or eax, 4
and ecx, 0xfffffffb
test ebx, ebx
cmovne ecx, eax
xor esi, esi
mov dword [edi + 0x30], ecx
nop word [eax + eax]
mov ecx, dword [0x11290cfc]
push edi
call fcn.10051da0
mov ecx, dword [0x11290cfc]
call fcn.10003b40
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
call fcn.1001a820
test byte [eax], 1
jne 0x1001ae34
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
call fcn.1001ab40
movss xmm1, dword [0x11064b14]
comiss xmm1, dword [0x11290c8c]
movss xmm0, dword [eax + 8]
jbe 0x1001ae27
ucomiss xmm0, dword [0x11064b68]
lahf
test ah, 0x44
jnp 0x1001ae45
inc esi
mov byte [0x11290d5c], 0
cmp esi, 8
jl 0x1001add0
mov eax, dword [ebp - 4]
inc ebx
cmp ebx, 2
jge 0x1001ae79
mov eax, dword [ebp - 8]
jmp 0x1001ada4
mov byte [0x11290d5c], 1
test ebx, ebx
je 0x1001ae65
mov eax, dword [edi + 8]
add eax, 0x10
add eax, esi
mov dword [0x112911f8], eax
mov eax, dword [edi + 0x30]
mov dword [ebp - 4], eax
jmp 0x1001ae37
mov eax, dword [ebp - 4]
pop esi
mov byte [0x11290d5c], 0
mov dword [edi + 0x30], eax
pop ebx
pop edi
mov esp, ebp
pop ebp
ret
push dword [ebp - 0xc]
mov dword [edi + 0x30], eax
mov eax, dword [0x111013cc]
push 0
mov eax, dword [eax]
call eax
pop esi
pop ebx
pop edi
mov esp, ebp
pop ebp
ret
or dword [edi + 0x30], 4
mov eax, dword [edi + 8]
cmp eax, dword [0x112911f8]
jle 0x1001ae74
movss xmm0, dword [0x11290c8c]
ucomiss xmm0, dword [0x11064b68]
lahf
test ah, 0x44
jnp 0x1001ae74
mov byte [0x11290d5c], 0
pop edi
mov esp, ebp
pop ebp
ret
Function at 0x1002f0e0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
cmp byte [0x1128ff90], 0
je 0x1002f1c0
push dword [0x1128ff94]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1002f1c0
cmp byte [0x1128ff91], 0
je 0x1002f1c0
mov eax, dword [0x11290b50]
xor ecx, ecx
movss xmm0, dword [eax + 0x10]
comiss xmm0, dword [0x112911bc]
movzx eax, byte [0x11290d59]
cmova eax, ecx
mov byte [0x11290d59], al
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
test ecx, ecx
jne 0x1002f147
mov dword [0x112911bc], ecx
pop ebp
ret
call fcn.100b5ff0
cmp eax, 9
je 0x1002f1c0
cmp eax, 8
je 0x1002f1c0
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
call fcn.1001a820
test byte [eax], 1
mov eax, dword [0x11290b50]
je 0x1002f177
mov ecx, dword [eax + 0x1c]
mov dword [0x112911c0], ecx
jmp 0x1002f17d
mov ecx, dword [0x112911c0]
mov eax, dword [eax + 0x1c]
sub eax, ecx
cmp eax, 2
jg 0x1002f1c0
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
call fcn.1001a820
test byte [eax], 1
jne 0x1002f1c0
mov eax, dword [ebp + 8]
or dword [eax + 0x30], 4
mov eax, dword [0x11290b50]
movss xmm0, dword [eax + 0x10]
addss xmm0, dword [0x10122b70]
mov byte [0x11290d59], 1
movss dword [0x112911bc], xmm0
pop ebp
ret
Function at 0x10039d10
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
push 0x11066c5c
push dword [ebp + 8]
lea eax, [ebp + 8]
mov edi, ecx
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
mov eax, dword [ebp + 8]
add esp, 0xc
test eax, eax
je 0x10039e16
push 2
push 0
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
push dword [ebp + 8]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
add esp, 0x10
mov dword [ebp - 4], eax
test eax, eax
je 0x10039e16
mov esi, dword [ebp + 0xc]
xor ebx, ebx
cmp esi, 2
je 0x10039d6a
cmp esi, 1
jne 0x10039d6f
mov ebx, 2
test esi, esi
jne 0x10039d78
lea ebx, [esi + 1]
jmp 0x10039d87
cmp esi, 4
je 0x10039d82
cmp esi, 3
jne 0x10039d87
mov ebx, 4
add eax, ebx
push eax
call fcn.1011873e
push 0
push 0
push dword [ebp + 8]
mov dword [ebp + 0xc], eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
push dword [ebp + 8]
push dword [ebp - 4]
push 1
push dword [ebp + 0xc]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov ecx, dword [ebp - 4]
add esp, 0x20
cmp eax, ecx
jne 0x10039e16
test ebx, ebx
je 0x10039dd2
push ebx
mov ebx, dword [ebp + 0xc]
push 0
lea eax, [ebx + ecx]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
jmp 0x10039dd5
mov ebx, dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
mov ecx, edi
push esi
push ebx
call fcn.10037a60
push ebx
call fcn.10118747
mov eax, dword [edi + 0x28]
add esp, 4
mov ecx, dword [eax]
test ecx, ecx
je 0x10039e0f
nop dword [eax]
cmp ecx, 0x20
jne 0x10039e21
mov ecx, dword [eax + 4]
add eax, 4
test ecx, ecx
jne 0x10039e00
mov dword [edi + 0x2c], 0
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [edi + 0x2c], eax
test eax, eax
je 0x10039e16
push 0x20
call fcn.10117bb7
mov ecx, eax
add esp, 4
mov dword [ebp + 0xc], ecx
test ecx, ecx
je 0x10039e7e
xorps xmm0, xmm0
movq qword [ecx], xmm0
mov dword [ecx + 8], 0
mov dword [ecx + 4], 1
mov dword [ecx + 8], 1
mov dword [ecx], vtable.std::_Ref_count_obj2_class_valve_parser::node_.0
mov dword [ecx + 0xc], vtable.valve_parser::node.0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x10], edi
jmp 0x10039e80
xor ecx, ecx
mov esi, dword [edi + 0x34]
lea eax, [ecx + 0xc]
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], ecx
test esi, esi
je 0x10039eb1
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x10039eb1
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x10039eb1
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [edi + 0x30]
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x100655e0
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [ebp - 8], 0
push ebx
push esi
mov esi, dword [0x11296578]
mov dword [ebp - 0xc], esi
push edi
mov edi, dword [esi + 0x198c]
test cl, 0x10
jne 0x1006571d
mov ebx, dword [edi + 0x10c]
lea eax, [esi + 0x19ac]
mov dword [ebp - 8], eax
test ebx, ebx
je 0x10065628
cmp dword [eax], ebx
jne 0x10065714
jmp 0x1006562b
mov dword [ebp - 8], eax
cmp byte [esi + 0xe8], 0
je 0x10065714
test ebx, ebx
jne 0x100656cd
test cl, 8
je 0x10065714
mov cl, byte [edi + 0x110]
and cl, 1
mov byte [ebp - 1], cl
jne 0x10065683
cmp dword [eax], ebx
je 0x10065714
cmp dword [esi + 0x19d4], edi
jne 0x10065714
lea eax, [edi + 0x114]
mov ecx, edi
push eax
call fcn.10069710
mov ebx, eax
mov dword [edi + 0x10c], ebx
jmp 0x100656bb
lea eax, [edi + 0x114]
mov ecx, edi
push eax
call fcn.10069710
mov ebx, eax
push ebx
mov dword [edi + 0x10c], ebx
call fcn.10072190
add esp, 4
cmp byte [esi + 0x3d0], 0
je 0x100656bb
push edi
push ebx
call fcn.10071cb0
push edi
call fcn.10068cc0
add esp, 0xc
mov eax, dword [ebp - 8]
cmp dword [eax], ebx
jne 0x10065714
mov cl, byte [ebp - 1]
mov byte [esi + 0x19bd], cl
jmp 0x100656d4
mov byte [esi + 0x19bd], 0
cmp dword [eax], ebx
jne 0x10065714
mov ecx, dword [edi + 0x1c0]
mov eax, dword [edi + 0x1c8]
mov eax, dword [eax + ecx*4 - 4]
mov dword [ebp - 8], eax
mov eax, dword [0x11296578]
cmp byte [eax + 0xe8], 0
je 0x10065714
movss xmm1, dword [eax + 0x30]
movss xmm0, dword [eax + 0x434]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae al
test al, al
jne 0x1006575c
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
xor edi, edi
or ebx, 0xffffffff
mov edx, 0x110c0bf1
mov al, 0x23
or esi, 0xffffffff
nop dword [eax]
cmp al, 0x23
jne 0x1006573e
cmp byte [edx], al
jne 0x1006573e
cmp byte [edx + 1], al
cmove ebx, esi
movzx ecx, bl
movzx eax, al
xor ecx, eax
shr ebx, 8
mov al, byte [edx]
inc edx
xor ebx, dword [ecx*4 + 0x110bfed8]
test al, al
jne 0x10065730
mov esi, dword [ebp - 0xc]
not ebx
cmp byte [esi + 0x1c68], 0
jne 0x10065795
call fcn.100668a0
mov eax, dword [ebp - 8]
mov dword [esi + 0x1c80], ebx
mov ebx, dword [ebp + 8]
mov dword [esi + 0x1c84], eax
mov byte [esi + 0x1c68], 1
mov dword [esi + 0x1c6c], ebx
mov dword [esi + 0x1c74], 0
jmp 0x10065798
mov ebx, dword [ebp + 8]
mov eax, dword [esi + 0x1940]
mov dword [esi + 0x1c70], eax
mov byte [esi + 0x1c69], 1
test bl, 1
jne 0x100657de
call fcn.10065b80
cmp dword [esi + 0x1cd0], 0
je 0x100657de
test dword [esi + 0x1cc4], 0x1000
je 0x100657de
mov eax, dword [esi + 0x198c]
mov byte [eax + 0x7f], 1
mov dword [eax + 0xa4], 1
test bl, 0x12
jne 0x100657ea
and dword [edi + 0x110], 0xfffffffe
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x100673b0
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
mov esi, dword [0x11296578]
push edi
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov edi, dword [esi + 0x2c5c]
mov ecx, dword [esi + 0x2c60]
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov byte [ebp - 4], 0
cmp edi, ecx
jne 0x100674a7
inc edi
test ecx, ecx
je 0x10067411
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x10067416
mov eax, 8
cmp eax, edi
cmovg edi, eax
cmp edi, ecx
jle 0x100674a7
test esi, esi
je 0x1006742d
inc dword [esi + 0x36c]
push dword [0x11296580]
lea eax, [edi*8]
sub eax, edi
shl eax, 2
push eax
call dword [0x11101808]
mov ebx, eax
add esp, 8
mov eax, dword [esi + 0x2c64]
test eax, eax
je 0x1006749b
mov ecx, dword [esi + 0x2c5c]
lea edx, [ecx*8]
sub edx, ecx
shl edx, 2
push edx
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esi + 0x2c64]
add esp, 0xc
test ecx, ecx
je 0x1006748b
mov eax, dword [0x11296578]
test eax, eax
je 0x1006748b
dec dword [eax + 0x36c]
push dword [0x11296580]
push ecx
call dword [0x1110180c]
add esp, 8
mov dword [esi + 0x2c64], ebx
mov dword [esi + 0x2c60], edi
mov eax, dword [esi + 0x2c5c]
mov ecx, dword [esi + 0x2c64]
movups xmm0, xmmword [ebp - 0x1c]
mov edi, dword [ebp + 8]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ebp - 4]
movups xmmword [ecx + edx*4], xmm0
movq xmm0, qword [ebp - 0xc]
movq qword [ecx + edx*4 + 0x10], xmm0
mov dword [ecx + edx*4 + 0x18], eax
inc dword [esi + 0x2c5c]
mov eax, dword [esi + 0x2c5c]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esi + 0x2c64]
mov esi, edi
lea ebx, [eax + ecx*4]
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x10067500
mov eax, dword [0x11296578]
sub esi, ecx
test eax, eax
je 0x10067518
inc dword [eax + 0x36c]
push dword [0x11296580]
inc esi
push esi
call dword [0x11101808]
push esi
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov dword [ebx - 0x1c], eax
lea esi, [edi + 1]
mov al, byte [edi]
add esp, 0x14
or edx, 0xffffffff
test al, al
je 0x1006756a
or edi, 0xffffffff
cmp al, 0x23
jne 0x10067551
cmp byte [esi], al
jne 0x10067551
cmp byte [esi + 1], al
cmove edx, edi
movzx ecx, dl
movzx eax, al
xor ecx, eax
shr edx, 8
mov al, byte [esi]
inc esi
xor edx, dword [ecx*4 + 0x110bfed8]
test al, al
jne 0x10067543
pop edi
not edx
lea eax, [ebx - 0x1c]
pop esi
mov dword [ebx - 0x18], edx
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x10068bb0
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
or eax, 0xffffffff
push ebx
push esi
push edi
mov bl, byte [ecx]
lea esi, [ecx + 1]
or ecx, 0xffffffff
test bl, bl
je 0x10068bf5
cmp bl, 0x23
jne 0x10068bd7
cmp byte [esi], bl
jne 0x10068bd7
cmp byte [esi + 1], bl
cmove eax, ecx
movzx edx, al
movzx ecx, bl
mov bl, byte [esi]
xor edx, ecx
shr eax, 8
inc esi
mov ecx, 0xffffffff
xor eax, dword [edx*4 + 0x110bfed8]
test bl, bl
jne 0x10068bc8
mov ecx, dword [0x11296578]
not eax
mov esi, dword [ecx + 0x197c]
mov edi, dword [ecx + 0x1984]
lea ebx, [edi + esi*8]
test esi, esi
je 0x10068c2e
mov edx, esi
shr edx, 1
cmp dword [edi + edx*8], eax
lea ecx, [edi + edx*8]
jae 0x10068c28
lea edi, [ecx + 8]
or ecx, 0xffffffff
sub ecx, edx
add esi, ecx
jmp 0x10068c2a
mov esi, edx
test esi, esi
jne 0x10068c10
cmp edi, ebx
je 0x10068c3e
cmp dword [edi], eax
jne 0x10068c3e
mov eax, dword [edi + 4]
pop edi
pop esi
pop ebx
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret

Function at 0x100696a0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ecx + 0x1c0]
mov eax, dword [ecx + 0x1c8]
push esi
push edi
lea esi, [ebp + 8]
mov edi, 4
mov eax, dword [eax + edx*4 - 4]
not eax
nop
movzx ecx, byte [esi]
lea esi, [esi + 1]
movzx edx, al
xor edx, ecx
shr eax, 8
xor eax, dword [edx*4 + 0x110bfed8]
sub edi, 1
jne 0x100696c0
mov ecx, dword [0x11296578]
not eax
pop edi
pop esi
cmp dword [ecx + 0x19ac], eax
jne 0x100696f2
mov dword [ecx + 0x19b4], eax
cmp dword [ecx + 0x19b0], eax
jne 0x10069701
mov byte [ecx + 0x19c0], 1
pop ebp
ret 4

Function at 0x10069710
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov edx, dword [ebp + 8]
push esi
mov esi, ecx
push edi
movss xmm0, dword [edx]
mov edi, 0x10
subss xmm0, dword [esi + 0xc]
mov ecx, dword [esi + 0x1c0]
cvttss2si eax, xmm0
movss xmm0, dword [edx + 4]
subss xmm0, dword [esi + 0x10]
mov dword [ebp - 0x10], eax
cvttss2si eax, xmm0
movss xmm0, dword [edx + 8]
subss xmm0, dword [esi + 0xc]
mov dword [ebp - 0xc], eax
cvttss2si eax, xmm0
movss xmm0, dword [edx + 0xc]
subss xmm0, dword [esi + 0x10]
mov dword [ebp - 8], eax
cvttss2si eax, xmm0
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x1c8]
lea esi, [ebp - 0x10]
mov edx, dword [eax + ecx*4 - 4]
not edx
nop word [eax + eax]
movzx eax, byte [esi]
lea esi, [esi + 1]
movzx ecx, dl
xor ecx, eax
shr edx, 8
xor edx, dword [ecx*4 + 0x110bfed8]
sub edi, 1
jne 0x10069780
mov eax, dword [0x11296578]
not edx
pop edi
pop esi
cmp dword [eax + 0x19ac], edx
jne 0x100697b1
mov dword [eax + 0x19b4], edx
cmp dword [eax + 0x19b0], edx
jne 0x100697c0
mov byte [eax + 0x19c0], 1
mov eax, edx
mov esp, ebp
pop ebp
ret 4
Function at 0x10069f10
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x10069f22
mov dword [edi], 0
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.1006a020
mov esi, eax
add esp, 8
test esi, esi
jne 0x10069f3a
pop edi
pop esi
pop ebp
ret
push ebx
push 2
push 0
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
add esp, 0xc
test eax, eax
jne 0x1006a006
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov ebx, eax
add esp, 4
cmp ebx, 0xffffffff
je 0x1006a006
push 0
push 0
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
add esp, 0xc
test eax, eax
jne 0x1006a006
mov eax, dword [ebp + 0x14]
add eax, ebx
push eax
call fcn.1006c030
add esp, 4
mov dword [ebp + 0x10], eax
test eax, eax
je 0x1006a006
push esi
push ebx
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add esp, 0x10
cmp eax, ebx
je 0x10069fd6
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov eax, dword [0x11296578]
add esp, 4
test eax, eax
je 0x10069fbc
dec dword [eax + 0x36c]
push dword [0x11296580]
mov eax, dword [ebp + 0x10]
push eax
call dword [0x1110180c]
add esp, 8
xor eax, eax
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp + 0x14]
test eax, eax
jle 0x10069fee
push eax
mov eax, dword [ebp + 0x10]
add eax, ebx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
test edi, edi
je 0x10069ffe
mov dword [edi], ebx
mov eax, dword [ebp + 0x10]
pop ebx
pop edi
pop esi
pop ebp
ret
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
xor eax, eax
pop ebx
pop edi
pop esi
pop ebp
ret
Function at 0x1006b0d0
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push esi
push edi
or eax, 0xffffffff
mov dword [ebp - 4], 0
mov dword [ebp - 0x18], 0x110c02fc
mov esi, 0x110c0305
mov cl, 0x57
or edi, 0xffffffff
cmp cl, 0x23
jne 0x1006b102
cmp byte [esi], cl
jne 0x1006b102
cmp byte [esi + 1], cl
cmove eax, edi
movzx edx, al
movzx ecx, cl
xor edx, ecx
shr eax, 8
mov cl, byte [esi]
inc esi
xor eax, dword [edx*4 + 0x110bfed8]
test cl, cl
jne 0x1006b0f3
mov esi, dword [ebp + 8]
not eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x100727b0
mov dword [ebp - 0xc], 0x100726f0
mov edi, dword [esi + 0x2c50]
mov ecx, dword [esi + 0x2c54]
mov dword [ebp - 8], 0x10072850
cmp edi, ecx
jne 0x1006b1e9
inc edi
test ecx, ecx
je 0x1006b15c
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1006b161
mov eax, 8
cmp eax, edi
cmovg edi, eax
cmp edi, ecx
jle 0x1006b1e9
mov eax, dword [0x11296578]
test eax, eax
je 0x1006b179
inc dword [eax + 0x36c]
push ebx
push dword [0x11296580]
lea eax, [edi + edi*2]
shl eax, 3
push eax
call dword [0x11101808]
mov ebx, eax
add esp, 8
mov eax, dword [esi + 0x2c58]
test eax, eax
je 0x1006b1dc
mov ecx, dword [esi + 0x2c50]
lea ecx, [ecx + ecx*2]
shl ecx, 3
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esi + 0x2c58]
add esp, 0xc
test ecx, ecx
je 0x1006b1cc
mov eax, dword [0x11296578]
test eax, eax
je 0x1006b1cc
dec dword [eax + 0x36c]
push dword [0x11296580]
push ecx
call dword [0x1110180c]
add esp, 8
mov dword [esi + 0x2c58], ebx
mov dword [esi + 0x2c54], edi
pop ebx
mov eax, dword [esi + 0x2c50]
movups xmm0, xmmword [ebp - 0x18]
pop edi
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x2c58]
movups xmmword [eax + ecx*8], xmm0
movq xmm0, qword [ebp - 8]
movq qword [eax + ecx*8 + 0x10], xmm0
inc dword [esi + 0x2c50]
mov byte [esi], 1
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x1006bc60
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov edx, dword [0x11296578]
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 8], edx
push edi
mov edi, dword [ebp + 8]
test esi, esi
jne 0x1006bc8a
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x1006bc81
sub esi, ecx
test edx, edx
je 0x1006bc94
inc dword [edx + 0x36c]
push dword [0x11296580]
lea eax, [esi + 1]
push eax
call dword [0x11101808]
mov ebx, eax
push esi
push edi
push ebx
lea ecx, [ebx + esi]
mov dword [ebp - 0xc], ebx
mov dword [ebp + 0xc], ecx
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebp + 0xc]
xor ecx, ecx
add esp, 0x14
mov dword [ebp - 4], ecx
xor esi, esi
mov byte [edx], 0
cmp ebx, edx
jae 0x1006be1a
nop
mov al, byte [ebx]
cmp al, 0xa
je 0x1006be51
cmp al, 0xd
je 0x1006be51
mov edi, ebx
cmp ebx, edx
jae 0x1006bcf7
mov al, byte [edi]
cmp al, 0xa
je 0x1006bcf7
cmp al, 0xd
je 0x1006bcf7
inc edi
cmp edi, edx
jb 0x1006bce8
mov byte [edi], 0
mov al, byte [ebx]
cmp al, 0x3b
je 0x1006be0f
cmp al, 0x5b
jne 0x1006bdf3
cmp edi, ebx
jbe 0x1006bdf3
cmp byte [edi - 1], 0x5d
lea eax, [edi - 1]
mov dword [ebp - 0x10], eax
jne 0x1006bdf3
lea esi, [ebx + 1]
mov byte [eax], 0
sub eax, esi
push eax
push 0x5d
push esi
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
mov dword [ebp - 4], eax
test eax, eax
je 0x1006bd61
mov edx, dword [ebp - 0x10]
lea ecx, [eax + 1]
sub edx, ecx
push edx
push 0x5b
push ecx
call sub.VCRUNTIME140.dll_memchr
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x1006bd61
mov eax, dword [ebp - 4]
mov byte [eax], 0
jmp 0x1006bd68
mov esi, 0x110c0c60
mov ecx, ebx
mov ebx, dword [0x11296578]
lea eax, [ecx + 1]
mov cl, byte [esi]
inc esi
mov dword [ebp - 0x10], eax
or eax, 0xffffffff
test cl, cl
je 0x1006bdaf
or ebx, 0xffffffff
cmp cl, 0x23
jne 0x1006bd90
cmp byte [esi], cl
jne 0x1006bd90
cmp byte [esi + 1], cl
cmove eax, ebx
movzx edx, al
movzx ecx, cl
xor edx, ecx
shr eax, 8
mov cl, byte [esi]
inc esi
xor eax, dword [edx*4 + 0x110bfed8]
test cl, cl
jne 0x1006bd81
mov ebx, dword [0x11296578]
mov edx, dword [ebx + 0x2c50]
xor ecx, ecx
not eax
test edx, edx
jle 0x1006bdd0
mov esi, dword [ebx + 0x2c58]
cmp dword [esi + 4], eax
je 0x1006bdd9
inc ecx
add esi, 0x18
cmp ecx, edx
jl 0x1006bdc3
xor esi, esi
xor ecx, ecx
mov dword [ebp - 4], ecx
jmp 0x1006be0c
test esi, esi
je 0x1006bdd2
push dword [ebp - 0x10]
mov eax, dword [esi + 8]
push esi
push dword [ebp - 8]
call eax
mov ecx, eax
add esp, 0xc
mov dword [ebp - 4], ecx
jmp 0x1006be0c
test esi, esi
je 0x1006be0f
test ecx, ecx
je 0x1006be0f
mov eax, dword [esi + 0xc]
push ebx
push ecx
push esi
push dword [ebp - 8]
call eax
mov ecx, dword [ebp - 4]
add esp, 0x10
mov edx, dword [ebp + 0xc]
lea ebx, [edi + 1]
cmp ebx, edx
jb 0x1006bcd0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
test ecx, ecx
je 0x1006be33
mov eax, dword [0x11296578]
test eax, eax
je 0x1006be33
dec dword [eax + 0x36c]
push dword [0x11296580]
push ecx
call dword [0x1110180c]
mov eax, dword [ebp - 8]
add esp, 8
mov byte [eax + 0x2c3c], 1
mov esp, ebp
pop ebp
ret
inc ebx
jmp 0x1006bcd0
Function at 0x10070470
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [0x11296578]
lea edx, [ebp + 8]
push ebx
push esi
push edi
mov eax, dword [eax + 0x198c]
mov esi, 4
mov ebx, dword [eax + 0x1c8]
lea edi, [eax + 0x1c0]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp + 8], eax
mov eax, dword [edi]
mov ebx, dword [ebx + eax*4 - 4]
not ebx
movzx eax, byte [edx]
lea edx, [edx + 1]
movzx ecx, bl
xor ecx, eax
shr ebx, 8
xor ebx, dword [ecx*4 + 0x110bfed8]
sub esi, 1
jne 0x100704a7
mov eax, dword [ebp - 4]
not ebx
mov esi, dword [edi]
mov ecx, dword [eax + 0x1c4]
cmp esi, ecx
jne 0x100704f7
inc esi
test ecx, ecx
je 0x100704e2
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x100704e7
mov eax, 8
cmp eax, esi
mov ecx, edi
cmovg esi, eax
push esi
call fcn.10074b50
mov eax, dword [ebp - 4]
mov ecx, dword [edi]
mov eax, dword [eax + 0x1c8]
mov dword [eax + ecx*4], ebx
inc dword [edi]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x10071bb0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [ebp + 8], 0
mov eax, dword [0x11296578]
mov dword [eax + 0x2c40], 0
je 0x10071ca5
push esi
mov esi, dword [0x11296578]
push edi
lea edi, [esi + 0x2c44]
mov dword [esi + 0x2c40], 0
mov ecx, dword [edi + 4]
test ecx, ecx
jns 0x10071c04
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
mov ecx, edi
call fcn.10074a50
mov dword [edi], 0
cmp dword [edi + 4], 0
jne 0x10071c19
push 8
mov ecx, edi
call fcn.10074a50
mov eax, dword [edi]
mov ecx, dword [edi + 8]
push ebx
mov dword [ebp - 4], 0
mov byte [ecx + eax], 0
inc dword [edi]
cmp dword [esi + 0x2c50], 0
jle 0x10071c5c
xor ebx, ebx
mov eax, dword [esi + 0x2c58]
add eax, ebx
push edi
push eax
push esi
mov eax, dword [eax + 0x10]
call eax
mov eax, dword [ebp - 4]
add esp, 0xc
inc eax
add ebx, 0x18
mov dword [ebp - 4], eax
cmp eax, dword [esi + 0x2c50]
jl 0x10071c37
mov edi, dword [edi]
mov ebx, 0x1129657c
push 0x110c0c68
push dword [ebp + 8]
lea eax, [edi - 1]
neg edi
sbb edi, edi
and edi, eax
mov eax, dword [esi + 0x2c4c]
test eax, eax
cmovne ebx, eax
call fcn.1006a020
mov esi, eax
add esp, 8
test esi, esi
je 0x10071ca2
push esi
push edi
push 1
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0x14
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret