joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10031da0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], 0x47
mov dword [ebp - 4], 0
jmp 0x10031dc2
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xf
jge 0x10031e01
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 4]
movsx edx, byte [ecx + 0x5f0e5a3f]
xor edx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 4]
mov byte [eax], dl
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
and edx, 0x800000ff
jns 0x10031dfc
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 8], edx
jmp 0x10031db9
mov eax, 1
imul ecx, eax, 0xf
mov edx, dword [ebp - 0xc]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4

Function at 0x10031f20
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], 0x6f
mov dword [ebp - 4], 0
jmp 0x10031f42
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x58
jge 0x10031f81
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 4]
movsx edx, byte [ecx - 0x4851dfa1]
xor edx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 4]
mov byte [eax], dl
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
and edx, 0x800000ff
jns 0x10031f7c
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 8], edx
jmp 0x10031f39
mov eax, 1
imul ecx, eax, 0x58
mov edx, dword [ebp - 0xc]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4

Function at 0x10031fa0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], 0xe6
mov dword [ebp - 4], 0
jmp 0x10031fc2
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x58
jge 0x10032001
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 4]
movsx edx, byte [ecx + 0x6362103]
xor edx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 4]
mov byte [eax], dl
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
and edx, 0x800000ff
jns 0x10031ffc
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 8], edx
jmp 0x10031fb9
mov eax, 1
imul ecx, eax, 0x58
mov edx, dword [ebp - 0xc]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4
Function at 0x10032050
Capabilities:
Contain obfuscated stackstrings
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x10077274]
xor eax, ebp
mov dword [ebp - 4], eax
push 0
push 0
push 0
push 0x1002e750
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x10078bc4], eax
cmp dword [0x10078bc4], 0
jne 0x1003214c
mov byte [ebp - 0x34], 0x45
mov byte [ebp - 0x33], 0x52
mov byte [ebp - 0x32], 0x52
mov byte [ebp - 0x31], 0x4f
mov byte [ebp - 0x30], 0x52
mov byte [ebp - 0x2f], 0x21
mov byte [ebp - 0x2e], 0x20
mov byte [ebp - 0x2d], 0x54
mov byte [ebp - 0x2c], 0x68
mov byte [ebp - 0x2b], 0x72
mov byte [ebp - 0x2a], 0x65
mov byte [ebp - 0x29], 0x61
mov byte [ebp - 0x28], 0x64
mov byte [ebp - 0x27], 0x20
mov byte [ebp - 0x26], 0x63
mov byte [ebp - 0x25], 0x72
mov byte [ebp - 0x24], 0x65
mov byte [ebp - 0x23], 0x61
mov byte [ebp - 0x22], 0x74
mov byte [ebp - 0x21], 0x69
mov byte [ebp - 0x20], 0x6f
mov byte [ebp - 0x1f], 0x6e
mov byte [ebp - 0x1e], 0x20
mov byte [ebp - 0x1d], 0x66
mov byte [ebp - 0x1c], 0x61
mov byte [ebp - 0x1b], 0x69
mov byte [ebp - 0x1a], 0x6c
mov byte [ebp - 0x19], 0x65
mov byte [ebp - 0x18], 0x64
mov byte [ebp - 0x17], 0x2c
mov byte [ebp - 0x16], 0x20
mov byte [ebp - 0x15], 0x54
mov byte [ebp - 0x14], 0x68
mov byte [ebp - 0x13], 0x72
mov byte [ebp - 0x12], 0x65
mov byte [ebp - 0x11], 0x61
mov byte [ebp - 0x10], 0x64
mov byte [ebp - 0xf], 0x20
mov byte [ebp - 0xe], 0x43
mov byte [ebp - 0xd], 0x6f
mov byte [ebp - 0xc], 0x64
mov byte [ebp - 0xb], 0x65
mov byte [ebp - 0xa], 0x20
mov byte [ebp - 9], 0x30
mov byte [ebp - 8], 0x78
mov byte [ebp - 7], 0x35
mov byte [ebp - 6], 0x21
mov byte [ebp - 5], 0
call fcn.1001d0d0
mov eax, dword [0x10078bc4]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003be5b
mov esp, ebp
pop ebp
ret
Function at 0x100325b0
Capabilities:
Contain obfuscated stackstrings
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x10077274]
xor eax, ebp
mov dword [ebp - 4], eax
push 0
push 0
push 0
push 0x10022600
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x100326a7
mov byte [ebp - 0x34], 0x45
mov byte [ebp - 0x33], 0x52
mov byte [ebp - 0x32], 0x52
mov byte [ebp - 0x31], 0x4f
mov byte [ebp - 0x30], 0x52
mov byte [ebp - 0x2f], 0x21
mov byte [ebp - 0x2e], 0x20
mov byte [ebp - 0x2d], 0x54
mov byte [ebp - 0x2c], 0x68
mov byte [ebp - 0x2b], 0x72
mov byte [ebp - 0x2a], 0x65
mov byte [ebp - 0x29], 0x61
mov byte [ebp - 0x28], 0x64
mov byte [ebp - 0x27], 0x20
mov byte [ebp - 0x26], 0x63
mov byte [ebp - 0x25], 0x72
mov byte [ebp - 0x24], 0x65
mov byte [ebp - 0x23], 0x61
mov byte [ebp - 0x22], 0x74
mov byte [ebp - 0x21], 0x69
mov byte [ebp - 0x20], 0x6f
mov byte [ebp - 0x1f], 0x6e
mov byte [ebp - 0x1e], 0x20
mov byte [ebp - 0x1d], 0x66
mov byte [ebp - 0x1c], 0x61
mov byte [ebp - 0x1b], 0x69
mov byte [ebp - 0x1a], 0x6c
mov byte [ebp - 0x19], 0x65
mov byte [ebp - 0x18], 0x64
mov byte [ebp - 0x17], 0x2c
mov byte [ebp - 0x16], 0x20
mov byte [ebp - 0x15], 0x54
mov byte [ebp - 0x14], 0x68
mov byte [ebp - 0x13], 0x72
mov byte [ebp - 0x12], 0x65
mov byte [ebp - 0x11], 0x61
mov byte [ebp - 0x10], 0x64
mov byte [ebp - 0xf], 0x20
mov byte [ebp - 0xe], 0x43
mov byte [ebp - 0xd], 0x6f
mov byte [ebp - 0xc], 0x64
mov byte [ebp - 0xb], 0x65
mov byte [ebp - 0xa], 0x20
mov byte [ebp - 9], 0x30
mov byte [ebp - 8], 0x78
mov byte [ebp - 7], 0x35
mov byte [ebp - 6], 0x21
mov byte [ebp - 5], 0
call fcn.1001d0d0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003be5b
mov esp, ebp
pop ebp
ret
Function at 0x100326c0
Capabilities:
Contain obfuscated stackstrings
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x10077274]
xor eax, ebp
mov dword [ebp - 4], eax
push 0
push 0
push 0
push 0x1002ebc0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x10078ba8], eax
cmp dword [0x10078ba8], 0
jne 0x100327bc
mov byte [ebp - 0x34], 0x45
mov byte [ebp - 0x33], 0x52
mov byte [ebp - 0x32], 0x52
mov byte [ebp - 0x31], 0x4f
mov byte [ebp - 0x30], 0x52
mov byte [ebp - 0x2f], 0x21
mov byte [ebp - 0x2e], 0x20
mov byte [ebp - 0x2d], 0x54
mov byte [ebp - 0x2c], 0x68
mov byte [ebp - 0x2b], 0x72
mov byte [ebp - 0x2a], 0x65
mov byte [ebp - 0x29], 0x61
mov byte [ebp - 0x28], 0x64
mov byte [ebp - 0x27], 0x20
mov byte [ebp - 0x26], 0x63
mov byte [ebp - 0x25], 0x72
mov byte [ebp - 0x24], 0x65
mov byte [ebp - 0x23], 0x61
mov byte [ebp - 0x22], 0x74
mov byte [ebp - 0x21], 0x69
mov byte [ebp - 0x20], 0x6f
mov byte [ebp - 0x1f], 0x6e
mov byte [ebp - 0x1e], 0x20
mov byte [ebp - 0x1d], 0x66
mov byte [ebp - 0x1c], 0x61
mov byte [ebp - 0x1b], 0x69
mov byte [ebp - 0x1a], 0x6c
mov byte [ebp - 0x19], 0x65
mov byte [ebp - 0x18], 0x64
mov byte [ebp - 0x17], 0x2c
mov byte [ebp - 0x16], 0x20
mov byte [ebp - 0x15], 0x54
mov byte [ebp - 0x14], 0x68
mov byte [ebp - 0x13], 0x72
mov byte [ebp - 0x12], 0x65
mov byte [ebp - 0x11], 0x61
mov byte [ebp - 0x10], 0x64
mov byte [ebp - 0xf], 0x20
mov byte [ebp - 0xe], 0x43
mov byte [ebp - 0xd], 0x6f
mov byte [ebp - 0xc], 0x64
mov byte [ebp - 0xb], 0x65
mov byte [ebp - 0xa], 0x20
mov byte [ebp - 9], 0x30
mov byte [ebp - 8], 0x78
mov byte [ebp - 7], 0x35
mov byte [ebp - 6], 0x21
mov byte [ebp - 5], 0
call fcn.1001d0d0
mov eax, dword [0x10078ba8]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003be5b
mov esp, ebp
pop ebp
ret
Function at 0x100327d0
Capabilities:
Contain obfuscated stackstrings
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x10077274]
xor eax, ebp
mov dword [ebp - 4], eax
push 0
push 0
push 0
push 0x10031b50
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x10078bb4], eax
cmp dword [0x10078bb4], 0
jne 0x100328cc
mov byte [ebp - 0x34], 0x45
mov byte [ebp - 0x33], 0x52
mov byte [ebp - 0x32], 0x52
mov byte [ebp - 0x31], 0x4f
mov byte [ebp - 0x30], 0x52
mov byte [ebp - 0x2f], 0x21
mov byte [ebp - 0x2e], 0x20
mov byte [ebp - 0x2d], 0x54
mov byte [ebp - 0x2c], 0x68
mov byte [ebp - 0x2b], 0x72
mov byte [ebp - 0x2a], 0x65
mov byte [ebp - 0x29], 0x61
mov byte [ebp - 0x28], 0x64
mov byte [ebp - 0x27], 0x20
mov byte [ebp - 0x26], 0x63
mov byte [ebp - 0x25], 0x72
mov byte [ebp - 0x24], 0x65
mov byte [ebp - 0x23], 0x61
mov byte [ebp - 0x22], 0x74
mov byte [ebp - 0x21], 0x69
mov byte [ebp - 0x20], 0x6f
mov byte [ebp - 0x1f], 0x6e
mov byte [ebp - 0x1e], 0x20
mov byte [ebp - 0x1d], 0x66
mov byte [ebp - 0x1c], 0x61
mov byte [ebp - 0x1b], 0x69
mov byte [ebp - 0x1a], 0x6c
mov byte [ebp - 0x19], 0x65
mov byte [ebp - 0x18], 0x64
mov byte [ebp - 0x17], 0x2c
mov byte [ebp - 0x16], 0x20
mov byte [ebp - 0x15], 0x54
mov byte [ebp - 0x14], 0x68
mov byte [ebp - 0x13], 0x72
mov byte [ebp - 0x12], 0x65
mov byte [ebp - 0x11], 0x61
mov byte [ebp - 0x10], 0x64
mov byte [ebp - 0xf], 0x20
mov byte [ebp - 0xe], 0x43
mov byte [ebp - 0xd], 0x6f
mov byte [ebp - 0xc], 0x64
mov byte [ebp - 0xb], 0x65
mov byte [ebp - 0xa], 0x20
mov byte [ebp - 9], 0x30
mov byte [ebp - 8], 0x78
mov byte [ebp - 7], 0x35
mov byte [ebp - 6], 0x21
mov byte [ebp - 5], 0
call fcn.1001d0d0
mov eax, dword [0x10078bb4]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003be5b
mov esp, ebp
pop ebp
ret
Function at 0x100329f0
Capabilities:
Resume thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005ccc3
mov eax, dword fs:[0]
push eax
sub esp, 0xfc
mov eax, dword [0x10077274]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
mov eax, dword [0x10078ba8]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0xd4], eax
push 0
mov ecx, dword [0x10078bac]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0xd8], eax
push 0
mov edx, dword [0x10078bb0]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0xdc], eax
push 0
mov eax, dword [0x10078bb4]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0xe0], eax
push 0
mov ecx, dword [0x10078bc4]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0xe4], eax
mov edx, dword [0x10078ba8]
push edx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov dword [ebp - 0xf0], eax
mov eax, dword [0x10078bac]
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov dword [ebp - 0xf4], eax
mov ecx, dword [0x10078bb0]
push ecx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov dword [ebp - 0xf8], eax
mov edx, dword [0x10078bb4]
push edx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov dword [ebp - 0xfc], eax
mov eax, dword [0x10078bc4]
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0xd4], 0x102
jne 0x10032b1b
cmp dword [ebp - 0xd8], 0x102
jne 0x10032b1b
cmp dword [ebp - 0xdc], 0x102
jne 0x10032b1b
cmp dword [ebp - 0xe0], 0x102
jne 0x10032b1b
cmp dword [ebp - 0xe4], 0x102
je 0x10032b8d
push 0x58580cc9
lea ecx, [ebp - 0x6c]
call fcn.10031f20
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xec], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0xec]
push edx
call fcn.1001cdd0
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0xcc], 0
jmp 0x10032b72
mov eax, dword [ebp - 0xcc]
add eax, 1
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0x59
jge 0x10032b88
mov ecx, dword [ebp - 0xcc]
mov byte [ebp + ecx - 0x6c], 0
jmp 0x10032b63
call fcn.1001d0d0
cmp dword [ebp - 0xf0], 1
je 0x10032bba
cmp dword [ebp - 0xf4], 1
je 0x10032bba
cmp dword [ebp - 0xf8], 1
je 0x10032bba
cmp dword [ebp - 0xfc], 1
je 0x10032bba
cmp dword [ebp - 0x100], 1
jne 0x10032c33
mov edx, 0x9d00c85
push edx
lea ecx, [ebp - 0xc8]
call fcn.10031fa0
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x108], eax
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x108]
push ecx
call fcn.1001cdd0
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0xd0], 0
jmp 0x10032c15
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0xd0], 0x59
jge 0x10032c2e
mov eax, dword [ebp - 0xd0]
mov byte [ebp + eax - 0xc8], 0
jmp 0x10032c06
call fcn.1001d0d0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1003be5b
mov esp, ebp
pop ebp
ret
Function at 0x10037020
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [ebp + 0xc]
sub eax, 0x10000
push eax
call fcn.100371d0
add esp, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp + 8]
jbe 0x100370ed
mov edx, dword [ebp - 4]
cmp edx, dword [0x10077200]
jb 0x1003706a
mov eax, dword [ebp - 4]
cmp eax, dword [0x10077204]
ja 0x1003706a
mov ecx, dword [ebp - 4]
sub ecx, 0x8000000
mov dword [ebp - 4], ecx
jmp 0x1003703a
push 0x1c
push 0
lea edx, [ebp - 0x24]
push edx
call fcn.1003dc60
add esp, 0xc
push 0x1c
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
test eax, eax
jne 0x10037090
jmp 0x100370ed
cmp dword [ebp - 0x14], 0x10000
jne 0x100370d3
cmp dword [ebp - 0x18], 0x10000
jb 0x100370d3
push 0x40
push 0x3000
push 0x10000
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x100370c6
mov eax, dword [ebp - 8]
jmp 0x100370ef
mov eax, dword [ebp - 4]
sub eax, 0x10000
mov dword [ebp - 4], eax
jmp 0x100370e8
mov ecx, dword [ebp - 0x20]
sub ecx, 0x10000
push ecx
call fcn.100371d0
add esp, 4
mov dword [ebp - 4], eax
jmp 0x1003703a
xor eax, eax
mov esp, ebp
pop ebp
ret

Function at 0x10037100
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [ebp + 8]
push eax
call fcn.10037200
add esp, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp + 0xc]
jae 0x100371c5
mov edx, dword [ebp - 4]
cmp edx, dword [0x10077200]
jb 0x10037145
mov eax, dword [ebp - 4]
cmp eax, dword [0x10077204]
ja 0x10037145
mov ecx, dword [ebp - 4]
add ecx, 0x8000000
mov dword [ebp - 4], ecx
jmp 0x10037115
push 0x1c
push 0
lea edx, [ebp - 0x24]
push edx
call fcn.1003dc60
add esp, 0xc
push 0x1c
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
test eax, eax
jne 0x1003716b
jmp 0x100371c5
cmp dword [ebp - 0x14], 0x10000
jne 0x100371ae
cmp dword [ebp - 0x18], 0x10000
jb 0x100371ae
push 0x40
push 0x3000
push 0x10000
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x100371a1
mov eax, dword [ebp - 8]
jmp 0x100371c7
mov eax, dword [ebp - 4]
add eax, 0x10000
mov dword [ebp - 4], eax
jmp 0x100371c0
mov ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x18]
push ecx
call fcn.10037200
add esp, 4
mov dword [ebp - 4], eax
jmp 0x10037115
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x10037230
Capabilities:
Hook routines via microsoft detours

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10037620
add esp, 0xc
mov dword [ebp - 4], 0
cmp dword [0x10078bf4], 0
jne 0x1003726d
cmp dword [0x10078bf0], 0
je 0x1003726d
mov eax, dword [0x10078bf0]
mov dword [0x10078bf4], eax
cmp dword [0x10078bf4], 0
je 0x100372ea
mov ecx, dword [0x10078bf4]
cmp dword [ecx + 8], 0
je 0x100372ea
mov edx, dword [0x10078bf4]
mov eax, dword [edx + 8]
cmp eax, dword [ebp - 0x10]
jb 0x100372ea
mov ecx, dword [0x10078bf4]
mov edx, dword [ecx + 8]
cmp edx, dword [ebp - 0xc]
ja 0x100372ea
mov eax, dword [0x10078bf4]
mov ecx, dword [eax + 8]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x10]
jb 0x100372b9
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jbe 0x100372c0
xor eax, eax
jmp 0x10037409
mov ecx, dword [0x10078bf4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ecx + 8], eax
push 0x48
push 0xcc
mov ecx, dword [ebp - 4]
push ecx
call fcn.1003dc60
add esp, 0xc
mov eax, dword [ebp - 4]
jmp 0x10037409
mov edx, dword [0x10078bf0]
mov dword [0x10078bf4], edx
jmp 0x10037306
mov eax, dword [0x10078bf4]
mov ecx, dword [eax + 4]
mov dword [0x10078bf4], ecx
cmp dword [0x10078bf4], 0
je 0x10037346
cmp dword [0x10078bf4], 0
je 0x10037344
mov edx, dword [0x10078bf4]
cmp dword [edx + 8], 0
je 0x10037344
mov eax, dword [0x10078bf4]
mov ecx, dword [eax + 8]
cmp ecx, dword [ebp - 0x10]
jb 0x10037344
mov edx, dword [0x10078bf4]
mov eax, dword [edx + 8]
cmp eax, dword [ebp - 0xc]
ja 0x10037344
jmp 0x1003729e
jmp 0x100372f8
mov ecx, dword [ebp + 8]
and ecx, 0xffff
mov edx, dword [ebp + 8]
sub edx, ecx
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10037410
add esp, 0xc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x10037407
mov eax, dword [ebp - 0x18]
mov dword [0x10078bf4], eax
mov ecx, dword [0x10078bf4]
mov dword [ecx], 0x52727464
mov edx, dword [0x10078bf4]
mov dword [edx + 8], 0
mov eax, dword [0x10078bf4]
mov ecx, dword [0x10078bf0]
mov dword [eax + 4], ecx
mov edx, dword [0x10078bf4]
mov dword [0x10078bf0], edx
mov dword [ebp - 0x14], 0
mov eax, dword [0x10078bf4]
add eax, 0x48
mov dword [ebp - 4], eax
mov dword [ebp - 8], 0x38c
jmp 0x100373d7
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 1
jle 0x100373f7
imul edx, dword [ebp - 8], 0x48
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
mov dword [eax + edx + 0x40], ecx
imul edx, dword [ebp - 8], 0x48
add edx, dword [ebp - 4]
mov dword [ebp - 0x14], edx
jmp 0x100373ce
mov eax, dword [0x10078bf4]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 8], ecx
jmp 0x1003729e
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x10038cd0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
cmp dword [0x10078c3c], 0
je 0x10038ce6
xor eax, eax
jmp 0x10038f02
cmp dword [0x10078c38], 0
je 0x10038cf9
mov eax, dword [0x10078c38]
jmp 0x10038f02
push 0x24
push 0
push 0x10078c14
call fcn.1003dc60
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [0x10078c14], eax
push 0
push 0
push 0x10062ec0
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [0x10078c18], eax
cmp dword [0x10078c18], 0
jne 0x10038d9e
mov dword [0x10078c3c], 1
cmp dword [0x10078c18], 0
je 0x10038d51
mov eax, dword [0x10078c18]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x10078c1c], 0
mov dword [0x10078c20], 0
mov dword [0x10078c24], 0
mov dword [0x10078c28], 0
mov dword [0x10078c2c], 0
mov dword [0x10078c30], 0
mov dword [0x10078c34], 0
xor eax, eax
jmp 0x10038f02
push str.ImagehlpApiVersionEx
mov ecx, dword [0x10078c18]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10078c1c], eax
push str.SymInitialize
mov edx, dword [0x10078c18]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10078c20], eax
push str.SymSetOptions
mov eax, dword [0x10078c18]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10078c24], eax
push str.SymGetOptions
mov ecx, dword [0x10078c18]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10078c28], eax
push str.SymLoadModule64
mov edx, dword [0x10078c18]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10078c2c], eax
push str.SymGetModuleInfo64
mov eax, dword [0x10078c18]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10078c30], eax
push str.SymFromName
mov ecx, dword [0x10078c18]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10078c34], eax
push 8
push 0
lea edx, [ebp - 0xc]
push edx
call fcn.1003dc60
add esp, 0xc
mov eax, 0xc
mov word [ebp - 0xc], ax
cmp dword [0x10078c1c], 0
je 0x10038e83
cmp dword [0x10078c20], 0
je 0x10038e83
cmp dword [0x10078c2c], 0
je 0x10038e83
cmp dword [0x10078c30], 0
je 0x10038e83
cmp dword [0x10078c34], 0
jne 0x10038e88
jmp 0x10038d32
lea ecx, [ebp - 0xc]
push ecx
call dword [0x10078c1c]
movzx edx, word [ebp - 0xc]
cmp edx, 0xc
jge 0x10038ea0
jmp 0x10038d32
push 0
push 0
mov eax, dword [0x10078c14]
push eax
call dword [0x10078c20]
test eax, eax
jne 0x10038eb9
jmp 0x10038d32
cmp dword [0x10078c28], 0
je 0x10038ef3
cmp dword [0x10078c24], 0
je 0x10038ef3
call dword [0x10078c28]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
and ecx, 0xfffffff8
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
or edx, 0x2704
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
push eax
call dword [0x10078c24]
mov dword [0x10078c38], 0x10078c14
mov eax, dword [0x10078c38]
mov esp, ebp
pop ebp
ret

Function at 0x1004deda
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.1004dd50
Function at 0x40aa80
Capabilities:
Encrypt data using rc4 prga

Disassembly:
pop edi
pop esi
xor eax, eax
pop ebx
out dx, al
in eax, 0x5d
ret 0x10
sub eax, 0xb9d38bc7
mov ecx, 0xe8c30000
xchg esi, eax
or eax, 0xf80b0000
or ebx, edx
inc esi
cmp eax, 3
pop edx
jne 0x40aa3d
add ebx, dword [edx + 0x75]
cld
dec esi
dec eax
mov eax, dword [ebp + 0x72]
mov ebx, dword [eax + esi*8 - 0x34dc38dd]
and byte [edx - 0x4fc4fb7a], bl
je 0x40aa28
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
xchg bl, cl
neg dword [ebp - 0x60]
mul dword [ebx]
retf 0x558b
jne 0x40aaac
and eax, 0x1e
xor edi, edi
or eax, edi
jne 0x40aaf2
jae 0x40aaeb
mov eax, 0x600016
xor eax, 0x3b5de58b
adc byte [eax], al
or eax, ecx
jne 0x40aace
mov edx, dword [ebp + 8]
loopne 0x40aa46
sti
add dword [edx + 0x24e60302], ecx
aas
and eax, 0xff
cdq
mov ebx, 0xbd323c7
ret 0xd374
add byte [eax], al
add byte [ecx - 0x2cdc3845], bl
or eax, edx
je 0x40aa8b
mov edx, esi
cld
mov dword [0x9e75023f], eax
cmp esi, 0xd
jne 0x40aaf2
hlt
and bl, ch
pop ds
cmp edx, 3
mov edi, 0x63c9851c
mov cl, 0x7c
add eax, 0x7704fe83
stosb byte es:[edi], al
cmp esi, 0x55
jne 0x40aad4
push esp
leave
jne 0x40aaf2
mov eax, dword [edi]
pop es
or dh, dh
adc dword [edi + 0x7d8b9975], edi
adc al, 0xb8
add bh, byte [eax]
add byte [eax], al
mov edi, dword [ebp + 0x14]
mov eax, 0x3802
cmp eax, edx
mov ebx, dword [edi]
sbb eax, eax
imul edx
inc eax
cmp ebx, eax
jb 0x40a9b5
push ss
jb 0x40ab82
aas
mov eax, dword [edi + 8]
jmp 0x40aa97
movsb byte es:[edi], byte [esi]
inc dword [ebx + 0x18894e4e]
mov edx, ecx
mov eax, esi
mov ecx, 0x95008a0a
fnstsw word [ecx - 0x4f]
add byte [eax], al
mov ax, word [0x10458bc8]
or ch, 0xd8
and esi, 0xa003ff
add esp, dword [eax + 0x8896600]
add eax, 2
or esi, 0xdc00
mov word [eax], si
add dword [ebp + 0x10090302], 0xffffff8b
jge 0x40abca
mov eax, dword [edi]
test dword [edi + 0xff8459c], edx
test ebp, esi
std
invalid
call [edi - 0x42]
pop ebx
mov esp, ebp
pop ebp
ret 0x6f10