joyce8/EMBER2024-capa huggingface dataset:
Function at 0x43a428
Capabilities:
Check if file exists
Create process on windows

Disassembly:
push esi
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push dword [0x508dd0]
call esi
test eax, eax
je 0x43a448
xor eax, eax
push eax
push eax
push eax
push dword [0x508dd0]
jmp 0x43a478
push dword [0x508dc8]
call esi
test eax, eax
je 0x43a461
xor eax, eax
push eax
push eax
push eax
push dword [0x508dc8]
jmp 0x43a478
push dword [0x508dc4]
call esi
test eax, eax
je 0x43a480
xor eax, eax
push eax
push eax
push eax
push dword [0x508dc4]
push eax
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
xor eax, eax
pop esi
ret

Function at 0x43b4ed
Capabilities:
Check if file exists
Set current directory

Disassembly:
mov eax, 0x4cc130
call fcn.004970e4
sub esp, 0x1c
push ebx
push esi
push edi
mov esi, ecx
push dword [ebp + 8]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x43b52b
push dword [ebp + 8]
lea eax, [ebp - 0x10]
push eax
call fcn.0041d185
pop ecx
pop ecx
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea ecx, [ebp - 0x10]
call fcn.004b2256
lea eax, [ebp - 0x14]
push eax
call fcn.0041f45e
pop ecx
mov eax, dword [eax]
and dword [ebp - 4], 0
push 1
push 1
push eax
lea ecx, [ebp - 0x28]
call fcn.0041c697
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.004b2256
push dword [ebp + 8]
lea edi, [esi + 0x70]
mov ecx, edi
call fcn.004b23ed
push dword [ebp + 0x10]
mov eax, esi
neg eax
push dword [ebp - 0x24]
lea ecx, [esi + 0x68]
sbb eax, eax
and eax, ecx
mov ecx, esi
push eax
call fcn.0043b2ce
test eax, eax
je 0x43b582
mov esi, eax
jmp 0x43b5b7
push dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov eax, dword [esi]
mov ecx, esi
push ebx
push dword [ebp - 0x24]
call dword [eax + 0x28]
test eax, eax
je 0x43b59c
or esi, 0xffffffff
jmp 0x43b5b7
mov edi, dword [edi]
mov eax, dword [esi]
push edi
push ebx
mov ecx, esi
call dword [eax + 0x2c]
or esi, 0xffffffff
cmp eax, esi
je 0x43b5b7
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
xor esi, esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0041c704
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0xc
Function at 0x4aeba0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov esi, dword [ebp + 0x10]
push 0xf00021
mov edx, dword [esi + 4]
mov ecx, dword [esi]
mov eax, dword [esi + 0xc]
sub eax, edx
push eax
mov eax, dword [esi + 8]
sub eax, ecx
push eax
push edx
push ecx
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.GDI32.dll_PatBlt]
mov edi, dword [ebp + 8]
push edi
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov ebx, eax
lea eax, [eax + 5]
add eax, 3
and eax, 0xfffffffc
call fcn.004972f0
mov dword [ebp - 4], esp
cmp dword [ebp - 4], 0
je 0x4aec6b
add ebx, 2
mov eax, dword [ebp - 4]
push ebx
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextA]
test eax, eax
je 0x4aec6b
mov bx, 0x140
mov edi, dword [ebp + 0x14]
mov eax, edi
and al, 0xf
cmp al, 0xc
je 0x4aec1e
mov ebx, edi
and bx, 0xf
or bx, 0x150
test edi, 0x80
je 0x4aec29
or bh, 8
and edi, 0x8000000
je 0x4aec44
mov eax, dword [0x50cd1c]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SetTextColor]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
movzx eax, bx
push eax
push esi
push 0xffffffffffffffff
push ecx
push edx
call dword [sym.imp.USER32.dll_DrawTextA]
test edi, edi
je 0x4aec6b
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SetTextColor]
lea esp, [ebp - 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4b5054
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebx
push esi
push edi
xor edi, edi
cmp dword [esp + 0x10], edi
mov ebx, ecx
je 0x4b5096
call fcn.004c4f20
mov esi, dword [eax + 0xc]
push 0xf0
push dword [esp + 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
cmp eax, edi
je 0x4b5096
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, edi
jne 0x4b508d
xor eax, eax
jmp 0x4b509e
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
push edi
mov ecx, ebx
call fcn.004b50a4
pop edi
pop esi
pop ebx
ret 4

Function at 0x4bc617
Capabilities:
Set registry value

Disassembly:
mov eax, 0x4cdfbc
call fcn.004970e4
push ecx
push ecx
push esi
push 0x10
call fcn.004b282a
mov esi, eax
pop ecx
mov dword [ebp - 0x14], esi
and dword [ebp - 4], 0
test esi, esi
je 0x4bc664
mov ecx, esi
call fcn.004b7843
mov eax, dword [0x5047a8]
lea ecx, [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [ebp + 8]
push dword [ebp + 0xc]
mov byte [ebp - 4], 2
mov dword [esi], vtable.CArchiveException.0
mov dword [esi + 8], eax
call fcn.004b23ed
jmp 0x4bc666
xor esi, esi
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x10]
push 0x4ebc38
push eax
mov dword [ebp - 0x10], esi
call fcn.0049874c
pop esi
Function at 0x433001
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..text
mov ebx, 0x40de38
nop
nop
mov ecx, 0x43e06ca8
nop
nop
nop
nop
test eax, eax
nop
nop
je 0x43304e
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
inc eax
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
nop
jne 0x433024
nop
nop
nop
nop
mov eax, section..data
nop
mov ebx, 0x4304d8
nop
mov ecx, 0x2034ee4
test eax, eax
nop
nop
nop
nop
nop
nop
je 0x433084
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
add eax, 4
cmp eax, ebx
nop
nop
nop
nop
nop
nop
jne 0x43306c
nop
nop
nop
nop
nop
nop
popal
nop
jmp 0x431219
Function at 0x4016b0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
lea edi, [esi + 0x14]
mov dword [esi], 0x40731c
cmp dword [edi], ebx
je 0x401755
push str._mozilla.org_observer_service_1
mov edx, 0x407f08
mov dword [ebp - 4], ebx
lea ecx, [ebp - 4]
call fcn.00405dbe
mov eax, dword [ebp - 4]
test eax, eax
je 0x401735
mov ecx, dword [eax]
push ebx
push str.profile_change_net_teardown
push ebx
push eax
call dword [ecx + 0x14]
mov eax, dword [ebp - 4]
push ebx
push str.profile_change_teardown
push ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov eax, dword [ebp - 4]
push ebx
push str.profile_before_change
push ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov eax, dword [ebp - 4]
push ebx
push str.profile_before_change_qm
push ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov eax, dword [ebp - 4]
push ebx
push str.profile_before_change_telemetry
push ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov eax, dword [edi]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x4c]
xor edx, edx
mov ecx, edi
call fcn.00405eab
mov eax, dword [ebp - 4]
test eax, eax
je 0x401755
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x40178c
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push ebx
mov dword [esi + 0xc], ebx
call dword [sym.imp.xul.dll_NS_ShutdownXPCOM]
pop ecx
mov ecx, eax
shr ecx, 0x1f
test cl, 1
je 0x40178c
push eax
push str.XPCOM_shutdown_failed_with_code_0x_x
call fcn.0040356f
pop ecx
pop ecx
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
push dword [esi + 8]
push str.Finished_running__s_tests._n
call fcn.00405829
pop ecx
pop ecx
mov ecx, dword [esi + 0x1c]
test ecx, ecx
je 0x4017a8
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x4017b5
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [edi]
test ecx, ecx
je 0x4017c1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esi + 0x10]
pop edi
pop esi
pop ebx
test ecx, ecx
je 0x4017d1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov esp, ebp
pop ebp
ret
Function at 0x402edf
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
lea eax, [ebp - 0xc]
push edi
push eax
call fcn.00402e23
push 2
push 0x52
push str.SELECT_id__from_visit__visit_type_FROM_moz_historyvisits_WHERE_place_id_1_LIMIT_1
mov edi, dword [eax]
and dword [eax], 0
lea eax, [ebp - 0x18]
and dword [ebp - 8], 0
push eax
call dword [sym.imp.xul.dll_NS_CStringContainerInit2]
mov eax, dword [edi]
lea ecx, [ebp - 8]
add esp, 0x14
push ecx
lea ecx, [ebp - 0x18]
push ecx
push edi
call dword [eax + 0x60]
mov ebx, eax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.xul.dll_NS_CStringContainerFinish]
inc dword [0x40a0ec]
mov esi, str._s__Expected_true__got_false_at_line__d
shr ebx, 0x1f
not bl
test bl, 1
mov ebx, str.c:_buildsmoz2_slavem_in_w32_000000000000000000000_build_src_toolkitcomponentsplaces_testscppplaces_test_harness.h
pop ecx
je 0x402f4d
inc dword [0x40a0f0]
jmp 0x402f5c
push 0x13c
push ebx
push esi
call fcn.0040356f
add esp, 0xc
push dword [ebp + 0xc]
mov eax, dword [ebp - 8]
push dword [ebp + 8]
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x4c]
inc dword [0x40a0ec]
shr eax, 0x1f
not al
test al, 1
je 0x402f84
inc dword [0x40a0f0]
jmp 0x402f93
push 0x13f
push ebx
push esi
call fcn.0040356f
add esp, 0xc
mov eax, dword [ebp - 8]
lea edx, [ebp - 1]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xcc]
inc dword [0x40a0ec]
shr eax, 0x1f
not al
test al, 1
je 0x402fba
inc dword [0x40a0f0]
jmp 0x402fc9
push 0x143
push ebx
push esi
call fcn.0040356f
add esp, 0xc
cmp byte [ebp - 1], 0
jne 0x402fde
mov eax, dword [ebp + 0x10]
and dword [eax], 0
and dword [eax + 4], 0
jmp 0x403092
mov eax, dword [ebp - 8]
mov esi, dword [ebp + 0x10]
push esi
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0xdc]
inc dword [0x40a0ec]
shr eax, 0x1f
not al
test al, 1
je 0x403007
inc dword [0x40a0f0]
jmp 0x40301a
push 0x14b
push ebx
push str._s__Expected_true__got_false_at_line__d
call fcn.0040356f
add esp, 0xc
mov eax, dword [ebp - 8]
lea ecx, [esi + 8]
push ecx
push 1
push eax
mov edx, dword [eax]
call dword [edx + 0xdc]
inc dword [0x40a0ec]
shr eax, 0x1f
not al
test al, 1
je 0x403043
inc dword [0x40a0f0]
jmp 0x403056
push 0x14d
push ebx
push str._s__Expected_true__got_false_at_line__d
call fcn.0040356f
add esp, 0xc
mov eax, dword [ebp - 8]
lea ecx, [esi + 0x10]
push ecx
push 2
push eax
mov edx, dword [eax]
call dword [edx + 0xd8]
inc dword [0x40a0ec]
shr eax, 0x1f
not al
test al, 1
je 0x40307f
inc dword [0x40a0f0]
jmp 0x403092
push 0x14f
push ebx
push str._s__Expected_true__got_false_at_line__d
call fcn.0040356f
add esp, 0xc
mov eax, dword [ebp - 8]
test eax, eax
je 0x40309f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [edi]
push edi
call dword [eax + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x40176f
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [section..data]
jne 0x401779
repz ret
jmp fcn.00401a16

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 0x10002480
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x10
mov esi, dword [ebp + 8]
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_strlen]
mov ebx, eax
xor eax, eax
test ebx, ebx
je 0x100024d8
cmp byte [esi + ebx - 1], 0xa
je 0x100024ac
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x24]
xchg dword [0x10008084], eax
mov dword [esp], 2
call dword [sym.imp.ucrtbase.dll___acrt_iob_func]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_fwrite]
add esp, 0x10
pop ebx
pop esi
pop ebp
ret
Function at 0x10002a80
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xe0
mov edi, dword [0x10008094]
mov esi, dword [ebp + 8]
test edi, edi
je 0x10002c40
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call dword [0x10008094]
movzx eax, al
bt eax, esi
jae 0x10002ca0
mov ecx, dword [0x10008084]
xor eax, eax
mov edx, dword fs:[0x18]
cmp dword [edx + 0x24], ecx
je 0x10002b45
test byte [0x10003030], 8
jne 0x10002be0
lea ebx, [ebp - 0xd4]
mov edi, ebx
test byte [0x10003040], 8
jne 0x10002b90
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x24]
mov dword [esp + 4], str._04x:
mov dword [esp], edi
mov dword [esp + 8], eax
call sym._sprintf
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x10002b14
cmp esi, 3
jbe 0x10002b50
mov dword [esp], 2
call dword [sym.imp.ucrtbase.dll___acrt_iob_func]
mov dword [esp], ebx
mov esi, eax
call dword [sym.imp.ucrtbase.dll_strlen]
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_fwrite]
add esp, 0xe0
pop ebx
pop esi
pop edi
pop ebp
ret
add eax, edi
mov edi, dword [ebp + 0x10]
mov dword [esp + 8], str._s:_s:_s
mov dword [esp], eax
mov dword [esp + 0x14], edi
mov edi, dword [ebp + 0xc]
lea edx, [edi + 1]
mov dword [esp + 0x10], edx
mov edx, dword [esi*4 + 0x100061f0]
mov dword [esp + 0xc], edx
mov edx, ebx
sub edx, eax
add edx, 0xc8
mov dword [esp + 4], edx
call sym._snprintf.constprop.0
jmp 0x10002b14
mov ecx, dword [0x10008094]
test ecx, ecx
je 0x10002c80
mov dword [esp], 0x10003040
call dword [0x10008094]
test al, 8
je 0x10002aeb
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x20]
mov dword [esp], edi
mov dword [esp + 4], str._04x:
mov dword [esp + 8], eax
call sym._sprintf
add edi, eax
jmp 0x10002aeb
mov ebx, dword [0x10008094]
test ebx, ebx
je 0x10002c60
mov dword [esp], 0x10003030
call dword [0x10008094]
test al, 8
je 0x10002ad6
call dword [sym.imp.kernel32.dll_GetTickCount]
lea ebx, [ebp - 0xd4]
mov dword [esp + 4], str._3u._03u:
mov ecx, eax
mov eax, 0x10624dd3
mov dword [esp], ebx
mul ecx
shr edx, 6
imul eax, edx, 0x3e8
mov dword [esp + 8], edx
sub ecx, eax
mov dword [esp + 0xc], ecx
call sym._sprintf
lea edi, [ebx + eax]
jmp 0x10002ade
mov ecx, sym._fallback__wine_dbg_get_channel_flags
mov edx, str.__wine_dbg_get_channel_flags
mov eax, 0x10008094
call sym._load_func.part.0
jmp 0x10002a9d
mov ecx, sym._fallback__wine_dbg_get_channel_flags
mov edx, str.__wine_dbg_get_channel_flags
mov eax, 0x10008094
call sym._load_func.part.0
jmp 0x10002bea
mov ecx, sym._fallback__wine_dbg_get_channel_flags
mov edx, str.__wine_dbg_get_channel_flags
mov eax, 0x10008094
call sym._load_func.part.0
jmp 0x10002b9e
mov eax, 0xffffffff
jmp 0x10002b45
Function at 0x4022e0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x431e10
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x43b040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
push 0x2c
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
push 0
push esi
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
call sub.VCRUNTIME140.dll_memset
lea edi, [esi + 0x3c]
add esp, 0xc
lea eax, [edi + 0x10]
mov dword [ebp - 0x10], edi
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
mov dword [ebp - 4], 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
mov byte [edi], 0
mov dword [edi + 0xc], 0
mov dword [edi + 8], 0
mov dword [edi + 4], 0
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x4023d8
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x10]
call fcn.0041a8f0
lea eax, [edi + 0x10]
mov dword [eax], 0
xorps xmm0, xmm0
mov dword [edi + 0x2c], 0
mov eax, esi
mov dword [edi + 0x30], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x34], 0
mov dword [esi + 0x80], 0
mov dword [esi + 0x7c], 0
mov dword [esi + 0x84], 0
movups xmmword [esi + 0x74], xmm0
mov dword [esi + 0x84], 0
mov dword [esi + 0x88], 0
mov dword [esi + 0x8c], 0
mov dword [esi + 0x90], 0
mov dword [esi + 0x94], 0
mov dword [esi + 0x98], 0
mov dword [esi + 0x9c], 0
mov dword [esi + 0xa0], 0
mov dword [esi + 0xa4], 0
mov dword [esi + 0x30], 0xffffffff
mov dword [esi + 0x2c], 0xffffffff
mov dword [esi + 0x38], 0
mov dword [esi + 0x34], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x404b60
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, edx
not ebx
mov esi, ecx
mov eax, ebx
test edi, edi
je 0x404bc1
mov cl, byte [esi]
lea esi, [esi + 1]
dec edi
cmp cl, 0x23
jne 0x404ba4
cmp edi, 2
jb 0x404ba4
cmp byte [esi], cl
jne 0x404ba4
cmp byte [esi + 1], cl
jne 0x404ba4
mov eax, ebx
movzx ecx, cl
movzx edx, al
xor edx, ecx
shr eax, 8
xor eax, dword [edx*4 + 0x4344e0]
jmp 0x404b75
movzx edx, al
movzx ecx, cl
xor edx, ecx
shr eax, 8
xor eax, dword [edx*4 + 0x4344e0]
test edi, edi
jne 0x404b75
pop edi
pop esi
not eax
pop ebx
pop ebp
ret
mov cl, byte [esi]
inc esi
test cl, cl
je 0x404bf0
cmp cl, 0x23
jne 0x404bd7
cmp byte [esi], cl
jne 0x404bd7
cmp byte [esi + 1], cl
cmove eax, ebx
movzx edx, al
movzx ecx, cl
xor edx, ecx
shr eax, 8
mov cl, byte [esi]
inc esi
xor eax, dword [edx*4 + 0x4344e0]
test cl, cl
jne 0x404bc8
pop edi
pop esi
not eax
pop ebx
pop ebp
ret

Function at 0x404d80
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
test ebx, ebx
je 0x404d93
mov dword [ebx], 0
mov edx, 0x4340d4
call fcn.00404c00
mov esi, eax
test esi, esi
je 0x404eb2
mov edi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
push esi
call edi
add esp, 4
mov dword [ebp + 8], eax
cmp eax, 0xffffffff
je 0x404ea8
push 2
push 0
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
add esp, 0xc
test eax, eax
jne 0x404ea8
push esi
call edi
mov edi, eax
add esp, 4
cmp edi, 0xffffffff
je 0x404ea8
push 0
push dword [ebp + 8]
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
add esp, 0xc
test eax, eax
jne 0x404ea8
mov ecx, edi
call fcn.00407f90
mov dword [ebp + 8], eax
test eax, eax
je 0x404ea8
push esi
push edi
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add esp, 0x10
push esi
cmp eax, edi
je 0x404e91
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov ecx, dword [0x43b490]
add esp, 4
test ecx, ecx
je 0x404e7e
movsx edx, word [ecx + 0x5ee4]
lea eax, [ecx + 0x5ee8]
mov esi, dword [ecx + 0x3f08]
lea eax, [eax + edx*8]
cmp dword [eax], esi
je 0x404e74
lea eax, [edx + 1]
mov edi, 6
cdq
idiv edi
movzx eax, dx
mov word [ecx + 0x5ee4], ax
cwde
add eax, 0xbdd
xor edx, edx
lea eax, [ecx + eax*8]
mov dword [eax], esi
mov dword [eax + 4], edx
inc word [eax + 6]
inc dword [ecx + 0x5ee0]
push dword [ebp + 8]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
test ebx, ebx
je 0x404ea0
mov dword [ebx], edi
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
pop ebp
ret
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret
Function at 0x407990
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [0x43b040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
lea edx, [ebp - 8]
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov esi, 4
mov eax, dword [edi + 0xec]
mov ebx, dword [edi + 0xf4]
mov ebx, dword [ebx + eax*4 - 4]
not ebx
nop dword [eax + eax]
movzx eax, byte [edx]
lea edx, [edx + 1]
movzx ecx, bl
xor ecx, eax
shr ebx, 8
xor ebx, dword [ecx*4 + 0x4344e0]
sub esi, 1
jne 0x4079d0
mov eax, dword [edi]
not ebx
cmp dword [eax + 0x3fc4], ebx
jne 0x407a07
push ecx
push dword [ebp - 0xc]
lea edx, [esi + 4]
mov ecx, ebx
call fcn.00419f40
add esp, 8
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00430dc1
mov esp, ebp
pop ebp
ret 4
Function at 0x40af00
Capabilities:
Hash data with crc32

Disassembly:
mov eax, ecx
or ecx, 0xffffffff
push ebx
push esi
mov bl, byte [eax]
lea esi, [eax + 1]
test bl, bl
je 0x40af3d
push edi
or edi, 0xffffffff
cmp bl, 0x23
jne 0x40af23
cmp byte [esi], bl
jne 0x40af23
cmp byte [esi + 1], bl
cmove ecx, edi
movzx edx, cl
movzx eax, bl
mov bl, byte [esi]
xor edx, eax
shr ecx, 8
inc esi
xor ecx, dword [edx*4 + 0x4344e0]
test bl, bl
jne 0x40af14
pop edi
pop esi
not ecx
pop ebx
jmp fcn.0040aea0