joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4133b8
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff778
push ebx
push esi
xor ecx, ecx
mov dword [ebp - 4], ecx
xor ecx, ecx
push ebp
push 0x4134dd
push dword fs:[ecx]
mov dword fs:[ecx], esp
push 0x400
lea ecx, [ebp - 0x888]
call fcn.004131c8
mov esi, eax
mov eax, dword [0x4421dc]
cmp byte [eax], 0
je 0x413485
mov eax, dword [0x442094]
call fcn.00404908
call fcn.004042f8
push 0
push 0
push 0
push 0
push esi
lea eax, [ebp - 0x888]
push eax
push 0
push 1
call sub.kernel32.dll_WideCharToMultiByte_1
mov ebx, eax
push ebx
lea eax, [ebp - 4]
mov ecx, 1
mov edx, dword [0x413390]
call fcn.0040828c
add esp, 4
push 0
push 0
push ebx
mov eax, dword [ebp - 4]
push eax
push esi
lea eax, [ebp - 0x888]
push eax
push 0
push 1
call sub.kernel32.dll_WideCharToMultiByte_1
push 0
lea eax, [ebp - 8]
push eax
push ebx
mov eax, dword [ebp - 4]
push eax
push 0xfffffffffffffff4
call sub.kernel32.dll_GetStdHandle_1
push eax
call sub.kernel32.dll_WriteFile_1
push 0
lea eax, [ebp - 8]
push eax
push 2
push 0x4134f8
push 0xfffffffffffffff4
call sub.kernel32.dll_GetStdHandle_1
push eax
call sub.kernel32.dll_WriteFile_1
jmp 0x4134c1
push 0x40
lea eax, [ebp - 0x88]
push eax
mov eax, dword [0x442064]
mov eax, dword [eax + 4]
push eax
mov eax, dword [0x445c38]
call fcn.00408350
push eax
call sub.user32.dll_LoadStringW_1
push 0x2010
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x888]
push eax
push 0
call sub.user32.dll_MessageBoxW
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4134e4
lea eax, [ebp - 4]
mov edx, dword [0x413390]
call fcn.00408298
ret

Function at 0x415653
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffdf8
mov ebx, eax
mov eax, ebx
call fcn.004066c4
mov ebp, eax
push 0
push 0
push ebp
push ebx
push 0
push 0xfde9
call sub.kernel32.dll_MultiByteToWideChar_1
mov edi, eax
cmp edi, 0x104
jbe 0x415676
mov eax, edi
add eax, eax
call fcn.004041b0
mov esi, eax
jmp 0x415678
mov esi, esp
push edi
push esi
push ebp
push ebx
push 0
push 0xfde9
call sub.kernel32.dll_MultiByteToWideChar_1
push edi
push esi
call sub.user32.dll_CharUpperBuffW
xor ebx, ebx
mov eax, edi
dec eax
test eax, eax
jl 0x4156b1
inc eax
xor edx, edx
mov ecx, ebx
shl ecx, 5
shr ebx, 0x1b
or ecx, ebx
mov ebx, ecx
movzx ecx, word [esi + edx*2]
xor ebx, ecx
inc edx
dec eax
jne 0x41569b
mov eax, esp
cmp esi, eax
je 0x4156be
mov eax, esi
call fcn.004041cc
mov eax, ebx
add esp, 0x208
pop ebp
pop edi
pop esi
pop ebx
ret
push esi
push ebx
mov esi, eax
xor eax, eax
push esi
rol eax, 5
mov bl, byte [esi]
test bl, 0x80
jne 0x4156f8
cmp bl, 0
je 0x4156f4
cmp bl, 0x41
jl 0x4156ef
cmp bl, 0x5a
jg 0x4156ef
or bl, 0x20
xor al, bl
inc esi
jmp 0x4156d3
pop ecx
pop ebx
pop esi
ret
pop eax
pop ebx
pop esi
jmp 0x415638
Function at 0x415e88
Capabilities:
Query environment variable

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffff800
mov esi, edx
mov edi, eax
mov eax, esi
xor edx, edx
call fcn.00406b98
push 0x400
lea eax, [esp + 4]
push eax
mov eax, edi
call fcn.00406c24
mov ebp, eax
push ebp
call sub.kernel32.dll_GetEnvironmentVariableW
mov ebx, eax
cmp ebx, 0x400
jge 0x415ecf
mov edx, esp
mov eax, esi
mov ecx, ebx
call fcn.00406cd4
jmp 0x415ee8
mov edx, ebx
dec edx
mov eax, esi
call fcn.00406ef0
push ebx
mov eax, dword [esi]
call fcn.00406c24
push eax
push ebp
call sub.kernel32.dll_GetEnvironmentVariableW
add esp, 0x800
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x438620
Capabilities:
Delete registry key
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
push ebx
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 8], ecx
mov ebx, edx
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x43879b
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, ebx
call fcn.00406bec
mov eax, dword [ebp - 4]
call fcn.00437eb8
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
jne 0x438672
lea eax, [ebp - 4]
mov ecx, 1
mov edx, 1
call fcn.00407384
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.004392cc
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x438751
xor eax, eax
push ebp
push 0x43874a
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
call fcn.00438220
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0xc]
call fcn.004387d0
test al, al
je 0x438728
mov ecx, dword [ebp - 0x34]
inc ecx
lea eax, [ebp - 8]
xor edx, edx
call fcn.00406cd4
mov ebx, dword [ebp - 0x38]
dec ebx
cmp ebx, 0
jl 0x438728
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x10], eax
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 8]
call fcn.00406c24
push eax
push ebx
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_RegEnumKeyExW
mov edx, eax
mov eax, dword [ebp - 0xc]
call fcn.00438180
test al, al
je 0x438722
mov eax, dword [ebp - 8]
call fcn.00406c24
mov edx, eax
lea eax, [ebp - 0x3c]
call fcn.00406d44
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xc]
call fcn.00438620
dec ebx
cmp ebx, 0xffffffff
jne 0x4386d1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x438751
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
call fcn.00438220
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_RegCloseKey_1
ret
mov eax, dword [ebp - 4]
call fcn.00406c24
push eax
movzx edx, byte [ebp - 0x11]
mov eax, dword [ebp - 0xc]
call fcn.0043820c
push eax
call sub.advapi32.dll_RegDeleteKeyW
mov edx, eax
mov eax, dword [ebp - 0xc]
call fcn.00438180
mov ebx, eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4387a2
lea eax, [ebp - 0x3c]
call fcn.00406b88
lea eax, [ebp - 8]
mov edx, 2
call fcn.00406b90
ret
Function at 0x4391a8
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov edi, edx
mov ebx, eax
movzx eax, byte [ebp + 8]
call fcn.00437f2c
mov esi, eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 4]
push eax
push esi
push 0
mov eax, edi
call fcn.00406c24
push eax
mov eax, dword [ebx + 4]
push eax
call sub.advapi32.dll_RegSetValueExW
mov edx, eax
mov eax, ebx
call fcn.00438180
test al, al
jne 0x439210
mov dword [ebp - 0xc], edi
mov byte [ebp - 8], 0x11
lea eax, [ebp - 0xc]
push eax
push 0
mov ecx, dword [0x442140]
mov dl, 1
mov eax, dword [0x436cdc]
call fcn.00413728
call fcn.00405c54
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8

Function at 0x43921c
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
xor eax, eax
mov dword [ebp - 4], eax
lea eax, [ebp + 0xc]
push eax
push edi
lea eax, [ebp - 4]
push eax
push 0
mov eax, esi
call fcn.00406c24
push eax
mov eax, dword [ebx + 4]
push eax
call sub.advapi32.dll_RegQueryValueExW_1
mov edx, eax
mov eax, ebx
call fcn.00438180
test al, al
jne 0x43927d
mov dword [ebp - 0xc], esi
mov byte [ebp - 8], 0x11
lea eax, [ebp - 0xc]
push eax
push 0
mov ecx, dword [0x44228c]
mov dl, 1
mov eax, dword [0x436cdc]
call fcn.00413728
call fcn.00405c54
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
call fcn.00437f5c
mov edx, dword [ebp + 8]
mov byte [edx], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x43987c
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd0
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 8], edx
mov esi, eax
xor eax, eax
push ebp
push 0x4399a4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, esi
call fcn.00438220
xor eax, eax
push ebp
push 0x43997f
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x2c]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.004387d0
test al, al
je 0x439963
mov eax, dword [ebp + 8]
push eax
xor ecx, ecx
mov edx, dword [ebp - 8]
mov eax, esi
call fcn.0043975c
pop ecx
mov ecx, dword [ebp - 0x20]
inc ecx
lea eax, [ebp - 4]
xor edx, edx
call fcn.00406cd4
mov ebx, dword [ebp - 0x24]
dec ebx
test ebx, ebx
jl 0x439963
inc ebx
xor edi, edi
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0xc], eax
push 0
push 0
push 0
push 0
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 4]
call fcn.00406c24
push eax
push edi
push esi
call sub.advapi32.dll_RegEnumValueW
mov edx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.00438180
test al, al
je 0x43995f
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 4]
call fcn.00406c24
mov edx, eax
lea eax, [ebp - 0x30]
call fcn.00406d44
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 8]
mov eax, esi
call fcn.0043975c
pop ecx
inc edi
dec ebx
jne 0x439907
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x439986
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, dword [ebp - 0x10]
call fcn.00438220
ret
Function at 0x4399b4
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb0
xor ecx, ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x439c02
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, dword [ebp - 8]
call fcn.00438220
xor eax, eax
push ebp
push 0x439bd8
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x44]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.004387d0
test al, al
je 0x439bbc
mov ecx, dword [ebp - 0x40]
inc ecx
lea eax, [ebp - 4]
xor edx, edx
call fcn.00406cd4
mov eax, dword [ebp - 0x44]
dec eax
test eax, eax
jl 0x439bbc
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x10], eax
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 4]
call fcn.00406c24
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
call sub.advapi32.dll_RegEnumKeyExW
mov edx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.00438180
test al, al
je 0x439bb0
mov eax, dword [ebp - 4]
call fcn.00406c24
mov edx, eax
lea eax, [ebp - 0x48]
call fcn.00406d44
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.004392cc
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x439bb0
xor eax, eax
push ebp
push 0x439ba9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, dword [ebp - 0xc]
call fcn.00438220
xor eax, eax
push ebp
push 0x439b8b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00406c24
mov edx, eax
lea eax, [ebp - 0x4c]
call fcn.00406d44
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.00438224
mov eax, dword [ebp - 4]
call fcn.00406c24
mov edx, eax
lea eax, [ebp - 0x50]
call fcn.00406d44
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.004392cc
mov dword [ebp - 0x24], eax
xor eax, eax
push ebp
push 0x439b68
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
push eax
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
call fcn.0043987c
pop ecx
mov eax, dword [ebp + 8]
push eax
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
call fcn.004399b4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x439b6f
mov eax, dword [ebp - 0x24]
push eax
call sub.advapi32.dll_RegCloseKey_1
ret
inc dword [ebp - 0x14]
dec dword [ebp - 0x28]
jne 0x439a3f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x439bdf
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, dword [ebp - 0x18]
call fcn.00438220
ret
Function at 0x43a32c
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
xor edx, edx
test eax, 0x4000000
je 0x43a341
or edx, 0x200
test eax, 0x20000000
je 0x43a374
test eax, 0x40000000
je 0x43a360
test eax, 0x80000000
je 0x43a35b
or edx, 0x40
jmp 0x43a39b
or edx, 0x20
jmp 0x43a39b
test eax, 0x80000000
je 0x43a36f
or edx, 0x80
jmp 0x43a39b
or edx, 0x10
jmp 0x43a39b
test eax, 0x40000000
je 0x43a38c
test eax, 0x80000000
je 0x43a387
or edx, 4
jmp 0x43a39b
or edx, 2
jmp 0x43a39b
test eax, 0x80000000
je 0x43a398
or edx, 8
jmp 0x43a39b
or edx, 1
mov eax, edx
pop ebp
ret 4
Function at 0x43ac5c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov word [ebp - 2], cx
mov esi, edx
mov ecx, eax
mov ebx, dword [ebp + 8]
cmp esi, 8
jbe 0x43ac8a
mov eax, ecx
add eax, esi
sub eax, 8
cmp dword [eax + 4], 0xff0011ff
jne 0x43ac88
cmp dword [eax], 0x55112200
je 0x43ac8e
xor eax, eax
jmp 0x43ac90
mov al, 1
mov byte [ebp - 3], al
cmp byte [ebp - 3], 0
je 0x43acc3
mov edx, ecx
mov eax, ecx
sub esi, 8
test esi, esi
jbe 0x43acc3
movzx ecx, bx
shr ecx, 8
xor cl, byte [edx]
mov byte [eax], cl
add bl, byte [eax]
movzx ecx, bl
imul cx, word [ebp - 2]
add cx, word [ebp + 0xc]
mov ebx, ecx
inc edx
inc eax
dec esi
jne 0x43aca4
movzx eax, byte [ebp - 3]
pop esi
pop ebx
pop ecx
pop ebp
ret 8

Function at 0x43ad24
Capabilities:
Get disk information

Disassembly:
add esp, 0xfffffbe4
xor eax, eax
mov dword [esp], eax
push 0x104
lea eax, [esp + 0x218]
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x10]
push eax
push 0x104
lea eax, [esp + 0x24]
push eax
push 0x43ad78
call sub.kernel32.dll_GetVolumeInformationW
cmp dword [esp], 0
jne 0x43ad6c
mov dword [esp], 0x423a35c7
mov eax, dword [esp]
add esp, 0x41c
ret

Function at 0x43ae3c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 4], ebx
mov ebx, edx
test ebx, ebx
js 0x43ae5a
shr ebx, 2
mov esi, dword [eax + ebx*4]
dec ebx
push esi
jns 0x43ae53
mov eax, esp
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x43aeee
push dword fs:[eax]
mov dword fs:[eax], esp
mov ebx, dword [ebp - 0xc]
inc ebx
mov edx, ebx
lea eax, [ebp - 4]
xor ecx, ecx
call fcn.0040677c
mov edi, ebx
dec edi
test edi, edi
jl 0x43aecd
inc edi
xor esi, esi
mov ebx, dword [ebp - 8]
lea eax, [esi + 1]
push eax
mov eax, 0xff
pop edx
mov ecx, edx
cdq
idiv ecx
movzx edx, byte [ebx]
xor al, dl
mov edx, esi
inc edx
lea edx, [edx + edx*2]
movzx ecx, byte [ebp - 0xc]
inc ecx
lea ecx, [ecx + ecx*4]
add dl, cl
xor al, dl
mov byte [ebp - 0x11], al
lea eax, [ebp - 4]
call fcn.00406774
movzx edx, byte [ebp - 0x11]
mov byte [eax + esi], dl
inc esi
inc ebx
dec edi
jne 0x43ae90
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
call fcn.00406d9c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43aef5
lea eax, [ebp - 4]
call fcn.00406390
ret

Function at 0x43af04
Capabilities:
Get file size

Disassembly:
push ebx
add esp, 0xfffffff8
mov edx, 0x20
call fcn.0040f534
mov ebx, eax
push 0
push ebx
call sub.kernel32.dll_GetFileSize_1
xor edx, edx
mov dword [esp], eax
mov dword [esp + 4], edx
push ebx
call sub.kernel32.dll_CloseHandle_1
mov eax, dword [esp]
mov edx, dword [esp + 4]
pop ecx
pop edx
pop ebx
ret
Function at 0x43b63c
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
mov eax, ebx
call fcn.00406c24
push eax
push 0x800
lea eax, [ebp - 0x1000]
push eax
mov eax, dword [ebp + 0xc]
call fcn.00406c24
push eax
mov eax, edi
call fcn.00406c24
push eax
mov eax, esi
call fcn.00406c24
push eax
call sub.kernel32.dll_GetPrivateProfileStringW
mov ecx, eax
lea edx, [ebp - 0x1000]
mov eax, dword [ebp + 8]
call fcn.00406cd4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8

Function at 0x43b7a0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov byte [ebp - 9], 0
xor edx, edx
push ebp
push 0x43b847
push dword fs:[edx]
mov dword fs:[edx], esp
cmp byte [eax], 0xe9
jne 0x43b7d3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43b85c
mov ebx, eax
mov eax, dword [ebp - 4]
mov edi, ebx
sub eax, edi
sub eax, 5
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push eax
push 0x40
push 5
push ebx
call sub.kernel32.dll_VirtualProtect
push 0x40
push 0x3000
push 0x255
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov esi, eax
mov dword [esi], edi
mov edx, esi
add edx, 5
mov cl, 5
mov eax, ebx
call fcn.0043b774
mov edx, esi
add edx, 4
mov byte [edx], al
mov byte [ebx], 0xe9
inc edi
mov eax, dword [ebp - 0x10]
mov dword [edi], eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x14]
push eax
push 5
push ebx
call sub.kernel32.dll_VirtualProtect
add esi, 5
mov eax, dword [ebp - 8]
mov dword [eax], esi
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43b858
mov byte [ebp - 9], 1
movzx eax, byte [ebp - 9]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4

Function at 0x43b8b8
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, eax
xor ebx, ebx
test edi, edi
je 0x43b937
xor edx, edx
push ebp
push 0x43b92b
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, edi
mov edx, eax
sub edx, 5
mov esi, dword [edx]
dec eax
movzx ebx, byte [eax]
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push esi
call sub.kernel32.dll_VirtualProtect
mov edx, esi
mov eax, edi
mov ecx, ebx
call fcn.00404354
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp - 4]
push eax
push 5
push esi
call sub.kernel32.dll_VirtualProtect
push 0x8000
push 0
sub edi, 5
push edi
call sub.kernel32.dll_VirtualFree_1
cmp eax, 1
sbb ebx, ebx
inc ebx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43b937
mov eax, ebx
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret
Function at 0x43c218
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb0
push ebx
xor edx, edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 8], edx
mov dword [ebp - 0x20], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x43c3f6
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x436ed0]
call fcn.004380d4
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x43c3c4
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000002
mov eax, dword [ebp - 4]
call fcn.004381bc
lea ecx, [ebp - 8]
mov byte [ebp - 0x1c], 0xce
mov byte [ebp - 0x1b], 0x55
mov byte [ebp - 0x1a], 0x7b
mov byte [ebp - 0x19], 0
mov byte [ebp - 0x18], 0xa
mov byte [ebp - 0x17], 0x1a
mov byte [ebp - 0x16], 2
mov byte [ebp - 0x15], 0x2d
mov byte [ebp - 0x14], 0x3a
mov byte [ebp - 0x13], 0x29
mov byte [ebp - 0x12], 0xfe
mov byte [ebp - 0x11], 0xf5
mov byte [ebp - 0x10], 0xe7
mov byte [ebp - 0xf], 0xf4
mov byte [ebp - 0xe], 0xee
mov byte [ebp - 0xd], 0xef
mov byte [ebp - 0xc], 0xfb
mov byte [ebp - 0xb], 0xef
mov byte [ebp - 0xa], 0xc9
lea eax, [ebp - 0x1c]
mov edx, 0x12
call fcn.0043ae3c
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 0x38], 0xd9
mov byte [ebp - 0x37], 0x62
mov byte [ebp - 0x36], 0x4c
mov byte [ebp - 0x35], 0x21
mov byte [ebp - 0x34], 0x21
mov byte [ebp - 0x33], 0xdd
mov byte [ebp - 0x32], 0xd4
mov byte [ebp - 0x31], 0xc5
mov byte [ebp - 0x30], 0xd6
mov byte [ebp - 0x2f], 0xe0
mov byte [ebp - 0x2e], 0xea
mov byte [ebp - 0x2d], 0xf5
mov byte [ebp - 0x2c], 0xe3
mov byte [ebp - 0x2b], 0xe4
mov byte [ebp - 0x2a], 0xfe
mov byte [ebp - 0x29], 0xc7
mov byte [ebp - 0x28], 0xcb
mov byte [ebp - 0x27], 0xd8
mov byte [ebp - 0x26], 0xd9
mov byte [ebp - 0x25], 0xcf
mov byte [ebp - 0x24], 0xce
mov byte [ebp - 0x23], 0xd5
lea eax, [ebp - 0x38]
mov edx, 0x15
call fcn.0043ae3c
mov edx, dword [ebp - 0x20]
pop eax
call fcn.00406f88
mov edx, dword [ebp - 8]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00438304
lea ecx, [ebp - 0x40]
mov byte [ebp - 0x50], 0xe1
mov byte [ebp - 0x4f], 0x5c
mov byte [ebp - 0x4e], 0x6e
mov byte [ebp - 0x4d], 0xf
mov byte [ebp - 0x4c], 0x1b
mov byte [ebp - 0x4b], 0x16
mov byte [ebp - 0x4a], 0x29
mov byte [ebp - 0x49], 0x3a
mov byte [ebp - 0x48], 0x13
mov byte [ebp - 0x47], 0x1c
mov byte [ebp - 0x46], 0x1e
mov byte [ebp - 0x45], 9
mov byte [ebp - 0x44], 0x25
mov byte [ebp - 0x43], 0xe
mov byte [ebp - 0x42], 0x1b
lea eax, [ebp - 0x50]
mov edx, 0xe
call fcn.0043ae3c
mov edx, dword [ebp - 0x40]
lea ecx, [ebp - 0x3c]
mov eax, dword [ebp - 4]
call fcn.00438d34
mov edx, dword [ebp - 0x3c]
mov eax, ebx
mov ecx, 0x43c410
call fcn.00407048
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43c3cb
mov eax, dword [ebp - 4]
call fcn.004051b0
ret
Function at 0x431000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x43100c
nop
nop
pop eax
nop
nop
nop
nop
add eax, 0x403e6a
sub eax, 0x403e10
nop
mov ebx, dword [eax]
nop
nop
nop
nop
mov ecx, dword [eax + 4]
nop
nop
nop
mov edx, dword [eax + 8]
nop
nop
nop
nop
nop
nop
xor dword [ebx], edx
nop
add ebx, 4
nop
nop
nop
nop
nop
nop
cmp ebx, ecx
nop
nop
nop
nop
jl 0x431030
nop
nop
add eax, 0xc
nop
nop
nop
cmp dword [eax], 0
nop
nop
jne 0x43101e
nop
nop
nop
nop
nop
nop
popal
nop
nop
nop
jmp loc.00401219
Function at 0x755f4483
Capabilities:
Create thread

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
and dword [ebp - 4], 0
push ebx
push esi
push edi
mov eax, dword [0x7562a848]
mov esi, dword [ebp + 8]
cmp eax, 0x7562a848
je 0x755f44ad
test dword [eax + 0x1c], 0x400
jne 0x7560cb5d
mov ebx, dword [ebp + 0xc]
mov dword [esi + 0x18], ebx
cmp ebx, 1
jne 0x7560cb9b
and dword [esi + 0x40], 0
xor edi, edi
cmp dword [esi + 0x2c], edi
jne 0x7560cc0b
push esi
call fcn.755f44dd
pop edi
pop esi
pop ebx
leave
ret 8
mov ebx, dword [ebp + 0xc]
cmp ebx, 1
jne 0x7560cb6f
mov ecx, dword [esi + 8]
mov edx, 0x7562ba00
jmp 0x7560cb77
mov edx, dword [esi + 8]
mov ecx, 0x7562ba00
push dword [esi + 0x2c]
movzx edi, word [esi + 0xc]
push dword [esi + 0x10]
push edi
push edx
push ecx
push 0x755f4010
push 0x5a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.75619e7f
jmp 0x755f44b0
cmp ebx, 3
je 0x7560cba9
cmp ebx, 2
jne 0x755f44c0
mov ebx, dword [esi + 8]
test ebx, ebx
jne 0x7560cbb8
push 0x57
pop eax
jmp 0x755f44d1
mov eax, ebx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x7560cbbd
sub eax, edi
movzx eax, ax
movzx edi, ax
lea eax, [edi + edi + 2]
push eax
mov dword [ebp + 8], eax
call fcn.755f3247
mov dword [ebp - 4], eax
test eax, eax
jne 0x7560cbe4
push 0xe
jmp 0x7560cbb2
push 1
push dword [ebp + 0xc]
lea ecx, [ebp + 8]
push edi
push ebx
push ecx
push eax
call fcn.755f2f8f
test eax, eax
jne 0x7560cbfd
push 0x7b
jmp 0x7560cc58
mov eax, dword [ebp - 4]
mov dword [esi + 8], eax
mov dword [esi + 0x40], ebx
jmp 0x755f44c0
lea eax, [ebp - 8]
push eax
push edi
push esi
push fcn.755f44dd
push edi
push edi
call dword [sym.imp.API_MS_Win_Core_ProcessThreads_L1_1_0.dll_CreateThread]
cmp eax, edi
jne 0x7560cc68
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
mov esi, eax
mov eax, dword [0x7562a848]
cmp eax, 0x7562a848
je 0x7560cc52
test dword [eax + 0x1c], 0x2000000
je 0x7560cc52
push esi
push 0x755f4010
push 0x5b
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.756142f2
cmp esi, edi
jne 0x7560cc59
push 0xe
pop esi
push dword [ebp - 4]
call fcn.755f30da
mov eax, esi
jmp 0x755f44d1
push eax
call dword [sym.imp.API_MS_Win_Core_Handle_L1_1_0.dll_CloseHandle]
mov eax, 0x3e5
jmp 0x755f44d1