joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10052f40
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x34
mov eax, dword [0x101b23cc]
xor eax, esp
mov dword [esp + 0x30], eax
xor eax, eax
push ebx
mov byte [esp + 0x24], al
mov dword [esp + 0x25], eax
mov dword [esp + 0x29], eax
mov dword [esp + 0x2d], eax
mov word [esp + 0x31], ax
mov byte [esp + 0x33], al
push edx
pop edx
mov dl, 0x65
mov cl, 0x6e
mov bl, 0x74
mov byte [esp + 0x14], 0x47
mov byte [esp + 0x15], dl
mov byte [esp + 0x16], cl
mov byte [esp + 0x17], 0x75
mov byte [esp + 0x18], 0x69
mov byte [esp + 0x19], cl
mov byte [esp + 0x1a], dl
mov byte [esp + 0x1b], 0x49
mov byte [esp + 0x1c], cl
mov byte [esp + 0x1d], bl
mov byte [esp + 0x1e], dl
mov byte [esp + 0x1f], 0x6c
mov byte [esp + 0x20], al
mov ch, ch
mov byte [esp + 4], 0x41
mov byte [esp + 5], 0x75
mov byte [esp + 6], bl
mov byte [esp + 7], 0x68
mov byte [esp + 8], dl
mov byte [esp + 9], cl
mov byte [esp + 0xa], bl
mov byte [esp + 0xb], 0x69
mov byte [esp + 0xc], 0x63
mov byte [esp + 0xd], 0x41
mov byte [esp + 0xe], 0x4d
mov byte [esp + 0xf], 0x44
mov byte [esp + 0x10], al
mov eax, eax
mov eax, 0
cpuid
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x14]
lea eax, [esp + 0x24]
pop ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10053027
test dl, dl
je 0x10053023
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10053027
add eax, 2
add ecx, 2
test dl, dl
jne 0x10053007
xor eax, eax
jmp 0x1005302c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10053044
mov eax, 1
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.100fc49a
add esp, 0x34
ret
lea ecx, [esp]
lea eax, [esp + 0x20]
jmp 0x10053050
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10053070
test dl, dl
je 0x1005306c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10053070
add eax, 2
add ecx, 2
test dl, dl
jne 0x10053050
xor eax, eax
jmp 0x10053075
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, dword [esp + 0x30]
neg eax
sbb eax, eax
and eax, 0xfffffffe
xor ecx, esp
add eax, 2
call fcn.100fc49a
add esp, 0x34
ret

Function at 0x10053110
Capabilities:
Get common file path

Disassembly:
sub esp, 0x804
mov eax, dword [0x101b23cc]
xor eax, esp
mov dword [esp + 0x800], eax
push 0x7ff
lea eax, [esp + 5]
push 0
push eax
mov byte [esp + 0xc], 0
call fcn.100fcf90
add esp, 0xc
push eax
pop eax
push 0x800
lea ecx, [esp + 4]
push ecx
call dword [sym.imp.KERNEL32.DLL_GetSystemDirectoryA]
push edx
pop edx
mov ecx, dword [esp + 0x800]
mov al, byte [esp]
xor ecx, esp
call fcn.100fc49a
add esp, 0x804
ret

Function at 0x10053350
Capabilities:
Get memory capacity

Disassembly:
sub esp, 0x40
nop
mov dword [esp], 0x40
push eax
pop eax
lea eax, [esp]
push eax
call dword [sym.imp.KERNEL32.DLL_GlobalMemoryStatusEx]
neg eax
sbb eax, eax
and eax, dword [esp + 4]
add esp, 0x40
ret
Function at 0x10054820
Capabilities:
Log keystrokes

Disassembly:
sub esp, 0x3c
push ebx
push ebp
push esi
push edi
mov dh, dh
push 0x38
lea eax, [esp + 0x18]
push 0
push eax
call fcn.100fcf90
add esp, 0xc
mov ch, ch
mov cl, cl
mov ebx, dword [esp + 0x54]
push ebx
xor edi, edi
call fcn.1004c860
mov ebp, dword [sym.imp.USER32.dll_MapVirtualKeyA]
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x10054860
lea esi, [edi*8]
sub esi, edi
add esi, esi
add esi, esi
mov eax, 1
mov dword [esp + esi + 0x14], eax
mov ebx, ebx
cmp dword [esp + 0x10], 0
je 0x10054885
mov dword [esp + esi + 0x1c], eax
mov eax, eax
mov word [esp + esi + 0x18], bx
mov edx, edx
push 0
push ebx
call ebp
mov word [esp + esi + 0x1a], ax
push ebx
pop ebx
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [esp + esi + 0x20], eax
mov ecx, ecx
call dword [sym.imp.USER32.dll_GetMessageExtraInfo]
mov dword [esp + esi + 0x24], eax
mov edx, edx
cmp edi, 1
jne 0x100548bc
or dword [esp + 0x38], 2
push edx
pop edx
add edi, 1
cmp edi, 2
jl 0x10054860
mov eax, dword [esp + 0x58]
test eax, eax
mov edi, dword [esp + 0x50]
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, 1
push 0x1c
jne 0x10054952
lea edx, [esp + 0x20]
call fcn.10053f30
add esp, 0xc
mov ch, ch
cmp dword [edi + 0x2608], 0
je 0x10054922
mov esi, dword [edi + 0x2638]
test esi, esi
jle 0x10054912
call fcn.100ff02c
cdq
idiv esi
push edx
pop edx
mov eax, eax
mov ecx, esi
sar ecx, 1
sub edx, ecx
add edx, esi
jmp 0x10054917
mov edx, 1
push edx
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov ah, ah
jmp 0x10054931
mov edx, dword [edi + 0x2638]
push edx
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov ah, ah
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x1c
lea edx, [esp + 0x3c]
mov ecx, 1
call fcn.10053f30
add esp, 0xc
mov ecx, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
cmp eax, 1
jne 0x1005496d
lea edx, [esp + 0x20]
call fcn.10053f30
add esp, 0xc
mov eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
lea edx, [esp + 0x3c]
call fcn.10053f30
add esp, 0xc
push eax
pop eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
Function at 0x100555a0
Capabilities:
Log keystrokes

Disassembly:
push ebp
push esi
push edi
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x10], eax
mov edi, edi
mov esi, dword [esp + 0x14]
cmp esi, 0xa0
je 0x100555c4
cmp esi, 0xa1
jne 0x100555cd
mov esi, 0x10
mov esi, esi
jmp 0x100555fd
cmp esi, 0xa4
je 0x100555dd
cmp esi, 0xa5
jne 0x100555e6
mov esi, 0x12
xchg ebx, eax
xchg ebx, eax
jmp 0x100555fd
cmp esi, 0xa2
je 0x100555f6
cmp esi, 0xa3
jne 0x100555fd
mov esi, 0x11
mov ah, ah
mov eax, dword [edi + 0x40]
xor ebp, ebp
cmp eax, ebp
jne 0x1005561b
push 2
push esi
push edi
call fcn.10054820
add esp, 0xc
mov bh, bh
pop edi
pop esi
lea eax, [ebp + 1]
pop ebp
ret
cmp eax, 1
jne 0x10055762
push ebx
push ebp
push esi
call dword [sym.imp.USER32.dll_MapVirtualKeyA]
mov edi, edi
shl eax, 0x10
or eax, 1
mov ebx, eax
xchg ebx, eax
xchg ebx, eax
push ecx
pop ecx
push esi
call fcn.1004c860
add esp, 4
test eax, eax
je 0x10055650
or ebx, 0x1000000
mov edx, edx
mov cl, cl
cmp dword [edi + 0x18], ebp
je 0x10055680
cmp dword [edi + 0x32d0], ebp
jne 0x10055680
push 0x717be38b
push edi
call fcn.1004eee0
add esp, 8
test eax, eax
jne 0x10055680
or ebx, 0x4000000
mov edi, edi
mov ebp, 0x4000000
push ebx
pop ebx
cmp esi, 0x12
jne 0x1005568e
mov dword [edi + 0x64], 0
mov ch, ch
cmp dword [edi + 0x64], 0
jne 0x100556ff
cmp esi, 0x79
je 0x100556ff
or ebx, 0xc0000000
mov ebp, ebp
cmp dword [edi + 0x32b0], 0
je 0x100556ae
mov ebx, ebp
mov bl, bl
cmp dword [edi + 0x32ac], 0
je 0x100556e2
mov ecx, dword [edi + 0x32b4]
mov edx, dword [esp + 0x14]
push 0
push ecx
push 1
push ebx
push esi
push 0x101
push edx
call fcn.100528d0
add esp, 0x1c
mov dh, dh
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
ret
mov eax, dword [esp + 0x14]
push ebx
push esi
push 0x101
push eax
call fcn.10052790
mov esi, esi
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
ret
mov bh, bh
or ebx, 0xe0000000
nop
cmp dword [edi + 0x32b0], 0
je 0x10055714
mov ebx, ebp
nop
cmp dword [edi + 0x32ac], 0
je 0x10055745
mov ecx, dword [edi + 0x32b4]
mov edx, dword [esp + 0x14]
push 0
push ecx
push 1
push ebx
push esi
push 0x105
push edx
call fcn.100527a0
mov ebx, ebx
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
ret
mov eax, dword [esp + 0x14]
push ebx
push esi
push 0x105
push eax
call fcn.10052790
mov ebp, ebp
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
ret
cmp eax, 2
jne 0x100556d9
cmp esi, 0x12
jne 0x10055775
mov dword [edi + 0x64], ebp
mov eax, eax
push 2
push esi
push edi
call fcn.100b5730
add esp, 0xc
push ecx
pop ecx
pop edi
pop esi
mov eax, 1
pop ebp
ret

Function at 0x10055790
Capabilities:
Log keystrokes

Disassembly:
mov ecx, dword [esp + 8]
call fcn.1004d870
mov edx, edx
test eax, eax
jle 0x100557a8
mov dword [esp + 8], eax
jmp fcn.10054e30
xor eax, eax
ret

Function at 0x100557b0
Capabilities:
Log keystrokes

Disassembly:
mov ecx, dword [esp + 8]
call fcn.1004d870
mov ebx, ebx
test eax, eax
jle 0x100557c8
mov dword [esp + 8], eax
jmp fcn.10055320
xor eax, eax
ret

Function at 0x100557d0
Capabilities:
Log keystrokes

Disassembly:
mov ecx, dword [esp + 8]
call fcn.1004d870
nop
test eax, eax
jle 0x100557e7
mov dword [esp + 8], eax
jmp fcn.100555a0
xor eax, eax
ret
Function at 0x10056570
Capabilities:
Get keyboard layout

Disassembly:
push 0xffffffffffffffff
push 0x1015e7ab
mov eax, dword fs:[0]
push eax
sub esp, 0x20c
mov eax, dword [0x101b23cc]
xor eax, esp
mov dword [esp + 0x208], eax
push ebp
push esi
push edi
mov eax, dword [0x101b23cc]
xor eax, esp
push eax
lea eax, [esp + 0x21c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x230]
push 0
push eax
call fcn.10052770
xchg ebx, eax
xchg ebx, eax
push eax
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
mov ebp, eax
xchg ebx, eax
xchg ebx, eax
lea ecx, [esp + 0x10]
call fcn.100d89a0
mov dword [esp + 0x224], 0
mov dl, dl
lea ecx, [esp + 0x10]
call fcn.10008fb0
mov esi, eax
mov bl, bl
test esi, esi
mov edi, dword [esp + 0x234]
je 0x1005663f
mov ecx, edi
lea eax, [esi + 0xf]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10056620
test dl, dl
je 0x1005661c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10056620
add eax, 2
add ecx, 2
test dl, dl
jne 0x10056600
xor eax, eax
jmp 0x10056625
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10056637
mov esi, dword [esi + 0x90]
mov esi, esi
test esi, esi
jne 0x100565f4
jmp 0x1005663f
test esi, esi
jne 0x100566cb
lea ecx, [esp + 0x10]
call fcn.100d79b0
mov esi, eax
mov edx, edx
test esi, esi
je 0x1005668a
mov ecx, edi
lea eax, [esi + 0xf]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10056675
test dl, dl
je 0x10056671
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10056675
add eax, 2
add ecx, 2
test dl, dl
jne 0x10056655
xor eax, eax
jmp 0x1005667a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x100566c7
mov esi, dword [esi + 0x90]
push ecx
pop ecx
test esi, esi
jne 0x10056650
mov dword [esp + 0x224], 0xffffffff
lea ecx, [esp + 0x10]
call fcn.100d79c0
xor eax, eax
mov ecx, dword [esp + 0x21c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x208]
xor ecx, esp
call fcn.100fc49a
add esp, 0x218
ret
test esi, esi
je 0x1005668a
push 0xff
lea eax, [esp + 0x11d]
push 0
push eax
mov byte [esp + 0x124], 0
call fcn.100fcf90
add esp, 0xc
mov dh, dh
push 0xff
lea ecx, [esp + 0x1d]
push 0
push ecx
mov byte [esp + 0x24], 0
call fcn.100fcf90
add esp, 0xc
mov ebx, ebx
lea edx, [esp + 0x18]
mov eax, esi
sub edx, esi
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x10056710
mov cl, cl
lea edx, [esp + 0x18]
push edx
call fcn.101571d9
add esp, 4
push ebx
pop ebx
push 0x10
lea eax, [esp + 0x11c]
push eax
push ebp
call fcn.1015727b
add esp, 0xc
mov esi, esi
mov cl, cl
lea ecx, [esp + 0x18]
lea eax, [esp + 0x118]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10056770
test dl, dl
je 0x1005676c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10056770
add eax, 2
add ecx, 2
test dl, dl
jne 0x10056750
xor eax, eax
jmp 0x10056775
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1005668a
mov dword [esp + 0x224], 0xffffffff
lea ecx, [esp + 0x10]
call fcn.100d79c0
mov eax, 1
jmp 0x100566a0
Function at 0x100567a0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x68
mov eax, dword [0x101b23cc]
xor eax, esp
mov dword [esp + 0x64], eax
call fcn.10050300
test eax, eax
jne 0x100567c6
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.100fc49a
add esp, 0x68
ret
push ebx
xor ebx, ebx
cmp dword [0x102b6fec], ebx
je 0x1005686c
call fcn.10050300
test eax, eax
je 0x1005686c
push 0x3f
lea eax, [esp + 0x2d]
push ebx
push eax
mov byte [esp + 0x34], bl
call fcn.100fcf90
add esp, 0xc
mov ch, ch
mov bl, bl
mov dword [esp + 0x28], 2
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0x2c], 0x17
mov esi, esi
mov dword [esp + 4], ebx
mov cl, cl
nop
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x30], ecx
mov ecx, ecx
lea eax, [esp + 4]
cdq
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov bl, bl
push ebx
lea edx, [esp + 0xc]
push edx
push ebx
push ebx
lea eax, [esp + 0x38]
push 0x18
push eax
call fcn.1001f580
add esp, 0x18
mov bl, bl
cmp eax, ebx
je 0x10056916
cmp dword [esp + 4], ebx
jne 0x10056916
lea eax, [ebx + 1]
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.100fc49a
add esp, 0x68
ret
cmp dword [fcn.102c3788], ebx
jne 0x10056928
mov cl, 0x65
mov byte [esp + 0xc], 0x6b
mov byte [esp + 0xd], cl
mov byte [esp + 0xe], 0x72
mov byte [esp + 0xf], 0x6e
mov byte [esp + 0x10], cl
mov byte [esp + 0x11], 0x6c
mov byte [esp + 0x12], 0x33
mov byte [esp + 0x13], 0x32
mov byte [esp + 0x14], bl
push ebx
pop ebx
mov al, 0x73
mov dl, 0x6f
mov byte [esp + 0x18], 0x49
mov byte [esp + 0x19], al
mov byte [esp + 0x1a], 0x57
mov byte [esp + 0x1b], dl
mov byte [esp + 0x1c], 0x77
mov byte [esp + 0x1d], 0x36
mov byte [esp + 0x1e], 0x34
mov byte [esp + 0x1f], 0x50
mov byte [esp + 0x20], 0x72
mov byte [esp + 0x21], dl
mov byte [esp + 0x22], 0x63
mov byte [esp + 0x23], cl
mov byte [esp + 0x24], al
mov byte [esp + 0x25], al
mov byte [esp + 0x26], bl
mov eax, eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [fcn.102c3788], eax
mov bh, bh
cmp dword [fcn.102c3788], ebx
jne 0x10056928
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.100fc49a
add esp, 0x68
ret
push esi
push ebx
pop ebx
mov dword [esp + 8], ebx
mov dh, dh
mov eax, dword [esp + 0x74]
push ebx
push ebx
push eax
push ebx
push 0x400
call fcn.10052340
add esp, 0x14
mov esi, eax
mov ch, ch
cmp esi, ebx
jne 0x10056961
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.100fc49a
add esp, 0x68
ret
lea ecx, [esp + 8]
push ecx
push esi
call dword [fcn.102c3788]
mov ecx, ecx
push esi
call fcn.10036ab0
add esp, 4
mov esi, esi
mov ecx, dword [esp + 0x6c]
xor eax, eax
cmp dword [esp + 8], ebx
pop esi
sete al
pop ebx
xor ecx, esp
call fcn.100fc49a
add esp, 0x68
ret
Function at 0x10056e40
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x20
mov eax, dword [0x101b23cc]
xor eax, esp
mov dword [esp + 0x1c], eax
mov cl, 0x6c
mov al, 0x65
mov dl, 0x64
push esi
mov byte [esp + 0x10], 0x6b
mov byte [esp + 0x11], al
mov byte [esp + 0x12], 0x72
mov byte [esp + 0x13], 0x6e
mov byte [esp + 0x14], al
mov byte [esp + 0x15], cl
mov byte [esp + 0x16], 0x33
mov byte [esp + 0x17], 0x32
mov byte [esp + 0x18], 0x2e
mov byte [esp + 0x19], dl
mov byte [esp + 0x1a], cl
mov byte [esp + 0x1b], cl
mov byte [esp + 0x1c], 0
mov al, al
mov byte [esp + 4], 0x4f
mov byte [esp + 5], 0x70
mov byte [esp + 6], al
mov byte [esp + 7], 0x6e
mov byte [esp + 8], 0x54
mov byte [esp + 9], 0x68
mov byte [esp + 0xa], 0x72
mov byte [esp + 0xb], al
mov byte [esp + 0xc], 0x61
mov byte [esp + 0xd], dl
mov byte [esp + 0xe], 0
push eax
pop eax
lea eax, [esp + 4]
push eax
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov esi, eax
nop
test esi, esi
jne 0x10056ef6
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.100fc49a
add esp, 0x20
ret
push ebp
push edi
call fcn.1002a6e0
mov edi, eax
mov cl, cl
mov ebp, dword [esp + 0x34]
push ebp
push 0
push 0x1f03ff
call esi
mov esi, eax
mov dl, dl
push edi
call fcn.1002a7a0
add esp, 4
push ebx
pop ebx
test esi, esi
jne 0x10056f36
pop edi
pop ebp
xor eax, eax
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.100fc49a
add esp, 0x20
ret
push 0
push 0
push 0xbb8
push ebp
call fcn.100527c0
mov ecx, ecx
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
mov eax, eax
push esi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
nop
mov ecx, dword [esp + 0x28]
pop edi
pop ebp
pop esi
xor ecx, esp
mov eax, 1
call fcn.100fc49a
add esp, 0x20
ret

Function at 0x1005ba80
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0xffffffffffffffff
push 0x1015e998
mov eax, dword fs:[0]
push eax
push esi
mov eax, dword [0x101b23cc]
xor eax, esp
push eax
lea eax, [esp + 8]
mov dword fs:[0], eax
xor esi, esi
mov dword [esp + 0x10], esi
push ebx
pop ebx
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
mov dh, dh
cmp eax, 0xffffffff
je 0x1005bac4
test al, 0x10
je 0x1005bac4
mov esi, 1
mov dword [esp + 0x10], 0xffffffff
lea ecx, [esp + 0x18]
call fcn.1001d220
mov eax, esi
mov ecx, dword [esp + 8]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0xc
ret
Function at 0x10062bb0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push 0xffffffffffffffff
push 0x1015ee02
mov eax, dword fs:[0]
push eax
sub esp, 0x158
mov eax, dword [0x101b23cc]
xor eax, esp
mov dword [esp + 0x154], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101b23cc]
xor eax, esp
push eax
lea eax, [esp + 0x16c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x17c]
mov esi, dword [esp + 0x180]
xor edi, edi
push 0xff
lea ecx, [esp + 0x6d]
push edi
mov dword [esp + 0x58], edi
push ecx
mov dword [esp + 0x60], eax
mov byte [esp + 0x74], 0
call fcn.100fcf90
add esp, 0xc
mov ebp, ebp
mov ah, ah
mov dl, dl
xor ebx, ebx
xor ebp, ebp
mov bl, bl
mov ch, ch
mov edi, edi
mov dword [esp + 0x14], edi
mov edi, edi
mov cl, cl
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x19c]
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0x19c]
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x19c]
push ecx
mov ecx, dword [esp + 0x19c]
push edx
push eax
push ecx
push esi
call fcn.10042340
add esp, 0x28
test eax, eax
jne 0x10062c9a
mov esi, dword [esp + 0x54]
lea edx, [esp + 0x27]
push edx
lea eax, [esp + 0x6c]
push eax
mov ecx, esi
call fcn.100095d0
mov dword [esp + 0x174], edi
jmp 0x10062db4
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
xor edx, edx
cmp eax, edi
jle 0x10062cf9
xor ecx, ecx
test esi, esi
jle 0x10062cf2
mov edi, edi
mov eax, edx
imul eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
lea eax, [eax + ecx*4]
mov ecx, ecx
push ebx
pop ebx
mov eax, dword [eax]
mov edx, edx
mov esi, eax
shr esi, 0x10
and esi, 0xff
add edi, esi
mov edx, edx
movzx esi, ah
add ebp, esi
push ebx
pop ebx
movzx eax, al
add ebx, eax
mov ebp, ebp
mov esi, dword [esp + 0x2c]
add ecx, 1
cmp ecx, esi
jl 0x10062cb0
mov eax, dword [esp + 0x30]
add edx, 1
cmp edx, eax
jl 0x10062ca8
imul esi, eax
mov eax, edi
xor edx, edx
div esi
mov esi, eax
mov ebp, ebp
mov ecx, dword [esp + 0x2c]
imul ecx, dword [esp + 0x30]
mov eax, ebp
xor edx, edx
div ecx
mov edi, eax
mov edi, edi
mov ecx, dword [esp + 0x2c]
imul ecx, dword [esp + 0x30]
mov eax, ebx
xor edx, edx
div ecx
mov ebx, eax
mov ebx, ebx
mov edx, dword [esp + 0x14]
push edx
call fcn.100fbfbf
xor ebp, ebp
add esp, 4
mov dword [esp + 0x14], ebp
push ebx
pop ebx
mov dl, 0x30
mov cl, 0x32
mov al, 0x78
mov byte [esp + 0x58], 0x25
mov byte [esp + 0x59], dl
mov byte [esp + 0x5a], cl
mov byte [esp + 0x5b], al
mov byte [esp + 0x5c], 0x25
mov byte [esp + 0x5d], dl
mov byte [esp + 0x5e], cl
mov byte [esp + 0x5f], al
mov byte [esp + 0x60], 0x25
mov byte [esp + 0x61], dl
mov byte [esp + 0x62], cl
mov byte [esp + 0x63], al
mov byte [esp + 0x64], 0
mov bl, bl
push ebx
push edi
push esi
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x78]
push ecx
call fcn.100fdd70
add esp, 0x14
mov ebx, ebx
mov esi, dword [esp + 0x54]
lea edx, [esp + 0x27]
push edx
lea eax, [esp + 0x6c]
push eax
mov ecx, esi
call fcn.100095d0
mov dword [esp + 0x174], ebp
mov dword [esp + 0x50], 1
mov eax, esi
mov ecx, dword [esp + 0x16c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x154]
xor ecx, esp
call fcn.100fc49a
add esp, 0x164
ret
Function at 0x10063390
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x1015eee9
mov eax, dword fs:[0]
push eax
sub esp, 0x18
mov eax, dword [0x101b23cc]
xor eax, esp
mov dword [esp + 0x14], eax
push esi
mov eax, dword [0x101b23cc]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov esi, dword [esp + 0x30]
mov dword [esp + 0xc], 0
mov al, 0x34
mov dword [esp + 0x10], esi
mov byte [esp + 0x14], 0x37
mov byte [esp + 0x15], 0x2e
mov byte [esp + 0x16], 0x32
mov byte [esp + 0x17], al
mov byte [esp + 0x18], 0x33
mov byte [esp + 0x19], al
mov byte [esp + 0x1a], 0
mov esi, esi
lea eax, [esp + 0xb]
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, esi
call fcn.100095d0
mov dword [esp + 0x28], 0
mov dword [esp + 0xc], 1
mov eax, esi
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.100fc49a
add esp, 0x24
ret

Function at 0x100635b0
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x1015ef92
mov eax, dword fs:[0]
push eax
sub esp, 0x810
mov eax, dword [0x101b23cc]
xor eax, esp
mov dword [esp + 0x80c], eax
push ebx
push esi
mov eax, dword [0x101b23cc]
xor eax, esp
push eax
lea eax, [esp + 0x81c]
mov dword fs:[0], eax
mov esi, dword [esp + 0x82c]
xor ebx, ebx
push 0x7ff
lea eax, [esp + 0x1d]
push ebx
mov dword [esp + 0x18], ebx
push eax
mov dword [esp + 0x20], esi
mov byte [esp + 0x24], bl
call fcn.100fcf90
add esp, 0xc
mov ecx, ecx
mov eax, dword [esp + 0x834]
cmp eax, ebx
jne 0x10063635
lea ecx, [esp + 0x18]
push ecx
push 0x800
call dword [sym.imp.KERNEL32.DLL_GetCurrentDirectoryA]
mov ecx, ecx
jmp 0x100636dd
cmp eax, 1
jne 0x10063651
push 0x800
lea edx, [esp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.DLL_GetSystemDirectoryA]
mov bh, bh
jmp 0x100636dd
cmp eax, 2
jne 0x1006366a
push 0x800
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.DLL_GetWindowsDirectoryA]
mov dh, dh
jmp 0x100636dd
cmp eax, 3
jne 0x10063683
lea ecx, [esp + 0x18]
push ecx
push 0x800
call dword [sym.imp.KERNEL32.DLL_GetTempPathA]
mov eax, eax
jmp 0x100636dd
cmp eax, 4
jne 0x100636dd
xor eax, eax
lea ebx, [ebx]
mov cl, byte [eax + 0x101b3f90]
mov byte [esp + eax + 0x18], cl
add eax, 1
cmp cl, bl
jne 0x10063690
push ebx
pop ebx
lea eax, [esp + 0x18]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100636b0
sub eax, edx
add eax, 0xffffffff
mov ah, ah
cmp eax, ebx
jl 0x100636dd
mov cl, 0x5c
cmp byte [esp + eax + 0x18], cl
je 0x100636d7
sub eax, 1
mov bl, bl
cmp eax, ebx
jge 0x100636c6
jmp 0x100636dd
mov byte [esp + eax + 0x18], bl
mov eax, eax
lea edx, [esp + 0xf]
push edx
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.100095d0
mov dword [esp + 0x824], ebx
mov dword [esp + 0x10], 1
mov eax, esi
mov ecx, dword [esp + 0x81c]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [esp + 0x80c]
xor ecx, esp
call fcn.100fc49a
add esp, 0x81c
ret