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

Disassembly:
mov eax, 0x70
call fcn.004f5150
mov eax, dword [0x595cb8]
xor eax, esp
mov dword [esp + 0x6c], eax
cmp dword [esp + 0x88], 0x40000000
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x84]
push ebp
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x90]
push esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], 0
ja 0x4e9657
mov esi, dword [esp + 0x80]
cmp esi, 0x40000000
ja 0x4e9657
cmp dword [esp + 0x88], 0x40000000
ja 0x4e9657
push ebx
push edi
push eax
call fcn.004b6700
mov edi, eax
lea eax, [esp + 0x28]
push eax
call fcn.004b9680
push 0
push dword [esp + 0x20]
lea eax, [esp + 0x34]
mov ebx, 1
push eax
call fcn.004b9260
push dword [esp + 0xa4]
lea eax, [esp + 0x3c]
mov dword [esp + 0x28], 0x1000000
push dword [esp + 0x30]
push eax
call fcn.004b9410
add esp, 0x20
test eax, eax
je 0x4e9633
push 4
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.004b9410
add esp, 0xc
test eax, eax
je 0x4e9633
push dword [esp + 0x98]
lea eax, [esp + 0x28]
push dword [esp + 0x24]
push eax
call fcn.004b9410
add esp, 0xc
test eax, eax
je 0x4e9633
push 0
cmp esi, edi
jb 0x4e95fb
lea eax, [esp + 0x28]
push ebp
push eax
call fcn.004b91b0
add esp, 0xc
test eax, eax
je 0x4e9633
sub esi, edi
je 0x4e962b
push 0
push dword [esp + 0x18]
lea eax, [esp + 0x2c]
add ebp, edi
push eax
inc ebx
call fcn.004b9260
push dword [esp + 0x9c]
mov eax, ebx
mov byte [esp + 0x23], bl
push dword [esp + 0x28]
shr eax, 8
mov byte [esp + 0x26], al
mov eax, ebx
shr eax, 0x10
mov byte [esp + 0x25], al
mov eax, ebx
shr eax, 0x18
mov byte [esp + 0x24], al
lea eax, [esp + 0x38]
push eax
call fcn.004b9410
add esp, 0x18
test eax, eax
jne 0x4e9547
jmp 0x4e9633
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.004b91b0
add esp, 0xc
test eax, eax
je 0x4e9633
push esi
lea eax, [esp + 0x40]
push eax
push ebp
call fcn.004f8b90
lea eax, [esp + 0x48]
push edi
push eax
call fcn.004a4000
add esp, 0x14
mov dword [esp + 0x1c], 1
lea eax, [esp + 0x24]
push eax
call fcn.004b9420
mov eax, dword [esp + 0x20]
add esp, 4
pop edi
pop ebx
pop esi
pop ebp
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004f4566
add esp, 0x70
ret
mov ecx, dword [esp + 0x74]
xor eax, eax
pop esi
pop ebp
xor ecx, esp
call fcn.004f4566
add esp, 0x70
ret
Function at 0x4e9820
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
mov eax, 0x8c
call fcn.004f5150
mov eax, dword [0x595cb8]
xor eax, esp
mov dword [esp + 0x88], eax
mov edx, dword [esp + 0xa0]
xor eax, eax
push ebx
mov ebx, dword [esp + 0x9c]
push ebp
mov ebp, dword [esp + 0x9c]
push esi
mov esi, dword [esp + 0x9c]
push edi
mov edi, dword [esp + 0xac]
mov dword [esp + 0x10], edx
test edi, edi
je 0x4e9886
cmp edi, dword [esi]
je 0x4e987d
test ebp, ebp
je 0x4e9900
test ebx, ebx
js 0x4e9900
mov eax, 1
mov dword [esi], edi
jmp 0x4e988c
mov edi, dword [esi]
test edi, edi
je 0x4e9900
test ebp, ebp
je 0x4e9a1b
push edi
call fcn.004b66f0
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, 0x80
jle 0x4e98c0
push str.j____int_sizeof_ctx__key_
push 0x74
push str..cryptohmachmac.c
call fcn.00497f10
mov eax, dword [esp + 0x20]
add esp, 0xc
cmp eax, ebx
jge 0x4e991b
push dword [esp + 0x10]
lea eax, [esi + 4]
push edi
push eax
call fcn.004b9260
add esp, 0xc
test eax, eax
je 0x4e9900
push ebx
push ebp
lea ebx, [esi + 4]
push ebx
call fcn.004b9410
add esp, 0xc
test eax, eax
je 0x4e9900
lea ebp, [esi + 0x4c]
push ebp
lea eax, [esi + 0x50]
push eax
push ebx
call fcn.004b91e0
add esp, 0xc
test eax, eax
jne 0x4e9937
xor eax, eax
mov ecx, dword [esp + 0x98]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004f4566
add esp, 0x8c
ret
cmp ebx, 0x80
ja 0x4e9900
push ebx
lea eax, [esi + 0x50]
push ebp
push eax
call fcn.004f8b90
lea ebp, [esi + 0x4c]
add esp, 0xc
mov dword [ebp], ebx
mov ecx, dword [ebp]
cmp ecx, 0x80
je 0x4e995a
mov eax, 0x80
sub eax, ecx
push eax
lea eax, [esi + 0x50]
add eax, ecx
push 0
push eax
call fcn.004f9110
add esp, 0xc
mov edx, dword [esp + 0x10]
xor ecx, ecx
mov al, byte [esi + ecx + 0x50]
xor al, 0x36
mov byte [esp + ecx + 0x18], al
inc ecx
cmp ecx, 0x80
jl 0x4e9960
push edx
lea ebx, [esi + 0x1c]
push edi
push ebx
call fcn.004b9260
add esp, 0xc
test eax, eax
je 0x4e9900
push edi
call fcn.004b66f0
push eax
lea eax, [esp + 0x20]
push eax
push ebx
call fcn.004b9410
add esp, 0x10
test eax, eax
je 0x4e9900
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [esi + ecx + 0x50]
xor al, 0x5c
mov byte [esp + ecx + 0x18], al
inc ecx
cmp ecx, 0x80
jl 0x4e99b0
push dword [esp + 0x10]
lea ebx, [esi + 0x34]
push edi
push ebx
call fcn.004b9260
add esp, 0xc
test eax, eax
je 0x4e9900
push edi
call fcn.004b66f0
push eax
lea eax, [esp + 0x20]
push eax
push ebx
call fcn.004b9410
add esp, 0x10
test eax, eax
je 0x4e9900
lea eax, [esi + 0x1c]
push eax
lea eax, [esi + 4]
push eax
call fcn.004b94e0
add esp, 8
test eax, eax
je 0x4e9900
mov eax, 1
jmp 0x4e9902
test eax, eax
je 0x4e99f9
jmp 0x4e995e
Function at 0x4ee510
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x14
call fcn.004f5150
mov ecx, dword [esp + 0x28]
mov edx, ecx
push ebx
push ebp
mov ebp, dword [esp + 0x20]
push esi
mov esi, dword [esp + 0x2c]
push edi
mov edi, dword [esp + 0x2c]
cmp esi, 0x10
jb 0x4ee590
mov eax, esi
shr eax, 4
mov dword [esp + 0x10], eax
nop
mov eax, edi
sub edx, ebp
sub eax, ebp
mov ecx, ebp
mov dword [esp + 0x14], eax
mov ebx, 4
mov esi, eax
mov eax, dword [edx + ecx]
lea ecx, [ecx + 4]
xor eax, dword [ecx - 4]
mov dword [esi + ecx - 4], eax
sub ebx, 1
jne 0x4ee553
push dword [esp + 0x34]
push edi
push edi
call dword [esp + 0x48]
mov esi, dword [esp + 0x3c]
mov edx, edi
sub esi, 0x10
add esp, 0xc
add ebp, 0x10
mov dword [esp + 0x30], esi
add edi, 0x10
sub dword [esp + 0x10], 1
jne 0x4ee540
mov ecx, dword [esp + 0x38]
test esi, esi
je 0x4ee69c
mov ebx, edi
mov ecx, edx
sub ebx, ebp
sub ecx, ebp
mov dword [esp + 0x14], ebx
xor eax, eax
mov ebx, 1
mov dword [esp + 0x20], ecx
sub ebx, ebp
mov dword [esp + 0x10], ebx
mov ebx, 2
sub ebx, ebp
mov dword [esp + 0x18], ebx
mov ebx, 3
sub ebx, ebp
mov dword [esp + 0x1c], ebx
nop dword [eax + eax]
cmp eax, esi
jae 0x4ee642
mov esi, dword [esp + 0x14]
lea ebx, [eax + ebp]
mov cl, byte [ecx + ebx]
xor cl, byte [ebx]
mov byte [esi + ebx], cl
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
add ecx, ebx
cmp ecx, esi
jae 0x4ee641
mov cl, byte [eax + ebp + 1]
xor cl, byte [eax + edx + 1]
mov byte [edi + eax + 1], cl
mov ecx, dword [esp + 0x18]
add ecx, ebx
cmp ecx, esi
jae 0x4ee63c
mov cl, byte [eax + ebp + 2]
xor cl, byte [eax + edx + 2]
mov byte [edi + eax + 2], cl
mov ecx, dword [esp + 0x1c]
add ecx, ebx
cmp ecx, esi
jae 0x4ee637
mov cl, byte [eax + ebp + 3]
xor cl, byte [eax + edx + 3]
mov byte [edi + eax + 3], cl
add eax, 4
mov ecx, dword [esp + 0x20]
cmp eax, 0x10
jb 0x4ee5d0
jmp 0x4ee661
add eax, 3
jmp 0x4ee642
add eax, 2
jmp 0x4ee642
inc eax
cmp eax, 0x10
jae 0x4ee661
mov ebx, 0x10
lea ecx, [eax + edi]
sub edx, edi
sub ebx, eax
mov al, byte [edx + ecx]
lea ecx, [ecx + 1]
mov byte [ecx - 1], al
sub ebx, 1
jne 0x4ee653
push dword [esp + 0x34]
push edi
push edi
call dword [esp + 0x48]
add esp, 0xc
mov edx, edi
cmp esi, 0x10
jbe 0x4ee68a
sub esi, 0x10
add ebp, 0x10
add edi, 0x10
mov dword [esp + 0x30], esi
test esi, esi
jne 0x4ee598
mov eax, dword [esp + 0x38]
movups xmm0, xmmword [edx]
pop edi
pop esi
pop ebp
movups xmmword [eax], xmm0
pop ebx
add esp, 0x14
ret
movups xmm0, xmmword [edx]
pop edi
pop esi
pop ebp
movups xmmword [ecx], xmm0
pop ebx
add esp, 0x14
ret
Function at 0x4ee7d0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 8
call fcn.004f5150
mov ecx, dword [esp + 0xc]
push ebx
push ebp
mov ebp, dword [esp + 0x18]
push esi
mov esi, dword [esp + 0x20]
push edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
mov edi, dword [edi]
mov dword [esp + 0x14], edi
test edi, edi
je 0x4ee81d
mov edx, dword [esp + 0x30]
test esi, esi
je 0x4ee81d
mov al, byte [edi + edx]
dec esi
xor al, byte [ecx]
inc edi
mov byte [ebp], al
inc ecx
inc ebp
mov dword [esp + 0x10], ecx
and edi, 0xf
mov dword [esp + 0x14], edi
jne 0x4ee800
mov ebx, dword [esp + 0x2c]
movzx edx, byte [ebx + 0xc]
movzx eax, byte [ebx + 0xd]
shl edx, 8
or edx, eax
movzx eax, byte [ebx + 0xe]
shl edx, 8
or edx, eax
movzx eax, byte [ebx + 0xf]
shl edx, 8
or edx, eax
mov dword [esp + 0x24], edx
cmp esi, 0x10
jb 0x4ee8d7
mov edi, ebx
nop
mov ebx, esi
shr ebx, 4
add edx, ebx
mov dword [esp + 0x24], edx
cmp edx, ebx
jae 0x4ee867
sub ebx, edx
xor edx, edx
mov dword [esp + 0x24], edx
push edi
push dword [esp + 0x2c]
push ebx
push ebp
push ecx
call dword [esp + 0x4c]
mov edx, dword [esp + 0x38]
add esp, 0x14
mov eax, edx
mov byte [edi + 0xf], dl
shr eax, 0x18
mov byte [edi + 0xc], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 0xd], al
mov eax, edx
shr eax, 8
mov byte [edi + 0xe], al
test edx, edx
jne 0x4ee8b9
mov edx, 0xc
mov ecx, 1
movzx eax, byte [edx + edi - 1]
dec edx
add ecx, eax
mov byte [edx + edi], cl
shr ecx, 8
test edx, edx
jne 0x4ee8a3
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
shl ebx, 4
sub esi, ebx
add ecx, ebx
add ebp, ebx
mov dword [esp + 0x10], ecx
cmp esi, 0x10
jae 0x4ee850
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x2c]
test esi, esi
je 0x4ee945
mov eax, dword [esp + 0x30]
xorps xmm0, xmm0
push ebx
push dword [esp + 0x2c]
push 1
push eax
push eax
movups xmmword [eax], xmm0
call dword [esp + 0x4c]
mov ecx, dword [esp + 0x38]
add esp, 0x14
inc ecx
mov eax, ecx
mov byte [ebx + 0xf], cl
shr eax, 0x18
mov byte [ebx + 0xc], al
mov eax, ecx
shr eax, 0x10
mov byte [ebx + 0xd], al
mov eax, ecx
shr eax, 8
mov byte [ebx + 0xe], al
test ecx, ecx
jne 0x4ee922
push ebx
call fcn.004ee990
add esp, 4
mov eax, dword [esp + 0x30]
sub ebp, eax
mov edx, dword [esp + 0x10]
sub edx, eax
lea ecx, [edi + eax]
add edi, esi
mov al, byte [edx + ecx]
lea ecx, [ecx + 1]
xor al, byte [ecx - 1]
mov byte [ecx + ebp - 1], al
sub esi, 1
jne 0x4ee933
mov eax, dword [esp + 0x34]
mov dword [eax], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
Function at 0x4eefa0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, dword [esp + 8]
mov eax, dword [ebx + 0x38]
or eax, dword [ebx + 0x3c]
je 0x4eefb4
mov eax, 0xfffffffe
pop ebx
ret
push esi
mov esi, dword [esp + 0x14]
xor ecx, ecx
mov eax, esi
add eax, dword [ebx + 0x30]
adc ecx, dword [ebx + 0x34]
cmp ecx, 0x20000000
ja 0x4ef069
jb 0x4eefd9
test eax, eax
jne 0x4ef069
push ebp
mov ebp, dword [esp + 0x14]
push edi
mov edi, dword [ebx + 0x16c]
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], ecx
test edi, edi
je 0x4ef019
nop
test esi, esi
je 0x4ef005
mov al, byte [ebp]
dec esi
xor byte [edi + ebx + 0x40], al
inc ebp
inc edi
and edi, 0xf
jne 0x4eeff0
jmp 0x4ef009
test edi, edi
jne 0x4ef05c
lea eax, [ebx + 0x60]
push eax
lea eax, [ebx + 0x40]
push eax
call fcn.004f02c0
add esp, 8
mov eax, esi
and eax, 0xfffffff0
mov dword [esp + 0x14], eax
je 0x4ef03e
push eax
push ebp
lea eax, [ebx + 0x60]
push eax
lea eax, [ebx + 0x40]
push eax
call fcn.004f0080
add ebp, dword [esp + 0x24]
add esp, 0x10
sub esi, dword [esp + 0x14]
test esi, esi
je 0x4ef05c
xor ecx, ecx
mov edi, esi
test esi, esi
je 0x4ef05c
nop word [eax + eax]
mov al, byte [ecx + ebp]
xor byte [ebx + ecx + 0x40], al
inc ecx
cmp ecx, esi
jb 0x4ef050
mov dword [ebx + 0x16c], edi
xor eax, eax
pop edi
pop ebp
pop esi
pop ebx
ret
pop esi
or eax, 0xffffffff
pop ebx
ret
Function at 0x4f02c0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x14
call fcn.004f5150
mov eax, dword [esp + 0x18]
push ebx
push ebp
push esi
movzx ecx, byte [eax + 0xf]
mov esi, dword [esp + 0x28]
mov ebp, ecx
and ecx, 0xf
mov dword [esp + 0x24], 0
add ecx, ecx
and ebp, 0xfffffff0
push edi
mov ebx, dword [esi + ecx*8]
mov edi, dword [esi + ecx*8 + 4]
mov edx, dword [esi + ecx*8 + 8]
mov ecx, dword [esi + ecx*8 + 0xc]
mov esi, edx
shrd edx, ecx, 4
and esi, 0xf
mov dword [esp + 0x14], ebx
or dword [esp + 0x28], edx
shl dword [esp + 0x14], 0x1c
shrd ebx, edi, 4
mov edx, dword [esi*4 + 0x55e258]
mov esi, dword [esp + 0x2c]
shr ecx, 4
or dword [esp + 0x14], ecx
xor ecx, ecx
shr edi, 4
xor ecx, ebx
xor ecx, dword [esi + ebp]
xor edx, edi
xor edx, dword [esi + ebp + 4]
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
xor edi, dword [esi + ebp + 8]
xor ebx, dword [esi + ebp + 0xc]
mov dword [esp + 0x18], edx
mov edx, 0xe
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edx
nop dword [eax + eax]
movzx edx, byte [edx + eax]
xor esi, esi
mov ebp, dword [esp + 0x10]
mov ecx, edx
shr ecx, 4
and edx, 0xf
mov dword [esp + 0x20], ecx
add edx, edx
mov ecx, edi
shl ebp, 0x1c
shrd edi, ebx, 4
and ecx, 0xf
mov dword [esp + 0x28], 0
shr ebx, 4
or esi, edi
or ebp, ebx
xor edi, edi
mov ebx, dword [ecx*4 + 0x55e258]
mov ecx, dword [esp + 0x18]
shrd dword [esp + 0x10], ecx, 4
xor edi, dword [esp + 0x10]
shr ecx, 4
xor ebx, ecx
mov ecx, dword [esp + 0x2c]
xor ebx, dword [ecx + edx*8 + 4]
xor ebp, dword [ecx + edx*8 + 0xc]
xor edi, dword [ecx + edx*8]
xor esi, dword [ecx + edx*8 + 8]
mov edx, edi
shrd edi, ebx, 4
mov ecx, esi
shl edx, 0x1c
shrd esi, ebp, 4
and ecx, 0xf
shr ebx, 4
or dword [esp + 0x28], esi
shr ebp, 4
or edx, ebp
xor ebp, ebp
mov ecx, dword [ecx*4 + 0x55e258]
xor ebp, edi
xor ecx, ebx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
mov ebx, ebp
add edx, edx
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x2c]
xor ebx, dword [ebp + edx*8]
xor ecx, dword [ebp + edx*8 + 4]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x28]
xor ebx, dword [ebp + edx*8 + 8]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x14]
xor ebx, dword [ebp + edx*8 + 0xc]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
sub edx, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
jns 0x4f0360
mov edx, dword [esp + 0x18]
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [esp + 0x10]
mov ecx, edx
shr ecx, 0x18
mov byte [eax + 4], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 5], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 6], cl
mov ecx, ebx
shr ecx, 0x18
mov byte [eax + 8], cl
mov ecx, ebx
shr ecx, 0x10
mov byte [eax + 9], cl
mov ecx, ebx
shr ecx, 8
mov byte [eax + 0xa], cl
mov byte [eax + 7], dl
mov edx, edi
mov ecx, edx
mov byte [eax + 0xb], bl
shr ecx, 0x18
mov byte [eax + 0xc], cl
mov ecx, edx
shr ecx, 0x10
pop edi
mov byte [eax + 0xd], cl
mov ecx, edx
pop esi
shr ecx, 8
pop ebp
mov byte [eax + 0xe], cl
mov byte [eax + 0xf], dl
pop ebx
add esp, 0x14
ret
Function at 0x511be3
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.00511a62

Function at 0x512714
Capabilities:
Create thread
Print debug messages

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.00512619

Function at 0x5151c8
Capabilities:
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.00514e88
Function at 0x407010
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 0x40704e
mov edi, dword [ebp + 0xc]
mov esi, dword [eax + 0xc]
cmp edi, esi
jb 0x407046
mov ecx, dword [eax + 8]
add ecx, esi
cmp edi, ecx
jb 0x407050
inc edx
add eax, 0x28
cmp edx, ebx
jb 0x407036
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret

Function at 0x407120
Capabilities:
Parse pe header

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
mov eax, 0x5a4d
cmp word [ecx], ax
jne 0x407151
mov eax, dword [ecx + 0x3c]
add eax, ecx
cmp dword [eax], 0x4550
jne 0x407151
mov ecx, 0x10b
cmp word [eax + 0x18], cx
jne 0x407151
mov eax, 1
pop ebp
ret
xor eax, eax
pop ebp
ret

Function at 0x42e006
Capabilities:
Encode data using xor

Disassembly:
mov eax, section..reloc
nop
mov ebx, 0x407ef8
nop
nop
mov ecx, 0x799d14c4
nop
nop
nop
test eax, eax
nop
nop
nop
je 0x42e04e
nop
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
inc eax
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
jne 0x42e024
nop
nop
mov eax, section..data
nop
mov ebx, 0x42cd70
nop
nop
mov ecx, 0x1daa4eb7
nop
nop
nop
nop
test eax, eax
nop
nop
nop
je 0x42e084
nop
xor dword [eax], ecx
nop
nop
nop
nop
add eax, 4
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
jne 0x42e06c
nop
nop
nop
nop
nop
nop
nop
nop
popal
jmp 0x401219
Function at 0x63d42510
Capabilities:
Contain obfuscated stackstrings

Disassembly:
call fcn.63d41092
add esp, 0xc
and dword [ebp - 0x700], 0
jmp 0x63d4252e
mov eax, dword [ebp - 0x700]
inc eax
mov dword [ebp - 0x700], eax
cmp dword [ebp - 0x700], 5
jge 0x63d42577
mov eax, dword [ebp - 0x700]
movsx eax, byte [ebp + eax - 0x394]
movsx ecx, byte [ebp - 0x24]
xor eax, ecx
mov ecx, dword [ebp - 0x700]
mov byte [ebp + ecx - 0x394], al
mov eax, dword [ebp - 0x700]
movsx eax, byte [ebp + eax - 0x394]
not eax
mov ecx, dword [ebp - 0x700]
mov byte [ebp + ecx - 0x394], al
jmp 0x63d42521
call fcn.63d41121
sub dh, ch
dec ebx
cmpsd dword [esi], dword es:[edi]
and byte [ebp - 0x72c], 0
and byte [ebp - 0x72b], 0
mov byte [ebp - 0x72a], 0xc2
and byte [ebp - 0x729], 0
mov byte [ebp - 0x728], 0x6b
mov byte [ebp - 0x727], 0x54
mov byte [ebp - 0x726], 0x4f
mov byte [ebp - 0x725], 0x49
mov byte [ebp - 0x724], 0x48
mov byte [ebp - 0x723], 0x5c
mov byte [ebp - 0x722], 0x51
invalid
test edi, ebx

Function at 0x63d44450
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x50]
or eax, dword [esp + 0x4c]
jne 0x63d444d0
test ebx, ebx
je 0x63d444d0
mov ecx, ebx
mov edx, edi
mov eax, esi
call 0x63d42480
test ebp, ebp
je 0x63d444f0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], ebx
sar ebx, 0x1f
mov dword [esp + 0x54], ebp
mov dword [esp + 0x4c], edi
xor ecx, ecx
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], ebx
mov edx, 0x122425
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x18]
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
jmp 0x63d41ac0
mov dword [esp], 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
sub esp, 4
xor eax, eax
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], ebx
sar ebx, 0x1f
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], esi
xor ecx, ecx
mov dword [esp + 0x44], ebx
mov edx, 0x122425
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x18]
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.63d41b50
Function at 0x40d598
Capabilities:
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x410
movzx eax, byte [ebp + 8]
test eax, eax
sete byte [ebp - 5]
mov al, byte [ebp - 5]
test al, al
jne 0x40d65d
movzx eax, byte [ebp + 8]
add eax, 0x40
mov byte [0x40f1ec], al
lea eax, [ebp - 0x210]
push eax
push 0x104
call sub.kernel32.dll_GetCurrentDirectoryA
lea eax, [0x40f1ec]
push eax
call sub.kernel32.dll_SetCurrentDirectoryA
test eax, eax
jne 0x40d65d
call sub.kernel32.dll_GetLastError
and eax, 0xffff
mov dword [0x410390], eax
call fcn.00409d48
mov eax, dword [ebp + 0xc]
movzx edx, byte [ebp + 8]
add edx, 0x40
mov edi, edx
shl edi, 8
or edi, 1
mov word [ebp - 0x310], di
lea edi, [ebp - 0x410]
push edi
lea edi, [ebp - 0x310]
push edi
push 0xff
call fcn.00403888
push eax
lea edi, [ebp - 0x410]
push edi
push 0x40f37e
call fcn.004038c8
mov eax, dword [esp]
lea edi, [ebp - 0x410]
push edi
push dword [ebp + 0x10]
call fcn.00403888
lea eax, [ebp - 0x210]
push eax
call sub.kernel32.dll_SetCurrentDirectoryA
jmp 0x40d6d6
lea eax, [ebp - 0x10c]
push eax
push 0x104
call sub.kernel32.dll_GetCurrentDirectoryA
mov al, byte [ebp - 5]
test al, al
jne 0x40d681
lea eax, [ebp - 0x210]
push eax
call sub.kernel32.dll_SetCurrentDirectoryA
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x10c]
push eax
lea edi, [ebp - 0x310]
push edi
call fcn.00403978
mov eax, dword [esp]
lea edi, [ebp - 0x310]
push edi
push dword [ebp + 0x10]
call fcn.00403888
mov al, byte [0x40f10c]
test al, al
jne 0x40d6d6
mov eax, dword [ebp + 0xc]
push eax
push eax
lea edi, [ebp - 0x310]
push edi
call fcn.00405798
mov eax, dword [esp]
lea edi, [ebp - 0x310]
push edi
push dword [ebp + 0x10]
call fcn.00403888
leave
ret 0xc
Function at 0x1000ca88
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
and dword [ebx + 0x28], 0
mov dword [ebx + 0x18], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebx + 4], eax
xor eax, eax
cmp byte [ebp + 0x24], 0
mov word [ebx + 0xc], ax
mov eax, dword [ebp + 0x18]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp + 0xc]
push esi
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x24], ecx
mov esi, 0x8000
jne 0x1000cad8
push esi
push eax
add eax, esi
push eax
call fcn.1007d9f0
add esp, 0xc
xor eax, eax
and dword [ebx + 0x30], eax
mov word [ebx + 0x2c], ax
call fcn.1000c4ce
and dword [ebx + 0x20], 0
mov eax, esi
push 2
mov word [ebx + 0x3c], ax
mov eax, dword [ebx + 0x14]
pop ecx
mov dword [ebx + 0x34], esi
add eax, esi
push edi
movzx edi, byte [eax]
mov edx, dword [ebx + 0x20]
shl edx, 5
xor edx, edi
and edx, 0x7fff
inc eax
dec ecx
mov dword [ebx + 0x20], edx
jne 0x1000cafc
cmp byte [ebp + 0x24], cl
je 0x1000cb22
mov edi, ebx
call fcn.1000c319
jmp 0x1000cb34
xor eax, eax
mov ecx, esi
mov edx, dword [ebx + 0x18]
xor edi, edi
mov word [eax + edx], di
inc eax
inc eax
dec ecx
jne 0x1000cb26
push 8
pop edi
push 0x43
pop edx
mov eax, ebx
call fcn.1000b71f
push 0x4b
pop edx
call fcn.1000b71f
call fcn.1000c80a
mov ecx, dword [ebp + 0x28]
inc eax
inc eax
cmp byte [ebp + 0x24], 0
movzx eax, ax
mov dword [ecx], eax
pop edi
je 0x1000cb73
mov eax, dword [ebx + 0x14]
push esi
lea ecx, [eax + 0x8000]
push ecx
push eax
call fcn.1007d9f0
add esp, 0xc
mov eax, dword [ebx + 0x28]
neg eax
sbb eax, eax
pop esi
and eax, 3
pop ebx
pop ebp
ret 0x24