joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1000b570
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10022368
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x1002f018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor edx, edx
mov ecx, 0x31
xor eax, eax
mov bl, byte [eax + 0x1002986c]
xor bl, cl
inc ecx
and ecx, 0x800000ff
mov byte [ebp + eax - 0x30], bl
jns 0x1000b5c0
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x1d
jl 0x1000b5a3
mov byte [ebp - 0x13], dl
mov dword [ebp - 4], edx
mov ecx, dword [0x10162524]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
lea edx, [ebp - 0x30]
push edx
call eax
push 2
lea ebx, [esi + eax]
call fcn.1000a050
mov edi, eax
mov eax, ebx
mov ebx, 0xe
call fcn.10009fd0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001fc65
mov esp, ebp
pop ebp
ret

Function at 0x1000b610
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10021148
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x1002f018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, 0x31
xor eax, eax
nop
mov dl, byte [eax + 0x1002988c]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [ebp + eax - 0x2c], dl
jns 0x1000b65d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x1b
jl 0x1000b640
mov byte [ebp - 0x11], 0
mov dword [ebp - 4], 0
mov ecx, dword [0x10162524]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
lea edx, [ebp - 0x2c]
push edx
call eax
mov ecx, dword [ebp + 8]
mov eax, dword [eax + ecx + 0xc]
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
mov eax, dword [eax]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001fc65
mov esp, ebp
pop ebp
ret 4
Function at 0x1000c760
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10020f78
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x1002f018]
xor eax, esp
mov dword [esp + 0x2c], eax
mov eax, dword [0x1002f018]
xor eax, esp
push eax
lea eax, [esp + 0x38]
mov dword fs:[0], eax
mov ecx, 0x29
xor eax, eax
jmp 0x1000c7a0
mov dl, byte [eax + 0x10029160]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [esp + eax + 8], dl
jns 0x1000c7bd
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0x27
jl 0x1000c7a0
mov byte [esp + 0x2f], 0
mov dword [esp + 0x40], 0
mov ecx, dword [0x10162524]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
lea edx, [esp + 8]
push edx
call eax
xor ecx, ecx
mov dword [esp + 0x40], 0xffffffff
push 0x1e
push 0x1e
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ecx
push 0x1e
mov ecx, esi
call eax
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.1001fc65
mov esp, ebp
pop ebp
ret
Function at 0x100105c0
Capabilities:
Resume thread
Suspend thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2d4
mov eax, dword [0x1002f018]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
test esi, esi
je 0x10010770
mov eax, 0x10017b10
test eax, eax
je 0x10010770
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push edi
push str.NtSetContextThread
push str.ntdll.dll
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x1015fb10], 0x10017b10
mov ecx, dword [esi]
mov dword [0x1015fb00], ecx
mov edx, dword [esi + 4]
mov dword [0x1015fb04], edx
mov dword [ebp - 0x2d4], eax
mov eax, dword [esi + 8]
mov dword [0x1015fb08], eax
mov ecx, dword [esi + 0xc]
mov dword [0x1015fb0c], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edi, eax
call fcn.10010790
push eax
push 1
push 0x1a
call dword [sym.imp.KERNEL32.dll_OpenThread]
mov edi, eax
cmp edi, 0xffffffff
je 0x10010685
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call dword [sym.imp.MSVCR100.dll_srand]
add esp, 4
push 0x10010550
call dword [sym.imp.MSVCR100.dll_rand]
cdq
mov ecx, 0xffffff
idiv ecx
push edx
call dword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
test eax, eax
jne 0x10010698
pop edi
pop ebx
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1001fc65
mov esp, ebp
pop ebp
ret
push edi
mov dword [0x1015fb14], eax
mov dword [ebp - 0x2d0], 0x10010
call dword [sym.imp.KERNEL32.dll_SuspendThread]
push str.NtGetContextThread
push str.ntdll.dll
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea edx, [ebp - 0x2d0]
push edx
push edi
call eax
mov eax, dword [esi]
test eax, eax
setne cl
test cl, cl
je 0x100106e3
mov edx, 1
mov dword [ebp - 0x2cc], eax
jmp 0x100106e9
mov edx, dword [ebp - 0x2d4]
lea eax, [esi + 4]
test eax, eax
je 0x10010704
mov eax, dword [eax]
test eax, eax
setne cl
test cl, cl
je 0x10010704
or edx, 4
mov dword [ebp - 0x2c8], eax
lea eax, [esi + 8]
test eax, eax
je 0x1001071f
mov eax, dword [eax]
test eax, eax
setne cl
test cl, cl
je 0x1001071f
or edx, 0x10
mov dword [ebp - 0x2c4], eax
add esi, 0xc
je 0x10010738
mov eax, dword [esi]
test eax, eax
setne cl
test cl, cl
je 0x10010738
or edx, 0x40
mov dword [ebp - 0x2c0], eax
lea eax, [ebp - 0x2d0]
push eax
push edi
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2b8], edx
call dword [ebp - 0x2d4]
push edi
call dword [sym.imp.KERNEL32.dll_ResumeThread]
pop edi
pop ebx
mov al, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1001fc65
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor ecx, ebp
xor al, al
pop esi
call fcn.1001fc65
mov esp, ebp
pop ebp
ret
Function at 0x10010790
Capabilities:
Enumerate threads

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x1002f018]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 4
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov esi, eax
cmp esi, 0xffffffff
jne 0x100107c2
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1001fc65
mov esp, ebp
pop ebp
ret
push ebx
lea eax, [ebp - 0x20]
push eax
push esi
mov dword [ebp - 0x20], 0x1c
call dword [sym.imp.KERNEL32.dll_Thread32First]
test eax, eax
je 0x100107f0
mov ebx, dword [sym.imp.KERNEL32.dll_Thread32Next]
nop
cmp dword [ebp - 0x14], edi
je 0x10010809
lea ecx, [ebp - 0x20]
push ecx
push esi
call ebx
test eax, eax
jne 0x100107e0
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop ebx
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1001fc65
mov esp, ebp
pop ebp
ret
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x18]
pop ebx
xor ecx, ebp
pop esi
call fcn.1001fc65
mov esp, ebp
pop ebp
ret
Function at 0x10015fe0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], 0
pushal
pushfd
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov dword [ebp - 4], eax
mov esi, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
lodsd eax, dword [esi]
mov esi, eax
mov ecx, dword [eax + 0x18]
cmp ecx, dword [ebp + 8]
jne 0x10016019
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [ecx], ebx
mov dword [ebx + 4], ecx
jmp 0x1001601d
cmp edx, esi
jne 0x10016002
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
lodsd eax, dword [esi]
mov esi, eax
mov ecx, dword [eax + 0x10]
cmp ecx, dword [ebp + 8]
jne 0x1001603d
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [ecx], ebx
mov dword [ebx + 4], ecx
jmp 0x10016041
cmp edx, esi
jne 0x10016026
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
lodsd eax, dword [esi]
mov esi, eax
mov ecx, dword [eax + 8]
cmp ecx, dword [ebp + 8]
jne 0x10016061
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [ecx], ebx
mov dword [ebx + 4], ecx
jmp 0x10016065
cmp edx, esi
jne 0x1001604a
popfd
popal
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x10018320
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x1002f018]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
push esi
call dword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
mov eax, dword [ebp + 0xc]
dec eax
jne 0x1001837c
mov byte [ebp - 6], al
lea eax, [ebp - 0xc]
push eax
mov dword [ebp - 0xc], 0x742e4d47
mov word [ebp - 8], 0x7478
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor eax, eax
push esi
mov dword [ebp - 0xc], eax
mov word [ebp - 8], ax
mov byte [ebp - 6], al
call fcn.10015fe0
add esp, 4
call fcn.1001fa30
mov ecx, eax
call fcn.1001f970
mov ecx, dword [ebp - 4]
xor ecx, ebp
mov eax, 1
pop esi
call fcn.1001fc65
mov esp, ebp
pop ebp
ret 0xc
Function at 0x1001a220
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10022738
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x1002f018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [edi + 0x44], 0
je 0x1001a378
cmp byte [edi + 0x49], 0
je 0x1001a378
mov eax, dword [edi]
mov edx, dword [eax + 0xc]
push 0xffffffffffffffff
mov ecx, edi
call edx
cmp eax, 0xffffffff
je 0x1001a36c
lea esi, [ebp - 0x2c]
call fcn.10019f10
mov dword [ebp - 4], 0
mov ebx, 0x10
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x2c]
cmp eax, ebx
jae 0x1001a2cb
lea ecx, [ebp - 0x2c]
mov eax, ecx
add ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x30]
push edx
push ecx
mov ecx, dword [edi + 0x44]
push eax
lea eax, [edi + 0x4c]
push eax
call dword [sym.imp.MSVCP100.dll_public:_int___thiscall_std::codecvt_char__char__int_::unshift_int___char___char___char___const]
sub eax, 0
je 0x1001a2d0
dec eax
je 0x1001a2d4
sub eax, 2
lea esi, [ebp - 0x2c]
je 0x1001a373
call fcn.100013c0
xor al, al
jmp 0x1001a37a
mov eax, dword [ebp - 0x2c]
jmp 0x1001a295
mov byte [edi + 0x49], 0
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x2c]
mov eax, edx
cmp ecx, ebx
jae 0x1001a2e3
lea eax, [ebp - 0x2c]
mov esi, dword [ebp - 0x30]
sub esi, eax
je 0x1001a308
mov eax, edx
cmp ecx, ebx
jae 0x1001a2f3
lea eax, [ebp - 0x2c]
mov ecx, dword [edi + 0x54]
push ecx
push esi
push 1
push eax
call dword [sym.imp.MSVCR100.dll_fwrite]
add esp, 0x10
cmp esi, eax
jne 0x1001a364
cmp byte [edi + 0x49], 0
je 0x1001a370
test esi, esi
jne 0x1001a286
mov eax, dword [ebp - 0x1c]
or edx, 0xffffffff
sub edx, eax
cmp edx, 8
jbe 0x1001a395
lea esi, [eax + 8]
lea eax, [ebp - 0x2c]
call fcn.10001640
test al, al
je 0x1001a286
mov ecx, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], ebx
jae 0x1001a341
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 0x1c]
xor eax, eax
mov dword [ecx + edx], eax
mov dword [ecx + edx + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x18], ebx
jae 0x1001a35b
lea eax, [ebp - 0x2c]
mov byte [eax + esi], 0
jmp 0x1001a286
lea esi, [ebp - 0x2c]
call fcn.100013c0
xor al, al
jmp 0x1001a37a
lea esi, [ebp - 0x2c]
call fcn.100013c0
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001fc65
mov esp, ebp
pop ebp
ret
push 0x10026b54
call dword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const__]
int3

Function at 0x1001b450
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov edx, 0xf1
xor ecx, ecx
jmp 0x1001b460
mov al, byte [edi + ecx - 0x210f19]
xor al, dl
inc edx
and edx, 0x800000ff
mov byte [ecx + esi], al
jns 0x1001b47d
dec edx
or edx, 0xffffff00
inc edx
inc ecx
cmp ecx, 0xc
jl 0x1001b460
mov byte [esi + 0xc], 0
mov eax, esi
ret
Function at 0x1001bb20
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov edx, 2
xor ecx, ecx
jmp 0x1001bb30
mov al, byte [edi + ecx - 0x321a2a]
xor al, dl
inc edx
and edx, 0x800000ff
mov byte [ecx + esi], al
jns 0x1001bb4d
dec edx
or edx, 0xffffff00
inc edx
inc ecx
cmp ecx, 0x26
jl 0x1001bb30
mov byte [esi + 0x26], 0
mov eax, esi
ret

Function at 0x1001bb60
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov edx, 2
xor ecx, ecx
jmp 0x1001bb70
mov al, byte [edi + ecx - 0x321a2a]
xor al, dl
inc edx
and edx, 0x800000ff
mov byte [ecx + esi], al
jns 0x1001bb8d
dec edx
or edx, 0xffffff00
inc edx
inc ecx
cmp ecx, 0x20
jl 0x1001bb70
mov byte [esi + 0x20], 0
mov eax, esi
ret

Function at 0x1001c160
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov edx, 0x29
xor ecx, ecx
jmp 0x1001c170
mov al, byte [edi + ecx + 0x1e7b41dd]
xor al, dl
inc edx
and edx, 0x800000ff
mov byte [ecx + esi], al
jns 0x1001c18d
dec edx
or edx, 0xffffff00
inc edx
inc ecx
cmp ecx, 0xc
jl 0x1001c170
mov byte [esi + 0xc], 0
mov eax, esi
ret

Function at 0x1001c1a0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov edx, 0x6c
xor ecx, ecx
jmp 0x1001c1b0
mov al, byte [edi + ecx + 0x6fad512a]
xor al, dl
inc edx
and edx, 0x800000ff
mov byte [ecx + esi], al
jns 0x1001c1cd
dec edx
or edx, 0xffffff00
inc edx
inc ecx
cmp ecx, 0xc
jl 0x1001c1b0
mov byte [esi + 0xc], 0
mov eax, esi
ret

Function at 0x1001c1e0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov edx, 0x49
xor ecx, ecx
jmp 0x1001c1f0
mov al, byte [edi + ecx + 0x16440e0f]
xor al, dl
inc edx
and edx, 0x800000ff
mov byte [ecx + esi], al
jns 0x1001c20d
dec edx
or edx, 0xffffff00
inc edx
inc ecx
cmp ecx, 0xc
jl 0x1001c1f0
mov byte [esi + 0xc], 0
mov eax, esi
ret

Function at 0x1001c9c0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov edx, 0xfa
xor ecx, ecx
jmp 0x1001c9d0
mov al, byte [edi + ecx - 0x2b3158]
xor al, dl
inc edx
and edx, 0x800000ff
mov byte [ecx + esi], al
jns 0x1001c9ed
dec edx
or edx, 0xffffff00
inc edx
inc ecx
cmp ecx, 0xc
jl 0x1001c9d0
mov byte [esi + 0xc], 0
mov eax, esi
ret

Function at 0x1001cd30
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov edx, 0x1f
xor ecx, ecx
jmp 0x1001cd40
mov al, byte [edi + ecx - 0x97d5a03]
xor al, dl
inc edx
and edx, 0x800000ff
mov byte [ecx + esi], al
jns 0x1001cd5d
dec edx
or edx, 0xffffff00
inc edx
inc ecx
cmp ecx, 0xc
jl 0x1001cd40
mov byte [esi + 0xc], 0
mov eax, esi
ret

Function at 0x1001d300
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov edx, 0x1d
xor ecx, ecx
jmp 0x1001d310
mov al, byte [edi + ecx - 0x1a1d45]
xor al, dl
inc edx
and edx, 0x800000ff
mov byte [ecx + esi], al
jns 0x1001d32d
dec edx
or edx, 0xffffff00
inc edx
inc ecx
cmp ecx, 0xc
jl 0x1001d310
mov byte [esi + 0xc], 0
mov eax, esi
ret

Function at 0x1001d380
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov edx, 0x87
xor ecx, ecx
jmp 0x1001d390
mov al, byte [edi + ecx - 0x24993e0c]
xor al, dl
inc edx
and edx, 0x800000ff
mov byte [ecx + esi], al
jns 0x1001d3ad
dec edx
or edx, 0xffffff00
inc edx
inc ecx
cmp ecx, 0xc
jl 0x1001d390
mov byte [esi + 0xc], 0
mov eax, esi
ret
Function at 0x1001d400
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov edx, 0x30
xor ecx, ecx
jmp 0x1001d410
mov al, byte [edi + ecx + 0x5ec4cd49]
xor al, dl
inc edx
and edx, 0x800000ff
mov byte [ecx + esi], al
jns 0x1001d42d
dec edx
or edx, 0xffffff00
inc edx
inc ecx
cmp ecx, 0xc
jl 0x1001d410
mov byte [esi + 0xc], 0
mov eax, esi
ret

Function at 0x1001d620
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov edx, 0xfe
xor ecx, ecx
jmp 0x1001d630
mov al, byte [edi + ecx - 0x71ebf2be]
xor al, dl
inc edx
and edx, 0x800000ff
mov byte [ecx + esi], al
jns 0x1001d64d
dec edx
or edx, 0xffffff00
inc edx
inc ecx
cmp ecx, 0xc
jl 0x1001d630
mov byte [esi + 0xc], 0
mov eax, esi
ret

Function at 0x1001f350
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10022998
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x1002f018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor eax, eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 4], eax
cmp dword [ebp + 0x1c], 0x10
mov byte [ebp - 0x7c], al
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], 0x67452301
mov dword [ebp - 0x2c], 0xefcdab89
mov dword [ebp - 0x28], 0x98badcfe
mov dword [ebp - 0x24], 0x10325476
jae 0x1001f3b3
lea eax, [ebp + 8]
push eax
mov eax, dword [ebp + 0x18]
lea esi, [ebp - 0x7c]
call fcn.1001f110
mov ecx, esi
call fcn.1001f1c0
mov ecx, edi
mov ebx, esi
call fcn.1001f2a0
cmp dword [ebp + 0x1c], 0x10
jb 0x1001f3e2
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001fc65
mov esp, ebp
pop ebp
ret
Function at 0x1001f6e0
Capabilities:
Access peb ldr_data
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10022238
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x1002f018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], eax
xor edx, edx
mov ecx, 0x49
xor eax, eax
lea esp, [esp]
mov bl, byte [eax + 0x1002a6dc]
xor bl, cl
inc ecx
and ecx, 0x800000ff
mov byte [ebp + eax - 0x20], bl
jns 0x1001f73d
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 0xc
jl 0x1001f720
mov byte [ebp - 0x14], dl
mov dword [ebp - 4], edx
mov dword [ebp - 0x2c], edx
mov ebx, dword fs:[0x30]
mov ebx, dword [ebx + 0xc]
mov ebx, dword [ebx + 0x14]
mov ebx, dword [ebx]
mov ebx, dword [ebx]
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0x2c], ebx
mov edx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x20]
push ecx
push edx
call fcn.1001f4a0
add esp, 8
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], 0xffffffff
push dword [ebp - 0x30]
call dword [ebp - 0x34]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x1001f791
xor eax, eax
jmp 0x1001f7c8
push esi
push eax
call fcn.1001f4a0
add esp, 8
mov dword [ebp - 0x34], eax
test eax, eax
je 0x1001f78d
test edi, edi
jle 0x1001f7bf
lea eax, [ebp + 0xc]
mov ecx, edi
jmp 0x1001f7b0
mov edx, dword [eax + 4]
add eax, 4
mov dword [ebp - 0x30], edx
push dword [ebp - 0x30]
dec ecx
jne 0x1001f7b0
call dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001fc65
mov esp, ebp
pop ebp
ret

Function at 0x1001fc65
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x1002f018]
jne 0x1001fc6f
repz ret
jmp fcn.1002012d
Function at 0x43534b
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
push edi
call fcn.0042708b
mov esi, dword [ebp + 8]
push 2
mov edi, eax
lea eax, [ebp - 4]
push eax
mov ecx, esi
and ecx, 0x3ff
push 0x20000001
or ecx, 0x400
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jne 0x435383
xor eax, eax
jmp 0x4353af
cmp esi, dword [ebp - 4]
je 0x4353ac
cmp dword [ebp + 0xc], 0
je 0x4353ac
push dword [edi + 0x9c]
call fcn.00434f59
push dword [edi + 0x9c]
mov esi, eax
call fcn.00424fcd
pop ecx
pop ecx
cmp esi, eax
je 0x43537f
xor eax, eax
inc eax
pop edi
pop esi
leave
ret

Function at 0x40cfda
Capabilities:
Hash data using fnv

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov edx, dword [ebp + 0xc]
mov eax, 0x811c9dc5
jmp 0x40cffb
mov ecx, dword [ebp + 8]
imul eax, eax, 0x1000193
add dword [ebp + 8], 2
movzx ecx, word [ecx]
xor eax, ecx
cmp dword [ebp + 8], edx
jne 0x40cfe9
pop ebp
ret 8

Function at 0x40ef61
Capabilities:
Terminate process

Disassembly:
add eax, 0
push ebp
mov ebp, esp
sub esp, 0x14
mov dword [ebp - 0xc], 4
mov dword [ebp - 0x10], 0x489f59d1
mov dword [ebp - 8], 5
push dword [ebp - 0xc]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov dword [ebp - 4], eax
cmp eax, 0
je 0x40ee31
jmp 0x40ee62
call dword [sym.imp.KERNEL32.dll_ExitProcess]
call fcn.0040eb0a
lea ecx, [ebp + 8]
push ecx
call fcn.0040e6a3
jmp 0x40ee86
push dword [ebp - 8]
jmp 0x40ee0c
add esp, 4
mov esp, ebp
pop ebp
ret 0x10
call fcn.004101f0
jmp 0x40edbb

Function at 0x40efee
Capabilities:
Parse pe header

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 0x20], pe_nt_image_headers32
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x28], 0x489f59d1
mov dword [ebp - 0x18], 0
mov dword [ebp - 4], 0x14
mov dword [ebp - 0x14], 4
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x24], ecx
cmp dword [ebp + 8], 0
jne 0x40f037
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edx
jmp 0x40f153
mov ecx, dword [ebp - 0x24]
movzx edx, word [ecx]
mov dword [ebp - 0x1c], 0x2db59e81
cmp edx, 0x5a4d
je 0x40f05b
mov dword [ebp - 0x1c], 0x9db38964
mov eax, dword [ebp - 0x18]
jmp 0x40f153
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx], 0x4550
je 0x40f07d
mov eax, dword [ebp - 0x18]
jmp 0x40f153
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], 0x6e9530b5
mov dword [ebp - 0x2c], ecx
jmp 0x40f121
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 8], ecx
cmp dword [ebp + 0xc], 0
je 0x40f0bf
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x2c]
mov dword [ecx], edx
cmp dword [ebp + 0x10], 0
je 0x40f0f2
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x1c], 0xf0092b1b
mov edx, dword [ebp - 0x10]
jmp 0x40f0f0
mov dword [ecx], edx
cmp dword [ebp + 0x14], 0
je 0x40f150
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 8]
mov dword [ecx], edx
jmp 0x40f14d
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 4]
mov dword [ebp - 0x10], ecx
jmp 0x40f0a8
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
Function at 0x10003cc0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
mov ebx, ecx
push esi
push edi
cmp dword [ebx + 0x38], 0
je 0x10003cec
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const___long_long___int64__]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebx + 0x20]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x20], esi
mov ecx, dword [eax]
lea eax, [ebx + 0x30]
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x10003d14
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x10003d1a
xor ecx, ecx
mov dword [esp + 0x18], eax
mov eax, ecx
cdq
mov dword [esp + 0x10], eax
mov ecx, edx
mov dword [esp + 0x14], ecx
test edi, edi
jl 0x10003d82
jg 0x10003d31
test esi, esi
je 0x10003d82
test ecx, ecx
jl 0x10003d7d
jg 0x10003d3b
test eax, eax
je 0x10003d7d
cmp edi, ecx
jg 0x10003d4f
jl 0x10003d45
cmp esi, eax
jae 0x10003d4f
mov eax, esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
push eax
push dword [ebp + 8]
push dword [esp + 0x24]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x24]
add esp, 0xc
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 8]
add ecx, edx
sub esi, edx
mov eax, dword [eax]
sbb edi, dword [esp + 0x14]
sub dword [eax], edx
mov eax, dword [ebx + 0x20]
add dword [eax], edx
jmp 0x10003d85
mov ecx, dword [ebp + 8]
jmp 0x10003d8f
mov ecx, dword [ebp + 8]
test edi, edi
jl 0x10003da9
jg 0x10003d8f
test esi, esi
je 0x10003da9
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x10003da9
push eax
push esi
push 1
push ecx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
sub esi, eax
sbb edi, 0
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
sub eax, esi
sbb edx, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc