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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
sub esp, 0x18
mov edx, dword [ebp + 8]
push ebx
mov ebx, ecx
cmp edx, eax
je 0x100a20b6
mov eax, dword [ebx + 4]
mov dword [ebp - 0x14], eax
mov eax, dword [edx + 4]
mov dword [ebp - 8], eax
movzx eax, byte [edx + 8]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edx + 9]
push esi
push edi
mov edi, dword [ebx + 0xc]
mov esi, edx
xor ecx, eax
mov dword [ebp - 0x18], edi
movzx eax, byte [edx + 0xa]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 0xb]
imul ecx, ecx, 0x1000193
xor ecx, eax
mov eax, dword [ebx + 0x18]
imul ecx, ecx, 0x1000193
and eax, ecx
mov ecx, dword [edi + eax*8]
mov dword [ebp - 4], ecx
lea eax, [edi + eax*8]
mov dword [ebp - 0xc], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
mov eax, esi
mov edi, esi
mov esi, dword [esi]
push 0x18
push eax
call fcn.100e1ead
dec dword [ebx + 8]
add esp, 8
cmp edi, dword [ebp - 0x10]
je 0x100a2019
mov eax, dword [ebp + 0xc]
cmp esi, eax
jne 0x100a1fd7
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp + 8]
jne 0x100a20ac
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
pop edi
mov dword [edx], esi
mov dword [ecx], esi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
cmp ecx, dword [ebp + 8]
jne 0x100a202d
mov eax, dword [ebp - 0x14]
mov ecx, eax
mov dword [edx], eax
jmp 0x100a2030
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0xc]
mov dword [edx + 4], ecx
cmp esi, eax
je 0x100a20ac
nop word [eax + eax]
movzx eax, byte [esi + 8]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [esi + 9]
xor ecx, eax
movzx eax, byte [esi + 0xa]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esi + 0xb]
imul ecx, ecx, 0x1000193
xor ecx, eax
mov eax, dword [ebx + 0x18]
imul ecx, ecx, 0x1000193
and eax, ecx
mov ecx, dword [ebp - 0x18]
lea eax, [ecx + eax*8]
mov dword [ebp - 4], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
mov eax, esi
mov edi, esi
mov esi, dword [esi]
push 0x18
push eax
call fcn.100e1ead
dec dword [ebx + 8]
add esp, 8
mov eax, dword [ebp + 0xc]
cmp edi, dword [ebp - 0x10]
je 0x100a20bd
cmp esi, eax
jne 0x100a2087
mov ecx, dword [ebp - 4]
mov dword [ecx], esi
mov ecx, dword [ebp - 8]
pop edi
mov dword [ecx], esi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
mov dword [ecx], edx
mov dword [ecx + 4], edx
cmp esi, eax
jne 0x100a2040
mov ecx, dword [ebp - 8]
pop edi
mov dword [ecx], esi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x100c5ee0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov dword [ebp - 0xc], ecx
mov ecx, dword [0x101167cc]
push ebx
push esi
push edi
mov eax, dword [ecx]
push dword [ebp + 8]
mov dword [ebp - 8], edx
mov eax, dword [eax + 0x90]
call eax
mov ecx, dword [0x101168b0]
mov ebx, eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 4], eax
cmp byte [eax + 0xc], 0
je 0x100c5f6e
mov ecx, ebx
mov edi, 0x811c9dc5
xor edx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c5f22
sub ecx, esi
je 0x100c5f6b
nop dword [eax]
movsx eax, byte [edx + ebx]
mov ecx, ebx
xor eax, edi
imul edi, eax, 0x1000193
inc edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c5f42
sub ecx, esi
cmp edx, ecx
jb 0x100c5f30
cmp edi, 0xfa2b47a2
jne 0x100c5f6b
mov eax, dword [0x10116880]
mov eax, dword [eax + 0xa8]
cmp byte [eax], 0
je 0x100c605c
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc8], 0
je 0x100c6047
mov ecx, ebx
mov edi, 0x811c9dc5
xor edx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c5f87
sub ecx, esi
je 0x100c5fbd
movsx eax, byte [edx + ebx]
mov ecx, ebx
xor eax, edi
imul edi, eax, 0x1000193
inc edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c5fa4
sub ecx, esi
cmp edx, ecx
jb 0x100c5f92
cmp edi, 0x56494f74
je 0x100c605c
mov ecx, ebx
mov edi, 0x811c9dc5
xor edx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c5fd0
sub ecx, esi
je 0x100c6007
nop dword [eax + eax]
movsx eax, byte [edx + ebx]
mov ecx, ebx
xor eax, edi
imul edi, eax, 0x1000193
inc edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c5ff2
sub ecx, esi
cmp edx, ecx
jb 0x100c5fe0
cmp edi, 0x2b42bdff
je 0x100c605c
mov ecx, ebx
mov edi, 0x811c9dc5
xor edx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c6013
sub ecx, esi
je 0x100c6047
nop
movsx eax, byte [edx + ebx]
mov ecx, ebx
xor eax, edi
imul edi, eax, 0x1000193
inc edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c6032
sub ecx, esi
cmp edx, ecx
jb 0x100c6020
cmp edi, 0x223449c4
je 0x100c605c
push dword [ebp + 0x10]
mov edx, dword [ebp - 8]
push dword [ebp + 0xc]
mov ecx, dword [ebp - 0xc]
push dword [ebp + 8]
call dword [sym.ateris.dll_void____fastcall___void___void___unsigned_int__bool__bool__PaintTraverse::OriginalFunction]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x100c6e70
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x10116880]
push ebx
push esi
push edi
mov eax, dword [eax + 0xa8]
mov dword [ebp - 4], edx
mov dword [ebp - 8], ecx
cmp byte [eax], 0
jne 0x100c6f0f
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x100c6f0f
mov eax, dword [eax + 0x40]
test eax, eax
je 0x100c6f0f
lea ebx, [eax + 0x38]
mov edx, 0x811c9dc5
mov ecx, ebx
xor esi, esi
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c6eb3
sub ecx, edi
je 0x100c6f0f
nop
movsx eax, byte [esi + ebx]
xor eax, edx
imul edx, eax, 0x1000193
mov eax, ebx
inc esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100c6ed2
sub eax, edi
cmp esi, eax
jb 0x100c6ec0
cmp edx, 0xf1dac051
je 0x100c6f2d
cmp edx, 0xba191d04
je 0x100c6f2d
cmp edx, 0x70f10fa6
je 0x100c6f2d
cmp edx, 0x5d34131
je 0x100c6f2d
cmp edx, 0x6f36f8cd
je 0x100c6f2d
cmp edx, 0xffdba2c0
je 0x100c6f2d
push dword [ebp + 0x1c]
mov edx, dword [ebp - 4]
push dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.ateris.dll_void____fastcall___void___void___void___void___struct_SpriteRenderInfo_t___int__void___class_Vector___RenderSpriteCard::OriginalFunction]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
Function at 0x100d18a0
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x64
mov eax, dword [0x10111040]
xor eax, esp
mov dword [esp + 0x60], eax
push esi
push 0x40
lea eax, [esp + 0x24]
mov esi, ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, 0x20
mov dword [esp + 0x14], 0x67452301
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x2c]
shr eax, 3
mov edx, 0x3f
and eax, 0x3f
mov dword [esp + 0x18], 0xefcdab89
add ecx, eax
mov dword [esp + 0x1c], 0x98badcfe
mov dword [esp + 0x20], 0x10325476
sub edx, eax
mov dword [esp + 0x28], 0
add esp, 0xc
mov dword [esp + 0x20], esi
mov byte [ecx], 0x80
inc ecx
cmp edx, 8
jae 0x100d1942
push edx
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x14]
call fcn.100d1220
push 0x38
lea eax, [esp + 0x30]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x18
jmp 0x100d1951
lea eax, [edx - 8]
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x20]
mov dword [esp + 0x58], eax
lea ecx, [esp + 8]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x5c], eax
call fcn.100d1220
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0xe]
pop esi
xor ecx, esp
call fcn.100e1a3b
mov esp, ebp
pop ebp
ret
Function at 0x100d7960
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100eef65
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x10111040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
movzx eax, byte [esi]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [esi + 1]
xor ecx, eax
movzx eax, byte [esi + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esi + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
lea eax, [ebp - 0x14]
imul edi, ecx, 0x1000193
push edi
push esi
push eax
call fcn.100d7ea0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x100d7ac1
cmp dword [0x10113e18], 0xfffffff
jne 0x100d79ea
push str.unordered_map_set_too_long
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
mov dword [ebp - 0x1c], 0x10113e14
mov dword [ebp - 4], 0
push 0x10
mov dword [ebp - 0x18], 0
call fcn.100e1a49
mov ebx, eax
add esp, 4
mov eax, dword [esi]
mov dword [ebp - 0x18], ebx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], 0
mov dword [ebp - 4], 1
mov eax, dword [0x10113e18]
mov esi, dword [0x10113e2c]
inc eax
vmovss xmm1, dword [0x10113e10]
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10100bd0]
vcvtsd2ss xmm2, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
mov eax, esi
shr eax, 0x1f
vcvtsi2sd xmm0, xmm0, esi
vaddsd xmm0, xmm0, qword [eax*8 + 0x10100bd0]
vcvtsd2ss xmm0, xmm0, xmm0
vdivss xmm0, xmm2, xmm0
vcomiss xmm0, xmm1
jbe 0x100d7ab6
vdivss xmm0, xmm2, xmm1
call fcn.10025470
call fcn.100e2da0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp esi, ecx
jae 0x100d7a9e
cmp esi, 0x200
jae 0x100d7a9c
shl esi, 3
cmp esi, ecx
jae 0x100d7a9e
mov esi, ecx
push esi
call fcn.100d7d30
push edi
lea eax, [ebx + 8]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.100d7ea0
mov ecx, dword [eax]
jmp 0x100d7ab9
mov ecx, dword [ebp - 0x14]
push ebx
push ecx
push edi
call fcn.100d7cc0
add eax, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x100d7ae0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100eefa5
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x10111040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
movzx eax, byte [esi]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [esi + 1]
xor ecx, eax
movzx eax, byte [esi + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esi + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
lea eax, [ebp - 0x18]
imul edi, ecx, 0x1000193
push edi
push esi
push eax
call fcn.100d7ea0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x100d7c41
cmp dword [0x10113e18], 0xfffffff
jne 0x100d7b6a
push str.unordered_map_set_too_long
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
mov dword [ebp - 0x20], 0x10113e14
mov dword [ebp - 4], 0
push 0x10
mov dword [ebp - 0x1c], 0
call fcn.100e1a49
mov ebx, eax
add esp, 4
mov eax, dword [esi]
mov dword [ebp - 0x1c], ebx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], 0
mov dword [ebp - 4], 1
mov eax, dword [0x10113e18]
mov esi, dword [0x10113e2c]
inc eax
vmovss xmm1, dword [0x10113e10]
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10100bd0]
vcvtsd2ss xmm2, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
mov eax, esi
shr eax, 0x1f
vcvtsi2sd xmm0, xmm0, esi
vaddsd xmm0, xmm0, qword [eax*8 + 0x10100bd0]
vcvtsd2ss xmm0, xmm0, xmm0
vdivss xmm0, xmm2, xmm0
vcomiss xmm0, xmm1
jbe 0x100d7c36
vdivss xmm0, xmm2, xmm1
call fcn.10025470
call fcn.100e2da0
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp esi, ecx
jae 0x100d7c1e
cmp esi, 0x200
jae 0x100d7c1c
shl esi, 3
cmp esi, ecx
jae 0x100d7c1e
mov esi, ecx
push esi
call fcn.100d7d30
push edi
lea eax, [ebx + 8]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.100d7ea0
mov ecx, dword [eax]
jmp 0x100d7c39
mov ecx, dword [ebp - 0x18]
push ebx
push ecx
push edi
call fcn.100d7cc0
add eax, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x100d7d30
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1fffffff
sub esp, 0x10
bsr ecx, eax
push ebx
push esi
push edi
mov edi, 1
mov eax, edi
shl eax, cl
mov ecx, dword [ebp + 8]
cmp ecx, eax
jbe 0x100d7d5c
push str.invalid_hash_bucket_count
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
lea eax, [ecx - 1]
mov esi, dword [0x10113e14]
or eax, 1
mov dword [ebp - 8], esi
bsr ecx, eax
push esi
lea ecx, [ecx + 1]
shl edi, cl
mov ecx, 0x10113e1c
lea eax, [edi + edi]
push eax
call fcn.1001b210
mov eax, dword [0x10113e14]
lea ebx, [edi - 1]
mov dword [0x10113e28], ebx
mov dword [0x10113e2c], edi
mov eax, dword [eax]
mov ecx, eax
cmp eax, esi
je 0x100d7e96
movzx edx, byte [eax + 8]
xor edx, 0x811c9dc5
mov ecx, dword [ecx]
imul edi, edx, 0x1000193
movzx edx, byte [eax + 9]
xor edi, edx
movzx edx, byte [eax + 0xa]
imul edi, edi, 0x1000193
xor edi, edx
movzx edx, byte [eax + 0xb]
imul edi, edi, 0x1000193
xor edi, edx
mov edx, dword [0x10113e1c]
imul edi, edi, 0x1000193
and edi, ebx
mov ebx, dword [edx + edi*8]
lea edx, [edx + edi*8]
mov dword [ebp - 0xc], edx
cmp ebx, esi
jne 0x100d7df4
mov dword [edx], eax
mov dword [edx + 4], eax
jmp 0x100d7e61
mov edx, dword [edx + 4]
mov edi, dword [eax + 8]
cmp edi, dword [edx + 8]
jne 0x100d7e2e
mov edx, dword [edx]
mov dword [ebp - 4], edx
cmp edx, eax
je 0x100d7e26
mov ebx, dword [eax + 4]
mov esi, dword [ebp - 4]
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp - 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
mov edx, dword [ebp - 0xc]
mov dword [edx + 4], eax
jmp 0x100d7e61
cmp ebx, edx
je 0x100d7e3e
mov edx, dword [edx + 4]
cmp edi, dword [edx + 8]
je 0x100d7e72
cmp ebx, edx
jne 0x100d7e32
mov ebx, dword [eax + 4]
mov dword [ebp - 4], ebx
mov dword [ebx], ecx
mov ebx, dword [ecx + 4]
mov dword [ebx], edx
mov edi, dword [edx + 4]
mov dword [edi], eax
mov dword [edx + 4], ebx
mov edx, dword [ebp - 4]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xc]
mov dword [eax + 4], edi
mov dword [edx], eax
mov eax, ecx
cmp ecx, esi
je 0x100d7e96
mov ebx, dword [0x10113e28]
jmp 0x100d7da2
mov ebx, dword [eax + 4]
mov edx, dword [edx]
mov dword [ebp - 4], edx
mov esi, edx
mov dword [ebx], ecx
mov edi, dword [ecx + 4]
mov dword [edi], edx
mov edx, dword [edx + 4]
mov dword [edx], eax
mov dword [esi + 4], edi
mov esi, dword [ebp - 8]
mov dword [ecx + 4], ebx
mov dword [eax + 4], edx
jmp 0x100d7e61
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x100d8850
Capabilities:
Enumerate threads
Suspend thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x10111040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x24], edx
push edi
push 0
push 4
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov edi, eax
cmp edi, 0xffffffff
je 0x100d894a
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x1c
push eax
push edi
call dword [sym.imp.KERNEL32.dll_Thread32First]
test eax, eax
je 0x100d8943
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp dword [ebp - 0x20], 0x10
jb 0x100d8929
call ebx
cmp dword [ebp - 0x14], eax
jne 0x100d8929
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [ebp - 0x18], eax
je 0x100d8929
mov edx, dword [esi]
test edx, edx
jne 0x100d88f2
push 0x200
push edx
push dword [0x101164fc]
mov dword [esi + 4], 0x80
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edx, eax
mov dword [esi], edx
test edx, edx
je 0x100d8943
jmp 0x100d891d
mov eax, dword [esi + 4]
cmp dword [esi + 8], eax
jb 0x100d891d
shl eax, 3
push eax
push edx
push 0
push dword [0x101164fc]
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov edx, eax
test edx, edx
je 0x100d8943
mov eax, dword [esi + 4]
add eax, eax
mov dword [esi], edx
mov dword [esi + 4], eax
mov ecx, dword [esi + 8]
mov eax, dword [ebp - 0x18]
mov dword [edx + ecx*4], eax
inc dword [esi + 8]
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x1c
push eax
push edi
call dword [sym.imp.KERNEL32.dll_Thread32Next]
test eax, eax
jne 0x100d88b1
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esi], 0
je 0x100d898f
xor edi, edi
cmp dword [esi + 8], edi
jbe 0x100d898f
mov eax, dword [esi]
push dword [eax + edi*4]
push 0
push 0x5a
call dword [sym.imp.KERNEL32.dll_OpenThread]
mov ebx, eax
test ebx, ebx
je 0x100d8989
push ebx
call dword [sym.imp.KERNEL32.dll_SuspendThread]
push dword [ebp + 8]
mov edx, dword [ebp - 0x24]
mov ecx, ebx
call fcn.100d86e0
add esp, 4
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
inc edi
cmp edi, dword [esi + 8]
jb 0x100d8956
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100e1a3b
mov esp, ebp
pop ebp
ret

Function at 0x100d89a0
Capabilities:
Resume thread

Disassembly:
push ebx
mov ebx, ecx
cmp dword [ebx], 0
je 0x100d89ec
push esi
xor esi, esi
cmp dword [ebx + 8], esi
jbe 0x100d89db
push edi
mov eax, dword [ebx]
push dword [eax + esi*4]
push 0
push 0x5a
call dword [sym.imp.KERNEL32.dll_OpenThread]
mov edi, eax
test edi, edi
je 0x100d89d4
push edi
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
inc esi
cmp esi, dword [ebx + 8]
jb 0x100d89b1
pop edi
push dword [ebx]
push 0
push dword [0x101164fc]
call dword [sym.imp.KERNEL32.dll_HeapFree]
pop esi
pop ebx
ret
Function at 0x100d89f0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x10111040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
imul esi, ecx, 0x2c
mov ebx, edx
push edi
add esi, dword [0x101177d0]
mov eax, dword [esi]
mov cl, byte [esi + 0x14]
and cl, 1
lea edi, [eax - 5]
cmove edi, eax
movzx eax, cl
lea ecx, [ebp - 8]
push ecx
push 0x40
lea eax, [eax*2 + 5]
push eax
push edi
mov dword [ebp - 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x100d8a51
pop edi
pop esi
mov eax, 0xa
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100e1a3b
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x100d8a72
mov byte [edi], 0xe9
mov eax, dword [esi + 4]
sub eax, edi
sub eax, 5
mov dword [edi + 1], eax
test byte [esi + 0x14], 1
je 0x100d8a93
mov eax, dword [esi]
mov word [eax], 0xf9eb
jmp 0x100d8a93
mov eax, dword [esi + 0xc]
test byte [esi + 0x14], 1
mov dword [edi], eax
je 0x100d8a8d
mov ax, word [esi + 0x10]
mov word [edi + 4], ax
mov al, byte [esi + 0x12]
mov byte [edi + 6], al
jmp 0x100d8a93
mov al, byte [esi + 0x10]
mov byte [edi + 4], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push dword [ebp - 0xc]
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push dword [ebp - 0xc]
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov cl, bl
xor eax, eax
add cl, cl
shl bl, 2
xor cl, byte [esi + 0x14]
and cl, 2
xor cl, byte [esi + 0x14]
xor bl, cl
and bl, 4
xor bl, cl
mov ecx, dword [ebp - 4]
pop edi
mov byte [esi + 0x14], bl
xor ecx, ebp
pop esi
pop ebx
call fcn.100e1a3b
mov esp, ebp
pop ebp
ret
Function at 0x100d8af0
Capabilities:
Resume thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov edx, dword [0x101177d8]
push ebx
push esi
push edi
xor edi, edi
xor esi, esi
mov dword [ebp - 4], edi
mov ebx, ecx
test edx, edx
je 0x100d8be1
mov eax, dword [0x101177d0]
add eax, 0x14
movzx ecx, byte [eax]
shr ecx, 1
and ecx, 1
cmp ecx, ebx
jne 0x100d8b35
inc esi
add eax, 0x2c
cmp esi, edx
jb 0x100d8b18
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0xffffffff
je 0x100d8be1
xor eax, eax
lea ecx, [ebp - 0x10]
test ebx, ebx
setne al
or edx, 0xffffffff
push eax
call fcn.100d8850
mov ecx, dword [0x101177d8]
add esp, 4
cmp esi, ecx
jae 0x100d8b95
imul edi, esi, 0x2c
mov eax, dword [0x101177d0]
movzx eax, byte [edi + eax + 0x14]
shr eax, 1
and eax, 1
cmp eax, ebx
je 0x100d8b8a
mov edx, ebx
mov ecx, esi
call fcn.100d89f0
mov dword [ebp - 4], eax
test eax, eax
jne 0x100d8b92
mov ecx, dword [0x101177d8]
inc esi
add edi, 0x2c
cmp esi, ecx
jb 0x100d8b61
mov edi, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x100d8be1
xor esi, esi
cmp dword [ebp - 8], esi
jbe 0x100d8bd2
mov edi, eax
push dword [edi + esi*4]
push 0
push 0x5a
call dword [sym.imp.KERNEL32.dll_OpenThread]
mov ebx, eax
test ebx, ebx
je 0x100d8bc6
push ebx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
inc esi
cmp esi, dword [ebp - 8]
jb 0x100d8ba5
mov edi, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
push eax
push 0
push dword [0x101164fc]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x100dc7b0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ecx + 4]
add ecx, 4
push ebx
push esi
push edi
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x10115058]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
mov ebx, eax
mov edi, 0x811c9dc5
mov ecx, ebx
xor edx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dc7e0
sub ecx, esi
je 0x100dc81f
nop dword [eax + eax]
movsx eax, byte [edx + ebx]
xor eax, edi
imul edi, eax, 0x1000193
mov eax, ebx
inc edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100dc802
sub eax, esi
cmp edx, eax
jb 0x100dc7f0
cmp edi, 0x959035c5
pop edi
pop esi
sete al
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x100e1963
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push ecx
push 2
lea eax, [ebp - 4]
push eax
push 0x20000001
push str._x_sys_default_locale
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
xor ecx, ecx
test eax, eax
jne 0x100e198a
mov eax, ecx
mov dword [ebp - 4], eax
jmp 0x100e198d
mov eax, dword [ebp - 4]
push esi
mov esi, dword [ebp + 0xc]
push ecx
push ecx
push esi
push eax
push dword [ebp + 8]
push ecx
push 0x1300
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push eax
push dword [esi]
call fcn.100e193f
pop esi
leave
ret 8
Function at 0x571617
Capabilities:
Encode data using xor

Disassembly:
jmp 0x57c3f2
pushfd
call fcn.0058a275
movzx ebx, dl
sal bx, 6
mov ebx, eax
call fcn.0058168c
cdq
xchg edi, eax
mov ch, 0xdf
int1
wait
xchg ecx, eax
mov ebx, 0x73e08fd1
movsd dword es:[edi], dword [esi]
mov bh, 0xad
sti
leave
mov dword [0x8ffc9ecd], eax
mov ch, 0xbf
lds esi, [ebp + 0x53]
cmp dword [edi + 0xc], ebx
sub al, 0x1a
dec ecx
arpl word [ecx + 0x53], bp
add byte [edx], ah
or byte [edi], al
add dword [ebp - 0x6a034b1e], ecx
mov dh, 0xf2
retf 0x79b2
bt dx, bp
bt ax, cx
not al
cmc
mov byte [ecx], al
push ebx
add ecx, 1
cmp cx, cx
push ebx
test ah, ah
lea esp, [esp + 0x50]
ja 0x4cc3bf
push 0x802f630f
pushal
lea esp, [esp + 0x24]
jne 0x578dab
jmp 0x4cb720
pushal
pushfd
mov dword [esp + 0x20], edi
pushfd
mov byte [esp + 4], bl
mov dword [esp + 0x20], ebx
pop esp
and al, 0x20
call fcn.0057c3dd
push esp
push edx
push 0x1846753b
xor bl, byte [ecx + 0x6ce571db]
sbb al, 8
mov ah, 0xd2
pop dword [esi + 0x70d96d8]
arpl word [edx + ecx*2 + 0x60], bp
dec ebx
jns 0x57c3fe
inc edx
sub dh, al
cdq
xchg edx, eax
pop es
or dword [esi], 0x6ba48ef8
loop 0x57c4ad
xor esp, dword [edi - 0x5a06933]
xor byte [ebp + 0xe], ch
scasd eax, dword es:[edi]
jmp 0x883d19a1
movsd dword es:[edi], dword [esi]
add dword [edi + 0x47654163], 0xec09916d
mov ecx, dword [ebp - 0xf]
fild qword [edi]
wait
test dword [0x103a1043], edx
pop ds
sbb dword [edi + 0x36dcdab3], esi
aas
insd dword es:[edi], dx
inc edi
mov ah, 0x93
mov word [esi - 0x27cf7107], gs
and al, 0x9c
jmp 0x3b893849

Function at 0x59c955
Capabilities:
Parse pe header

Disassembly:
push 0
call dword [0x411080]
test eax, eax
je 0x59c994
mov ecx, 0x5a4d
cmp word [eax], cx
jne 0x59c994
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x59c994
mov eax, 0x10b
cmp word [ecx + 0x18], ax
jne 0x59c994
cmp dword [ecx + 0x74], 0xe
jbe 0x59c994
cmp dword [ecx + 0xe8], 0
setne al
ret
xor al, al
ret