joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1019d5c
Capabilities:
Clear file content

Disassembly:
push ecx
push ebp
push esi
push edi
mov edi, dword [esp + 0x14]
xor esi, esi
cmp edi, dword [0x101f268]
jae 0x1019eb8
mov eax, edi
sar eax, 5
mov eax, dword [eax*4 + 0x101f280]
mov ecx, edi
and ecx, 0x1f
test byte [eax + ecx*8 + 4], 1
je 0x1019eb8
push 1
push esi
push edi
call fcn.0101743b
or ebp, 0xffffffff
add esp, 0xc
cmp eax, ebp
mov dword [esp + 0xc], eax
je 0x1019eb4
push 2
push esi
push edi
call fcn.0101743b
add esp, 0xc
cmp eax, ebp
je 0x1019eb4
push ebx
mov ebx, dword [esp + 0x1c]
sub ebx, eax
test ebx, ebx
jle 0x1019e60
push 0x1000
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebp, eax
test ebp, ebp
jne 0x1019df8
mov dword [0x101d76c], 0xc
or esi, 0xffffffff
jmp 0x1019ea0
push 0x8000
push edi
call fcn.0101a367
pop ecx
pop ecx
mov dword [esp + 0x18], eax
mov eax, 0x1000
cmp ebx, eax
jge 0x1019e14
mov eax, ebx
push eax
push ebp
push edi
call fcn.010174c7
add esp, 0xc
cmp eax, 0xffffffff
je 0x1019e2c
sub ebx, eax
test ebx, ebx
jg 0x1019e09
jmp 0x1019e42
cmp dword [0x101d770], 5
jne 0x1019e3f
mov dword [0x101d76c], 0xd
or esi, 0xffffffff
push dword [esp + 0x18]
push edi
call fcn.0101a367
pop ecx
pop ecx
push ebp
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1019ea0
jge 0x1019ea0
push 0
push dword [esp + 0x20]
push edi
call fcn.0101743b
push edi
call fcn.01018659
add esp, 0x10
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov esi, eax
neg esi
sbb esi, esi
neg esi
dec esi
cmp esi, ebp
jne 0x1019ea0
mov dword [0x101d76c], 0xd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x101d770], eax
push 0
push dword [esp + 0x14]
push edi
call fcn.0101743b
add esp, 0xc
mov eax, esi
pop ebx
jmp 0x1019ec5
mov eax, ebp
jmp 0x1019ec5
mov dword [0x101d76c], 9
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ecx
ret

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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, eax
mov ax, word [esi]
cmp ax, 0x22
push 2
pop ecx
jne 0x1001171
add esi, ecx
mov ax, word [esi]
test ax, ax
je 0x1001169
cmp ax, 0x22
jne 0x1001159
cmp word [esi], 0x22
jne 0x1001189
jmp 0x1001187
cmp ax, 0x20
jbe 0x1001189
add esi, ecx
cmp word [esi], 0x20
ja 0x1001177
jmp 0x1001189
cmp ax, 0x20
ja 0x1001191
add esi, ecx
mov ax, word [esi]
test ax, ax
jne 0x1001181
and dword [ebp - 0x18], 0
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
test byte [ebp - 0x18], 1
je 0x10011ab
movzx eax, word [ebp - 0x14]
jmp 0x10011ae
push 0xa
pop eax
push eax
push esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.dll_ExitProcess]
Function at 0xb45e80
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.UPX1
lea edi, [esi - 0x57f000]
push edi
or ebp, 0xffffffff
jmp 0xb45ea2
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0xb45ea9
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0xb45e98
mov eax, 1
add ebx, ebx
jne 0xb45ebb
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0xb45ecc
jne 0xb45eeb
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0xb45eeb
dec eax
add ebx, ebx
jne 0xb45ed8
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0xb45eb0
add ebx, ebx
jne 0xb45ee7
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jmp 0xb45f3d
xor ecx, ecx
sub eax, 3
jb 0xb45f03
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0xb45f72
sar eax, 1
mov ebp, eax
jmp 0xb45f0e
add ebx, ebx
jne 0xb45f0e
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0xb45edc
inc ecx
add ebx, ebx
jne 0xb45f1c
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0xb45edc
add ebx, ebx
jne 0xb45f29
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0xb45f1e
jne 0xb45f3a
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0xb45f1e
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 2
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0xb45f5c
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0xb45f4e
jmp 0xb45e9e
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0xb45f5c
add edi, ecx
jmp 0xb45e9e
pop esi
mov edi, esi
mov ecx, 0x34fead
mov al, 0xe8
repne scasb al, byte es:[edi]
jne 0xb45f97
cmp byte [edi], 0xe4
jne 0xb45f7c
mov eax, dword [edi]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
add eax, esi
stosd dword es:[edi], eax
jmp 0xb45f7a
lea edi, [esi + 0x741000]
mov eax, dword [edi]
or eax, eax
je 0xb45fdf
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x74f2a8]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x74f410]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0xb45f9d
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x74f414]
or eax, eax
je 0xb45fd9
mov dword [ebx], eax
add ebx, 4
jmp 0xb45fba
call dword [esi + 0x74f424]
mov ebp, dword [esi + 0x74f418]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x21f]
and byte [eax], 0x7f
and byte [eax + 0x28], 0x7f
pop eax
push eax
push esp
push eax
push ebx
push edi
call ebp
pop eax
popal
lea eax, [esp - 0x80]
push 0
cmp esp, eax
jne 0xb46013
sub esp, 0xffffff80
jmp 0x7abf64
Function at 0xd61020
Capabilities:
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x204
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea eax, [ebp - 0x204]
push str.Local_szLibraryName_X
push eax
call fcn.00d61000
add esp, 0xc
lea eax, [ebp - 0x204]
push eax
push 0
push 4
call dword [sym.imp.KERNEL32.dll_OpenFileMappingW]
mov edi, eax
test edi, edi
je 0xd61099
push 0x400
push 0
push 0
push 4
push edi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov esi, eax
test esi, esi
je 0xd61092
push esi
push str.C:UsersFlareVMDesktopStage_2_DLLAfwalsbpvui.dll
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp word [str.C:UsersFlareVMDesktopStage_2_DLLAfwalsbpvui.dll], 0
jne 0xd610ba
call sub.ntdll.dll_RtlGetLastNtStatus
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00d6151b
mov esp, ebp
pop ebp
ret 0x10
push str.C:UsersFlareVMDesktopStage_2_DLLAfwalsbpvui.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
jne 0xd61118
call sub.ntdll.dll_RtlGetLastNtStatus
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x204]
push str.Failed_to_load_DLL
push eax
call fcn.00d61000
add esp, 0xc
lea eax, [ebp - 0x204]
push 0x1010
push eax
push str.C:UsersFlareVMDesktopStage_2_DLLAfwalsbpvui.dll
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
pop edi
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00d6151b
mov esp, ebp
pop ebp
ret 0x10
push eax
lea eax, [ebp - 0x204]
push str.DLL_loaded:_0x_p
push eax
call fcn.00d61000
add esp, 0xc
lea eax, [ebp - 0x204]
push 0x1040
push eax
push str.C:UsersFlareVMDesktopStage_2_DLLAfwalsbpvui.dll
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
xor ecx, ebp
pop esi
call fcn.00d6151b
mov esp, ebp
pop ebp
ret 0x10
Function at 0xd66826
Capabilities:
Link many functions at runtime
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_EncodePointer]
push esi
push edi
mov dword [ebp - 0x1c], eax
xor esi, esi
mov eax, dword [ebp + 0xc]
push esi
mov dword [ebp - 0x20], eax
call ebx
mov edi, eax
mov dword [ebp - 0x18], edi
call fcn.00d63b16
mov dword [ebp - 0x14], eax
cmp dword [0xd74230], esi
jne 0xd66919
push 0x800
push esi
push 0xd6e4ac
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
test edi, edi
jne 0xd668a6
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
jne 0xd669f9
push esi
push esi
push 0xd6e4ac
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
test edi, edi
je 0xd669f9
push 0xd6e4c4
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0xd669f9
push eax
call ebx
push str.GetActiveWindow
push edi
mov dword [0xd74230], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
push str.GetLastActivePopup
push edi
mov dword [0xd74234], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
push str.GetUserObjectInformationW
push edi
mov dword [0xd74238], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
mov dword [0xd74240], eax
test eax, eax
je 0xd66916
push str.GetProcessWindowStation
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
mov dword [0xd7423c], eax
mov edi, dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0xd6693e
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0xd66931
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [ebp - 0x14], esi
je 0xd66953
push 4
pop eax
jmp 0xd669fb
cmp dword [ebp - 0x14], esi
je 0xd66953
push dword [0xd74230]
call dword [sym.imp.KERNEL32.dll_DecodePointer]
push 3
jmp 0xd66938
mov eax, dword [0xd7423c]
mov ebx, dword [sym.imp.KERNEL32.dll_DecodePointer]
cmp eax, edi
je 0xd669b1
cmp dword [0xd74240], edi
je 0xd669b1
push eax
call ebx
push dword [0xd74240]
mov dword [ebp - 0x14], eax
call ebx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0xd669b1
test eax, eax
je 0xd669b1
call ecx
test eax, eax
je 0xd669a6
lea ecx, [ebp - 0x24]
push ecx
push 0xc
lea ecx, [ebp - 0x10]
push ecx
push 1
push eax
call dword [ebp - 0x18]
test eax, eax
je 0xd669a6
test byte [ebp - 8], 1
jne 0xd669b1
mov edi, dword [ebp + 0x10]
or edi, 0x200000
jmp 0xd669e1
mov eax, dword [0xd74234]
cmp eax, edi
je 0xd669de
push eax
call ebx
test eax, eax
je 0xd669de
call eax
mov esi, eax
test esi, esi
je 0xd669de
mov eax, dword [0xd74238]
cmp eax, edi
je 0xd669de
push eax
call ebx
test eax, eax
je 0xd669de
push esi
call eax
mov esi, eax
mov edi, dword [ebp + 0x10]
push dword [0xd74230]
call ebx
test eax, eax
je 0xd669f9
push edi
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
push esi
call eax
jmp 0xd669fb
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00d6151b
mov esp, ebp
pop ebp
ret
Function at 0x10007c10
Capabilities:
Read file on windows
Read pipe

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x1006c8c0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
test ebx, ebx
jne 0x10007c54
push 0x62
push str.C:UserslfrazDesktopHermionecorediscord_rpcSourceFilesconnection_win.cpp
push 0x10056d4c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
xor al, al
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004ea63
mov esp, ebp
pop ebp
ret 8
test esi, esi
jne 0x10007c81
push 0x67
push str.C:UserslfrazDesktopHermionecorediscord_rpcSourceFilesconnection_win.cpp
push str.self
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
xor al, al
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004ea63
mov esp, ebp
pop ebp
ret 8
mov eax, dword [esi + 4]
push edi
cmp eax, 0xffffffff
je 0x10007d1c
push 0
lea ecx, [ebp - 8]
mov dword [ebp - 8], 0
push ecx
push 0
push 0
push 0
push eax
call dword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
je 0x10007d09
mov edi, dword [ebp + 0xc]
cmp dword [ebp - 8], edi
jb 0x10007d1c
push 0
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], 0
push eax
push edi
push ebx
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, 1
jne 0x10007d00
cmp edi, dword [ebp - 0xc]
je 0x10007ceb
push 0x74
push str.C:UserslfrazDesktopHermionecorediscord_rpcSourceFilesconnection_win.cpp
push str.bytesToRead__bytesRead
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004ea63
mov esp, ebp
pop ebp
ret 8
mov ecx, esi
call fcn.10007aa0
jmp 0x10007d1c
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 4], 0xffffffff
mov byte [esi], 0
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1004ea63
mov esp, ebp
pop ebp
ret 8

Function at 0x10007d40
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x1006c8c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x10007dc1
test ecx, ecx
jne 0x10007d87
push 0x4f
push str.C:UserslfrazDesktopHermionecorediscord_rpcSourceFilesconnection_win.cpp
push str.self
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004ea63
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ecx + 4]
cmp ecx, 0xffffffff
je 0x10007d74
test eax, eax
jne 0x10007da1
push 0x56
push str.C:UserslfrazDesktopHermionecorediscord_rpcSourceFilesconnection_win.cpp
push 0x10056d4c
jmp 0x10007d6b
push 0
lea edx, [ebp - 8]
mov dword [ebp - 8], 0
push edx
push esi
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, 1
jne 0x10007d74
cmp dword [ebp - 8], esi
jne 0x10007d74
mov ecx, dword [ebp - 4]
mov al, 1
xor ecx, ebp
pop esi
call fcn.1004ea63
mov esp, ebp
pop ebp
ret 8
Function at 0x1000a2a0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 8]
push 0x100640cc
push 0x64
call fcn.1004ea94
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x1000a44b
push 0x64
push 0
push ebx
call sub.VCRUNTIME140.dll_memset
lea eax, [ebx + 4]
mov byte [ebx], 1
mov dword [eax + 4], 0
xorps xmm0, xmm0
mov dword [eax + 8], 0
movups xmmword [eax + 0xc], xmm0
push 2
movq qword [eax + 0x1c], xmm0
mov dword [eax + 0x24], 0
push eax
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
call sub.MSVCP140.dll__Mtx_init_in_situ
lea eax, [ebx + 0x34]
push eax
call sub.MSVCP140.dll__Cnd_init_in_situ
add esp, 0x18
mov dword [0x10092bec], ebx
cmp dword [ebp + 0x10], 0
xorps xmm0, xmm0
movq qword [ebx + 0x5c], xmm0
je 0x1000a34c
test esi, esi
je 0x1000a341
cmp byte [esi], 0
je 0x1000a341
push esi
push edi
call fcn.100081c0
jmp 0x1000a349
push 0
push edi
call fcn.10008140
add esp, 8
call sub.KERNEL32.dll_GetCurrentProcessId
push 0x1006d4f0
mov dword [0x10092be8], eax
call sub.MSVCP140.dll__Mtx_lock
add esp, 4
test eax, eax
jne 0x1000a45c
cmp dword [0x1006d51c], 0x7fffffff
je 0x1000a463
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x1000a393
movups xmm0, xmmword [eax]
movups xmmword [0x1008e598], xmm0
movq xmm0, qword [eax + 0x10]
jmp 0x1000a39d
xorps xmm0, xmm0
movups xmmword [0x1008e598], xmm0
movq qword [0x1008e5a8], xmm0
xorps xmm0, xmm0
push 0x1006d4f0
movups xmmword [0x1008e5b0], xmm0
movq qword [0x1008e5c0], xmm0
call sub.MSVCP140.dll__Mtx_unlock
add esp, 4
cmp dword [0x1008e594], 0
jne 0x1000a455
push edi
call fcn.1000bf20
mov dword [0x1008e594], eax
mov dword [eax + 8], 0x10008360
mov eax, dword [0x1008e594]
mov dword [eax + 0xc], 0x10008380
mov al, 1
mov esi, dword [0x10092bec]
xchg byte [esi], al
push 4
call fcn.1004e62b
add esp, 8
test eax, eax
je 0x1000a40b
mov dword [eax], esi
jmp 0x1000a40d
xor eax, eax
lea ecx, [ebp - 4]
push ecx
push 0
push eax
push 0x10008420
push 0
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov ecx, eax
add esp, 0x18
mov dword [ebp - 8], ecx
test ecx, ecx
je 0x1000a474
cmp dword [esi + 0x60], 0
je 0x1000a43b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
mov eax, dword [ebp - 4]
pop edi
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x60], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [0x10092bec], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 5
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
push 6
mov dword [0x1006d51c], 0x7ffffffe
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
push 6
mov dword [ebp - 4], 0
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3
Function at 0x10020960
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10050990
mov eax, dword fs:[0]
push eax
push ebx
push esi
push edi
mov eax, dword [0x1006c8c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [0x100a2d60]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x100a2d5c]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
mov edi, eax
test edi, edi
je 0x10020ab5
mov edx, dword [0x100a3780]
test edx, edx
jne 0x100209e6
push 0xe80c2f78
push 0x10059e65
call fcn.10011090
push 0xc10bf213
push 0x10058a05
mov esi, eax
call fcn.10011090
push esi
push eax
call fcn.1004bc90
mov edx, eax
add esp, 0x18
mov dword [0x100a3780], edx
mov ecx, dword [0x100a2d5c]
push dword [edx + edi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov edi, eax
test edi, edi
je 0x10020ab5
mov eax, dword [0x100a3784]
test eax, eax
jne 0x10020a38
push 0xe80c2f78
push 0x10059e85
call fcn.10011090
push 0xc10bf213
push 0x10059c21
mov esi, eax
call fcn.10011090
push esi
push eax
call fcn.1004bc90
add esp, 0x18
mov dword [0x100a3784], eax
mov edx, dword [eax + edi]
test edx, edx
je 0x10020ab5
mov ecx, dword [0x100a2d5c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
cmp eax, dword [ebp + 8]
jne 0x10020ab5
mov ecx, dword [0x100a2d68]
push dword [ebp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ebx, eax
mov eax, dword [0x100a3758]
test eax, eax
jne 0x10020a9c
push 0xe80c2f78
push 0x10059c11
call fcn.10011090
push 0xc10bf213
push 0x10059c21
mov esi, eax
call fcn.10011090
push esi
push eax
call fcn.1004bc90
add esp, 0x18
mov dword [0x100a3758], eax
mov dword [eax + edi], ebx
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x10027e80
Capabilities:
Enumerate gui resources
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005198d
mov eax, dword fs:[0]
push eax
sub esp, 0x25c
mov eax, dword [0x1006c8c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
push 0
push 2
mov dword [ebp - 4], 0
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x250], eax
push ecx
push eax
mov dword [ebp - 0x248], 0x22c
call sub.KERNEL32.dll_Process32FirstW
test eax, eax
jne 0x10027f10
mov byte [ebp - 0x249], al
jmp 0x10028031
xorps xmm0, xmm0
mov dword [ebp - 0x258], 0
lea eax, [ebp - 0x224]
mov dword [ebp - 0x254], 0
movups xmmword [ebp - 0x268], xmm0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x10027f37
sub eax, edx
lea ecx, [ebp - 0x268]
sar eax, 1
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.100262c0
mov edi, dword [ebp - 0x254]
lea eax, [ebp - 0x268]
mov esi, dword [ebp - 0x268]
cmp edi, 7
cmova eax, esi
cmp dword [ebp - 0x258], 0xb
jne 0x10027f95
push 0xb
push str.Spotify.exe
push eax
call fcn.100266f0
add esp, 0xc
mov byte [ebp - 0x249], 1
test eax, eax
je 0x10027f9c
mov byte [ebp - 0x249], 0
cmp edi, 7
jbe 0x10027fd0
lea ecx, [edi*2 + 2]
mov eax, esi
cmp ecx, 0x1000
jb 0x10027fc6
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002805a
push ecx
push esi
call fcn.1004e65b
add esp, 8
cmp byte [ebp - 0x249], 0
je 0x10027fff
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0x14]
je 0x10027fef
mov eax, dword [ebp - 0x240]
mov dword [ecx], eax
add dword [ebp - 0x18], 4
jmp 0x10027fff
lea eax, [ebp - 0x240]
push eax
push ecx
lea ecx, [ebp - 0x1c]
call fcn.10026370
lea eax, [ebp - 0x248]
push eax
push dword [ebp - 0x250]
call sub.KERNEL32.dll_Process32NextW
test eax, eax
jne 0x10027f10
lea eax, [ebp - 0x1c]
push eax
push 0x10026bb0
call dword [sym.imp.USER32.dll_EnumWindows]
test eax, eax
setne byte [ebp - 0x249]
mov edx, dword [ebp - 0x1c]
test edx, edx
je 0x1002806a
mov ecx, dword [ebp - 0x14]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x10028060
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10028060
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1004e65b
add esp, 8
mov al, byte [ebp - 0x249]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1004ea63
mov esp, ebp
pop ebp
ret
Function at 0x10031680
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x1006c8c0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
cmp dword [esi + 0x38], 0
je 0x1003173c
cmp byte [esi + 0x3d], 0
je 0x1003173c
mov eax, dword [esi]
push edi
push 0xffffffffffffffff
call dword [eax + 0xc]
cmp eax, 0xffffffff
je 0x1003172a
mov ecx, dword [esi + 0x38]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [esi + 0x40]
push eax
call dword [sym.imp.MSVCP140.dll_public:_int___thiscall_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet___char___char___char___const]
sub eax, 0
je 0x100316f1
sub eax, 1
je 0x100316f5
sub eax, 2
jne 0x1003172a
mov byte [esi + 0x3d], al
mov al, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004ea63
mov esp, ebp
pop ebp
ret
mov byte [esi + 0x3d], 0
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
sub edi, eax
je 0x10031713
push dword [esi + 0x4c]
push edi
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
cmp edi, eax
jne 0x1003172a
cmp byte [esi + 0x3d], 0
pop edi
sete al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004ea63
mov esp, ebp
pop ebp
ret
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004ea63
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov al, 1
xor ecx, ebp
pop esi
call fcn.1004ea63
mov esp, ebp
pop ebp
ret