joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4143ea
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
pushal
call 0x4143f9
pop dword [ebp - 8]
mov eax, 0x99254e3f
sub eax, 0x98e40a46
sub dword [ebp - 8], eax
push 0x40
push 0x1000
push 0x3c97e
push 0
mov eax, 0xd2b9b29
add eax, 0xf31646eb
add eax, dword [ebp - 8]
call dword [eax]
mov ecx, 0xced462b7
sub ecx, 0xced41f4c
xor esi, esi
add esi, eax
mov edi, 0x9e3f7216
sub edi, 0x9dfbf216
add edi, dword [ebp - 8]
mov ebx, 0x51cf894c
sub ebx, 0xf11e6ef3
mov dword [ebp - 4], 0xac17e23
mov edx, dword [edi]
add dword [ebp - 4], 0x45aea0cc
xor edx, ebx
sub dword [ebp - 4], eax
mov dword [esi], edx
xor dword [ebp - 4], 0xf0f6dbf9
add esi, 4
add edi, 0xd0b63805
sub edi, 0xd0b63801
loop 0x41445a
add eax, 0x4daaab94
sub eax, 0x4da9ab15
xor ebx, ebx
add ebx, eax
add eax, 0x94efdee9
sub eax, 0x94efdee4
mov ecx, 0xf6c74d47
add ecx, 0x978b2b9
add ecx, dword [ebp - 8]
call ebx
leave
ret

Function at 0x4659a0
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, 0x457015
lea edi, [esi - 0x56015]
push edi
or ebp, 0xffffffff
jmp 0x4659c2
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x4659c9
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x4659b8
mov eax, 1
add ebx, ebx
jne 0x4659db
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x4659d0
jne 0x4659ec
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x4659d0
xor ecx, ecx
sub eax, 3
jb 0x465a00
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x465a72
mov ebp, eax
add ebx, ebx
jne 0x465a0b
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x465a18
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x465a3c
inc ecx
add ebx, ebx
jne 0x465a28
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x465a1d
jne 0x465a39
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x465a1d
add ecx, 2
cmp ebp, 0xfffff300
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x465a5c
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x465a4d
jmp 0x4659be
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x465a5c
add edi, ecx
jmp 0x4659be
pop esi
mov edi, esi
mov ecx, 0x33e
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x465a7a
cmp byte [edi], 0
jne 0x465a7a
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 0x465a7f
lea edi, [esi + 0x63000]
mov eax, dword [edi]
or eax, eax
je 0x465aee
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x651f0]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x65254]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x465aac
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x65258]
or eax, eax
je 0x465ae8
mov dword [ebx], eax
add ebx, 4
jmp 0x465ac9
call dword [esi + 0x6525c]
popal
jmp 0x40da18
Function at 0x4013c0
Capabilities:
Encode data using xor

Disassembly:
jmp 0x414fb0
push esi
push edi
mov edi, dword [esp + 0x10]
xor esi, esi
test edi, edi
je 0x41515a
push ebx
mov ebx, dword [esp + 0x10]
nop word [eax + eax]
push str.Protocol_of_Mind
push 0x4d24a8
call fcn.0040349f
push eax
call fcn.004013a7
add byte [esi + ebx], 0x5e
push str.Protocol_of_Mind
push 0x4d24a8
call fcn.0040349f
push eax
call fcn.004013a7
add byte [esi + ebx], 0x67
push str.Protocol_of_Mind
push 0x4d24a8
call fcn.0040349f
push eax
call fcn.004013a7
xor byte [esi + ebx], 0xa7
push str.Protocol_of_Mind
push 0x4d24a8
call fcn.0040349f
push eax
call fcn.004013a7
add byte [esi + ebx], 0x5a
push str.Protocol_of_Mind
push 0x4d24a8
call fcn.0040349f
push eax
call fcn.004013a7
add byte [esi + ebx], 0xf4
push str.Protocol_of_Mind
push 0x4d24a8
call fcn.0040349f
add esp, 0x44
push eax
call fcn.004013a7
add byte [esi + ebx], 0xcf
push str.Protocol_of_Mind
push 0x4d24a8
call fcn.0040349f
push eax
call fcn.004013a7
add byte [esi + ebx], 0x48
push str.Protocol_of_Mind
push 0x4d24a8
call fcn.0040349f
push eax
call fcn.004013a7
add byte [esi + ebx], 0xdf
push str.Protocol_of_Mind
push 0x4d24a8
call fcn.0040349f
push eax
call fcn.004013a7
add byte [esi + ebx], 0xc0
push str.Protocol_of_Mind
push 0x4d24a8
call fcn.0040349f
push eax
call fcn.004013a7
add byte [esi + ebx], 0xf1
push str.Protocol_of_Mind
push 0x4d24a8
call fcn.0040349f
push eax
call fcn.004013a7
add byte [esi + ebx], 0x1d
add esp, 0x40
push str.Protocol_of_Mind
push 0x4d24a8
call fcn.0040349f
push eax
call fcn.004013a7
add byte [esi + ebx], 0x3f
push str.Protocol_of_Mind
push 0x4d24a8
call fcn.0040349f
push eax
call fcn.004013a7
xor byte [esi + ebx], 0xc7
push str.Protocol_of_Mind
push 0x4d24a8
call fcn.0040349f
push eax
call fcn.004013a7
add byte [esi + ebx], 0xda
push str.Protocol_of_Mind
push 0x4d24a8
call fcn.0040349f
push eax
call fcn.004013a7
add byte [esi + ebx], 0x57
add esp, 0x30
inc esi
cmp esi, edi
jb 0x414fd0
pop ebx
pop edi
pop esi
ret

Function at 0x4035da
Capabilities:
Terminate process

Disassembly:
jmp 0x453329
push 0x17
call dword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
test eax, eax
je 0x45333a
push 5
pop ecx
int 0x29
push esi
push 1
mov esi, 0xc0000417
push esi
push 2
call fcn.00405920
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
pop esi
ret

Function at 0x40370b
Capabilities:
Query environment variable

Disassembly:
jmp 0x49c7e2
mov edi, edi
push esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov esi, eax
test esi, esi
jne 0x49c7f3
pop esi
ret
push ebx
push edi
push esi
call fcn.0049c6c9
mov ebx, eax
sub ebx, esi
and ebx, 0xfffffffe
push ebx
call fcn.00403fe9
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x49c81b
push ebx
push esi
push edi
call fcn.00405713
add esp, 0xc
push 0
call fcn.00406262
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov eax, edi
pop edi
pop ebx
pop esi
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
nop
nop
nop
push 4
nop
pop edi
nop
nop
nop
nop
nop
nop
cmp eax, 0
nop
nop
je 0x430072
nop
nop
nop
nop
mov ebx, 0x408f6c
mov ecx, ebx
nop
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
push eax
nop
nop
mov eax, ecx
nop
nop
nop
nop
nop
div edi
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
pop eax
nop
nop
nop
nop
nop
nop
mov esi, 0x10800e2e
nop
nop
xor dword [eax], esi
nop
nop
add eax, edi
nop
nop
nop
nop
nop
nop
nop
loop 0x430060
nop
mov eax, section..data
nop
nop
nop
nop
cmp eax, 0
je 0x4300d2
nop
nop
nop
nop
mov ebx, 0x42e3d0
nop
nop
nop
mov ecx, ebx
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
nop
nop
xor edx, edx
nop
nop
nop
push eax
nop
nop
nop
nop
nop
nop
mov eax, ecx
nop
div edi
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
nop
nop
mov esi, 0x3c632fbb
nop
nop
nop
nop
xor dword [eax], esi
nop
nop
nop
add eax, edi
nop
nop
nop
loop 0x4300c0
nop
nop
nop
nop
popal
nop
nop
nop
jmp 0x401219
Function at 0x403848
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x20c]
sub esp, 0x20c
push 0xffffffffffffffff
push 0x405cf3
mov eax, dword fs:[0]
push eax
sub esp, 0x10
mov eax, dword [0x40d014]
xor eax, ebp
mov dword [ebp + 0x208], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x407654
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll__wdupenv_s]
add esp, 0xc
test eax, eax
jne 0x40393e
push dword [ebp - 0x18]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp dword [0x40d144], 0
pop ecx
je 0x4038b9
xor eax, eax
inc eax
jmp 0x403940
lea eax, [ebp]
mov esi, 0x104
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp eax, esi
ja 0x40393e
test eax, eax
je 0x40393e
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x14]
call fcn.004015a6
xor edi, edi
lea ecx, [ebp - 0x10]
push str.JavaDeployReg.log
mov dword [ebp - 4], edi
call fcn.004015a6
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x14]
call fcn.00403a4d
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x40390b
call fcn.00401622
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x403914
mov edi, dword [esi]
push 0x407700
push edi
push 0x40d144
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wfopen_s]
add esp, 0xc
mov edi, eax
neg edi
sbb edi, edi
test esi, esi
je 0x403939
mov ecx, esi
call fcn.00401622
lea eax, [edi + 1]
jmp 0x403940
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp + 0x208]
xor ecx, ebp
call fcn.00404265
add ebp, 0x20c
leave
ret

Function at 0x403cf0
Capabilities:
Query or enumerate registry key

Disassembly:
sub esp, 0x21c
mov eax, dword [0x40d014]
xor eax, esp
mov dword [esp + 0x218], eax
push ebx
mov ebx, dword [esp + 0x224]
push ebp
push esi
push edi
mov edi, ecx
xor ebp, ebp
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov eax, dword [edi + 4]
or eax, 0x2001f
push eax
push ebx
push dword [edi]
call fcn.00403c2c
mov esi, eax
test esi, esi
jne 0x403d9f
lea eax, [esp + 0x20]
push eax
push ebp
push ebp
push ebp
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x3c]
push eax
push ebp
mov ebp, dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
jmp 0x403d7a
lea eax, [esp + 0x28]
push eax
call fcn.00403cf0
mov esi, eax
test esi, esi
jne 0x403d9f
lea eax, [esp + 0x20]
xor ecx, ecx
push eax
push ecx
push ecx
push ecx
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x3c]
push eax
push ecx
push dword [esp + 0x30]
mov dword [esp + 0x30], pe_nt_image_headers32
call ebp
lea ecx, [esp + 0x14]
test eax, eax
je 0x403d55
call fcn.00403aa6
push ebx
mov ecx, edi
call fcn.00403ac0
mov esi, eax
lea ecx, [esp + 0x14]
call fcn.00403aa6
mov ecx, dword [esp + 0x228]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00404265
add esp, 0x21c
ret 4
Function at 0x503b67
Capabilities:
Accept command line arguments
Hide graphical window

Disassembly:
mov ecx, ebp
push ebp
mov ebp, esp
mov dword [0x505076], ecx
call dword [sym.imp.kernel32.dll_GetCommandLineA]
mov dword [0x505298], eax
mov dword [0x505220], 0x5032dd
mov dword [0x50521c], 2
jmp 0x503b97
mov dword [0x505224], 0
mov dword [0x505228], 0
mov dword [0x505218], 0x30
push 0
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
mov dword [0x50522c], eax
mov dword [0x505240], 0x504088
mov dword [0x505238], 0xf
mov dword [0x50506e], eax
push 0x7f00
push 0
call dword [sym.imp.user32.dll_LoadIconA]
mov dword [0x505230], eax
mov dword [0x505244], eax
push 0x7f00
push 0
call dword [sym.imp.user32.dll_LoadCursorA]
mov dword [0x505234], eax
push 0x505218
call dword [sym.imp.user32.dll_RegisterClassExA]
push 0
push dword [0x50506e]
push 0
push 0
push 0x1e5
push 0x21e
push 0xffffe52a
push 0xfffff588
push 0x40000
push str.wait
push str.aroka
push 0
call dword [sym.imp.user32.dll_CreateWindowExA]
mov dword [0x505290], eax
push 5
push dword [0x505290]
call dword [sym.imp.user32.dll_ShowWindow]
push dword [0x505290]
call dword [sym.imp.user32.dll_UpdateWindow]
jmp 0x503c6a
push 0
push 0
push 0
push 0x505248
call dword [sym.imp.user32.dll_GetMessageA]
or eax, eax
je 0x503c97
push 0x505248
call dword [sym.imp.user32.dll_TranslateMessage]
push 0x505248
call dword [sym.imp.user32.dll_DispatchMessageA]
jmp 0x503c6a
mov eax, dword [0x505250]
jmp 0x503ca4
call 0x502b16
ret

Function at 0x403d61
Capabilities:
Encode data using xor

Disassembly:
push eax
push ebx
mov eax, 0x499
mov ecx, 0x404498
mov bl, byte [ecx]
sub bl, 0xf2
rol bl, 2
sub bl, cl
ror bl, 1
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d6d
mov eax, 0x261d
mov ecx, 0x403764
mov bl, byte [ecx]
rol bl, 7
ror bl, 2
sub bl, cl
xor bl, 0x91
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d8a
pop ebx
pop eax
add ecx, 0x2c1a
jmp ecx
Function at 0x10001558
Capabilities:
Check for debugger via api
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push edi
and esp, 0xfffffff8
sub esp, 0x88
mov eax, esp
mov dword [eax], 0xe92110
mov eax, dword [sym.imp.KERNEL32.dll_DeleteTimerQueue]
call eax
sub esp, 4
xor ecx, ecx
lea edx, [esp + 0x50]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x44]
xor ecx, ecx
mov edx, esp
mov dword [edx], 0x33d
mov edx, dword [sym.imp.KERNEL32.dll_SetUserGeoID]
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
call edx
sub esp, 4
xor ecx, ecx
mov edx, 0xb
mov dword [esp + 0x38], eax
mov eax, ecx
mov dword [esp + 0x34], ecx
mov ecx, edx
mov edi, dword [esp + 0x48]
rep stosd dword es:[edi], eax
mov eax, esp
lea ecx, [esp + 0x50]
mov dword [eax + 4], ecx
mov dword [eax], 0x52a698
mov eax, dword [sym.imp.USER32.dll_SetWindowPlacement]
call eax
sub esp, 8
mov ecx, dword [esp + 0x40]
sub ecx, 1
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
je 0x10001674
jmp 0x100015f3
mov eax, dword [esp + 0x40]
sub eax, 0x3d
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
jne 0x1000162a
jmp 0x1000160a
mov eax, esp
mov dword [eax + 4], 0x562e35
mov dword [eax], 0x58
mov eax, dword [sym.imp.USER32.dll_VkKeyScanExA]
call eax
sub esp, 8
mov word [esp + 0x22], ax
jmp 0x10001674
mov eax, dword [esp + 0x24]
mov dword [esp + 0x80], 0xf3
mov ecx, esp
lea edx, [esp + 0x80]
mov dword [ecx + 4], edx
mov dword [ecx], 0x74ab24
mov ecx, dword [sym.imp.KERNEL32.dll_CheckRemoteDebuggerPresent]
mov dword [esp + 0x1c], eax
call ecx
sub esp, 8
mov ecx, dword [esp + 0x1c]
add ecx, 1
cmp ecx, 0xa
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], ecx
jne 0x1000162a
mov eax, esp
mov dword [eax], 0xd3ba2
mov eax, dword [sym.imp.ADVAPI32.dll_ImpersonateAnonymousToken]
call eax
sub esp, 4
mov ecx, dword [esp + 0x40]
add ecx, 1
cmp ecx, 0xba
sete dl
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
mov byte [esp + 0xf], dl
mov al, byte [esp + 0xf]
test al, 1
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
jne 0x100016ba
jmp 0x10001589
lea esp, [ebp - 4]
pop edi
pop ebp
ret
Function at 0x10007be9
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2c
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
xor edi, edi
mov dword [0x10041c44], 0
mov dword [0x10041c48], 0
mov dword [0x10041c50], 0
mov dword [0x10041c3c], 0x1f97
cmp eax, 0
mov ebx, edi
mov dword [ebp - 0x10], eax
mov eax, edi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], edi
je 0x10007d38
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x24]
mov esi, 0x100
add ecx, 1
mov dword [ebp - 0x2c], eax
mov eax, ecx
mov dword [ebp - 0x30], edx
cdq
idiv esi
mov dword [0x10041c44], edx
mov ecx, dword [ebp - 0x20]
movzx edi, byte [ecx + edx]
mov ebx, dword [ebp - 0x30]
add edi, ebx
mov eax, edi
mov dword [ebp - 0x34], edx
cdq
idiv esi
mov dword [0x10041c48], edx
mov esi, dword [ebp - 0x34]
mov cl, byte [ecx + esi]
mov byte [0x10041c4c], cl
mov edi, dword [ebp - 0x20]
mov cl, byte [edi + edx]
mov byte [edi + esi], cl
mov edx, dword [0x10041c3c]
add edx, 0xffffec0a
mov dword [0x10041c3c], edx
mov cl, byte [0x10041c4c]
mov edx, dword [0x10041c48]
mov byte [edi + edx], cl
mov edx, dword [0x10041c44]
movzx edx, byte [edi + edx]
mov ebx, dword [0x10041c48]
movzx ebx, byte [edi + ebx]
add ebx, edx
and ebx, 0xff
mov dword [0x10041c50], ebx
mov dword [0x10041c3c], 0x715
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x2c]
mov cl, byte [edx + ecx]
xor cl, byte [edi + ebx]
mov ebx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
mov byte [ebx + edx], cl
mov dword [0x10041c3c], 0xac3
add edx, 1
mov ecx, dword [ebp - 0x10]
cmp edx, ecx
mov dword [ebp - 0x38], edx
je 0x10007d38
mov eax, dword [0x10041c48]
mov ecx, dword [0x10041c44]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x28], edx
jmp 0x10007c4c
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x10007dd4
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov dword [0x10041c40], 0x1ab6
mov dword [ebp - 4], 0
mov dword [0x10041c3c], 0x167
mov eax, dword fs:[0x30]
mov dword [ebp - 4], eax
xor ecx, ecx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + 0x3c]
mov dword [0x10041c3c], 0x1a39
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], ecx
jmp 0x10007e6a
mov eax, dword [ebp - 0x14]
add esp, 0x30
pop ebp
ret
xor eax, eax
mov dword [0x10041c40], 0xf6a
mov dword [ebp - 0x14], eax
jmp 0x10007e1e
mov eax, dword [ebp - 0x18]
mov dword [0x10041c3c], 0x91b
mov ecx, dword [ebp - 0xc]
cmp word [ecx + eax*2 - 0x1a], 0x6c
mov dword [ebp - 0x1c], eax
je 0x10007eab
jmp 0x10007e26
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1c]
cmp word [eax + ecx*2 - 0x12], 0x64
je 0x10007efd
jmp 0x10007e26
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
cmp word [ecx + eax*2], 0
mov edx, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], edx
je 0x10007e37
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, 0x104
setl cl
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x25], cl
mov al, byte [ebp - 0x25]
test al, 1
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], edx
jne 0x10007e6a
jmp 0x10007e37
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1c]
cmp word [eax + ecx*2 - 0x18], 0x6f
jne 0x10007e26
mov dword [0x10041c40], 0x162b
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1c]
cmp word [eax + ecx*2 - 0x16], 0x61
jne 0x10007e26
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1c]
mov dx, word [eax + ecx*2 - 0x14]
mov word [ebp - 0x28], dx
mov ax, word [ebp - 0x28]
cmp ax, 0x64
je 0x10007e55
jmp 0x10007e26
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff8
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x2c]
cmp word [eax + ecx*2], 0x6c
jne 0x10007e26
mov dword [0x10041c3c], 0x4b0
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff9
mov dword [ebp - 0x30], eax
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x30]
cmp word [ecx + edx*2], 0x6c
mov dword [ebp - 0x14], eax
je 0x10007e1e
jmp 0x10007e26
Function at 0x100081f6
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x58
mov eax, dword [ebp + 8]
mov ecx, dword [0x10041c3c]
add ecx, 0xffffe2e5
mov dword [0x10041c3c], ecx
mov dword [ebp - 0x10], eax
call fcn.10007a7b
xor ecx, ecx
mov edx, eax
mov esi, dword [0x10041c3c]
mov edi, dword [eax + 0x3c]
mov ebx, edx
add ebx, edi
add esi, 0xffffce03
mov dword [0x10041c3c], esi
mov edi, dword [eax + edi]
cmp edi, 0x4550
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], ebx
je 0x10008259
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x78]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
add ecx, dword [edx + eax + 0x20]
mov esi, dword [edx + eax + 0x24]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], esi
xor eax, eax
mov dword [0x10041c40], 0x22e3
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov esi, dword [ecx + edx + 0x18]
cmp esi, 0
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], eax
jne 0x10008308
mov eax, dword [ebp - 0x38]
add esp, 0x58
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x3c]
mov ecx, eax
mov edx, dword [ebp - 0x40]
add ecx, edx
mov esi, dword [ebp - 0x1c]
mov bl, byte [esi + ecx]
mov ecx, dword [ebp - 0x10]
mov bh, byte [ecx + eax]
cmp bl, bh
sete cl
cmp bl, 0
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x45], bh
mov byte [ebp - 0x46], cl
je 0x10008384
jmp 0x10008357
mov eax, dword [ebp - 0x4c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x28]
add edx, dword [edx + esi + 0x1c]
mov ecx, dword [edx + ecx*4]
mov dword [0x10041c3c], 0x21
mov edx, dword [ebp - 0x1c]
add edx, ecx
mov dword [0x10041c40], 0x201c
mov dword [ebp - 0x38], edx
jmp 0x1000829a
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x30]
add eax, ecx
mov dword [ebp - 0x50], eax
xor eax, eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x5c], eax
jmp 0x10008326
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x58]
xor esi, esi
mov edi, dword [ebp - 0x2c]
mov ebx, dword [edi + eax*4]
add edx, 0xffffe2e5
mov dword [0x10041c3c], edx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x3c], esi
jmp 0x100082a5
mov al, byte [ebp - 0x45]
cmp al, 0
setne cl
mov edx, dword [ebp - 0x44]
add edx, 1
mov ah, byte [ebp - 0x46]
and ah, cl
cmp edx, 0x20
setb cl
and ah, cl
test ah, 1
mov dword [ebp - 0x3c], edx
jne 0x100082a5
mov al, byte [ebp - 0x46]
test al, 1
jne 0x100082d7
jmp 0x10008391
xor eax, eax
mov ecx, dword [ebp - 0x4c]
add ecx, 2
mov edx, dword [ebp - 0x60]
add edx, 1
mov esi, dword [ebp - 0x34]
cmp edx, esi
mov edi, dword [ebp - 0x64]
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x5c], edx
jb 0x10008326
jmp 0x1000829a
Function at 0x100083c4
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x28
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
xor esi, esi
mov dword [0x10041c48], 0
mov byte [0x10041c4c], 0
mov edi, dword [0x10041c3c]
add edi, 0xffffde08
mov dword [0x10041c40], edi
mov dword [0x10041c44], 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], esi
jmp 0x10008444
mov eax, dword [0x10041c3c]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], eax
jmp 0x10008486
mov dword [0x10041c40], 0x135f
xor eax, eax
mov dword [0x10041c44], 0
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
jmp 0x10008486
mov eax, dword [ebp - 0x1c]
mov ecx, eax
mov dl, cl
mov ecx, dword [ebp - 0x18]
mov byte [ecx + eax], dl
mov eax, dword [0x10041c3c]
mov esi, eax
add esi, 0xfffff40d
mov dword [0x10041c40], esi
mov esi, dword [0x10041c44]
add esi, 1
mov dword [0x10041c44], esi
cmp esi, 0x100
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], esi
jl 0x10008444
jmp 0x10008423
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov edx, 0x100
mov esi, eax
add esi, 0xfffff810
mov dword [0x10041c40], esi
mov esi, dword [0x10041c48]
mov edi, dword [ebp - 0x18]
movzx ebx, byte [edi + ecx]
add ebx, esi
mov dword [ebp - 0x30], eax
mov eax, ecx
xor esi, esi
mov dword [ebp - 0x34], edx
mov edx, esi
mov esi, dword [ebp - 0x10]
div esi
mov esi, dword [ebp - 0x14]
movzx edx, byte [esi + edx]
add ebx, edx
mov eax, ebx
cdq
mov ebx, dword [ebp - 0x34]
idiv ebx
mov dword [0x10041c48], edx
mov esi, dword [ebp - 0x30]
add esi, 0xffffee70
mov dword [0x10041c3c], esi
mov bl, byte [edi + ecx]
mov byte [0x10041c4c], bl
mov dword [0x10041c3c], 0x1eef
mov bl, byte [edi + edx]
mov byte [edi + ecx], bl
mov dword [0x10041c40], 0x13
mov bl, byte [0x10041c4c]
mov ecx, dword [0x10041c48]
mov byte [edi + ecx], bl
mov ecx, dword [0x10041c44]
add ecx, 1
mov dword [0x10041c44], ecx
cmp ecx, 0x100
mov dword [ebp - 0x20], ecx
jl 0x10008413
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret