joyce8/EMBER2024-capa huggingface dataset:
Function at 0x41eb2d
Capabilities:
Set environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
cmp eax, ebx
push edi
mov dword [ebp - 0x10], ebx
jne 0x41eb46
or eax, 0xffffffff
jmp 0x41eba7
push esi
mov esi, dword [eax]
cmp esi, ebx
mov dword [ebp - 4], esi
je 0x41eba3
push 0x3d
push esi
call fcn.0041eedc
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
je 0x41eba3
cmp esi, eax
je 0x41eba3
xor ecx, ecx
cmp byte [eax + 1], bl
mov eax, dword [0x429b14]
sete cl
cmp eax, dword [0x429b18]
mov dword [ebp - 8], ecx
jne 0x41eb89
mov edi, eax
call fcn.0041eacc
mov dword [0x429b14], eax
cmp eax, ebx
jne 0x41ebe2
cmp dword [ebp + 0xc], ebx
je 0x41ebab
cmp dword [0x429b1c], ebx
je 0x41ebab
call fcn.0041df6c
test eax, eax
je 0x41ebe2
or eax, 0xffffffff
pop esi
pop edi
pop ebx
leave
ret
cmp dword [ebp - 8], ebx
je 0x41ebb4
xor eax, eax
jmp 0x41eba6
push 4
call fcn.00413950
cmp eax, ebx
pop ecx
mov dword [0x429b14], eax
je 0x41eba3
mov dword [eax], ebx
cmp dword [0x429b1c], ebx
jne 0x41ebe2
push 4
call fcn.00413950
cmp eax, ebx
pop ecx
mov dword [0x429b1c], eax
je 0x41eba3
mov dword [eax], ebx
mov edi, dword [ebp - 0xc]
sub edi, dword [ebp - 4]
push dword [ebp - 4]
mov esi, dword [0x429b14]
call fcn.0041ea7f
mov edi, eax
cmp edi, ebx
pop ecx
jl 0x41ec43
cmp dword [esi], ebx
je 0x41ec43
lea esi, [esi + edi*4]
push dword [esi]
call fcn.00413155
cmp dword [ebp - 8], ebx
pop ecx
jne 0x41ec26
mov eax, dword [ebp - 4]
mov dword [esi], eax
mov eax, dword [ebp + 8]
mov dword [eax], ebx
jmp 0x41ec84
mov eax, dword [esi + 4]
mov dword [esi], eax
inc edi
add esi, 4
cmp dword [esi], ebx
jne 0x41ec1d
mov eax, edi
shl eax, 2
push eax
push dword [0x429b14]
call fcn.00413a95
cmp eax, ebx
pop ecx
pop ecx
je 0x41ec84
jmp 0x41ec7f
cmp dword [ebp - 8], ebx
jne 0x41ecef
cmp edi, ebx
jge 0x41ec52
neg edi
lea eax, [edi*4 + 8]
push eax
push dword [0x429b14]
call fcn.00413a95
cmp eax, ebx
pop ecx
pop ecx
je 0x41eba3
mov edx, dword [ebp - 4]
lea ecx, [eax + edi*4]
mov dword [ecx], edx
mov dword [ecx + 4], ebx
mov ecx, dword [ebp + 8]
mov dword [ecx], ebx
mov dword [0x429b14], eax
cmp dword [ebp + 0xc], ebx
je 0x41ecd9
push dword [ebp - 4]
call fcn.00418f80
inc eax
inc eax
push eax
call fcn.00413950
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
je 0x41ecd9
push dword [ebp - 4]
push esi
call fcn.0041ba00
mov eax, esi
sub eax, dword [ebp - 4]
pop ecx
add eax, dword [ebp - 0xc]
pop ecx
mov ecx, dword [ebp - 8]
mov byte [eax], bl
inc eax
neg ecx
sbb ecx, ecx
not ecx
and ecx, eax
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
test eax, eax
jne 0x41ecd2
or dword [ebp - 0x10], 0xffffffff
push esi
call fcn.00413155
pop ecx
cmp dword [ebp - 8], ebx
je 0x41ece7
push dword [ebp - 4]
call fcn.00413155
pop ecx
mov eax, dword [ebp - 0x10]
jmp 0x41eba6
push dword [ebp - 4]
call fcn.00413155
mov eax, dword [ebp + 8]
pop ecx
mov dword [eax], ebx
jmp 0x41ebb0
Function at 0x403e4a
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
pushal
call 0x403e59
pop dword [ebp - 0x28]
mov eax, 0xc1145d16
add eax, 0x3f2be143
sub dword [ebp - 0x28], eax
mov dword [ebp - 0x38], 0x3d099747
add dword [ebp - 0x38], 0x1148ae04
mov dword [ebp - 0x34], 0x54e41326
add dword [ebp - 0x34], 0xdd4f391f
mov dword [ebp - 0x30], 0x9ffdd771
add dword [ebp - 0x30], 0xac4e6cbd
mov dword [ebp - 0x2c], 0x1dad9a8a
add dword [ebp - 0x2c], 0xe2526576
lea eax, [ebp - 0x38]
push eax
mov eax, sym.imp.kernel32.dll_GetModuleHandleA
add eax, dword [ebp - 0x28]
call dword [eax]
mov dword [ebp - 0x38], 0xa9fcebfe
add dword [ebp - 0x38], 0xca757d58
mov dword [ebp - 0x34], 0xc4ddfa06
sub dword [ebp - 0x34], 0x83719891
mov dword [ebp - 0x30], 0xae54e8c7
sub dword [ebp - 0x30], 0x4ae57c5b
mov dword [ebp - 0x2c], 0x5048326a
add dword [ebp - 0x2c], 0xafb7cd96
lea ebx, [ebp - 0x38]
push ebx
push eax
mov eax, 0xc5fc5f72
sub eax, 0xc5bbeeca
add eax, dword [ebp - 0x28]
call dword [eax]
push 0x40
push 0x1000
push 0x39361
push 0
call eax
mov ecx, 0x1d137461
add ecx, 0xe2ecdd7a
mov esi, eax
mov edi, 0x1b1e66f3
sub edi, 0x1add66f3
add edi, dword [ebp - 0x28]
mov ebx, 0xd959f8ef
sub ebx, 0x2df8f00e
mov dword [ebp - 0x20], 0x4e4b9467
mov edx, dword [edi]
xor edx, ebx
sub dword [ebp - 0x18], 0xa9c39316
mov dword [esi], edx
add dword [ebp - 8], 0x688c1951
add esi, 0x55548115
sub esi, 0x55548111
add edi, 0x2af28b6e
sub edi, 0x2af28b6a
loop 0x403f76
add eax, 0x13a3f
mov ebx, eax
add eax, 5
mov ecx, 0x400000
add ecx, dword [ebp - 0x28]
call ebx
leave
ret
Function at 0x417470
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.sect_1
lea edi, [esi - 0x12000]
push edi
or ebp, 0xffffffff
jmp 0x417492
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x417499
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x417488
mov eax, 1
add ebx, ebx
jne 0x4174ab
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x4174bc
jne 0x4174cc
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x4174cc
dec eax
add ebx, ebx
jne 0x4174c8
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x4174a0
xor ecx, ecx
sub eax, 3
jb 0x4174e4
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x417556
sar eax, 1
mov ebp, eax
jmp 0x4174ef
add ebx, ebx
jne 0x4174ef
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x4174fc
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x417520
inc ecx
add ebx, ebx
jne 0x41750c
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x417501
jne 0x41751d
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x417501
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x417540
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x417531
jmp 0x41748e
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x417540
add edi, ecx
jmp 0x41748e
pop esi
mov edi, esi
mov ecx, 0xe
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x41755e
cmp byte [edi], 3
jne 0x41755e
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 0x417563
lea edi, [esi + 0x15000]
mov eax, dword [edi]
or eax, eax
je 0x4175db
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x1c978]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x1c9b4]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x417590
mov ecx, edi
jns 0x4175bf
movzx eax, word [edi]
inc edi
push eax
inc edi
mov ecx, 0xaef24857
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x1c9b8]
or eax, eax
je 0x4175d5
mov dword [ebx], eax
add ebx, 4
jmp 0x4175ad
call dword [esi + 0x1c9bc]
popal
jmp 0x4011a0

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

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

Disassembly:
push 0x58
push 0x402068
call fcn.00401fc0
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetStartupInfoW]
mov dword [ebp - 4], ebx
mov eax, dword fs:[0x18]
mov esi, dword [eax + 4]
mov edi, ebx
mov edx, 0x403398
mov ecx, esi
xor eax, eax
lock cmpxchg dword [edx], ecx
test eax, eax
je 0x401aab
cmp eax, esi
jne 0x401a9e
xor esi, esi
inc esi
mov edi, esi
jmp 0x401aae
push 0x3e8
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
jmp 0x401a82
xor esi, esi
inc esi
cmp dword [0x40339c], esi
jne 0x401ac0
push 0x1f
call sub.msvcrt.dll__amsg_exit
pop ecx
jmp 0x401afa
cmp dword [0x40339c], ebx
jne 0x401af4
mov dword [0x40339c], esi
push 0x4010e0
push 0x4010d4
call fcn.00401c3a
pop ecx
pop ecx
test eax, eax
je 0x401afa
mov dword [ebp - 4], 0xfffffffe
mov eax, 0xff
jmp 0x401c24
mov dword [0x403360], esi
cmp dword [0x40339c], esi
jne 0x401b1d
push 0x4010d0
push 0x4010c8
call sub.msvcrt.dll__initterm
pop ecx
pop ecx
mov dword [0x40339c], 2
test edi, edi
jne 0x401b2a
xor eax, eax
mov ecx, 0x403398
xchg dword [ecx], eax
cmp dword [0x4033a0], 0
je 0x401b56
push 0x4033a0
call fcn.00401e90
pop ecx
test eax, eax
je 0x401b56
push ebx
push 2
push ebx
mov esi, dword [0x4033a0]
mov ecx, esi
call dword [0x404098]
call esi
mov eax, dword [sym.imp.msvcrt.dll__wcmdln]
mov ecx, dword [eax]
test ecx, ecx
je 0x401ae3
mov dword [ebp - 0x20], ecx
push 0x20
pop esi
mov edx, dword [ebp - 0x1c]
movzx eax, word [ecx]
cmp ax, si
ja 0x401bc1
test ax, ax
je 0x401b90
test edx, edx
jne 0x401bc1
test ax, ax
je 0x401b90
cmp ax, si
ja 0x401b90
add ecx, 2
mov dword [ebp - 0x20], ecx
movzx eax, word [ecx]
jmp 0x401b7b
test byte [ebp - 0x3c], 1
je 0x401b9c
movzx eax, word [ebp - 0x38]
jmp 0x401b9f
push 0xa
pop eax
push eax
push ecx
push ebx
push 0x400000
call main
mov dword [0x40335c], eax
cmp dword [0x403374], 0
jne 0x401c09
push eax
call dword [sym.imp.msvcrt.dll_exit]
cmp eax, 0x22
jne 0x401bd2
xor eax, eax
test edx, edx
sete al
mov edx, eax
mov dword [ebp - 0x1c], edx
add ecx, 2
mov dword [ebp - 0x20], ecx
jmp 0x401b6a
cmp dword [0x403360], 0
jne 0x401c1d
call dword [sym.imp.msvcrt.dll__cexit]
mov eax, dword [0x40335c]
mov dword [ebp - 4], 0xfffffffe
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
leave
ret
call fcn.00401923
jmp 0x401a59

Function at 0x401d60
Capabilities:
Parse pe header

Disassembly:
push 0xc
push 0x402088
call fcn.00401fc0
xor ecx, ecx
mov eax, dword [ebp + 8]
test eax, eax
je 0x401dc0
cmp eax, 0xffffffff
je 0x401dc0
mov dword [ebp - 4], ecx
mov edx, 0x5a4d
cmp word [eax], dx
jne 0x401db9
mov edx, dword [eax + 0x3c]
test edx, edx
js 0x401db9
cmp edx, 0x10000000
jae 0x401db9
add eax, edx
mov dword [ebp - 0x1c], eax
mov ecx, dword [eax]
sub ecx, 0x4550
neg ecx
sbb ecx, ecx
not ecx
and ecx, eax
jmp 0x401db6
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 0xfffffffe
mov eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
leave
ret 4
Function at 0x401e40
Capabilities:
Enumerate pe sections

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
xor edx, edx
push ebx
push esi
push edi
mov ecx, dword [eax + 0x3c]
add ecx, eax
movzx eax, word [ecx + 0x14]
movzx ebx, word [ecx + 6]
add eax, 0x18
add eax, ecx
test ebx, ebx
je 0x401e7e
mov edi, dword [ebp + 0xc]
mov esi, dword [eax + 0xc]
cmp edi, esi
jb 0x401e76
mov ecx, dword [eax + 8]
add ecx, esi
cmp edi, ecx
jb 0x401e80
inc edx
add eax, 0x28
cmp edx, ebx
jb 0x401e66
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret

Function at 0x401f60
Capabilities:
Parse pe header

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov ecx, 0x5a4d
cmp word [eax], cx
jne 0x401f8f
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x401f8f
mov edx, 0x10b
xor eax, eax
cmp word [ecx + 0x18], dx
sete al
pop ebp
ret
xor eax, eax
pop ebp
ret
Function at 0x401fe0
Capabilities:
Get process heap force flags
Terminate process

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x10
mov dword [esp], 1
call sym.__configure_wide_argv
call sym.__initialize_wide_environment
call sym.___p___argc
mov esi, dword [eax]
call sym.___p___wargv
mov edi, dword [eax]
call sym.__get_initial_wide_environment
mov ebx, eax
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0x3c]
cmp word [eax + edx + 0x5c], 2
sete al
movzx eax, al
add eax, 1
mov dword [esp], eax
call sym.__set_app_type
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], esi
call dbg.wmain
mov dword [esp], eax
call sym._exit

Function at 0x98e058
Capabilities:
Decompress data using aplib

Disassembly:
call 0x98e1a8
push ebx
mov ebx, esp
push ebx
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 0x10]
cld
mov dl, pe_nt_image_headers32
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
mov ebx, 2
add dl, dl
jne 0x98e07e
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x98e06a
add dl, dl
jne 0x98e089
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x98e0dc
xor eax, eax
add dl, dl
jne 0x98e096
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x98e17d
add dl, dl
jne 0x98e0a5
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x98e0b0
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x98e0bb
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x98e0c6
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
je 0x98e0d2
push edi
mov eax, eax
sub edi, eax
mov al, byte [edi]
pop edi
mov byte [edi], al
inc edi
mov ebx, 2
jmp 0x98e075
mov eax, 1
add dl, dl
jne 0x98e0ea
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x98e0f5
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x98e0e1
sub eax, ebx
mov ebx, 1
jne 0x98e128
mov ecx, 1
add dl, dl
jne 0x98e10e
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x98e119
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x98e105
push esi
mov esi, edi
sub esi, ebp
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x98e075
dec eax
shl eax, 8
mov al, byte [esi]
inc esi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x98e13f
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x98e14a
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x98e136
cmp eax, 0x7d00
jae 0x98e16d
cmp eax, 0x500
jb 0x98e168
inc ecx
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x98e075
cmp eax, 0x7f
ja 0x98e170
add ecx, 2
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x98e075
mov al, byte [esi]
inc esi
xor ecx, ecx
shr al, 1
je 0x98e19e
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 0x98e075
pop ebx
sub edi, dword [ebx + 0x10]
mov eax, edi
pop ebx
ret 0x10
Function at 0x462680
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.UPX1
lea edi, [esi - 0x43000]
push edi
or ebp, 0xffffffff
jmp 0x4626a2
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x4626a9
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x462698
mov eax, 1
add ebx, ebx
jne 0x4626bb
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x4626cc
jne 0x4626dc
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x4626dc
dec eax
add ebx, ebx
jne 0x4626d8
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x4626b0
xor ecx, ecx
sub eax, 3
jb 0x4626f4
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x462766
sar eax, 1
mov ebp, eax
jmp 0x4626ff
add ebx, ebx
jne 0x4626ff
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x46270c
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x462730
inc ecx
add ebx, ebx
jne 0x46271c
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x462711
jne 0x46272d
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x462711
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x462750
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x462741
jmp 0x46269e
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x462750
add edi, ecx
jmp 0x46269e
pop esi
mov edi, esi
mov ecx, 0x3a2
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x46276e
cmp byte [edi], 6
jne 0x46276e
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 0x462773
lea edi, [esi + 0x60000]
mov eax, dword [edi]
or eax, eax
je 0x4627e2
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x62b14]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x62bb4]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x4627a0
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x62bb8]
or eax, eax
je 0x4627dc
mov dword [ebx], eax
add ebx, 4
jmp 0x4627bd
call dword [esi + 0x62bbc]
popal
jmp 0x40b9cf
Function at 0x4108d1
Capabilities:
Write file on windows

Disassembly:
push esi
mov esi, ecx
push edi
push 0x20
pop edi
movzx eax, word [esi + 0x454]
mov cl, al
shl dword [esi + 0x450], cl
cmp ax, di
jae 0x41093a
mov ecx, dword [esi + 0x448]
mov edx, dword [esi + 0x444]
mov al, byte [esi + 0x453]
mov byte [edx + ecx], al
inc dword [esi + 0x448]
mov edx, dword [esi + 0x448]
mov ecx, dword [esi + 0x444]
mov al, byte [esi + 0x452]
mov byte [edx + ecx], al
inc dword [esi + 0x448]
shl dword [esi + 0x450], 0x10
add word [esi + 0x454], 0x10
cmp word [esi + 0x454], di
jb 0x4108ec
mov word [esi + 0x454], di
mov ecx, esi
pop edi
pop esi
jmp fcn.004107f5

Function at 0x410d5a
Capabilities:
Hash data with md5

Disassembly:
push esi
mov esi, ecx
push 8
push 0
lea eax, [esi + 0x44]
push eax
call fcn.004158c0
add esp, 0xc
mov dword [esi + 0x34], 0x67452301
mov dword [esi + 0x38], 0xefcdab89
mov dword [esi + 0x3c], 0x98badcfe
mov dword [esi + 0x40], 0x10325476
pop esi
ret

Function at 0x4118f4
Capabilities:
Write file on windows

Disassembly:
push edi
mov edi, ecx
mov eax, dword [edi + 0x10]
test eax, eax
je 0x411913
push esi
mov esi, dword [eax + 0x208]
push eax
call main
mov eax, esi
pop ecx
test esi, esi
jne 0x4118ff
pop esi
push dword [edi + 4]
push 4
push 1
push str.AU3_
call fcn.0041375f
push dword [edi + 4]
push 4
push 1
push 0x43c314
call fcn.0041375f
push dword [edi + 4]
call fcn.00412faf
add esp, 0x24
pop edi
ret

Function at 0x4138f3
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
pushal
call 0x413902
pop dword [ebp - 0x3c]
mov eax, 0x72845669
sub eax, 0x72431d67
sub dword [ebp - 0x3c], eax
mov dword [ebp - 0x4c], 0x3279c16f
add dword [ebp - 0x4c], 0x1bd883dc
mov dword [ebp - 0x48], 0x19801a06
add dword [ebp - 0x48], 0x18b3323f
mov dword [ebp - 0x44], 0xd558cb0d
add dword [ebp - 0x44], 0x76f37921
mov dword [ebp - 0x40], 0x7115b470
sub dword [ebp - 0x40], 0x7115b470
lea eax, [ebp - 0x4c]
push eax
mov eax, 0xeb39b491
add eax, 0x1508ebc3
add eax, dword [ebp - 0x3c]
call dword [eax]
mov dword [ebp - 0x4c], 0xae16159
add dword [ebp - 0x4c], 0x699107fd
mov dword [ebp - 0x48], 0x569fd195
sub dword [ebp - 0x48], 0x15337020
mov dword [ebp - 0x44], 0xb80344a8
add dword [ebp - 0x44], 0xab6c27c4
mov dword [ebp - 0x40], 0x8f947959
add dword [ebp - 0x40], 0x706b86a7
lea ebx, [ebp - 0x4c]
push ebx
push eax
mov eax, 0x2ebc3936
sub eax, 0x2e7998de
add eax, dword [ebp - 0x3c]
call dword [eax]
push 0x40
push 0x1000
push 0x3f83f
push 0
call eax
mov ecx, 0x174aa97e
add ecx, 0xe8b59cb5
xor ebx, ebx
add ebx, eax
mov edx, 0xcb2eade6
add edx, 0x3525fe1a
add edx, dword [ebp - 0x3c]
mov edi, 0x77616a68
add edi, 0x7738f4a
sub dword [ebp - 0x20], eax
mov esi, dword [edx]
xor dword [ebp - 0xc], edi
sub esi, edi
mov dword [ebp - 0x28], 0x892cbaa5
mov dword [ebx], esi
sub dword [ebp - 0x20], ecx
add ebx, 4
add edx, 0xc3848d8a
sub edx, 0xc3848d86
loop 0x413a26
add eax, 0x10b9f
xor ebx, ebx
add ebx, eax
add eax, 0x7c313978
add eax, 0x83cec68d
mov ecx, 0x400000
add ecx, dword [ebp - 0x3c]
call ebx
leave
ret
Function at 0x401037
Capabilities:
Encrypt data using tea

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x434
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ebx
push esi
mov esi, dword [eax + 4]
mov eax, dword [0x42c378]
mov dword [ebp - 0x30], eax
mov eax, dword [0x42c37c]
push edi
xor edi, edi
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x18], edi
call fcn.00401030
mov eax, dword [0x42c380]
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x42c384]
add ebx, 0x23f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0x20
mov dword [ebp - 0x10], 2
add dword [ebp - 0x10], 3
mov eax, dword [ebp - 0xc]
shl eax, 4
cmp dword [0x1a261a4], 0xc
mov dword [ebp - 4], eax
jne 0x4010bc
push edi
lea eax, [ebp - 0x34]
push eax
push edi
lea eax, [ebp - 0x434]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadConsoleA]
mov eax, dword [ebp - 0x2c]
add dword [ebp - 4], eax
mov eax, dword [0x1a261a4]
cmp eax, 0xfa9
jne 0x4010d8
mov dword [0x1a261a0], 0xedeb2e40
cmp eax, 0x3eb
jne 0x4010ec
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov dword [0x1a260f4], edi
mov eax, dword [ebp - 0xc]
add eax, ebx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
shr eax, 5
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x24]
add dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov dword [0x1a2619c], 0xf4ea3dee
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x18]
add dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
xor dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
xor eax, dword [ebp - 0x14]
sub esi, eax
mov dword [ebp - 8], eax
mov eax, esi
shl eax, 4
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x30]
add dword [ebp - 4], eax
mov ecx, dword [ebp - 0x10]
lea eax, [ebx + esi]
mov dword [ebp - 0x18], eax
mov eax, esi
shr eax, cl
add eax, dword [ebp - 0x28]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x18]
xor dword [ebp - 4], eax
cmp dword [0x1a261a4], 0xb03
jne 0x401174
push edi
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasesLengthA]
push str.ruyenemilimusibubigukexem
push edi
push edi
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
xor dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
sub dword [ebp - 0xc], eax
add ebx, 0x61c88647
dec dword [ebp - 0x20]
jne 0x40108b
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword [eax + 4], esi
pop esi
mov dword [eax], ecx
pop ebx
leave
ret 4