joyce8/EMBER2024-capa huggingface dataset:
Function at 0x5b53d90
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
xor ebx, ebx
mov esi, edx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push str.sqlite_stat1
push dword [esi + 0x20]
mov eax, ecx
mov edi, 0x64
push eax
mov dword [ebp - 4], eax
call fcn.05b7aa20
add esp, 0x24
test eax, eax
je 0x5b53ddb
xor ecx, ecx
mov dword [esi + 0x30], 0x100000
cmp eax, 1
mov dword [esi + 0x34], ebx
cmove eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [esi + 0x24]
push dword [esi + 0x20]
push str.SELECT_stat_FROM__Q.sqlite_stat1_WHERE_tbl___q_rowid
call sym.SQLite.Interop.dll_SI5ea70b9767a9e9ce
add esp, 0xc
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x5b53e0e
mov edi, 0x64
xor ebx, ebx
mov eax, 7
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
lea ecx, [ebp - 8]
mov edx, eax
push ecx
mov ecx, dword [ebp - 4]
push 0
push 0x80
push 0xffffffffffffffff
call fcn.05bb1a30
add esp, 0x14
mov dword [ebp - 4], eax
test eax, eax
jne 0x5b53e60
push dword [ebp - 8]
call sym.SQLite.Interop.dll_SI5d045c2b9d9b73fa
add esp, 4
cmp eax, 0x64
jne 0x5b53e52
push 0
push dword [ebp - 8]
call sym.SQLite.Interop.dll_SI7f2136bd3d2988aa
add esp, 8
mov edi, eax
mov ebx, edx
push dword [ebp - 8]
call fcn.05bf3ed0
add esp, 4
mov dword [ebp - 4], eax
push dword [ebp - 0xc]
call sym.SQLite.Interop.dll_SI9edfb98001bcad06
add esp, 4
test ebx, ebx
jl 0x5b53e86
jg 0x5b53e76
cmp edi, 0x64
jbe 0x5b53e86
mov eax, dword [ebp - 4]
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 4]
mov edi, 0x64
xor ebx, ebx
mov dword [esi + 0x30], edi
pop edi
mov dword [esi + 0x34], ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x5b5f420
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
mov esi, ecx
mov dword [ebp - 8], edx
cmp esi, 0x80
jge 0x5b5f448
lea eax, [esi - 0x41]
cmp eax, 0x19
ja 0x5b5f4f2
lea eax, [esi + 0x20]
pop esi
mov esp, ebp
pop ebp
ret
cmp esi, 0x10000
jge 0x5b5f4e4
push ebx
push edi
mov edi, 0xa2
mov dword [ebp - 4], 0xffffffff
xor ebx, ebx
lea eax, [ebx + edi]
cdq
sub eax, edx
mov edx, esi
sar eax, 1
movzx ecx, word [eax*4 + 0x5c45910]
sub edx, ecx
js 0x5b5f484
mov edx, eax
lea ebx, [eax + 1]
mov dword [ebp - 4], edx
jmp 0x5b5f48a
mov edx, dword [ebp - 4]
lea edi, [eax - 1]
cmp edi, ebx
jge 0x5b5f464
movzx ecx, word [edx*4 + 0x5c45910]
movzx eax, byte [edx*4 + 0x5c45913]
add eax, ecx
pop edi
pop ebx
cmp esi, eax
jge 0x5b5f4c9
movzx eax, byte [edx*4 + 0x5c45912]
xor ecx, esi
and ecx, eax
test ecx, 1
jne 0x5b5f4c9
shr eax, 1
movzx eax, word [eax*2 + 0x5c450e0]
add eax, esi
movzx esi, ax
mov eax, dword [ebp - 8]
test eax, eax
je 0x5b5f4f2
xor edx, edx
mov ecx, esi
cmp eax, 2
sete dl
call fcn.05b5f540
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [esi - 0x10400]
cmp eax, 0x27
lea eax, [esi + 0x28]
jbe 0x5b5f4f4
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x5b61f20
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [ebp + 0x18]
push ebx
push esi
push edi
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, edi
or eax, ebx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
je 0x5b620e0
mov eax, edi
xor esi, esi
and eax, 1
mov dword [ebp - 0xc], esi
or eax, esi
jne 0x5b61f78
inc esi
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, edi
and ecx, ebx
or edx, ecx
je 0x5b61f55
mov dword [ebp - 0xc], esi
mov eax, dword [ebp + 8]
xor edx, edx
dec eax
mov dword [ebp - 8], 0
xor ecx, ecx
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, edi
and ecx, ebx
or edx, ecx
jne 0x5b61fc8
mov esi, eax
inc dword [ebp - 8]
dec esi
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, edi
and ecx, ebx
or edx, ecx
je 0x5b61fa2
mov esi, dword [ebp - 0xc]
sub esi, dword [ebp - 8]
mov eax, esi
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
test ebx, ebx
jle 0x5b620e0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x14], ecx
mov eax, dword [ecx]
mov edi, eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 8]
push eax
push dword [ebp + 0x10]
mov eax, dword [edi + 0xc]
push dword [ebp + 0xc]
push ecx
call eax
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x5b62046
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
cmp dword [edi], 1
jl 0x5b62046
push dword [ebp - 0x18]
mov eax, dword [edi + 0x18]
push dword [ebp - 8]
call eax
mov esi, eax
add esp, 8
test esi, esi
je 0x5b62046
push dword [ebp - 8]
mov eax, dword [edi + 0x10]
call eax
add esp, 4
xor edi, edi
mov dword [ebp - 8], edi
jmp 0x5b62049
mov edi, dword [ebp - 8]
test esi, esi
je 0x5b62056
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add ebx, dword [ebp + 8]
nop dword [eax]
cmp dword [ebp - 0xc], ebx
jge 0x5b620a0
lea eax, [ebp - 0xc]
mov dword [ebp - 0x1c], 0
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x18], 0
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x10]
push edi
mov eax, dword [eax + 0x14]
call eax
mov esi, eax
add esp, 0x18
test esi, esi
je 0x5b62060
mov eax, dword [ebp - 0x10]
push edi
mov ecx, dword [eax + 0x10]
call ecx
add esp, 4
test esi, esi
je 0x5b620b5
cmp esi, 0x65
jne 0x5b6204d
xor ecx, ecx
cmp esi, 0x65
sete cl
sub ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xc]
test ecx, ecx
jle 0x5b620e0
mov eax, dword [ebp + 0x14]
movq xmm1, qword [ebp - 0x2c]
movd xmm0, ecx
psrlq xmm1, xmm0
add dword [eax], ecx
mov eax, dword [ebp + 0x18]
movq qword [eax], xmm1
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x5bceba0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, ecx
mov dword [ebp - 0x10], edx
xor edx, edx
mov dword [ebp - 8], eax
push edi
xor edi, edi
mov dword [ebp - 4], edx
cmp dword [eax + 0x14], edx
jle 0x5bcec67
push esi
mov esi, dword [ebp + 8]
push ebx
mov eax, edi
mov ebx, edi
xor eax, 1
cmp edi, 2
cmovl ebx, eax
mov eax, dword [ebp - 8]
mov ecx, ebx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov edx, dword [eax + ecx*8 + 0xc]
mov dword [ebp - 0xc], edx
test esi, esi
je 0x5bcec2c
mov eax, dword [eax + ecx*8]
sub esi, eax
nop dword [eax + eax]
movzx edx, byte [eax]
movzx ecx, byte [esi + eax]
cmp edx, ecx
jne 0x5bcec02
test edx, edx
je 0x5bcec2c
inc eax
jmp 0x5bcebf0
movzx ecx, byte [ecx + 0x5c478a0]
movzx edx, byte [edx + 0x5c478a0]
sub edx, ecx
jne 0x5bcec17
inc eax
jmp 0x5bcebf0
test ebx, ebx
jne 0x5bcec4b
mov edx, dword [ebp + 8]
mov ecx, str.main
call fcn.05c1c500
test eax, eax
jne 0x5bcec4b
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
push 0
lea ecx, [ecx + 0x18]
call fcn.05c1a9f0
add esp, 4
mov edx, dword [eax + 8]
mov dword [ebp - 4], edx
test edx, edx
jne 0x5bcec5e
jmp 0x5bcec4e
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
inc edi
mov esi, dword [ebp + 8]
cmp edi, dword [eax + 0x14]
jl 0x5bcebc4
pop ebx
pop esi
mov eax, edx
pop edi
mov esp, ebp
pop ebp
ret
mov eax, edx
pop edi
mov esp, ebp
pop ebp
ret
Function at 0x5bd8170
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push dword [ebp + 0x10]
mov edi, edx
mov ebx, ecx
push dword [ebp + 0xc]
push dword [ebp + 8]
mov byte [ebx + 0x10], 1
push edi
push edi
push str.SELECT_1_FROM___w_.sqlite_master_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name___d___Q___d_NULL
push ebx
call fcn.05bcf0c0
add esp, 0x1c
cmp dword [ebp + 8], 0
jne 0x5bd81b1
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push edi
push str.SELECT_1_FROM_temp.sqlite_master_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name__1___Q___d_NULL
push ebx
call fcn.05bcf0c0
add esp, 0x14
pop edi
pop ebx
pop ebp
ret
Function at 0x5c1d200
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 8], edx
mov dword [edi], 0
cmp dword [0x5c525e8], 0
je 0x5c1d257
mov eax, dword [0x5c545d8]
test eax, eax
je 0x5c1d230
push eax
call dword [0x5c52638]
add esp, 4
lea edx, [ebp - 4]
mov ecx, 0x14
call fcn.05c20dc0
mov eax, dword [0x5c545d8]
test eax, eax
je 0x5c1d252
push eax
call dword [0x5c52640]
mov esi, dword [ebp - 4]
jmp 0x5c1d261
mov esi, dword [ebp - 4]
jmp 0x5c1d264
push 0x14
call dword [0x5c52608]
mov esi, eax
add esp, 4
test esi, esi
jne 0x5c1d272
lea eax, [esi + 7]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x5c525ec], 0
mov ebx, dword [ebp + 8]
je 0x5c1d2bc
mov eax, dword [0x5c526e8]
test eax, eax
je 0x5c1d295
push 0xc8
call eax
add esp, 4
test eax, eax
jne 0x5c1d2bc
mov eax, dword [ebp - 8]
mov dword [esi + 8], eax
lea eax, [esi + 4]
push eax
push 0
push esi
push 0x5c1d2f0
push 0
push 0
mov dword [esi + 0xc], ebx
call fcn.05b03506
add esp, 0x18
mov dword [esi], eax
test eax, eax
jne 0x5c1d2c9
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
cmp dword [esi + 8], 0
jne 0x5c1d2e2
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push ebx
mov dword [esi + 4], eax
call dword [ebp - 8]
add esp, 4
mov dword [esi + 0x10], eax
mov dword [edi], esi
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x5c1d360
Capabilities:
Encrypt data using salsa20 or chacha

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 0xc]
call fcn.05b7ef20
test eax, eax
jne 0x5c1d4b6
push edi
cmp byte [0x5c525ec], al
jne 0x5c1d381
xor edi, edi
jmp 0x5c1d39c
push 5
call dword [0x5c52630]
mov edi, eax
add esp, 4
test edi, edi
je 0x5c1d39c
push edi
call dword [0x5c52638]
add esp, 4
mov edx, dword [ebp + 8]
test edx, edx
jle 0x5c1d49d
test esi, esi
je 0x5c1d49d
cmp dword [0x5c547a0], 0
jne 0x5c1d429
push 0
call fcn.05c21880
movups xmm0, xmmword [str.expand_32_byte_k]
add esp, 4
movups xmmword [0x5c547a0], xmm0
test eax, eax
jne 0x5c1d3e3
push 0x2c
push eax
push 0x5c547b0
call fcn.05b02790
jmp 0x5c1d405
cmp dword [0x5c526fc], 0
je 0x5c1d3f8
mov ecx, 0x5c547b0
call fcn.05c21ac0
jmp 0x5c1d408
push 0x5c547b0
push 0x2c
push eax
mov eax, dword [eax + 0x38]
call eax
add esp, 0xc
mov eax, dword [0x5c547d0]
xor cl, cl
mov edx, dword [ebp + 8]
mov dword [0x5c547dc], eax
mov dword [0x5c547d0], 0
mov byte [0x5c54820], cl
jmp 0x5c1d42f
mov cl, byte [0x5c54820]
movzx eax, cl
cmp edx, eax
jle 0x5c1d47d
test cl, cl
je 0x5c1d458
movzx eax, cl
push eax
push 0x5c547e0
push esi
call fcn.05b15590
movzx eax, byte [0x5c54820]
add esp, 0xc
sub dword [ebp + 8], eax
add esi, eax
inc dword [0x5c547d0]
mov edx, 0x5c547a0
mov ecx, 0x5c547e0
call fcn.05c1d4c0
mov edx, dword [ebp + 8]
mov cl, 0x40
mov byte [0x5c54820], cl
cmp edx, 0x40
jg 0x5c1d436
movzx eax, cl
sub eax, edx
push edx
add eax, 0x5c547e0
push eax
push esi
call fcn.05b15590
mov eax, dword [ebp + 8]
add esp, 0xc
sub byte [0x5c54820], al
jmp 0x5c1d4a7
mov dword [0x5c547a0], 0
test edi, edi
je 0x5c1d4b5
push edi
call dword [0x5c52640]
add esp, 4
pop edi
pop esi
pop ebp
ret
Function at 0x430000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..text
nop
nop
mov ebx, 0x408e84
nop
mov ecx, 0x1f1477cf
nop
nop
nop
nop
test eax, eax
nop
nop
nop
nop
je 0x43004e
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
inc eax
nop
nop
inc eax
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
cmp eax, ebx
nop
jne 0x430024
nop
nop
nop
nop
mov eax, section..data
nop
mov ebx, 0x42e1d0
mov ecx, 0x3ad5402e
nop
nop
test eax, eax
nop
nop
nop
nop
nop
nop
je 0x430084
nop
nop
nop
xor dword [eax], ecx
nop
nop
add eax, 4
nop
nop
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
jne 0x43006c
nop
nop
nop
popal
nop
nop
nop
jmp 0x401219

Function at 0x40ca80
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, 0x40a015
lea edi, [esi - 0x9015]
push edi
or ebp, 0xffffffff
jmp 0x40caa2
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x40caa9
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x40ca98
mov eax, 1
add ebx, ebx
jne 0x40cabb
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x40cab0
jne 0x40cacc
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x40cab0
xor ecx, ecx
sub eax, 3
jb 0x40cae0
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x40cb52
mov ebp, eax
add ebx, ebx
jne 0x40caeb
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x40caf8
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x40cb1c
inc ecx
add ebx, ebx
jne 0x40cb08
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x40cafd
jne 0x40cb19
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x40cafd
add ecx, 2
cmp ebp, 0xfffff300
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x40cb3c
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x40cb2d
jmp 0x40ca9e
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x40cb3c
add edi, ecx
jmp 0x40ca9e
pop esi
mov edi, esi
mov ecx, 0x169
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x40cb5a
cmp byte [edi], 1
jne 0x40cb5a
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 0x40cb5f
lea edi, [esi + 0xa000]
mov eax, dword [edi]
or eax, eax
je 0x40cbce
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0xd31c]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0xd3a8]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x40cb8c
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0xd3ac]
or eax, eax
je 0x40cbc8
mov dword [ebx], eax
add ebx, 4
jmp 0x40cba9
call dword [esi + 0xd3b0]
popal
jmp section.UPX0
Function at 0x10059610
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a1bf8
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x100cd070]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 0
cmp dword [ebp + 0x18], 0
je 0x1005964d
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x24], eax
jmp 0x10059667
lea ecx, [ebp - 0x18]
call fcn.10036160
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x1c]
or ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
push ecx
mov ecx, dword [ebp - 0x20]
call fcn.10003f30
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x1c]
and edx, 1
je 0x10059694
and dword [ebp - 0x1c], 0xfffffffe
lea ecx, [ebp - 0x18]
call fcn.10050580
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 0xc]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp + 0x10]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x20]
add ecx, 0x10
call fcn.1001f6c0
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp + 0x14]
mov dword [edx + 0x30], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0x14

Function at 0x1005c8f0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a1bc8
mov eax, dword fs:[0]
push eax
push ecx
mov eax, dword [0x100cd070]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x10]
call fcn.10003f30
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp + 8]
add ecx, 0x10
push ecx
mov ecx, dword [ebp - 0x10]
add ecx, 0x10
call fcn.1001f6c0
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov dword [edx + 0x30], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 4
Function at 0x98b15c
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
xor esi, esi
cmp dword [ebp + 8], esi
jne 0x98b183
call fcn.0092d6a8
mov dword [eax], esi
call fcn.0092d695
push 0x16
pop esi
mov dword [eax], esi
call fcn.0092e2ea
mov eax, esi
jmp 0x98b1d8
test dword [ebp + 0xc], 0xfffffff9
jne 0x98b169
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x98b1b0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0092d6bb
pop ecx
call fcn.0092d695
mov eax, dword [eax]
jmp 0x98b1d8
test al, 0x10
jne 0x98b1d6
test al, 1
je 0x98b1d6
test byte [ebp + 0xc], 2
je 0x98b1d6
call fcn.0092d6a8
mov dword [eax], 5
call fcn.0092d695
mov dword [eax], 0xd
jmp 0x98b1a7
xor eax, eax
pop esi
pop ebp
ret

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

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..text
nop
mov ebx, 0x40c7d0
nop
mov ecx, 0x194e2d23
nop
nop
nop
test eax, eax
nop
nop
nop
nop
je 0x43204e
nop
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
nop
nop
nop
jne 0x432024
mov eax, section..reloc
nop
nop
mov ebx, 0x42f314
mov ecx, 0x175011e4
nop
test eax, eax
nop
nop
nop
nop
nop
nop
je 0x432084
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
add eax, 4
nop
cmp eax, ebx
nop
nop
nop
nop
jne 0x43206c
nop
nop
nop
nop
nop
nop
nop
nop
nop
popal
jmp 0x431219
Function at 0x401a40
Capabilities:
Write file on windows

Disassembly:
mov edx, dword [esp + 8]
mov ecx, dword [ecx]
lea eax, [esp + 8]
push 0
push eax
mov eax, dword [esp + 0xc]
push edx
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
ret 8

Function at 0x40893e
Capabilities:
Encode data using xor

Disassembly:
mov edx, 0x4085d8
mov ebx, esi
sub esi, 0x13162b20
call fcn.00408960
xor dword [eax], edx
mov ebx, ebx
inc eax
push esi
pop esi
cmp eax, edi
jne fcn.0040893e
ret
Function at 0x401058
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0x82
call fcn.0040afd4
xor edx, edx
pop ecx
cmp dword [ebp + 0xc], edx
jle 0x40109d
push esi
mov esi, dword [ebp + 8]
push edi
mov ecx, 0x475610
mov edi, eax
sub esi, ecx
sub edi, ecx
mov cx, word [esi + edx*2 + 0x475610]
xor cx, word [edx*2 + 0x475610]
inc edx
mov word [edi + edx*2 + 0x47560e], cx
cmp edx, dword [ebp + 0xc]
jl 0x40107d
pop edi
pop esi
xor ecx, ecx
mov word [eax + edx*2], cx
pop ebp
ret 8

Function at 0x401814
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0x26
call fcn.0040c223
xor edx, edx
pop ecx
cmp dword [ebp + 0xc], edx
jle 0x401856
push esi
mov esi, dword [ebp + 8]
push edi
mov ecx, 0x42743c
mov edi, eax
sub esi, ecx
sub edi, ecx
mov cx, word [esi + edx*2 + 0x42743c]
xor cx, word [edx*2 + 0x42743c]
inc edx
mov word [edi + edx*2 + 0x42743a], cx
cmp edx, dword [ebp + 0xc]
jl 0x401836
pop edi
pop esi
xor ecx, ecx
mov word [eax + edx*2], cx
pop ebp
ret 8

Function at 0x401860
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0x13
call fcn.0040c223
pop ecx
xor ecx, ecx
cmp dword [ebp + 0xc], ecx
jle 0x40189e
push esi
mov esi, dword [ebp + 8]
push edi
mov edx, 0x4274dc
mov edi, eax
sub esi, edx
sub edi, edx
mov dl, byte [esi + ecx + 0x4274dc]
xor dl, byte [ecx + 0x4274dc]
inc ecx
mov byte [edi + ecx + 0x4274db], dl
cmp ecx, dword [ebp + 0xc]
jl 0x401882
pop edi
pop esi
mov byte [ecx + eax], 0
pop ebp
ret 8

Function at 0x4021f7
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0x66
call fcn.0040afd4
xor edx, edx
pop ecx
cmp dword [ebp + 0xc], edx
jle 0x402239
push esi
mov esi, dword [ebp + 8]
push edi
mov ecx, 0x426c88
mov edi, eax
sub esi, ecx
sub edi, ecx
mov cx, word [esi + edx*2 + 0x426c88]
xor cx, word [edx*2 + 0x426c88]
inc edx
mov word [edi + edx*2 + 0x426c86], cx
cmp edx, dword [ebp + 0xc]
jl 0x402219
pop edi
pop esi
xor ecx, ecx
mov word [eax + edx*2], cx
pop ebp
ret 8

Function at 0x402243
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0x76
call fcn.0040afd4
xor edx, edx
pop ecx
cmp dword [ebp + 0xc], edx
jle 0x402285
push esi
mov esi, dword [ebp + 8]
push edi
mov ecx, 0x4274f0
mov edi, eax
sub esi, ecx
sub edi, ecx
mov cx, word [esi + edx*2 + 0x4274f0]
xor cx, word [edx*2 + 0x4274f0]
inc edx
mov word [edi + edx*2 + 0x4274ee], cx
cmp edx, dword [ebp + 0xc]
jl 0x402265
pop edi
pop esi
xor ecx, ecx
mov word [eax + edx*2], cx
pop ebp
ret 8
Function at 0x4045c0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x4255d4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, 0xffff
mov eax, ebx
push edi
mov edi, ecx
cmp ax, si
jne 0x4045eb
xor eax, eax
jmp 0x404753
mov ecx, dword [edi + 0x24]
cmp dword [ecx], 0
je 0x404618
mov eax, dword [edi + 0x34]
mov ecx, dword [ecx]
mov edx, dword [eax]
lea edx, [ecx + edx*2]
cmp ecx, edx
jae 0x404618
dec dword [eax]
mov edi, dword [edi + 0x24]
mov eax, dword [edi]
lea ecx, [eax + 2]
mov dword [edi], ecx
mov word [eax], si
mov ax, si
jmp 0x404753
cmp dword [edi + 0x54], 0
jne 0x404625
mov eax, ebx
jmp 0x404753
mov eax, edi
call fcn.00405c5b
cmp dword [edi + 0x44], 0
jne 0x40464b
push dword [edi + 0x54]
push esi
call fcn.0040c42a
pop ecx
cmp ax, bx
pop ecx
movzx eax, si
jne 0x404753
jmp 0x40461e
movzx eax, si
lea esi, [ebp - 0x20]
mov dword [ebp - 0x24], eax
call fcn.0040540e
cmp dword [ebp - 0xc], 0x10
mov eax, dword [ebp - 0x20]
jae 0x4046f8
lea eax, [ebp - 0x20]
mov edx, eax
add eax, dword [ebp - 0x10]
mov ecx, dword [edi + 0x44]
mov esi, dword [ecx]
lea ebx, [ebp - 0x28]
push ebx
push eax
push edx
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x22]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [edi + 0x4c]
push eax
call dword [esi + 0x14]
xor ebx, ebx
cmp eax, ebx
jl 0x404743
cmp eax, 1
jg 0x404700
cmp dword [ebp - 0xc], 0x10
mov eax, dword [ebp - 0x20]
jae 0x4046a7
lea eax, [ebp - 0x20]
mov esi, dword [ebp - 0x28]
sub esi, eax
je 0x4046cd
cmp dword [ebp - 0xc], 0x10
mov eax, dword [ebp - 0x20]
jae 0x4046ba
lea eax, [ebp - 0x20]
push dword [edi + 0x54]
push esi
push 1
push eax
call fcn.0040db33
add esp, 0x10
cmp esi, eax
jne 0x404743
lea eax, [ebp - 0x24]
mov byte [edi + 0x4a], 1
cmp dword [ebp - 0x2c], eax
jne 0x404732
cmp esi, ebx
ja 0x404659
cmp dword [ebp - 0x10], 0x20
push ebx
jae 0x404744
push 8
pop ebx
lea esi, [ebp - 0x20]
call fcn.00405452
jmp 0x404659
mov edx, dword [ebp - 0x20]
jmp 0x40466b
cmp eax, 3
jne 0x404743
push dword [edi + 0x54]
push dword [ebp - 0x24]
call fcn.0040c42a
movzx esi, word [ebp + 8]
pop ecx
pop ecx
mov ecx, 0xffff
cmp ax, cx
jne 0x404722
mov esi, ecx
push ebx
push 1
lea ecx, [ebp - 0x20]
call fcn.00405542
jmp 0x404610
push ebx
push 1
lea ecx, [ebp - 0x20]
call fcn.00405542
mov ax, word [ebp + 8]
jmp 0x404753
push ebx
push 1
lea ecx, [ebp - 0x20]
call fcn.00405542
mov eax, 0xffff
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040bbda
leave
ret 4