joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4a0abe
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x38
mov eax, dword [0x581a60]
xor eax, esp
mov dword [esp + 0x34], eax
mov ecx, dword [esi + 0x20]
push ebx
push edi
lea eax, [esp + 0x2c]
xor edi, edi
push eax
push ecx
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
call dword [0x536724]
fld qword [esi + 0x88]
mov eax, dword [esp + 0x34]
fmul qword [0x560e70]
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x18], ebx
lea ebx, [eax - 0x50]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebx
call fcn.005b338e
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], eax
cmp dword [esi + 0x7c], edi
jg 0x4a0b86
mov eax, dword [esi + 0x7c]
lea edx, [eax + eax*4]
add edx, edx
add edx, edx
mov dword [esp + 8], edx
fild dword [esp + 8]
fmul qword [esi + 0x88]
call fcn.005b338e
mov ecx, dword [esp + 0x3c]
pop edi
pop ebx
xor ecx, esp
call fcn.005ad069
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
test edi, edi
js 0x4a0c2c
cmp edi, dword [esi + 0x7c]
jge 0x4a0c2c
mov edx, dword [esi + 0x78]
mov ecx, dword [edx + edi*4]
mov edx, dword [esp + 0x10]
push 1
sub eax, edx
push eax
mov eax, dword [esp + 0x14]
sub ebx, eax
push ebx
push edx
mov dword [esp + 0x18], ecx
push eax
add ecx, 0x138
call int.004b54d0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push 1
sub ecx, eax
push ecx
mov ecx, dword [esp + 0x24]
sub edx, ecx
push edx
push eax
push ecx
mov ecx, dword [esp + 0x1c]
call int.004b54d0
fld qword [esi + 0x88]
fmul qword [0x560e70]
call fcn.005b338e
mov ebx, dword [0x536728]
push eax
push 0
lea eax, [esp + 0x14]
push eax
call ebx
fld qword [esi + 0x88]
fmul qword [0x560e70]
call fcn.005b338e
push eax
push 0
lea ecx, [esp + 0x24]
push ecx
call ebx
inc edi
cmp edi, dword [esi + 0x7c]
jl 0x4a0b7e
jmp 0x4a0b4e
call fcn.004b96f7
int3

Function at 0x4abb5a
Capabilities:
Encode data using xor

Disassembly:
out 0xd8, al
cmp bh, dl
cli
cli
adc ebx, dword [eax]
or esp, dword [ecx + 0x3ac03a3c]
or ah, byte [edi - 0x24]
dec edi
js 0x4abb57
adc al, 0x1c
and al, 0x68
cmp eax, 0xc2299930
mov byte [0x66c66e6a], al
dec edx
pushal
or byte ss:[ebx + 0x6f69e656], dh
out 0x69, al
outsd dx, dword [esi]
mov eax, dword [0xdfe13e31]
jg 0x4abbac
aaa
mov ss, word [esi + 0x70]
dec ebx
int 0x22
mov ds, eax
xor al, 0x8f
test eax, 0x69de624f
iretd
mov edx, 0xce8e8a55
outsd dx, dword [esi]
arpl word [ebx - 0x20c7054e], dx
push ebp
mov cl, byte [esi - 0x6c9c9032]
mov dl, 0xfa
cmp bh, bl
lcall 0x1945, 0x82236c8
xor ch, dl
jo 0x4abbad
jge 0x4abb7e
pop ebp
jnp 0x4abc32
adc ch, byte [eax + 0x31b44a12]
invalid
Function at 0x4ae7b6
Capabilities:
Encode data using xor

Disassembly:
or edx, ebp
sti
dec ebp
call 0xbfb91023
aaa
les edx, [eax - 0x2b]
push cs
add byte [ebp + 0x2d], ah
push eax
imul ecx
fild qword [esi - 0x4ac08769]
pop esi
out dx, eax
inc edx
add al, 0x14
aad 0xe7
mov ecx, 0xcdfbdf01
mov eax, 0x4c5d1753
sbb dh, dh
xor cl, byte [eax + 0x44]
pop edi
fisttp dword [edi + ebp*8 - 3]
xor dword [eax + 0x431a09da], ecx
ja 0x4ae842
out dx, eax
sub al, 0x67
ror dword [esp + ebp*8 - 0x4ecffecf], 1
retf
pop esp
salc
movsd dword es:[edi], dword [esi]
pop eax
sal dword [esi + 0x4c], 1
mov al, byte [0x44627fa8]
imul ebp, dword [edi + 0x78], 0x6ecfd097
in eax, dx
out dx, al
or eax, 0xd554da27
sal dword [ebp - 0x19a63fa2], cl
lodsd eax, dword [esi]
invalid

Function at 0x4b81ad
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a4
mov edx, dword [ebp + 8]
xor ecx, ecx
mov eax, 0x4c0368
cmp edx, dword [eax]
je 0x4b81cf
add eax, 8
inc ecx
cmp eax, 0x4c03f8
jl 0x4b81c0
push esi
mov esi, ecx
shl esi, 3
cmp edx, dword [esi + 0x4c0368]
jne 0x4b82fd
mov eax, dword [0x4c4cec]
cmp eax, 1
je 0x4b82d7
test eax, eax
jne 0x4b8200
cmp dword [0x4c0294], 1
je 0x4b82d7
cmp edx, 0xfc
je 0x4b82fd
lea eax, [ebp - 0x1a4]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x4b8237
lea eax, [ebp - 0x1a4]
push 0x4bd7c8
push eax
call fcn.004b8b90
pop ecx
pop ecx
lea eax, [ebp - 0x1a4]
push edi
push eax
lea edi, [ebp - 0x1a4]
call fcn.004b9020
inc eax
pop ecx
cmp eax, 0x3c
jbe 0x4b827a
lea eax, [ebp - 0x1a4]
push eax
call fcn.004b9020
mov edi, eax
lea eax, [ebp - 0x1a4]
sub eax, 0x3b
push 3
add edi, eax
push 0x4bd7c4
push edi
call fcn.004baef0
add esp, 0x10
lea eax, [ebp - 0xa0]
push 0x4bd7a8
push eax
call fcn.004b8b90
lea eax, [ebp - 0xa0]
push edi
push eax
call fcn.004b8ba0
lea eax, [ebp - 0xa0]
push 0x4bd7a4
push eax
call fcn.004b8ba0
push dword [esi + 0x4c036c]
lea eax, [ebp - 0xa0]
push eax
call fcn.004b8ba0
push 0x12010
lea eax, [ebp - 0xa0]
push 0x4bd77c
push eax
call fcn.004bae64
add esp, 0x2c
pop edi
jmp 0x4b82fd
lea eax, [ebp + 8]
lea esi, [esi + 0x4c036c]
push 0
push eax
push dword [esi]
call fcn.004b9020
pop ecx
push eax
push dword [esi]
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
pop esi
leave
ret
Function at 0x5966fe
Capabilities:
Accept command line arguments

Disassembly:
push edx
mov edx, esp
add edx, 4
sub edx, 4
xchg dword [esp], edx
pop esp
mov dword [esp], edi
push 7
pop edi
or ecx, edi
mov edi, dword [esp]
add esp, 4
push esi
push esp
pop esi
push ebx
mov ebx, 0x27ef07f1
add ebx, 0xd810f813
add esi, ebx
pop ebx
sub esi, 4
xor esi, dword [esp]
xor dword [esp], esi
xor esi, dword [esp]
pop esp
mov dword [esp], ecx
push edx
mov edx, 0x7fd7b3a1
shr edx, 1
push ecx
mov ecx, 0x3ab632ba
add edx, ecx
pop ecx
and edx, 0x7dffdf61
add edx, 0xfe3d534d
sub ecx, 0x78ff642f
add ecx, edx
add ecx, 0x78ff642f
pop edx
add ecx, 0x5d6f1f5b
add ecx, eax
sub ecx, 0x5d6f1f5b
sub ecx, 0x76df5f4d
push dword [esp]
mov ecx, dword [esp]
push ebx
mov ebx, esp
add ebx, 4
add ebx, 4
xchg dword [esp], ebx
pop esp
push eax
mov eax, esp
add eax, 4
add eax, 4
xchg dword [esp], eax
pop esp
jmp 0x5967a8
push dword [0x4c0038]
push dword [esp]
pop ecx
sub esp, 4
mov dword [esp], esi
mov esi, esp
add esi, 4
add esi, 4
xchg dword [esp], esi
pop esp
jmp 0x4f9909
fld dword [ecx - 0x1264651f]
dec edx
xor ecx, 0x7fdfd71a
xor ecx, 0x3fda5f8c
add ebp, ecx
pop ecx
xchg dword [esp], ebp
pop esp
mov ebx, dword [esp]
push ebx
push esp
pop ebx
add ebx, 4
push eax
mov eax, 4
add ebx, eax
pop eax
xchg dword [esp], ebx
mov esp, dword [esp]
mov al, byte [0x4c0043]
push 0x4a92b6a3
mov dword [esp], eax
mov eax, esp
add eax, 4
sub eax, 4
xchg dword [esp], eax
pop esp
mov dword [esp], edx
mov dword [esp], 0x3b94eed0
mov dword [esp], ecx
push esi
mov esi, 0x56fb5181
not esi
push esi
push ecx
pop esi
pop ecx
not ecx
xchg esi, ecx
sub esi, 0xd824124d
sub ecx, esi
pop esi
add ecx, eax
push esi
mov esi, 0x7ed73f34
add ecx, esi
pop esi
mov ecx, dword [esp]
push 0x63b98af
mov dword [esp], ebx
mov ebx, esp
add ebx, 4
push edx
mov edx, 4
add ebx, edx
pop edx
xchg dword [esp], ebx
mov esp, dword [esp]
jmp 0x560c30
push edx
push esp
mov edx, dword [esp]
add esp, 4
add edx, 4
sub edx, 4
Function at 0x433002
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
mov eax, section..text
nop
mov ebx, 0x40de38
nop
mov ecx, 0x721b5f67
nop
nop
nop
test eax, eax
nop
nop
nop
je 0x43304e
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
nop
jne 0x433024
nop
mov eax, section..data
nop
mov ebx, 0x4304d8
mov ecx, 0x16b769a8
nop
nop
nop
test eax, eax
nop
nop
nop
nop
nop
nop
je 0x433084
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
add eax, 4
nop
cmp eax, ebx
nop
nop
nop
jne 0x43306c
nop
nop
nop
nop
nop
nop
nop
nop
nop
popal
jmp 0x431219

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

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x43000c
nop
nop
nop
pop eax
nop
nop
nop
add eax, 0x403daa
nop
sub eax, 0x403d50
nop
nop
nop
nop
mov ebx, dword [eax]
nop
nop
mov ecx, dword [eax + 4]
nop
nop
nop
mov edx, dword [eax + 8]
nop
nop
nop
xor dword [ebx], edx
nop
nop
nop
nop
add ebx, 4
nop
nop
nop
nop
nop
cmp ebx, ecx
nop
nop
nop
jl 0x430030
nop
nop
nop
add eax, 0xc
nop
cmp dword [eax], 0
nop
nop
nop
nop
jne 0x43001e
nop
nop
nop
nop
popal
nop
nop
nop
nop
jmp loc.00401219
Function at 0x427400
Capabilities:
Encode data using xor

Disassembly:
mov edx, dword [esp + 4]
mov eax, dword [esp + 8]
cmp edx, 1
jle 0x42741e
push esi
lea ecx, [esp + 0x18]
dec edx
mov esi, dword [ecx]
add ecx, 0xc
xor eax, esi
dec edx
jne 0x427413
pop esi
ret

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

Disassembly:
pushal
nop
nop
nop
nop
mov eax, section..reloc
mov ebx, 0x40de38
nop
nop
mov ecx, 0x14633892
nop
nop
test eax, eax
nop
nop
nop
nop
nop
je 0x43304e
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
inc eax
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
cmp eax, ebx
nop
nop
jne 0x433024
nop
nop
nop
nop
mov eax, section..text
mov ebx, 0x4304d8
nop
mov ecx, 0x51e3460e
nop
test eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
je 0x433084
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
add eax, 4
cmp eax, ebx
nop
nop
nop
nop
nop
nop
jne 0x43306c
nop
nop
nop
nop
popal
nop
nop
nop
jmp 0x431219
Function at 0x5892ae
Capabilities:
Decompress data using aplib

Disassembly:
push ebp
mov ebp, esp
pushal
push ebp
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
cld
mov dl, 0x80
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add dl, dl
jne 0x5892cb
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x5892bc
add dl, dl
jne 0x5892d6
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x589322
xor eax, eax
add dl, dl
jne 0x5892e3
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x5893bf
add dl, dl
jne 0x5892f2
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x5892fd
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x589308
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x589313
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
je 0x58931d
push edi
sub edi, eax
mov al, byte [edi]
pop edi
mov byte [edi], al
inc edi
jmp 0x5892c2
mov eax, 1
add dl, dl
jne 0x589330
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x58933b
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x589327
sub eax, 2
jne 0x58936a
mov ecx, 1
add dl, dl
jne 0x589350
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x58935b
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x589347
push esi
mov esi, edi
sub esi, ebp
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x5892c2
dec eax
shl eax, 8
mov al, byte [esi]
inc esi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x589381
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x58938c
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x589378
cmp eax, 0x7d00
jae 0x5893af
cmp eax, 0x500
jb 0x5893aa
inc ecx
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x5892c2
cmp eax, 0x7f
ja 0x5893b2
add ecx, 2
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x5892c2
mov al, byte [esi]
inc esi
xor ecx, ecx
shr al, 1
je 0x5893db
adc ecx, 2
mov ebp, eax
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x5892c2
pop ebp
sub edi, dword [ebp + 0xc]
mov dword [ebp - 4], edi
popal
pop ebp
ret 8
Function at 0x40b730
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47fabf
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x4a7ea0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 1
mov dword [ebp - 4], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 1
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 1
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 1
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
mov dword [edi + 0x48], 0
mov dword [edi + 0x4c], 1
push 0x1000
lea ecx, [edi + 0x60]
mov byte [ebp - 4], 4
call fcn.00424710
push 1
push 0x48486e
lea ecx, [edi + 0x60]
mov byte [ebp - 4], 5
mov dword [edi + 0x50], 0
mov dword [edi + 0x54], 0
mov dword [edi + 0x58], 0
mov dword [edi + 0x5c], 0
mov dword [edi + 0x78], 0
mov dword [edi + 0x7c], 0xffffffff
call fcn.00425070
mov dword [edi + 0x80], 0
mov eax, edi
mov word [edi + 0x84], 0x100
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x40e940
Capabilities:
Access peb ldr_data
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47fcab
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x4a7ea0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [edi + 4], 0
xorps xmm0, xmm0
mov dword [edi + 8], 0
or eax, 0xffffffff
mov dword [edi + 0xc], 0xffffffff
mov dword [edi + 0x10], 0xffffffff
movdqu xmmword [edi + 0x14], xmm0
movq qword [edi + 0x24], xmm0
mov dword [edi + 0x2c], 0
mov word [edi + 0x30], 0
mov byte [edi + 0x32], 0
mov word [edi + 0x33], ax
mov word [edi + 0x35], ax
mov eax, dword [ebp + 8]
mov dword [edi], eax
mov dword [edi + 0x37], 0
mov eax, dword [eax + 0x24]
mov eax, dword [eax]
mov esi, dword [eax + 0x32]
lea eax, [ebp - 0x64]
push eax
push str.QuickSearch
push esi
mov dword [ebp - 0x34], esi
call dword [sym.imp.USER32.dll_GetClassInfoA]
test eax, eax
jne 0x40ea26
xorps xmm0, xmm0
push 0x7f00
movdqu xmmword [ebp - 0x64], xmm0
push eax
movdqu xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x64], 0xb
movq qword [ebp - 0x44], xmm0
mov dword [ebp - 0x60], 0x40ec70
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x48], 6
mov dword [ebp - 0x40], str.QuickSearch
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
mov esi, dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x30]
push eax
mov eax, dword [edi]
push dword [eax + 0x20]
call esi
mov eax, dword [edi]
lea ecx, [ebp - 0x20]
push ecx
push dword [eax + 0x63]
call esi
mov eax, dword [edi]
push 0
push dword [ebp - 0x34]
mov eax, dword [eax + 0x24]
push 0
push dword [eax + 0x60]
push 0x64
push 0x64
push dword [ebp - 0x24]
push dword [ebp - 0x20]
push connect
push 0
push str.QuickSearch
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push edi
push 0xffffffffffffffeb
push eax
mov dword [edi + 4], eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 0x5a
call fcn.004518c6
add esp, 4
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x40ea9d
mov ecx, eax
call fcn.0040b320
jmp 0x40ea9f
xor eax, eax
push 0x65
push 1
push str.CODE
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 8], eax
call fcn.0040b360
mov ecx, dword [edi + 8]
push 0x64
push 1
push str.DISPLAY
call fcn.0040b360
mov ecx, dword [edi]
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0
push eax
lea eax, [edi + 0x14]
mov dword [ebp - 0x3c], 0
push eax
lea eax, [ecx + 0xbe]
push eax
lea eax, [ecx + 0x9f]
push eax
call fcn.004097b0
mov eax, dword [ebp - 0x38]
add esp, 0x14
test eax, eax
je 0x40eb21
cmp dword [ebp - 0x3c], 1
jle 0x40eb18
movzx ecx, word [eax]
mov word [edi + 0x33], cx
movzx ecx, word [eax + 0x34]
mov word [edi + 0x35], cx
push eax
call fcn.00452d4e
add esp, 4
mov eax, edi
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.004520a4
mov esp, ebp
pop ebp
ret 4
Function at 0x413ea0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4802fe
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x4a7ea0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x14], edi
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0
push eax
push 0
lea ecx, [edi + 4]
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
call fcn.00417960
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0
push eax
push 0
lea ecx, [edi + 0x24]
mov dword [ebp - 0x10], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
call fcn.00417960
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
lea ecx, [edi + 0x40]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 0x14]
mov edx, dword [ebp + 0x20]
mov dword [edi + 0x50], eax
mov eax, dword [ebp + 8]
mov dword [edi + 0x54], eax
mov eax, dword [ebp + 0x1c]
mov dword [edi + 0x5c], eax
mov eax, dword [ebp + 0x18]
mov dword [edi + 0x58], esi
mov dword [edi + 0x60], edx
mov byte [edi + 0x64], 0
mov dword [edi + 0x68], eax
test byte [esi + 8], 8
mov byte [ebp - 4], 2
je 0x413fb4
test dl, 0x10
jne 0x413fb4
mov eax, 1
jmp 0x413fb6
xor eax, eax
mov byte [edi + 0x6c], al
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x70], eax
push dword [esi + 0x18]
call fcn.0041ab30
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x1c
Function at 0x41a2a0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 0xc]
mov edx, 0x811c9dc5
push edi
mov edi, dword [ebp + 8]
mov ecx, 0
sub esi, edi
je 0x41a2d1
lea esp, [esp]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jb 0x41a2c0
pop edi
mov eax, edx
pop esi
pop ebp
ret 8

Function at 0x41c180
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x480d23
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x4a7ea0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebp + 0xc]
mov ecx, eax
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0xb4], eax
call fcn.00425b30
push esi
lea eax, [ebp - 0xb0]
mov ecx, ebx
push eax
call fcn.0041bb90
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0
call fcn.00425a20
push esi
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 1
call fcn.00426690
lea eax, [ebx + 0x5e]
push eax
lea ecx, [ebp - 0x60]
call fcn.00426690
lea eax, [ebp - 0xb0]
mov ecx, edi
push eax
call fcn.0041ca40
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0041ca40
lea eax, [ebp - 0xb0]
push eax
call fcn.004205b0
add esp, 4
test eax, eax
je 0x41c239
push 0
push dword [ebp - 0x20]
push dword [ebp - 0x70]
call dword [sym.imp.KERNEL32.dll_CopyFileA]
jmp 0x41c258
mov ecx, dword [ebp - 0xb4]
push str.CopyFile_original_file_not_found:
call fcn.004266e0
mov ecx, dword [ebp - 0xb4]
lea eax, [ebx + 0x11]
push eax
call fcn.00426690
lea ecx, [ebp - 0x60]
mov byte [ebx + 8], 1
mov byte [ebp - 4], 0
call fcn.00425a30
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
call fcn.00425a30
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004520a4
mov esp, ebp
pop ebp
ret 0xc

Function at 0x41c2a0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x481428
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x4a7ea0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
call fcn.00425b30
push esi
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0041bb90
lea eax, [ebp - 0x60]
mov dword [ebp - 4], 0
push eax
call fcn.004205b0
add esp, 4
test eax, eax
jne 0x41c304
push eax
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea ecx, [ebp - 0x60]
mov byte [edi + 8], 1
mov dword [ebp - 4], 0xffffffff
call fcn.00425a30
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.004520a4
mov esp, ebp
pop ebp
ret 0xc
Function at 0x41c400
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x480da8
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x4a7ea0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
call fcn.00425b30
push esi
lea eax, [ebp - 0x60]
mov ecx, ebx
push eax
call fcn.0041bb90
lea eax, [ebp - 0x60]
mov dword [ebp - 4], 0
push eax
mov ecx, edi
call fcn.0041ca40
lea eax, [ebp - 0x60]
push eax
call fcn.004205b0
add esp, 4
test eax, eax
je 0x41c472
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x60]
mov byte [ebx + 8], 1
mov dword [ebp - 4], 0xffffffff
call fcn.00425a30
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004520a4
mov esp, ebp
pop ebp
ret 0xc

Function at 0x41c710
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x480d23
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x4a7ea0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebp + 0xc]
mov ecx, eax
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0xb4], eax
call fcn.00425b30
push esi
lea eax, [ebp - 0xb0]
mov ecx, ebx
push eax
call fcn.0041bb90
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0
call fcn.00425a20
push esi
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 1
call fcn.00426690
lea eax, [ebx + 0x5e]
push eax
lea ecx, [ebp - 0x60]
call fcn.00426690
lea eax, [ebp - 0xb0]
mov ecx, edi
push eax
call fcn.0041ca40
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.0041ca40
lea eax, [ebp - 0xb0]
push eax
call fcn.004205b0
add esp, 4
test eax, eax
je 0x41c7c9
push dword [ebp - 0x20]
push dword [ebp - 0x70]
call fcn.004542aa
add esp, 8
jmp 0x41c7e8
mov ecx, dword [ebp - 0xb4]
push str.RenameFile_original_file_not_found:
call fcn.004266e0
mov ecx, dword [ebp - 0xb4]
lea eax, [ebx + 0x11]
push eax
call fcn.00426690
lea ecx, [ebp - 0x60]
mov byte [ebx + 8], 1
mov byte [ebp - 4], 0
call fcn.00425a30
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
call fcn.00425a30
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004520a4
mov esp, ebp
pop ebp
ret 0xc