joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1002ad20
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x1006b048]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp + 0xc]
push eax
push ecx
push dword [ebp + 8]
mov ecx, 0x100965e8
call fcn.10009d70
push 0x100965e8
push 0x100637c8
push 1
push 0x100937f0
call fcn.10016fe0
add esp, 0x1c
lea eax, [ebp - 8]
push eax
call dword [sym.imp.SHELL32.dll_SHQueryUserNotificationState]
mov eax, dword [ebp - 8]
cmp eax, 2
je 0x1002ad9c
cmp eax, 3
je 0x1002ad9c
cmp eax, 4
je 0x1002ad9c
push 0x41010
push str.CLEO_error
push 0x100965e8
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10031a10
mov esp, ebp
pop ebp
ret
push 0
push 0xf020
push 0x112
push 0
call dword [sym.imp.USER32.dll_PostMessageA]
push 6
push 0
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x41010
push str.CLEO_error
push 0x100965e8
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
push 0xf120
push 0x112
push 0
call dword [sym.imp.USER32.dll_PostMessageA]
push 9
push 0
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10031a10
mov esp, ebp
pop ebp
ret

Function at 0x1002f980
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x1006b048]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp + 0xc]
push eax
push ecx
push dword [ebp + 8]
mov ecx, 0x10096de8
call fcn.10009d70
push 0x10096de8
push 0x100637c8
push 1
push 0x100937f0
call fcn.10016fe0
add esp, 0x1c
lea eax, [ebp - 8]
push eax
call dword [sym.imp.SHELL32.dll_SHQueryUserNotificationState]
mov eax, dword [ebp - 8]
cmp eax, 2
je 0x1002f9fc
cmp eax, 3
je 0x1002f9fc
cmp eax, 4
je 0x1002f9fc
push 0x41010
push str.CLEO_error
push 0x10096de8
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10031a10
mov esp, ebp
pop ebp
ret
push 0
push 0xf020
push 0x112
push 0
call dword [sym.imp.USER32.dll_PostMessageA]
push 6
push 0
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x41010
push str.CLEO_error
push 0x10096de8
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
push 0xf120
push 0x112
push 0
call dword [sym.imp.USER32.dll_PostMessageA]
push 9
push 0
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10031a10
mov esp, ebp
pop ebp
ret
Function at 0x1002fa80
Capabilities:
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10053a1f
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x1006b048]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x14], edi
push 0x20
movzx eax, word [esi + 0xdd]
mov word [edi], ax
mov byte [edi + 4], 0
mov dword [edi + 0xb4], 0
mov dword [edi + 0xb8], 0
call fcn.10031a1e
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [edi + 0xb4], eax
mov dword [ebp - 4], 0
xorps xmm0, xmm0
mov dword [edi + 0xc4], 0
movups xmmword [edi + 0xc8], xmm0
mov dword [edi + 0xd8], 0
mov dword [edi + 0xdc], 0xf
mov byte [edi + 0xc8], 0
movups xmmword [edi + 0xe0], xmm0
mov dword [edi + 0xf0], 0
mov dword [edi + 0xf4], 0xf
mov byte [edi + 0xe0], 0
mov byte [ebp - 4], 2
mov eax, dword [esi + 0x10]
mov dword [edi + 8], eax
lea eax, [esi + 0x18]
push 0x20
push eax
lea eax, [edi + 0x10]
push eax
call fcn.10033060
movzx eax, word [esi + 0x38]
add esp, 0x10
mov word [edi + 0x30], ax
cmp byte [esi + 0xdc], 0
mov eax, dword [sym.CLEO.asi_missionLocals]
jne 0x1002fb73
lea eax, [esi + 0x3c]
push 0x80
push eax
lea eax, [edi + 0x34]
push eax
call fcn.10033060
movzx eax, byte [esi + 0xc5]
add esp, 0xc
mov byte [edi + 0xbc], al
mov ax, word [esi + 0xd0]
mov word [edi + 0xbe], ax
movzx eax, byte [esi + 0xd2]
mov byte [edi + 0xc0], al
cmp byte [esi + 0xdf], 0
jne 0x1002fbcb
cmp dword [0x10093ac8], 0x10
mov ecx, 0x10093ab4
cmovae ecx, dword [0x10093ab4]
jmp 0x1002fbdc
cmp dword [esi + 0x148], 0x10
lea ecx, [esi + 0x134]
jb 0x1002fbdc
mov ecx, dword [ecx]
mov edx, ecx
lea eax, [edx + 1]
mov dword [ebp - 0x10], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x1002fbe4
sub edx, dword [ebp - 0x10]
push edx
push ecx
lea ecx, [edi + 0xc8]
call fcn.10015ae0
cmp byte [esi + 0xdf], 0
jne 0x1002fc19
cmp dword [0x10093ae0], 0x10
mov ecx, 0x10093acc
cmovae ecx, dword [0x10093acc]
jmp 0x1002fc2a
cmp dword [esi + 0x160], 0x10
lea ecx, [esi + 0x14c]
jb 0x1002fc2a
mov ecx, dword [ecx]
mov edx, ecx
lea eax, [edx + 1]
mov dword [ebp - 0x10], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x1002fc32
sub edx, dword [ebp - 0x10]
push edx
push ecx
lea ecx, [edi + 0xe0]
call fcn.10015ae0
movzx ecx, word [0x100936d0]
xor eax, eax
xorps xmm0, xmm0
movups xmmword [esi + 0x18], xmm0
movups xmmword [esi + 0x28], xmm0
mov word [esi + 0x38], ax
mov byte [esi + 0xc5], al
mov word [esi + 0xd0], ax
mov byte [esi + 0xd2], al
mov eax, edi
mov word [edi + 2], cx
mov word [esi + 0xdd], cx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
Function at 0x1002fe42
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
push 2
lea eax, [ebp - 4]
push eax
push 0x20000001
push str._x_sys_default_locale
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
mov esi, dword [ebp + 0xc]
neg eax
sbb eax, eax
xor ecx, ecx
and eax, dword [ebp - 4]
push ecx
push ecx
push esi
push eax
push dword [ebp + 8]
mov dword [ebp - 4], eax
push ecx
push 0x1300
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push eax
push dword [esi]
call fcn.1002fe1e
pop esi
leave
ret 8

Function at 0x10043eae
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.10043d24

Function at 0x10050a80
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov ecx, 0x5a4d
cmp word [eax], cx
jne 0x10050aad
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x10050aad
mov edx, 0x10b
xor eax, eax
cmp word [ecx + 0x18], dx
sete al
pop ebp
ret
xor eax, eax
pop ebp
ret

Function at 0x403d61
Capabilities:
Encode data using xor

Disassembly:
push eax
push ebx
mov eax, 0x499
mov ecx, 0x404498
mov bl, byte [ecx]
sub bl, 0xf2
rol bl, 2
sub bl, cl
ror bl, 1
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d6d
mov eax, 0x261d
mov ecx, 0x403764
mov bl, byte [ecx]
rol bl, 7
ror bl, 2
sub bl, cl
xor bl, 0x91
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d8a
pop ebx
pop eax
add ecx, 0x2c1a
jmp ecx
Function at 0x10002a90
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x400
mov edx, 0x65
push esi
push edi
mov esi, str.:___Xp
xor edi, edi
mov ecx, edi
mov eax, edi
and ecx, 1
shr eax, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov dword [ebp + edi*4 - 0x400], eax
inc edi
cmp edi, 0x100
jl 0x10002aa7
or eax, 0xffffffff
movzx ecx, byte [esi]
lea esi, [esi + 1]
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ebp + ecx*4 - 0x400]
sub edx, 1
jne 0x10002b44
pop edi
not eax
pop esi
mov esp, ebp
pop ebp
ret 8

Function at 0x10002e40
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
push 0x100d8390
call fcn.10052651
add esp, 4
mov edi, 0x100cf064
xor ebx, ebx
mov dword [ebp - 4], ebx
nop
xor esi, esi
mov ebx, 0x100d839c
mov eax, dword [edi]
cmp eax, 1
jne 0x10002e75
mov edx, 0x100d8394
jmp 0x10002e80
cmp eax, 2
mov edx, 0x100d8398
cmovne edx, ebx
mov ecx, 0x100ce370
call fcn.1000efe0
cmp esi, 2
jae 0x10002e9e
mov edx, 0x100d83a0
mov ecx, 0x100ce370
call fcn.1000efe0
inc esi
add edi, 4
cmp esi, 3
jl 0x10002e67
push 0x100ce370
call fcn.1000f280
mov ebx, dword [ebp - 4]
add esp, 4
cmp ebx, 2
jge 0x10002ed4
mov edx, 0x100d83a4
mov ecx, 0x100ce370
call fcn.1000efe0
push eax
call fcn.1000f280
add esp, 4
inc ebx
mov dword [ebp - 4], ebx
cmp edi, 0x100cf088
jl 0x10002e60
push dword [0x100cf0cc]
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x10003760
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push ebx
push esi
mov esi, dword [sym.imp.USER32.dll_LoadIconW]
push edi
mov edi, ecx
mov dword [ebp - 0x4c], 0x30
push 0x7f00
push edi
mov dword [ebp - 0x48], 3
mov dword [ebp - 0x44], 0x100033e0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], edi
call esi
push 0x7f00
push 0
mov dword [ebp - 0x34], eax
call dword [sym.imp.USER32.dll_LoadCursorW]
push 0x7f00
push dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0x100d8990
call esi
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExW]
push 0
push edi
push 0
push 0
push 0xc8
push 0x1c2
push 0x80000000
push 0x80000000
push 0xcf0000
push 0x100d8d64
push 0x100d8990
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov esi, eax
test esi, esi
jne 0x10003834
push eax
push 0x100d8434
push 0x100d8458
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
lea eax, [esi + 1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 1
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0
push 0x32
push 1
push esi
call dword [sym.imp.USER32.dll_SetTimer]
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
lea eax, [ebp - 0x1c]
push 0
push 0
push 0
push eax
call edi
test eax, eax
je 0x10003890
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
nop dword [eax]
lea eax, [ebp - 0x1c]
push eax
call ebx
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
call edi
test eax, eax
jne 0x10003870
push 1
push esi
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [ebp - 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x10007a40
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push esi
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov esi, dword [sym.imp.USER32.dll_LoadIconW]
mov edi, eax
push 0x7f00
push edi
mov dword [ebp - 0x4c], 0x30
mov dword [ebp - 0x48], 3
mov dword [ebp - 0x44], 0x10005170
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], edi
call esi
push 0x7f00
push 0
mov dword [ebp - 0x34], eax
call dword [sym.imp.USER32.dll_LoadCursorW]
push 0x7f00
push dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0x100d861c
call esi
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExW]
push 0
push edi
push 0
push 0
push 0x258
push 0x320
push 0x80000000
push 0x80000000
push 0x10cf0000
push 0x100d8630
push 0x100d861c
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov esi, eax
test esi, esi
jne 0x10007b15
push eax
push 0x100d85d8
push 0x100d8644
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 1
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
lea eax, [ebp - 0x1c]
push 0
push 0
push 0
push eax
call esi
test eax, eax
je 0x10007b65
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
push ebx
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageW]
lea eax, [ebp - 0x1c]
push eax
call edi
lea eax, [ebp - 0x1c]
push eax
call ebx
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
call esi
test eax, eax
jne 0x10007b48
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x10007b70
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push esi
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edi, eax
push 0
mov dword [0x100cf094], edi
call fcn.10053094
push eax
call fcn.10051639
mov esi, dword [sym.imp.USER32.dll_LoadIconW]
add esp, 8
mov dword [ebp - 0x4c], 0x30
mov dword [ebp - 0x48], 3
mov dword [ebp - 0x44], 0x10004db0
push 0x7f00
push edi
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], edi
call esi
push 0x7f00
push 0
mov dword [ebp - 0x34], eax
call dword [sym.imp.USER32.dll_LoadCursorW]
push 0x7f00
push dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0x100d859c
call esi
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExW]
push 0
push edi
push 0
push 0
push 0x258
push 0x1f4
push 0x80000000
push 0x80000000
push 0xcf0000
push 0x100d85b4
push 0x100d859c
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov esi, eax
test esi, esi
jne 0x10007c5b
push eax
push 0x100d85d8
push 0x100d8458
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 1
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0
push 0x7d0
push 1
push esi
call dword [sym.imp.USER32.dll_SetTimer]
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
lea eax, [ebp - 0x1c]
push 0
push 0
push 0
push eax
call esi
test eax, eax
je 0x10007cbd
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
push ebx
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageW]
nop
lea eax, [ebp - 0x1c]
push eax
call edi
lea eax, [ebp - 0x1c]
push eax
call ebx
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
call esi
test eax, eax
jne 0x10007ca0
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x1000cdc0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006d4f0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push esi
push edi
lea eax, [ecx + 4]
mov dword [ebp - 0x10], ecx
lea ebx, [ecx + 0x24]
mov dword [ecx], 0x100d8ce8
lea edi, [ecx + 0x28]
mov dword [ebp - 0x14], eax
push 8
mov dword [eax], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x20], 0
mov dword [ebx], 0
mov dword [edi], 0
mov dword [ecx + 0x2c], 0
mov dword [ecx + 0x30], 0
call fcn.10045834
mov esi, eax
push 1
mov dword [ebp - 4], 0
call fcn.10044981
mov dword [esi + 4], eax
add esp, 8
mov eax, dword [ebp - 0x10]
mov ecx, eax
mov dword [eax + 0x34], esi
call fcn.1000e3a0
mov eax, dword [ebp - 0x10]
lea edx, [eax + 8]
lea ecx, [eax + 0x14]
lea esi, [eax + 4]
mov dword [eax + 0x1c], ecx
mov dword [eax + 0xc], esi
mov esi, eax
mov dword [eax + 0x10], edx
mov dword [eax], 0x100d8bd0
mov byte [eax + 0x48], 0
mov byte [eax + 0x3e], 0
lea eax, [esi + 0x18]
mov dword [esi + 0x20], eax
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], edi
mov esi, dword [ebp - 0x14]
mov dword [edx], 0
mov edx, dword [ebp - 0x10]
mov dword [eax], 0
mov eax, dword [0x100cff5c]
mov dword [edi], 0
mov dword [esi], 0
mov dword [ecx], 0
mov ecx, dword [0x100cff60]
mov dword [ebx], 0
pop edi
mov dword [edx + 0x44], ecx
mov ecx, dword [ebp - 0xc]
mov dword [edx + 0x40], eax
mov eax, edx
pop esi
mov dword [edx + 0x4c], 0
mov dword [edx + 0x38], 0
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret

Function at 0x1000e610
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x1006d4f0
push eax
mov dword fs:[0], esp
push esi
push edi
mov edi, ecx
push 8
mov dword [edi], 0x100d05dc
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
call fcn.10045834
mov esi, eax
push 1
mov dword [ebp - 4], 0
call fcn.10044981
add esp, 8
mov dword [esi + 4], eax
mov ecx, edi
mov dword [edi + 0x34], esi
call fcn.1000e3a0
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x10010750
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
mov eax, dword fs:[0]
mov edx, dword [ebx + 0xc]
push 0xffffffffffffffff
push 0x1006d825
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x10
cmp dword [edx + 0x14], 0xf
push esi
push edi
mov edi, edx
jbe 0x1001078e
mov edi, dword [edx]
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x100107b2
nop word [eax + eax]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edx + 0x10]
jb 0x100107a0
push esi
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.10016fd0
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x100107d2
mov eax, dword [ebx + 8]
mov dword [eax], ecx
mov byte [eax + 4], 0
jmp 0x1001094c
cmp dword [0x100cf120], 0x4924924
je 0x10010961
mov dword [ebp - 0x20], 0x100cf11c
mov dword [ebp - 4], 0
push 0x38
mov dword [ebp - 0x1c], 0
call fcn.10045834
add esp, 4
mov edi, eax
mov dword [ebp - 0x1c], edi
push dword [ebx + 0xc]
lea ecx, [edi + 8]
call fcn.1000af70
xorps xmm0, xmm0
movups xmmword [edi + 0x20], xmm0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0xf
mov byte [edi + 0x20], 0
mov dword [ebp - 4], 1
mov edx, dword [0x100cf120]
lea eax, [edx + 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100d8de0]
mov eax, dword [0x100cf134]
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movaps xmm1, xmm2
addsd xmm0, qword [eax*8 + 0x100d8de0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [0x100cf118]
comiss xmm1, xmm0
jbe 0x100108f8
divss xmm2, xmm0
sub esp, 8
cvtps2pd xmm0, xmm2
movsd qword [ebp - 0x18], xmm0
fld qword [ebp - 0x18]
fstp qword [esp]
call fcn.1006a3d0
fstp qword [ebp - 0x18]
movsd xmm0, qword [ebp - 0x18]
add esp, 8
cvtpd2ps xmm0, xmm0
call fcn.1006cb90
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
mov eax, dword [0x100cf134]
cmp eax, ecx
jae 0x100108d4
cmp eax, 0x200
jae 0x100108d2
shl eax, 3
cmp eax, ecx
jae 0x100108d4
mov eax, ecx
push eax
call fcn.100159c0
push esi
lea eax, [edi + 8]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.10016fd0
mov edx, dword [0x100cf120]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
jmp 0x100108fb
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 4]
inc edx
mov dword [0x100cf120], edx
mov dword [edi], ecx
mov dword [edi + 4], eax
mov dword [eax], edi
mov dword [ecx + 4], edi
and esi, dword [0x100cf130]
mov dword [ebp - 0x14], eax
mov eax, dword [0x100cf124]
mov edx, dword [eax + esi*8]
cmp edx, dword [0x100cf11c]
jne 0x1001092d
mov dword [eax + esi*8], edi
jmp 0x1001093f
cmp edx, ecx
jne 0x10010936
mov dword [eax + esi*8], edi
jmp 0x10010943
mov ecx, dword [ebp - 0x14]
cmp dword [eax + esi*8 + 4], ecx
jne 0x10010943
mov dword [eax + esi*8 + 4], edi
mov eax, dword [ebx + 8]
mov dword [eax], edi
mov byte [eax + 4], 1
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
push 0x100d885c
call fcn.10044775
int3
Function at 0x100159c0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1fffffff
sub esp, 0x10
bsr ecx, eax
push ebx
push esi
mov esi, 1
mov eax, esi
shl eax, cl
mov ecx, dword [ebp + 8]
push edi
cmp ecx, eax
ja 0x10015b3f
lea eax, [ecx - 1]
or eax, esi
bsr ecx, eax
mov eax, dword [0x100cf11c]
push eax
mov dword [ebp + 8], eax
lea ecx, [ecx + 1]
shl esi, cl
mov ecx, 0x100cf124
lea eax, [esi + esi]
push eax
call fcn.1000e6d0
lea eax, [esi - 1]
mov dword [0x100cf134], esi
mov esi, dword [0x100cf11c]
mov dword [0x100cf130], eax
mov eax, dword [ebp + 8]
mov esi, dword [esi]
mov edi, esi
cmp esi, eax
je 0x10015b1a
nop dword [eax]
cmp dword [esi + 0x1c], 0xf
lea ecx, [esi + 8]
mov edi, dword [edi]
mov dword [ebp - 0xc], edi
mov dword [ebp - 4], ecx
jbe 0x10015a46
mov edx, dword [ecx]
mov dword [ebp - 4], edx
mov ecx, dword [ecx + 0x10]
xor edx, edx
mov dword [ebp - 8], ecx
mov ebx, 0x811c9dc5
test ecx, ecx
je 0x10015a77
mov eax, dword [ebp - 4]
mov edi, ecx
nop dword [eax]
movzx ecx, byte [edx + eax]
inc edx
xor ecx, ebx
imul ebx, ecx, 0x1000193
cmp edx, edi
jb 0x10015a60
mov edi, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
and ebx, dword [0x100cf130]
mov ecx, dword [0x100cf124]
lea ecx, [ecx + ebx*8]
mov dword [ebp - 4], ecx
cmp dword [ecx], eax
jne 0x10015a94
mov dword [ecx], esi
mov dword [ecx + 4], esi
jmp 0x10015b10
mov ebx, dword [ecx + 4]
lea eax, [ebx + 8]
push eax
lea eax, [esi + 8]
push eax
call fcn.100194b0
test al, al
jne 0x10015ace
mov ebx, dword [ebx]
cmp ebx, esi
je 0x10015ac6
mov edx, dword [esi + 4]
mov dword [edx], edi
mov ecx, dword [edi + 4]
mov dword [ecx], ebx
mov eax, dword [ebx + 4]
mov dword [eax], esi
mov dword [ebx + 4], ecx
mov dword [edi + 4], edx
mov dword [esi + 4], eax
mov eax, dword [ebp - 4]
mov dword [eax + 4], esi
jmp 0x10015b0d
mov eax, dword [ebp - 4]
cmp dword [eax], ebx
je 0x10015af0
mov ebx, dword [ebx + 4]
lea eax, [ebx + 8]
push eax
lea eax, [esi + 8]
push eax
call fcn.100194b0
test al, al
je 0x10015b23
mov eax, dword [ebp - 4]
cmp dword [eax], ebx
jne 0x10015ad5
mov edx, dword [esi + 4]
mov dword [edx], edi
mov ecx, dword [edi + 4]
mov dword [ecx], ebx
mov eax, dword [ebx + 4]
mov dword [eax], esi
mov dword [ebx + 4], ecx
mov dword [edi + 4], edx
mov dword [esi + 4], eax
mov eax, dword [ebp - 4]
mov dword [eax], esi
mov eax, dword [ebp + 8]
mov esi, edi
cmp edi, eax
jne 0x10015a30
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [esi + 4]
mov ebx, dword [ebx]
mov dword [edx], edi
mov ecx, dword [edi + 4]
mov dword [ecx], ebx
mov eax, dword [ebx + 4]
mov dword [eax], esi
mov dword [ebx + 4], ecx
mov dword [edi + 4], edx
mov dword [esi + 4], eax
jmp 0x10015b0d
push 0x100d8888
call fcn.10044775
int3

Function at 0x10056557
Capabilities:
Parse pe header

Disassembly:
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x10056596
mov ecx, 0x5a4d
cmp word [eax], cx
jne 0x10056596
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x10056596
mov eax, 0x10b
cmp word [ecx + 0x18], ax
jne 0x10056596
cmp dword [ecx + 0x74], 0xe
jbe 0x10056596
cmp dword [ecx + 0xe8], 0
setne al
ret
xor al, al
ret
Function at 0x1005d7f5
Capabilities:
Allocate thread local storage

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push 0x100d4620
push 0x100d4618
push 0x100d2104
push 0x1f
call fcn.1005d660
mov esi, eax
add esp, 0x10
test esi, esi
je 0x1005d829
push dword [ebp + 8]
mov ecx, esi
call dword [0x100d03b0]
call esi
jmp 0x1005d82f
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
pop esi
pop ebp
ret 4

Function at 0x1005d873
Capabilities:
Get thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push 0x100d4630
push 0x100d4628
push 0x100d2128
push 0x21
call fcn.1005d660
mov esi, eax
add esp, 0x10
test esi, esi
je 0x1005d8aa
push dword [ebp + 8]
mov ecx, esi
call dword [0x100d03b0]
call esi
pop esi
pop ebp
ret 4
pop esi
pop ebp
jmp dword [sym.imp.KERNEL32.dll_TlsGetValue]

Function at 0x1005d8b2
Capabilities:
Set thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push 0x100d4638
push 0x100d4630
push 0x100d213c
push 0x22
call fcn.1005d660
mov esi, eax
add esp, 0x10
test esi, esi
je 0x1005d8ec
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call dword [0x100d03b0]
call esi
pop esi
pop ebp
ret 8
pop esi
pop ebp
jmp dword [sym.imp.KERNEL32.dll_TlsSetValue]