joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10039014
Capabilities:
Query environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov esi, eax
test esi, esi
je 0x100390b1
push ebx
push esi
call fcn.10038fdd
xor ebx, ebx
sub eax, esi
push ebx
push ebx
push ebx
push ebx
sar eax, 1
push eax
push esi
push ebx
push ebx
mov dword [ebp - 8], eax
call fcn.10037e92
add esp, 0x24
mov dword [ebp - 4], eax
test eax, eax
jne 0x1003905e
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
xor eax, eax
jmp 0x100390b0
push edi
push eax
call fcn.100356ec
mov edi, eax
pop ecx
push ebx
test edi, edi
jne 0x1003907e
call fcn.10032053
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
xor eax, eax
jmp 0x100390af
push ebx
push dword [ebp - 4]
push edi
push dword [ebp - 8]
push esi
push ebx
push ebx
call fcn.10037e92
add esp, 0x20
test eax, eax
jne 0x1003909d
push edi
call fcn.10032053
jmp 0x100390a5
push ebx
call fcn.10032053
mov ebx, edi
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov eax, ebx
pop edi
pop ebx
pop esi
leave
ret

Function at 0x1003b1cc
Capabilities:
Get geographical location

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push esi
push edi
call fcn.1003038c
mov esi, dword [ebp + 8]
mov edi, eax
push 2
lea eax, [ebp - 4]
mov ecx, esi
push eax
and ecx, 0x3ff
push 0x20000001
or ecx, 0x400
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x1003b23b
cmp esi, dword [ebp - 4]
je 0x1003b236
cmp dword [ebp + 0xc], 0
je 0x1003b236
mov esi, dword [edi + 0x50]
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x1003b213
push dword [edi + 0x50]
sub esi, ecx
sar esi, 1
call fcn.1003ad1e
pop ecx
xor ecx, ecx
cmp eax, esi
setne cl
mov eax, ecx
jmp 0x1003b23d
xor eax, eax
inc eax
jmp 0x1003b23d
xor eax, eax
pop edi
pop esi
leave
ret
Function at 0x1003b2a2
Capabilities:
Get geographical location

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x10072440]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 0x18], eax
call fcn.1003038c
add eax, 0x50
lea edi, [ebp - 0x10]
mov dword [ebp - 0x14], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.1003038c
lea ecx, [ebp - 0x10]
xor edx, edx
mov dword [eax + 0x34c], ecx
lea ecx, [esi + 0x80]
mov eax, dword [ebp - 0x14]
mov dword [eax], esi
lea edi, [eax + 4]
mov dword [edi], ecx
test ecx, ecx
je 0x1003b319
cmp word [ecx], dx
je 0x1003b319
mov eax, dword [0x10069b74]
push edi
dec eax
push eax
push 0x10069a60
call fcn.1003b241
mov eax, dword [ebp - 0x14]
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x10], edx
mov eax, dword [eax]
test eax, eax
je 0x1003b38c
cmp word [eax], dx
je 0x1003b38c
mov eax, dword [edi]
test eax, eax
je 0x1003b33d
cmp word [eax], dx
je 0x1003b33d
lea eax, [ebp - 0x10]
push eax
call fcn.1003ac24
jmp 0x1003b346
lea eax, [ebp - 0x10]
push eax
call fcn.1003acbf
cmp dword [ebp - 0x10], 0
pop ecx
jne 0x1003b3b6
mov eax, dword [0x10069a5c]
push dword [ebp - 0x14]
dec eax
push eax
push 0x10069750
call fcn.1003b241
add esp, 0xc
test al, al
je 0x1003b3b6
mov eax, dword [edi]
xor edi, edi
test eax, eax
je 0x1003b381
cmp word [eax], di
je 0x1003b381
lea eax, [ebp - 0x10]
push eax
call fcn.1003ac24
pop ecx
jmp 0x1003b3b8
lea eax, [ebp - 0x10]
push eax
call fcn.1003acbf
jmp 0x1003b37e
mov eax, dword [edi]
test eax, eax
je 0x1003b3a3
cmp word [eax], dx
je 0x1003b3a3
lea eax, [ebp - 0x10]
push eax
call fcn.1003abd9
pop ecx
jmp 0x1003b3b6
mov dword [ebp - 0x10], 0x104
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
xor edi, edi
cmp dword [ebp - 0x10], 0
je 0x1003b481
lea eax, [ebp - 0x10]
push eax
lea eax, [esi + 0x100]
neg esi
sbb esi, esi
and esi, eax
push esi
call fcn.1003b0c6
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x1003b481
movzx ecx, si
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
je 0x1003b481
push 1
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_IsValidLocale]
test eax, eax
je 0x1003b481
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x1003b40e
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
push edi
push 0x55
add eax, 0x250
push eax
push dword [ebp - 0xc]
call fcn.10032667
test ebx, ebx
je 0x1003b47c
push edi
push 0x55
lea eax, [ebx + 0x120]
push eax
push dword [ebp - 0xc]
call fcn.10032667
push 0x40
push ebx
push 0x1001
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x1003b481
push 0x40
lea eax, [ebx + 0x80]
push eax
push 0x1002
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x1003b481
push 0xa
push 0x10
lea ecx, [ebx + 0x100]
push ecx
push esi
call fcn.10036679
add esp, 0x10
xor eax, eax
inc eax
jmp 0x1003b483
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1002171c
leave
ret
Function at 0x1003fb41
Capabilities:
Clear file content

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x2c]
push esi
push edi
push dword [ebp + 0x10]
mov edi, dword [ebp + 0x14]
push dword [ebp + 0xc]
push ebx
call fcn.1003fabd
mov eax, dword [ebp - 0x2c]
and eax, dword [ebp - 0x28]
cmp eax, 0xffffffff
je 0x1003fcb0
mov eax, dword [ebp - 0x24]
and eax, dword [ebp - 0x20]
cmp eax, 0xffffffff
je 0x1003fcb0
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
mov dword [ebp - 4], eax
test ecx, ecx
jl 0x1003fc65
jg 0x1003fb9d
test eax, eax
je 0x1003fc5b
push 1
push 0x1000
call fcn.10031ff6
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x1003fbc0
push 0xc
pop ebx
mov byte [edi + 0x1c], 1
mov dword [edi + 0x18], ebx
jmp 0x1003fc52
push 0x8000
push ebx
call fcn.1003f9ee
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x18]
test eax, eax
jl 0x1003fbe9
jg 0x1003fbe4
cmp ecx, 0x1000
jb 0x1003fbe9
mov ecx, 0x1000
push edi
push ecx
push esi
push ebx
call fcn.10033837
add esp, 0x10
cmp eax, 0xffffffff
je 0x1003fc2e
mov ecx, dword [ebp - 4]
cdq
sub ecx, eax
mov eax, dword [ebp - 8]
mov dword [ebp - 4], ecx
sbb eax, edx
mov dword [ebp - 8], eax
test eax, eax
jg 0x1003fbe4
jl 0x1003fc15
test ecx, ecx
jne 0x1003fbd6
push dword [ebp - 0xc]
push ebx
call fcn.1003f9ee
push esi
call fcn.10032053
add esp, 0xc
xor ebx, ebx
jmp 0x1003fcbe
cmp byte [edi + 0x24], 0
je 0x1003fc45
cmp dword [edi + 0x20], 5
jne 0x1003fc45
mov byte [edi + 0x1c], 1
mov dword [edi + 0x18], 0xd
cmp byte [edi + 0x1c], 0
je 0x1003fc50
mov ebx, dword [edi + 0x18]
jmp 0x1003fc52
xor ebx, ebx
push esi
call fcn.10032053
pop ecx
jmp 0x1003fcbe
test ecx, ecx
jg 0x1003fc27
jl 0x1003fc65
test eax, eax
jae 0x1003fc27
push 0
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.10035003
and eax, edx
add esp, 0x10
cmp eax, 0xffffffff
jne 0x1003fc85
cmp byte [edi + 0x1c], 0
je 0x1003fc27
jmp 0x1003fcb6
push ebx
call fcn.1003bf27
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x1003fc27
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0xd
mov byte [edi + 0x24], 1
mov dword [edi + 0x20], eax
pop ebx
mov byte [edi + 0x1c], 1
mov dword [edi + 0x18], ebx
jmp 0x1003fcbe
cmp byte [edi + 0x1c], 0
je 0x1003fcbb
mov ebx, dword [edi + 0x18]
jmp 0x1003fcbe
push 0x16
pop ebx
push 0
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x14]
call fcn.10035003
add esp, 0x10
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret

Function at 0x10040b50
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov ecx, 0x5a4d
cmp word [eax], cx
jne 0x10040b7d
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x10040b7d
mov edx, 0x10b
xor eax, eax
cmp word [ecx + 0x18], dx
sete al
pop ebp
ret
xor eax, eax
pop ebp
ret
Function at 0x65801ad0
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x1c
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 0
call sym._CreateEventA_16
sub esp, 0x10
test eax, eax
mov dword [0x65988044], eax
je 0x65801b16
mov dword [esp], 0x65988048
call sym._InitializeCriticalSection_4
sub esp, 4
add esp, 0x1c
ret
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x3d
mov dword [esp + 4], 1
mov dword [esp], str.runtime:_failed_to_create_runtime_initialization_wait_event._n
add eax, 0x40
mov dword [esp + 0xc], eax
call sym._fwrite
call sym._abort
lea esi, [esi]
lea edi, [edi]

Function at 0x65801cc0
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x1c
call sym.__cgo_maybe_run_preinit
mov dword [esp], 0x65988048
call sym._EnterCriticalSection_4
sub esp, 4
mov dword [0x65988040], 1
mov dword [esp], 0x65988048
call sym._LeaveCriticalSection_4
mov eax, dword [0x65988044]
sub esp, 4
mov dword [esp], eax
call sym._SetEvent_4
sub esp, 4
test eax, eax
je 0x65801d08
add esp, 0x1c
ret
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x3b
mov dword [esp + 4], 1
mov dword [esp], str.runtime:_failed_to_signal_runtime_initialization_complete._n
add eax, 0x40
mov dword [esp + 0xc], eax
call sym._fwrite
call sym._abort
lea esi, [esi]
lea edi, [edi]
Function at 0x658047e0
Capabilities:
Access peb ldr_data

Disassembly:
sub esp, 0x34
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
mov ecx, dword [eax + 0x18]
cmp dword [ecx + 0x50], eax
je 0x6580482c
call fcn.65837c40
lea eax, [0x658edcc3]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
call fcn.65838520
call fcn.65837cb0
mov dword [esp], 2
call fcn.65832880
mov eax, dword [esp + 0x2c]
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x18]
nop
inc dword [ecx + 0x148]
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x18]
nop
mov ebx, ecx
mov dword [edx + 0xc0], ecx
mov ecx, dword [ebx + 0x18]
mov dword [ebx + 0x98], ecx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x30], ecx
test byte [ecx], al
lea esi, [ecx + 0x190]
lea edi, [esp + 0x10]
call fcn.6585edd4
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0xc], edx
call fcn.6585b7f0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x18]
mov byte [ecx + 0x8c], 0
mov ecx, dword [eax + 0x18]
test byte [ecx], al
add ecx, 0x1cc
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.658031b0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
call fcn.65804970
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x18]
mov byte [ecx + 0x8c], 1
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x30]
cmp ecx, edx
jne 0x65804926
mov dword [esp], ecx
call fcn.658342c0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.65840020
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x18]
test byte [eax], al
lea edi, [eax + 0x190]
lea esi, [esp + 0x10]
call fcn.6585edd4
add esp, 0x34
ret
lea eax, [0x658ef7cb]
mov dword [esp], eax
mov dword [esp + 4], 0x26
call fcn.65836520
nop
int3
Function at 0x6580c310
Capabilities:
Decompress data using quicklz

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6580c4de
sub esp, 0x38
mov eax, dword [esp + 0x3c]
cmp eax, 0x7000000
jle 0x6580c33b
mov eax, 0x7000000
jmp 0x6580c343
test eax, eax
je 0x6580c4b9
mov dword [esp + 0x14], eax
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x18]
mov edx, dword [ecx + 0x94]
mov ebx, dword [ecx + 0x98]
mov dword [ecx + 0x94], ebx
mov ebp, edx
shl edx, 0x11
xor edx, ebp
mov ebp, ebx
xor ebx, edx
shr edx, 7
xor edx, ebx
mov ebx, ebp
shr ebp, 0x10
xor ebp, edx
mov dword [ecx + 0x98], ebp
lea ecx, [ebp + ebx]
shr ecx, 6
inc ecx
mov dword [esp], ecx
call fcn.6585e6e0
movsd xmm0, qword [esp + 4]
movsd qword [esp + 0x28], xmm0
mov eax, dword [esp + 0x2c]
mov ecx, eax
shr eax, 0x14
and eax, 0x7ff
mov edx, eax
add eax, 0xfffffc01
mov ebx, ecx
shr ecx, 0xf
and ecx, 0x1f
mov ebp, ecx
add ecx, 1
mov esi, 0
adc esi, 0
shl ebx, 5
mov edi, dword [esp + 0x28]
shr edi, 0x1b
or edi, ebx
lea ebx, [0x658bb5c0]
movsd xmm0, qword [ebx + ebp*8]
test esi, esi
jne 0x6580c4d1
cmp ecx, 0x21
jae 0x6580c4c5
movsd qword [esp + 0x18], xmm0
mov dword [esp + 0x10], edi
add edx, 0xfffffc01
mov edx, 0xffffffff
adc edx, 0
movsd xmm0, qword [ebx + ecx*8]
movsd qword [esp + 0x20], xmm0
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6585a260
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x30], xmm0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x10]
and eax, 0xfffff
mov dword [esp], eax
call fcn.6585a330
movsd xmm0, qword [esp + 0x30]
movsd xmm1, qword [esp + 0x18]
addsd xmm0, xmm1
movsd xmm2, qword [esp + 0x20]
subsd xmm2, xmm1
movsd xmm1, qword [esp + 8]
mulsd xmm1, xmm2
movsd xmm2, qword [0x65915ed8]
mulsd xmm2, xmm1
addsd xmm0, xmm2
movsd xmm1, qword [0x65915f40]
subsd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jbe 0x6580c494
xorps xmm0, xmm0
mov eax, dword [esp + 0x14]
cvtsi2sd xmm1, eax
movsd xmm2, qword [0x65915f88]
mulsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
inc eax
mov dword [esp + 0x40], eax
add esp, 0x38
ret
mov dword [esp + 0x40], 0
add esp, 0x38
ret
mov eax, ecx
mov ecx, 0x21
call fcn.6585e7c0
mov eax, ecx
mov ecx, 0x21
call fcn.6585e860
nop
call fcn.6585d300
jmp fcn.6580c310
Function at 0x658147c0
Capabilities:
Check for software breakpoints

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x658149d4
sub esp, 0x18
mov eax, dword [0x659aed60]
test eax, eax
jne 0x658149bd
nop
lea eax, [0x659aed48]
mov dword [esp], eax
call fcn.6580a160
mov eax, dword [0x659aed4c]
test eax, eax
je 0x65814809
cmp dword [eax + 8], 0xcc
jne 0x6581487f
mov edx, dword [0x659aed40]
test edx, edx
jne 0x65814861
mov dword [esp], 0x1000
mov dword [esp + 4], 0
lea eax, [0x659b1590]
mov dword [esp + 8], eax
call fcn.6580c4f0
mov eax, dword [esp + 0xc]
mov dword [0x659aed40], eax
mov ecx, dword [0x659aed04]
mov dword [eax], ecx
mov eax, dword [0x659aed40]
mov dword [0x659aed04], eax
movzx eax, byte [0x659af1e0]
test al, al
jne 0x65814861
xor eax, eax
jmp 0x65814969
mov edx, dword [0x659aed40]
mov ebx, dword [edx + 4]
mov dword [0x659aed40], ebx
mov ebx, dword [0x659aed4c]
mov dword [edx + 4], ebx
mov dword [0x659aed4c], edx
mov edx, dword [0x659aed4c]
mov eax, dword [edx + 8]
cmp eax, 0xcc
jae 0x65814951
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
lea eax, [edx + 8]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.658030f0
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x14]
lea edi, [ecx + eax*4 + 0x10]
mov edx, dword [0x659aef10]
lea ebx, [ecx + eax*4 + 0x1c]
lea ebp, [ecx + eax*4 + 0x20]
lea esi, [ecx + eax*4 + 0x14]
test edx, edx
jne 0x658148dd
mov edx, dword [esp + 0x20]
mov dword [ecx + eax*4 + 0x10], edx
jmp 0x658148ea
mov edx, eax
mov eax, dword [esp + 0x20]
call fcn.6585e730
mov eax, edx
mov edx, dword [esp + 0x24]
mov dword [ecx + eax*4 + 0x18], edx
mov edx, dword [0x659aef10]
test edx, edx
jne 0x65814916
mov edx, dword [esp + 0x28]
mov dword [ecx + eax*4 + 0x1c], edx
mov edx, dword [esp + 0x2c]
mov dword [ecx + eax*4 + 0x20], edx
mov edx, dword [esp + 0x1c]
mov dword [ecx + eax*4 + 0x14], edx
jmp 0x65814937
mov edi, ebx
mov eax, dword [esp + 0x28]
call fcn.6585e730
mov edi, ebp
mov eax, dword [esp + 0x2c]
call fcn.6585e730
mov edi, esi
mov eax, dword [esp + 0x1c]
call fcn.6585e730
mov byte [0x659aecc6], 1
nop
lea eax, [0x659aed48]
mov dword [esp], eax
call fcn.6580a360
add esp, 0x18
ret
mov ecx, 0xcc
call fcn.6585e7c0
lea esi, [0x659af1e0]
xchg ebp, eax
mov byte [esi + ebx], al
xchg ebp, eax
lea eax, [ebx + 1]
cmp eax, 0x80
jge 0x65814861
mov ecx, eax
mov eax, 0xcccccccd
imul ecx
add edx, ecx
sar edx, 2
mov eax, ecx
sar ecx, 0x1f
sub edx, ecx
lea edx, [edx + edx*4]
mov ebx, eax
sub eax, edx
cmp eax, 5
jae 0x658149b3
lea edx, [0x658b71bc]
movzx ebp, byte [edx + eax]
cmp ebx, 0x80
jb 0x6581495b
mov eax, ebx
mov ecx, pe_nt_image_headers32
call fcn.6585e7b0
mov ecx, 5
call fcn.6585e7b0
lea eax, [0x658ebcbd]
mov dword [esp], eax
mov dword [esp + 4], 0x18
call fcn.65836520
nop
call fcn.6585d300
jmp fcn.658147c0
Function at 0x658281b0
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x65828320
sub esp, 0x1c
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.65825f70
mov eax, dword [esp + 4]
test eax, eax
je 0x65828309
mov dword [esp + 0xc], eax
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x18]
nop
inc dword [edx + 0x7c]
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0x14], ecx
mov dword [esp], eax
call fcn.65823f30
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
sub eax, dword [ecx + 0xc]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x24]
movzx ebx, byte [edx + 6]
mov byte [esp + 0xb], bl
lea ebp, [ecx + 0x48]
mov dword [esp + 0x18], ebp
nop
mov dword [esp], ebp
call fcn.6580a160
mov eax, dword [esp + 0xc]
lea ecx, [eax + 0x4c]
movzx edx, byte [esp + 0xb]
mov ebx, dword [esp + 0x10]
jmp 0x65828247
mov ecx, ebp
mov ebp, dword [ecx]
test ebp, ebp
je 0x658282ad
movzx esi, word [ebp + 4]
cmp esi, ebx
jne 0x6582825c
cmp byte [ebp + 6], dl
je 0x65828267
cmp esi, ebx
ja 0x658282ad
jne 0x65828245
cmp byte [ebp + 6], dl
jbe 0x65828245
jmp 0x658282ad
nop
nop
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.6580a360
nop
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x7c]
lea ebx, [edx - 1]
mov dword [ecx + 0x7c], ebx
cmp edx, 1
jne 0x658282a4
movzx ecx, byte [eax + 0x65]
test cl, cl
je 0x658282a4
mov dword [eax + 8], 0xfffffade
mov byte [esp + 0x28], 0
add esp, 0x1c
ret
mov edx, dword [esp + 0x24]
mov word [edx + 4], bx
mov ebx, dword [ecx]
mov dword [edx], ebx
mov dword [ecx], edx
mov dword [esp], eax
call fcn.658280b0
nop
nop
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.6580a360
nop
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x7c]
lea ebx, [edx - 1]
mov dword [ecx + 0x7c], ebx
cmp edx, 1
jne 0x65828300
movzx ecx, byte [eax + 0x65]
test cl, cl
je 0x65828300
mov dword [eax + 8], 0xfffffade
mov byte [esp + 0x28], 1
add esp, 0x1c
ret
lea eax, [0x658ed561]
mov dword [esp], eax
mov dword [esp + 4], 0x1d
call fcn.65836520
nop
call fcn.6585d300
jmp fcn.658281b0
Function at 0x65828790
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x658288ac
sub esp, 0x14
mov eax, dword [esp + 0x18]
movzx ecx, byte [eax + 6]
cmp cl, 1
je 0x65828825
cmp cl, 2
je 0x658287cd
cmp cl, 3
jne 0x65828895
mov byte [eax + 8], 1
jmp 0x65828891
mov ecx, dword [eax + 8]
mov dword [esp], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], ecx
call fcn.6582df20
nop
lea eax, [0x65993324]
mov dword [esp], eax
call fcn.6580a160
nop
mov eax, dword [0x659932f0]
sub eax, dword [0x659932d4]
mov dword [0x659932f0], eax
mov eax, dword [0x659932e0]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [0x659932e0], ecx
nop
lea eax, [0x65993324]
mov dword [esp], eax
call fcn.6580a360
jmp 0x65828891
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
mov ebp, dword [eax + 0x14]
mov esi, dword [esp + 0x1c]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.658147c0
nop
lea eax, [0x65993324]
mov dword [esp], eax
call fcn.6580a160
nop
mov eax, dword [0x659932c8]
sub eax, dword [0x659932ac]
mov dword [0x659932c8], eax
mov eax, dword [0x659932b8]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [0x659932b8], ecx
nop
nop
lea eax, [0x65993324]
mov dword [esp], eax
call fcn.6580a360
add esp, 0x14
ret
lea eax, [0x658e8cea]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.65836520
nop
call fcn.6585d300
jmp fcn.65828790
Function at 0x6584f7c0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6584f947
sub esp, 0x10
mov ecx, dword [esp + 0x18]
test ecx, ecx
jbe 0x6584f93d
mov edx, dword [esp + 0x14]
movzx ebx, byte [edx]
test ebx, ebx
jne 0x6584f81c
movzx ebp, byte [esp + 0x28]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x6584f81c
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov byte [esp + 0x38], 0
add esp, 0x10
ret
test ebx, 0x80
je 0x6584f82f
xor eax, eax
xor ebx, ebx
xor ebp, ebp
jmp 0x6584f912
mov eax, 1
mov ebp, ebx
and ebx, 1
neg ebx
shr ebp, 1
xor ebx, ebp
mov ebp, dword [esp + 0x24]
add dword [ebp], ebx
cmp ecx, eax
jb 0x6584f904
sub ecx, eax
mov ebx, dword [esp + 0x1c]
sub ebx, eax
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
lea ebx, [edx + eax]
test ecx, ecx
jbe 0x6584f8fb
movzx edx, byte [edx + eax]
test edx, 0x80
je 0x6584f886
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
xor eax, eax
xor edx, edx
xor esi, esi
jmp 0x6584f8cf
mov eax, 1
cmp eax, ecx
ja 0x6584f8bd
mov esi, dword [esp + 0x20]
add dword [esi], edx
sub ebp, eax
mov edx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
add ebx, ebp
mov dword [esp + 0x2c], ebx
sub ecx, eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov byte [esp + 0x38], 1
add esp, 0x10
ret
call fcn.6585e820
lea esi, [ecx + 7]
mov ecx, dword [esp + 8]
mov eax, ebp
mov ebp, dword [esp + 0xc]
cmp eax, ecx
jae 0x6584f8f6
movzx edi, byte [eax + ebx]
lea ebp, [eax + 1]
mov eax, edi
and edi, 0x7f
mov ecx, esi
shl edi, cl
or edx, edi
test al, 0x80
jne 0x6584f8c2
mov ecx, dword [esp + 8]
mov eax, ebp
mov ebp, dword [esp + 0xc]
jmp 0x6584f88b
call fcn.6585e7c0
xor eax, eax
mov ecx, eax
call fcn.6585e7b0
call fcn.6585e820
lea ebp, [ecx + 7]
mov ecx, dword [esp + 0x18]
mov eax, edi
cmp ecx, eax
jbe 0x6584f938
movzx esi, byte [eax + edx]
lea edi, [eax + 1]
mov eax, esi
and esi, 0x7f
mov ecx, ebp
shl esi, cl
or ebx, esi
test al, 0x80
jne 0x6584f909
mov ecx, dword [esp + 0x18]
mov eax, edi
jmp 0x6584f834
call fcn.6585e7c0
xor eax, eax
mov ecx, eax
call fcn.6585e7b0
nop
call fcn.6585d300
jmp fcn.6584f7c0
Function at 0x65856f40
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x65856fdf
sub esp, 0x30
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
lea edi, [esp + 0xc]
xor eax, eax
call fcn.6585e8f7
lea ecx, [0x65856ff0]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x34]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x28], ecx
lea ecx, [esp + 4]
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0xc]
mov dword [esp], ecx
call fcn.6585d1f0
mov ecx, dword [esp + 4]
mov dword [esp + 0x44], ecx
add esp, 0x30
ret
call fcn.6585d300
jmp fcn.65856f40