joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1001c301
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x368
push esi
push edi
mov ecx, 8
mov esi, 0x10002c30
lea edi, [ebp - 0x194]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov ecx, 0x42
xor eax, eax
lea edi, [ebp - 0x171]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
push 0x100026f0
lea eax, [ebp - 0x194]
push eax
call fcn.100248e0
add esp, 8
mov byte [ebp - 0x2a0], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x29f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x10002c54
push 0x10002c6c
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x198], eax
push 0x104
lea ecx, [ebp - 0x2a0]
push ecx
call dword [ebp - 0x198]
mov byte [ebp - 0x29d], 0
push 0x10002c7c
lea edx, [ebp - 0x2a0]
push edx
call fcn.100248e0
add esp, 8
push 0x30
call fcn.10023a17
add esp, 4
lea eax, [ebp - 0x2a0]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x2a0]
push ecx
lea edx, [ebp - 0x194]
push edx
call fcn.1001c22a
add esp, 8
mov byte [ebp - 0x64], 0
mov ecx, 0x18
xor eax, eax
lea edi, [ebp - 0x63]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call fcn.100248a9
imul eax, eax, 0x2b67
push eax
push 0x10002c8c
lea eax, [ebp - 0x64]
push eax
call fcn.100249c0
add esp, 0xc
lea ecx, [ebp - 0x2a0]
push ecx
lea edx, [ebp - 0x64]
push edx
call fcn.1001c288
add esp, 8
lea eax, [ebp - 0x2a0]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov byte [ebp - 0x368], 0
mov ecx, 0x31
xor eax, eax
lea edi, [ebp - 0x367]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea ecx, [ebp - 0x64]
push ecx
push 0x10002c98
lea edx, [ebp - 0x368]
push edx
call fcn.100249c0
add esp, 0xc
push 0x30
call fcn.10023a17
add esp, 4
mov dword [ebp - 0x68], 1
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x19c]
push ecx
push 0
push 0xf003f
push 0
push 0
push 0
lea edx, [ebp - 0x368]
push edx
push 0x80000002
call dword [fcn.100074f0]
push 0x30
call fcn.10023a17
add esp, 4
push 0x10002964
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x10002964
push 2
push 0
push 0x10002ca8
mov eax, dword [ebp - 0x19c]
push eax
call dword [fcn.100074f4]
mov ecx, dword [ebp - 0x19c]
push ecx
call dword [fcn.10007520]
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
lea edx, [ebp - 0x2a0]
push edx
lea eax, [ebp - 0x64]
push eax
call fcn.1001c22a
add esp, 8
lea ecx, [ebp - 0x2a0]
push ecx
lea edx, [ebp - 0x194]
push edx
call fcn.1001c288
add esp, 8
lea eax, [ebp - 0x2a0]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x100255cb
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push dword [esp + 4]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x100255eb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.100251a8
pop ecx
or eax, 0xffffffff
ret
test al, 1
je 0x1002560e
test byte [esp + 8], 2
je 0x1002560e
call fcn.1002521b
mov dword [eax], 0xd
call fcn.10025224
mov dword [eax], 5
jmp 0x100255e7
xor eax, eax
ret

Function at 0x432000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x43200c
pop eax
nop
nop
nop
nop
nop
add eax, 0x40729f
nop
nop
sub eax, 0x407245
nop
nop
mov ebx, dword [eax]
nop
nop
nop
mov ecx, dword [eax + 4]
nop
nop
nop
nop
mov edx, dword [eax + 8]
nop
xor dword [ebx], edx
nop
nop
nop
nop
nop
nop
nop
add ebx, 4
nop
nop
nop
nop
cmp ebx, ecx
nop
nop
nop
jl 0x432030
nop
add eax, 0xc
nop
nop
nop
nop
nop
nop
cmp dword [eax], 0
jne 0x43201e
nop
nop
nop
nop
nop
nop
popal
nop
nop
nop
jmp 0x431219
Function at 0x41c500
Capabilities:
Query environment variable

Disassembly:
push ebx
push esi
push edi
push ebp
push ecx
cmp dword [0x427850], 0
jne 0x41c581
cmp dword [0x427870], 0
jne 0x41c530
call sub.KERNEL32.DLL_GetEnvironmentStrings
mov dword [0x427870], eax
test eax, eax
jne 0x41c530
push str.GetEnvironmentStrings_failed
call fcn.0041bd1c
pop ecx
xor ebp, ebp
xor esi, esi
mov ebx, dword [0x427870]
jmp 0x41c544
lea eax, [edi + 1]
inc esi
add ebp, eax
add ebx, eax
push ebx
call fcn.004168a4
pop ecx
mov edi, eax
test eax, eax
jne 0x41c53c
lea edi, [ebp + 1]
push edi
call fcn.004161a8
pop ecx
mov ebx, eax
mov dword [0x427854], ebx
test ebx, ebx
jne 0x41c56e
xor eax, eax
jmp 0x41c644
push edi
mov edx, dword [0x427870]
push edx
push ebx
call fcn.00416754
add esp, 0xc
jmp 0x41c5a1
xor esi, esi
mov ebx, dword [0x427850]
jmp 0x41c59b
push eax
call fcn.004168a4
pop ecx
test eax, eax
jne 0x41c597
dec esi
inc esi
add ebx, 4
mov eax, dword [ebx]
test eax, eax
jne 0x41c58b
lea ebx, [esi + 4]
push 4
mov dword [0x427858], ebx
inc ebx
push ebx
call fcn.00415c80
add esp, 8
test eax, eax
mov dword [esp], eax
jne 0x41c5c4
xor eax, eax
jmp 0x41c644
cmp dword [0x427850], 0
jne 0x41c5f5
xor esi, esi
mov ebx, dword [0x427854]
mov eax, dword [esp]
mov ebp, eax
jmp 0x41c5e6
mov dword [ebp], ebx
add ebp, 4
inc esi
inc edi
add ebx, edi
push ebx
call fcn.004168a4
pop ecx
mov edi, eax
test eax, eax
jne 0x41c5dc
jmp 0x41c626
xor esi, esi
mov ebx, dword [0x427850]
mov eax, dword [esp]
mov edi, eax
jmp 0x41c620
push eax
call fcn.004168a4
pop ecx
test eax, eax
je 0x41c615
mov eax, dword [ebx]
mov dword [edi], eax
jmp 0x41c619
dec esi
add edi, 0xfffffffc
add edi, 4
inc esi
add ebx, 4
mov eax, dword [ebx]
test eax, eax
jne 0x41c604
mov eax, dword [0x427850]
test eax, eax
je 0x41c636
push eax
call fcn.004161b8
pop ecx
mov edx, dword [esp]
mov eax, 1
mov dword [0x427850], edx
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x42e000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x42e00c
nop
pop eax
nop
nop
nop
nop
nop
add eax, 0x403ac5
nop
sub eax, 0x403a6b
nop
nop
nop
mov ebx, dword [eax]
nop
nop
mov ecx, dword [eax + 4]
nop
nop
nop
nop
nop
mov edx, dword [eax + 8]
nop
nop
xor dword [ebx], edx
nop
nop
nop
nop
add ebx, 4
nop
nop
nop
nop
nop
cmp ebx, ecx
nop
jl 0x42e030
nop
nop
nop
nop
add eax, 0xc
nop
nop
nop
nop
cmp dword [eax], 0
nop
jne 0x42e01e
nop
nop
nop
nop
popal
nop
nop
nop
nop
nop
jmp fcn.00401219

Function at 0x484cfc
Capabilities:
Encode data using xor

Disassembly:
mov ecx, 0x484a08
sub esi, esi
inc esi
call fcn.00484d3a
and esi, esi
add eax, 0xa986b02e
and esi, esi
xor dword [edx], ecx
and eax, eax
or eax, eax
mov eax, esi
add edx, 2
mov eax, eax
dec esi
sub eax, 0xd62c8691
cmp edx, edi
jl fcn.00484cfc
add esi, eax
ret
Function at 0x2429166
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x2423140]
jne 0x2429170
repz ret
jmp fcn.024294af

Function at 0x242f328
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x2423140]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0xc]
push esi
push edi
mov dword [ebp - 0x1c], eax
call fcn.0242a976
and dword [ebp - 0x14], 0
cmp dword [0x2426b2c], 0
mov dword [ebp - 0x18], eax
jne 0x242f3db
push str.USER32.DLL
call dword [sym.imp.kernel32.dll_LoadLibraryW]
mov ebx, eax
test ebx, ebx
je 0x242f483
mov edi, dword [sym.imp.kernel32.dll_GetProcAddress]
push str.MessageBoxW
push ebx
call edi
test eax, eax
je 0x242f483
mov esi, dword [sym.imp.kernel32.dll_EncodePointer]
push eax
call esi
push str.GetActiveWindow
push ebx
mov dword [0x2426b2c], eax
call edi
push eax
call esi
push str.GetLastActivePopup
push ebx
mov dword [0x2426b30], eax
call edi
push eax
call esi
push str.GetUserObjectInformationW
push ebx
mov dword [0x2426b34], eax
call edi
push eax
call esi
mov dword [0x2426b3c], eax
test eax, eax
je 0x242f3db
push str.GetProcessWindowStation
push ebx
call edi
push eax
call esi
mov dword [0x2426b38], eax
mov eax, dword [0x2426b38]
mov ecx, dword [ebp - 0x18]
mov esi, dword [sym.imp.kernel32.dll_DecodePointer]
cmp eax, ecx
je 0x242f434
cmp dword [0x2426b3c], ecx
je 0x242f434
push eax
call esi
push dword [0x2426b3c]
mov edi, eax
call esi
mov ebx, eax
test edi, edi
je 0x242f434
test ebx, ebx
je 0x242f434
call edi
test eax, eax
je 0x242f42b
lea ecx, [ebp - 0x24]
push ecx
push 0xc
lea ecx, [ebp - 0x10]
push ecx
push 1
push eax
call ebx
test eax, eax
je 0x242f42b
test byte [ebp - 8], 1
jne 0x242f434
or dword [ebp + 0x10], 0x200000
jmp 0x242f467
mov eax, dword [0x2426b30]
cmp eax, dword [ebp - 0x18]
je 0x242f467
push eax
call esi
test eax, eax
je 0x242f467
call eax
mov dword [ebp - 0x14], eax
test eax, eax
je 0x242f467
mov eax, dword [0x2426b34]
cmp eax, dword [ebp - 0x18]
je 0x242f467
push eax
call esi
test eax, eax
je 0x242f467
push dword [ebp - 0x14]
call eax
mov dword [ebp - 0x14], eax
push dword [0x2426b2c]
call esi
test eax, eax
je 0x242f483
push dword [ebp + 0x10]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x14]
call eax
jmp 0x242f485
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.02429166
leave
ret
Function at 0x4a5b50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x48
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0x18]
mov ecx, dword [eax + 0x824]
xor ebx, ebx
cmp ecx, ebx
je 0x4a5be3
mov eax, dword [esp + 0x54]
mov ecx, dword [eax]
mov edx, dword [esi]
push ecx
lea eax, [esp + 0x18]
push eax
mov ecx, esi
call dword [edx + 0xa8]
cmp dword [esp + 0x48], 2
jne 0x4a5bb8
mov ecx, dword [esp + 0x38]
push ecx
call fcn.00439d00
mov edx, dword [esp + 0x30]
push edx
call fcn.00439d00
mov eax, dword [esp + 0x28]
push eax
call fcn.00439d00
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00439d00
add esp, 0x10
pop esi
xor eax, eax
pop ebx
add esp, 0x48
ret 0x28
mov edx, dword [esp + 0x38]
push edx
call fcn.00439d00
mov eax, dword [esp + 0x30]
push eax
call fcn.00439d00
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00439d00
mov edx, dword [esp + 0x20]
push edx
call fcn.00439d00
add esp, 0x10
push ebp
mov ebp, dword [esp + 0x5c]
push edi
mov ecx, ebp
call fcn.0040c310
test al, al
je 0x4a5c64
mov eax, dword [ebp]
push eax
mov ecx, esi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
call fcn.004a5380
mov edi, eax
cmp edi, ebx
je 0x4a5c24
push edi
lea ecx, [esp + 0x14]
call fcn.00435020
push edi
call fcn.00439d00
add esp, 4
mov ecx, dword [esi + 0x420]
mov eax, dword [ecx + 0x54]
lea edx, [esp + 0x10]
push edx
push eax
mov ecx, esi
call fcn.004a28a0
test eax, eax
jne 0x4a5c57
mov eax, dword [esp + 0x10]
push eax
call fcn.00439d00
add esp, 4
pop edi
pop ebp
pop esi
xor eax, eax
pop ebx
add esp, 0x48
ret 0x28
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00439d00
add esp, 4
mov edx, dword [esi + 0x18]
mov ecx, dword [edx + 4]
call fcn.004010e0
mov ecx, dword [0x626db0]
push 0xa8
call fcn.005287c0
mov edi, eax
lea ebx, [edi + 0x20]
mov ecx, ebx
call fcn.0040c250
push 0xa8
mov ecx, edi
call fcn.0040d7d0
push 0
push ebx
mov edi, eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
test edi, edi
je 0x4a5cc7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x3c]
push eax
mov ecx, edi
call fcn.004d8d40
mov esi, eax
test esi, esi
je 0x4a5d36
mov edi, dword [esp + 0x78]
test edi, edi
je 0x4a5cd5
mov eax, dword [edi]
jmp 0x4a5cd7
pop edi
xor esi, esi
pop ebp
mov eax, esi
pop esi
pop ebx
add esp, 0x48
ret 0x28
xor eax, eax
mov ecx, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x7c]
mov edx, dword [esi]
push eax
movzx eax, word [esp + 0x78]
push 0
push eax
mov eax, dword [esp + 0x84]
push ebp
push ecx
mov ecx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x80]
push eax
push ecx
mov ecx, esi
call dword [edx + 4]
test edi, edi
je 0x4a5d27
mov dword [edi], 0
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 8]
test al, al
jne 0x4a5d36
mov byte [esi + 0x1d], 1
pop edi
pop ebp
mov eax, esi
pop esi
pop ebx
add esp, 0x48
ret 0x28
Function at 0x1063f058
Capabilities:
Decompress data using aplib

Disassembly:
call fcn.1063f1a8
push ebx
mov ebx, esp
push ebx
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 0x10]
cld
mov dl, 0x80
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
mov ebx, 2
add dl, dl
jne 0x1063f07e
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x1063f06a
add dl, dl
jne 0x1063f089
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x1063f0dc
xor eax, eax
add dl, dl
jne 0x1063f096
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x1063f17d
add dl, dl
jne 0x1063f0a5
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1063f0b0
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1063f0bb
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1063f0c6
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
je 0x1063f0d2
push edi
mov eax, eax
sub edi, eax
mov al, byte [edi]
pop edi
mov byte [edi], al
inc edi
mov ebx, 2
jmp 0x1063f075
mov eax, 1
add dl, dl
jne 0x1063f0ea
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1063f0f5
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x1063f0e1
sub eax, ebx
mov ebx, 1
jne 0x1063f128
mov ecx, 1
add dl, dl
jne 0x1063f10e
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1063f119
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x1063f105
push esi
mov esi, edi
sub esi, ebp
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x1063f075
dec eax
shl eax, 8
mov al, byte [esi]
inc esi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x1063f13f
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1063f14a
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x1063f136
cmp eax, 0x7d00
jae 0x1063f16d
cmp eax, 0x500
jb 0x1063f168
inc ecx
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x1063f075
cmp eax, 0x7f
ja 0x1063f170
add ecx, 2
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x1063f075
mov al, byte [esi]
inc esi
xor ecx, ecx
shr al, 1
je 0x1063f19e
adc ecx, 2
mov ebp, eax
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
mov ebx, 1
jmp 0x1063f075
pop ebx
sub edi, dword [ebx + 0x10]
mov eax, edi
pop ebx
ret 0x10
Function at 0xaae1b0
Capabilities:
Acquire debug privileges

Disassembly:
push ecx
lea eax, [esp]
mov dword [esp], 0
push eax
push 0x20
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp]
push 1
push str.SeBackupPrivilege
push ecx
call fcn.00aae140
mov edx, dword [esp + 0xc]
push 1
push str.SeDebugPrivilege
push edx
call fcn.00aae140
mov eax, dword [esp + 0x18]
push 1
push str.SeRestorePrivilege
push eax
call fcn.00aae140
mov ecx, dword [esp + 0x24]
push 1
push str.SeSecurityPrivilege
push ecx
call fcn.00aae140
mov edx, dword [esp + 0x30]
add esp, 0x30
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
pop ecx
ret

Function at 0xaaebfa
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push esi
lea eax, [ebp - 4]
push eax
push 0x20019
xor esi, esi
push esi
push str.CLSIDADB880A6_D8FF_11CF_9377_00AA003B7A11InprocServer32
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0xaaec50
lea eax, [ebp - 8]
push eax
push dword [ebp + 8]
mov dword [ebp - 8], 0x104
push esi
push esi
push 0xac087c
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0xaaec43
inc esi
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
jmp 0xaaec52
xor eax, eax
pop esi
leave
ret 4
Function at 0x10007338
Capabilities:
Send data
Send data on socket

Disassembly:
push 4
mov eax, 0x1000c273
call fcn.1000babc
push 0x10
call fcn.1000aa1c
mov dword [ebp - 0x10], eax
and dword [ebp - 4], 0
mov ecx, eax
call fcn.100051d0
mov esi, eax
push 0xa8
mov ecx, esi
call fcn.100051f8
push 1
call fcn.100051f8
call fcn.10005244
mov ecx, esi
call fcn.100091f1
mov ecx, dword [esi + 0xc]
push 0
movzx eax, word [ecx]
add eax, 2
push eax
push ecx
push dword [0x100117b8]
call dword [sym.imp.WS2_32.dll_send]
push dword [esi + 0xc]
call fcn.1000ab32
push 0x10
push esi
call fcn.1000aa4c
add esp, 0xc
call fcn.1000ba99
ret 8

Function at 0x100073ae
Capabilities:
Send data
Send data on socket

Disassembly:
push 4
mov eax, 0x1000c273
call fcn.1000babc
push 0x10
call fcn.1000aa1c
mov dword [ebp - 0x10], eax
and dword [ebp - 4], 0
mov ecx, eax
call fcn.100051d0
mov esi, eax
push 0x6e
mov ecx, esi
call fcn.100051f8
movzx ecx, word [0x10011750]
push ecx
mov ecx, esi
call fcn.1000521c
movzx ecx, word [0x10011754]
push ecx
mov ecx, esi
call fcn.1000521c
movzx eax, word [0x1001179c]
push eax
call fcn.1000521c
movzx eax, word [0x10011798]
push eax
call fcn.1000521c
call fcn.10005244
mov ecx, esi
call fcn.100091f1
mov ecx, dword [esi + 0xc]
push 0
movzx eax, word [ecx]
add eax, 2
push eax
push ecx
push dword [0x100117b8]
call dword [sym.imp.WS2_32.dll_send]
push dword [esi + 0xc]
call fcn.1000ab32
push 0x10
push esi
call fcn.1000aa4c
add esp, 0xc
call fcn.1000ba99
ret
Function at 0x100080a0
Capabilities:
Read file on windows

Disassembly:
push 0x6c
mov eax, 0x1000c384
call fcn.1000baef
mov edi, ecx
sub esp, 0xc
mov dword [edi], vtable.Sprites.0
mov eax, 0x91
mov dword [ebp - 0x1c], 0x92
mov ecx, esp
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], eax
lea edx, [ebp - 0x1c]
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x18], 0x20
push eax
xor ebx, ebx
mov dword [ebp - 0x14], 0x82
push edx
mov byte [edi + 8], bl
mov dword [ebp - 0x44], 0x7c
mov dword [ebp - 0x40], 0x28
mov dword [ebp - 0x38], 0x8a
mov dword [ebp - 0x30], 0x89
mov dword [ebp - 0x2c], 0x56
mov dword [ebp - 0x28], 0x9b
mov dword [ebp - 0x24], 0x98
mov dword [ebp - 0x20], 0x9a
call fcn.100030b1
lea ecx, [ebp - 0x74]
call fcn.10008893
add esp, 0xc
mov dword [ebp - 4], ebx
cmp dword [eax + 0x14], 0xf
jbe 0x1000813a
mov eax, dword [eax]
push eax
sub esp, 0xc
lea eax, [ebp - 0x1c]
mov ecx, esp
lea edx, [ebp - 0x44]
push ecx
push eax
push edx
call fcn.100030b1
lea ecx, [ebp - 0x5c]
call fcn.10008893
add esp, 0xc
cmp dword [eax + 0x14], 0xf
jbe 0x10008161
mov eax, dword [eax]
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
pop ecx
pop ecx
lea ecx, [ebp - 0x5c]
mov esi, eax
call fcn.100031c5
lea ecx, [ebp - 0x74]
call fcn.100031c5
test esi, esi
je 0x100081d6
push 2
push ebx
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
push esi
mov ebx, eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_rewind]
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 0x18
mov dword [edi + 4], eax
test eax, eax
je 0x100081ce
push esi
push ebx
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add esp, 0x10
cmp eax, ebx
jne 0x100081ce
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
and dword [edi + 0xc], 0
mov byte [edi + 8], 1
jmp 0x100081d5
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
pop ecx
mov eax, edi
call fcn.1000baad
ret

Function at 0x10008a12
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
lea eax, [ebp - 4]
mov esi, ecx
push eax
push 0x40
push dword [ebp + 8]
mov ebx, edx
push esi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp dword [ebp + 8], 2
jne 0x10008a38
mov word [esi], bx
jmp 0x10008a40
cmp dword [ebp + 8], 1
jne 0x10008a40
mov byte [esi], bl
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
push dword [ebp + 8]
push esi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
pop esi
pop ebx
leave
ret
Function at 0x10008a55
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
lea eax, [ebp - 8]
mov ebx, edx
push eax
mov esi, ecx
push 0x40
push ebx
mov dword [ebp - 4], esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
pop ecx
push eax
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
call esi
push ebx
push dword [ebp - 4]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy]
pop ecx
pop ecx
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
pop ecx
push eax
push dword [ebp - 4]
call esi
pop esi
pop ebx
leave
ret

Function at 0x100091f1
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x719d78]
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [0x719d7c]
xor ebx, ebx
mov dword [ebp - 0x24], eax
mov eax, dword [0x719d80]
cmp dword [edi + 8], 2
mov esi, dword [edi]
sete bl
mov dword [ebp - 0x20], eax
mov eax, dword [0x719d84]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], eax
lea ebx, [ebx*4 + 2]
add esi, ebx
mov dword [ebp - 0x14], ebx
mov ecx, esi
mov dword [ebp - 8], esi
and ecx, 0x80000007
jns 0x1000924a
dec ecx
or ecx, 0xfffffff8
add ecx, 1
je 0x10009256
push 8
pop eax
sub eax, ecx
add esi, eax
mov dword [ebp - 8], esi
mov ecx, dword [edi + 0xc]
mov eax, esi
cdq
add ecx, ebx
and edx, 3
mov dword [ebp - 0xc], ecx
add eax, edx
xor edx, edx
sar eax, 2
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], edx
test eax, eax
jle 0x100092ea
mov edi, dword [ecx + edx*4]
xor esi, esi
mov ebx, dword [ecx + edx*4 + 4]
push 0x20
pop edx
mov ecx, ebx
mov eax, ebx
shl eax, 4
shr ecx, 5
xor ecx, eax
mov eax, esi
and eax, 3
add ecx, ebx
mov eax, dword [ebp + eax*4 - 0x28]
add eax, esi
sub esi, 0x61c88647
xor ecx, eax
add edi, ecx
mov ecx, edi
mov eax, edi
shl eax, 4
shr ecx, 5
xor ecx, eax
mov eax, esi
shr eax, 0xd
add ecx, edi
and eax, 3
mov eax, dword [ebp + eax*4 - 0x28]
add eax, esi
xor ecx, eax
add ebx, ecx
sub edx, 1
jne 0x10009281
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + edx*4], edi
mov dword [ecx + edx*4 + 4], ebx
add edx, 2
mov dword [ebp - 4], edx
cmp edx, dword [ebp - 0x10]
jl 0x10009275
mov esi, dword [ebp - 8]
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
mov eax, dword [edi + 0xc]
lea ecx, [ebx - 2]
add ecx, esi
mov word [eax], cx
mov dword [edi], esi
pop edi
pop esi
pop ebx
leave
ret