joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40179b
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 4], 0
jg 0x4017d9
jl 0x4017bd
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0x7fffffff
ja 0x4017d9
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp dword [eax + 4], 0xffffffff
jg 0x4017de
jl 0x4017d9
mov eax, dword [ebp - 0x20]
cmp dword [eax], 0x80000001
jae 0x4017de
jmp 0x401866
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 8]
neg eax
sbb eax, eax
and eax, 0xfffffffe
inc eax
inc eax
push eax
push 0
push dword [ebp - 4]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
test eax, eax
je 0x401866
and dword [ebp - 8], 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 8]
cmp ecx, dword [eax + 0xc]
jae 0x401866
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
sub eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 0x14]
push eax
call fcn.00401692
pop ecx
pop ecx
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
push 0
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x10]
push dword [ebp + 0x10]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x401859
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x10]
jae 0x40185b
jmp 0x401866
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
jmp 0x40180d
leave
ret

Function at 0x402a4e
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0xcc]
sub esp, 0x14c
mov eax, dword [0x4094b4]
xor eax, ebp
mov dword [ebp + 0xc8], eax
mov eax, dword [ebp + 0xd4]
push ebx
mov dword [ebp - 0x78], ecx
lea ecx, [ebp - 0x7c]
push ecx
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
xor ebx, ebx
test eax, eax
jne 0x402acb
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x70]
push eax
push ebx
push dword [ebp - 0x7c]
mov dword [ebp - 0x80], 0x136
call dword [sym.imp.ADVAPI32.dll_RegQueryValueA]
test eax, eax
je fcn.00402aab
mov byte [ebp - 0x71], bl
jmp 0x402abd
Function at 0x40373c
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
xor ecx, ecx
push esi
push edi
mov byte [ebp - 8], cl
xor eax, eax
lea edi, [ebp - 7]
stosw word es:[edi], ax
stosb byte es:[edi], al
cmp byte [ebp - 8], cl
mov dword [ebp - 4], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], 4
jne 0x4037ed
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea eax, [ebp - 4]
push eax
mov esi, 0x20019
push esi
push ecx
mov ebx, str.SOFTWAREAdobeAdobe_Acrobat9.0Language
push ebx
push 0x80000001
call edi
test eax, eax
jne 0x4037af
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 0
push 0x407008
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp byte [ebp - 8], 0
jne 0x4037ed
lea eax, [ebp - 4]
push eax
push esi
push 0
push ebx
push 0x80000002
call edi
test eax, eax
jne 0x4037ed
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 0
push 0x407008
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor bl, bl
xor esi, esi
mov edi, 0x4093a0
lea eax, [ebp - 8]
push eax
push edi
call dword [sym.imp.MSVCR80.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x403812
inc esi
add edi, 8
cmp esi, 0x1d
jb 0x4037f6
jmp 0x403814
mov bl, 1
neg bl
lea ecx, [ebp - 0x14]
sbb ebx, ebx
and ebx, esi
push dword [ebx*8 + 0x4093a4]
call fcn.004036fb
push 0
push 0
push dword [ebp - 0x14]
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00402e50
pop edi
pop esi
pop ebx
leave
ret

Function at 0x4038a6
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x248
mov eax, dword [0x4094b4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x244
xor esi, esi
lea eax, [ebp - 0x248]
push esi
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
mov edi, 0x122
push edi
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
jne 0x4038f9
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00403a17
leave
ret
push str.kernel32.dll
lea eax, [ebp - 0x248]
push edi
push eax
call dword [sym.imp.MSVCR80.dll_wcscat_s]
add esp, 0xc
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
cmp edi, esi
je 0x4038e9
push str.HeapSetInformation
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, esi
jne 0x40393d
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, esi
jmp 0x4038eb
push esi
push esi
push 1
push esi
call eax
mov esi, eax
neg esi
sbb esi, esi
neg esi
jmp 0x403932

Function at 0x403a17
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x4094b4]
jne 0x403a21
repz ret
jmp fcn.0040405e
Function at 0x402733
Capabilities:
Terminate process

Disassembly:
call section..text
push 0
push 0x405018
push 0x405014
call fcn.00402c58
push 0
push 0x405020
push 0x40501c
call fcn.00402c58
add esp, 0x18
push dword [esp + 4]
call dword [sym.imp.KERNEL32.dll_ExitProcess]

Function at 0x4030f6
Capabilities:
Accept command line arguments
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [0x405744]
test eax, eax
je 0x40310f
call eax
test eax, eax
jne 0x40310f
push 0xfffffffffffffffe
jmp 0x403129
push 1
push 0x405010
push 0x405008
call fcn.00402c58
add esp, 0xc
test eax, eax
je 0x40312f
push 0xfffffffffffffffd
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push esi
push 0
push 0x405004
push section..data
call fcn.00402c58
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov esi, eax
test esi, esi
jne 0x403155
mov esi, 0x404561
mov cl, 0x20
jmp 0x40315e
cmp al, 0x20
ja 0x403168
inc esi
mov al, byte [esi]
test al, al
jne 0x403159
cmp al, 0x20
jbe 0x40317f
mov al, byte [esi]
cmp al, 0x22
jne 0x403171
xor cl, 0x20
inc esi
mov al, byte [esi]
cmp al, cl
ja 0x40316a
jmp 0x40317f
cmp al, cl
ja 0x403185
inc esi
mov al, byte [esi]
test al, al
jne 0x40317a
and dword [ebp - 0x18], 0
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoA]
test eax, 0xa0d0a0d
sub eax, 0x54524357
sub eax, 0xa0d0a0d
test byte [ebp - 0x18], 1
je 0x4031ae
movzx eax, word [ebp - 0x14]
jmp 0x4031b1
push 0xa
pop eax
push eax
push esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call main
push eax
call fcn.00402733
pop ecx
pop esi
leave
ret

Function at 0x4031e8
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 8]
mov dword [0x40515c], eax
push 0
push dword [ebp + 8]
push 0
push 0
push 0
push 0x80000000
push 0xfffffc18
push 0xfffffc18
push 0xcf0000
push 0x4055a0
push 0x405608
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x403232
xor eax, eax
jmp 0x403249
push 0
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [ebp - 4]
Function at 0x42e001
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
mov eax, section..rdata
nop
mov ebx, 0x407ef8
nop
nop
mov ecx, 0x44705bbf
nop
nop
nop
test eax, eax
nop
nop
nop
nop
nop
je 0x42e04e
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
inc eax
nop
nop
nop
inc eax
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
nop
jne 0x42e024
nop
nop
nop
mov eax, section..data
nop
nop
mov ebx, 0x42cd70
nop
mov ecx, 0x37335d93
nop
nop
nop
nop
test eax, eax
je 0x42e084
nop
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
add eax, 4
nop
nop
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
jne 0x42e06c
nop
nop
nop
popal
nop
nop
nop
nop
jmp 0x401219

Function at 0x401000
Capabilities:
Accept command line arguments
Hide graphical window

Disassembly:
jmp 0x403a1c
mov ecx, ebp
push ebp
mov ebp, esp
mov dword [0x405076], ecx
call dword [sym.imp.kernel32.dll_GetCommandLineA]
mov dword [0x405220], eax
mov dword [0x4051a8], 0x403098
mov dword [0x4051a4], 2
jmp 0x403a4c
mov dword [0x4051ac], 0
mov dword [0x4051b0], 0
mov dword [0x4051a0], 0x30
push 0
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
mov dword [0x4051b4], eax
mov dword [0x4051c8], 0x40426e
mov dword [0x4051c0], 0xf
mov dword [0x40506e], eax
push 0x7f00
push 0
call dword [sym.imp.user32.dll_LoadIconA]
mov dword [0x4051b8], eax
mov dword [0x4051cc], eax
push 0x7f00
push 0
call dword [sym.imp.user32.dll_LoadCursorA]
mov dword [0x4051bc], eax
push 0x4051a0
call dword [sym.imp.user32.dll_RegisterClassExA]
push 0
push dword [0x40506e]
push 0
push 0
push 0x1e5
push 0x21e
push 0xffffe52a
push 0xfffff588
push 0x40000
push str.justam
push 0x40426e
push 0
call dword [sym.imp.user32.dll_CreateWindowExA]
mov dword [0x405218], eax
push 5
push dword [0x405218]
call dword [sym.imp.user32.dll_ShowWindow]
push dword [0x405218]
call dword [sym.imp.user32.dll_UpdateWindow]
jmp 0x403b1f
push 0
push 0
push 0
push 0x4051d0
call dword [sym.imp.user32.dll_GetMessageA]
or eax, eax
je 0x403b4c
push 0x4051d0
call dword [sym.imp.user32.dll_TranslateMessage]
push 0x4051d0
call dword [sym.imp.user32.dll_DispatchMessageA]
jmp 0x403b1f
mov eax, dword [0x4051d8]
jmp 0x403b59
call 0x402be1
ret
Function at 0x4039cf
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
push esi
push edi
push str.StartServiceCtrlDispatcherA
push str.ADVAPI32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, str.Serpiei
mov edi, eax
push esi
call fcn.00403061
test eax, eax
pop ecx
je 0x403a23
and dword [ebp - 8], 0
and dword [ebp - 4], 0
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], esi
push eax
mov dword [ebp - 0xc], 0x403756
call edi
pop edi
xor eax, eax
pop esi
leave
ret 0x10
and byte [ebp - 0x114], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x113]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x114]
push eax
call fcn.00402ca7
lea eax, [ebp - 0x114]
push 1
push eax
push str.Microsoft_.NET_COM_Integration_with_SOAP
push str.Microsoft_.Net_Frameworek_COMi_Suppoot
push esi
call fcn.004031c0
add esp, 0x18
call fcn.00402217
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]

Function at 0x461f20
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, 0x455015
lea edi, [esi - 0x54015]
push edi
or ebp, 0xffffffff
jmp 0x461f42
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x461f49
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x461f38
mov eax, 1
add ebx, ebx
jne 0x461f5b
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x461f50
jne 0x461f6c
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x461f50
xor ecx, ecx
sub eax, 3
jb 0x461f80
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x461ff2
mov ebp, eax
add ebx, ebx
jne 0x461f8b
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x461f98
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x461fbc
inc ecx
add ebx, ebx
jne 0x461fa8
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x461f9d
jne 0x461fb9
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x461f9d
add ecx, 2
cmp ebp, 0xfffff300
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x461fdc
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x461fcd
jmp 0x461f3e
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x461fdc
add edi, ecx
jmp 0x461f3e
pop esi
mov edi, esi
mov ecx, 0x32d
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x461ffa
cmp byte [edi], 0
jne 0x461ffa
mov eax, dword [edi]
mov bl, byte [edi + 4]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
sub bl, 0xe8
add eax, esi
mov dword [edi], eax
add edi, 5
mov eax, ebx
loop 0x461fff
lea edi, [esi + 0x5f000]
mov eax, dword [edi]
or eax, eax
je 0x46206e
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x621f0]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x62254]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x46202c
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x62258]
or eax, eax
je 0x462068
mov dword [ebx], eax
add ebx, 4
jmp 0x462049
call dword [esi + 0x6225c]
popal
jmp 0x4095a4
Function at 0x402c80
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x54
mov eax, dword [0x416004]
xor eax, esp
mov dword [esp + 0x50], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
push 0x208
call fcn.00402fdf
add esp, 4
mov esi, eax
mov ecx, esi
call section..text
test al, al
je 0x402cbf
xor dl, dl
mov ecx, esi
call fcn.00402a20
jmp 0x402cd6
sub esp, 8
call fcn.004026a0
add esp, 8
push 0
push 0x416880
call fcn.0040158f
push esi
call fcn.00402fda
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
add esp, 4
push 0x64
push 0x4b3560
push 0x67
push edi
call esi
push 0x64
push 0x4b3498
push 0x6d
push edi
call esi
mov esi, dword [sym.imp.USER32.dll_LoadIconW]
push 0x81
push edi
mov dword [esp + 0x18], 0x30
mov dword [esp + 0x1c], 3
mov dword [esp + 0x20], 0x402e70
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], edi
call esi
push 0x7f00
push 0
mov dword [esp + 0x30], eax
call dword [sym.imp.USER32.dll_LoadCursorW]
push 0x83
push dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], 6
mov dword [esp + 0x3c], 0x6d
mov dword [esp + 0x40], 0x4b3498
call esi
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExW]
push 0
push edi
push 0
push 0
push 0
push 0x80000000
push 0
push 0x80000000
push 0xcf0000
push 0x4b3560
push 0x4b3498
push 0
mov dword [0x4b3490], edi
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov esi, eax
test esi, esi
je 0x402e4e
push dword [ebp + 0x14]
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x6d
push edi
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
push 0
push 0
mov dword [esp + 0x14], eax
lea eax, [esp + 0x48]
push 0
push eax
call esi
test eax, eax
je 0x402e36
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageW]
nop dword [eax + eax]
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x10]
push dword [esp + 0x48]
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x402e25
lea eax, [esp + 0x40]
push eax
call edi
lea eax, [esp + 0x40]
push eax
call ebx
push 0
push 0
push 0
lea eax, [esp + 0x4c]
push eax
call esi
test eax, eax
jne 0x402e00
mov eax, dword [esp + 0x48]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x50]
xor ecx, esp
call fcn.00402fc9
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esp + 0x5c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00402fc9
mov esp, ebp
pop ebp
ret 0x10
Function at 0x431000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
nop
mov eax, section..text
nop
push 4
nop
nop
nop
nop
nop
nop
nop
pop edi
nop
nop
cmp eax, 0
nop
nop
nop
nop
nop
je 0x431072
nop
nop
mov ebx, 0x40915c
nop
nop
mov ecx, ebx
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
push eax
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
div edi
nop
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
nop
pop eax
nop
mov esi, 0x7b4351d4
nop
xor dword [eax], esi
nop
nop
nop
nop
nop
nop
add eax, edi
nop
nop
loop 0x431060
nop
nop
nop
mov eax, section..data
nop
nop
nop
cmp eax, 0
nop
nop
nop
je 0x4310d2
nop
nop
nop
mov ebx, 0x42f3f8
nop
nop
mov ecx, ebx
nop
nop
sub ecx, eax
nop
nop
nop
nop
xor edx, edx
nop
nop
nop
nop
nop
push eax
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
nop
nop
nop
div edi
nop
nop
nop
nop
xchg ecx, eax
nop
nop
pop eax
nop
nop
nop
nop
mov esi, 0x211a194d
nop
xor dword [eax], esi
nop
nop
nop
nop
nop
nop
nop
add eax, edi
nop
loop 0x4310c0
nop
nop
nop
nop
nop
nop
nop
nop
nop
popal
jmp 0x401219
Function at 0x1003c500
Capabilities:
Encode data using xor
Encrypt data using aes via x86 extensions

Disassembly:
push ebp
push ebx
test eax, eax
je 0x1003ca20
test edx, edx
je 0x1003ca20
call fcn.1003c517
mov eax, 0xffffffff
pop ebx
pop ebp
ret

Function at 0x1003ca60
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
call fcn.1003c500
mov edx, dword [esp + 0xc]
shl ecx, 4
test eax, eax
jne 0x1003cad1
lea eax, [edx + ecx + 0x10]
movups xmm0, xmmword [edx]
movups xmm1, xmmword [eax]
movups xmmword [eax], xmm0
movups xmmword [edx], xmm1
lea edx, [edx + 0x10]
lea eax, [eax - 0x10]
movups xmm0, xmmword [edx]
movups xmm1, xmmword [eax]
aesimc xmm0, xmm0
aesimc xmm1, xmm1
lea edx, [edx + 0x10]
lea eax, [eax - 0x10]
movups xmmword [eax + 0x10], xmm0
movups xmmword [edx - 0x10], xmm1
cmp eax, edx
ja 0x1003ca96
movups xmm0, xmmword [edx]
aesimc xmm0, xmm0
movups xmmword [edx], xmm0
pxor xmm0, xmm0
pxor xmm1, xmm1
xor eax, eax
ret

Function at 0x1003d3e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push esi
push edi
sub esp, 0x10
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
bswap eax
bswap ebx
bswap ecx
bswap edx
mov dword [edi], eax
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
cmp ebp, 0x80
je 0x1003d464
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
cmp ebp, 0xc0
je 0x1003d43c
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
jmp 0x1003d444
mov ecx, eax
mov edx, ebx
not ecx
not edx
bswap eax
bswap ebx
bswap ecx
bswap edx
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ebx
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], edx
xor eax, dword [edi]
xor ebx, dword [edi + 4]
xor ecx, dword [edi + 8]
xor edx, dword [edi + 0xc]
nop
call fcn.1003d469

Function at 0x100495f0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101dd050
mov eax, dword fs:[0]
push eax
push esi
push edi
mov eax, dword [0x1026ebc4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esi], vtable.CryptoPP::FilterWithBufferedInput.0
mov dword [esi + 4], vtable.CryptoPP::FilterWithBufferedInput.1.0
mov dword [ebp - 4], 0
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x30]
cmp eax, ecx
mov edx, dword [esi + 0x34]
mov edi, edx
cmovb ecx, eax
xor al, al
rep stosb byte es:[edi], al
push edx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov ecx, dword [esi + 0xc]
add esp, 4
test ecx, ecx
je 0x10049654
mov eax, dword [ecx]
push 1
call dword [eax]
test byte [ebp + 8], 1
je 0x10049665
push 0x48
push esi
call fcn.101d999a
add esp, 8
mov eax, esi
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 0x100496e0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101dd030
mov eax, dword fs:[0]
push eax
push esi
push edi
mov eax, dword [0x1026ebc4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
lea edx, [esi + 0x48]
mov dword [esi], vtable.CryptoPP::StreamTransformationFilter.0
mov dword [esi + 4], vtable.CryptoPP::StreamTransformationFilter.1.0
mov dword [edx], vtable.CryptoPP::FilterPutSpaceHelper.0
mov dword [ebp - 4], 0
mov eax, dword [edx + 8]
cmp eax, dword [edx + 0xc]
sbb ecx, ecx
xor al, al
and ecx, 0xfffffffc
add ecx, 0xc
add ecx, edx
mov edx, dword [edx + 0x10]
mov edi, edx
push edx
mov ecx, dword [ecx]
rep stosb byte es:[edi], al
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov dword [esi], vtable.CryptoPP::FilterWithBufferedInput.0
mov dword [esi + 4], vtable.CryptoPP::FilterWithBufferedInput.1.0
mov dword [ebp - 4], 1
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x30]
cmp eax, ecx
mov edx, dword [esi + 0x34]
mov edi, edx
cmovb ecx, eax
xor al, al
rep stosb byte es:[edi], al
push edx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov ecx, dword [esi + 0xc]
add esp, 8
test ecx, ecx
je 0x10049782
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x10049ab0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101dd0f1
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x1026ebc4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x14], esi
push 0
mov dword [ebp - 0x10], 0
call fcn.10093520
mov dword [ebp - 4], 0
mov dword [esi], vtable.CryptoPP::BaseN_Decoder.0
mov dword [esi + 4], vtable.CryptoPP::BaseN_Decoder.1.0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x30], 0xffffffff
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
push dword [ebp + 0x10]
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.10093e30
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call fcn.1008eaa0
mov edi, eax
push 0x14
mov byte [ebp - 4], 3
call fcn.101d9536
mov ecx, dword [ebp + 8]
mov ebx, eax
add esp, 4
mov dword [ebp + 0x10], ebx
mov dword [ebp + 8], ebx
mov dword [ebx + 4], str.DecodingLookupArray
mov word [ebx + 8], 1
mov dword [ebx + 0xc], 0
mov dword [ebx], vtable.CryptoPP::AlgorithmParametersTemplate_int_const__.0
mov dword [ebx + 0x10], ecx
mov byte [ebp - 4], 4
mov eax, dword [edi + 4]
mov dword [edi + 4], 0
mov ecx, dword [ebx + 0xc]
mov dword [ebp + 0x10], eax
test ecx, ecx
je 0x10049baa
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [ebp + 0x10]
mov dword [ebx + 0xc], eax
mov ecx, dword [edi + 4]
mov dword [ebp + 8], 0
test ecx, ecx
je 0x10049bc1
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [edi + 4], ebx
mov byte [edi + 8], 1
push edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.1008ea20
mov dword [ebp - 0x10], 1
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x10049bed
mov eax, dword [ecx]
push 1
call dword [eax]
lea eax, [ebp + 0xc]
mov byte [ebp - 4], 2
push eax
push str.Log2Base
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x20], vtable.CryptoPP::NameValuePairs.0
call fcn.100513b0
push eax
mov ecx, esi
call fcn.100925d0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x10049c22
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x10049c40
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101dd050
mov eax, dword fs:[0]
push eax
push esi
push edi
mov eax, dword [0x1026ebc4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 4], 0
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
cmp eax, ecx
mov edx, dword [esi + 0x38]
mov edi, edx
cmovb ecx, eax
xor al, al
rep stosb byte es:[edi], al
push edx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov ecx, dword [esi + 0xc]
add esp, 4
test ecx, ecx
je 0x10049c97
mov eax, dword [ecx]
push 1
call dword [eax]
test byte [ebp + 8], 1
je 0x10049ca8
push 0x3c
push esi
call fcn.101d999a
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4