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

Disassembly:
inc eax
pop esi
xor dword [esi + 0xe], 0x31fcde5f
sub esi, 0xfffffffc
loop 0x401c01
je 0x401c26
jg 0x401be9
sal dword [esi], cl
add ecx, esi
mov al, byte [0xde6f3c21]
test al, 0xf2
pushal
lea edi, [ebx - 0x23]
mov dl, 0xb1
and bl, byte [esi]
invalid
das
add bl, byte [ecx - 0x1352432f]
mov al, byte [0xf799a479]
test dword [edi + 0x5e3c089a], eax
push edi
push 0xfc5c668d
js 0x401c91
push esi
invalid
pop edi
aad 0x81
retf

Function at 0x408c70
Capabilities:
Set socket configuration

Disassembly:
outsd dx, dword [esi]
mov ebp, esp
push ebx
mov ebx, dword [eax]
xor al, byte [esi + 0x2708758b]
mov edi, dword [ebp + 0x10]
mov eax, ebx
or eax, edi
jne 0x408cae
mov ecx, dword [esi + 0x20]
mov edi, ebp
and al, 0xb
enter 0xffffffffffff840f, 0xa
add dword [eax], eax
add byte [ebx - 0x17adc211], cl
dec ebp
invalid
or al, byte [ecx]
add byte [eax], al
mov ebp, edi
cmp eax, 0xff4de852
invalid
test edi, edi
jl 0x408d51
jg 0x408c8f
test ebx, ebx
jbe 0x638d47
mov ebx, dword [edx - 0x50b174e0]
or eax, ecx
jne 0x408cde
js 0x408d1a
add al, 0x51
call 0x47408bd0
sbb ebx, 4
rol eax, 0xf
test edi, eax
add byte [eax], al
aam 0x8b
push esi
and byte [ebx], bh
sal dword [ebp + 0xb], cl
mov edx, dword [esi + 0x20]
cmp edx, ebx
jne 0x408cf0
cmp dword [esi + 0x24], eax
cmp eax, edi
je 0x408d9d
call 0xaa9dee
push 0x7e8
cmp eax, 0x187e8d6c
call fcn.0040b590
mov esi, dword [edx]
add al, 0x65
sbb eax, sym.imp.WSOCK32.dll_setsockopt
push 4
push edi
push 0x1006
push 0xffff
push edx
mov bl, 0xa9
call ebx
mov ebp, dword [ebx + 0x57046a04]
push 0x6e1005
push 0xb742ffff
movsb byte es:[edi], byte [esi]
and edx, ebx
mov esi, eax
adc byte [ebx + 0x75430c5d], cl
pop ebx
mov dword [esi + 0x20], ebx
pop edi
mov al, 0x33
rcr byte [ebx + 0x5d], 0xc2
or al, 0
test edi, edi
jg 0x408dbc
jl 0x408d51
push ds
invalid
mov ecx, dword [esi + 4]
mov dword [ebp + 8], 0xa5000000
push ecx
call 0xe1408bd0
add esp, 0x7c
test eax, eax
jne 0x408da5
mov eax, dword [esi - 0x52]
xor eax, 0x40c1b856
aas
lea eax, [edx]
or byte [ebx + 0x6685204], bl
adc byte [eax], al
add byte [eax - 1], ch
dec dword [esi - 0x2800affd]
mov edx, dword [esi + 4]
xchg ebp, eax
mov ebp, edi

Function at 0x408d87
Capabilities:
Set socket configuration

Disassembly:
lea ecx, [ebp + 8]
push 0xe
push ecx
push 0x251005
push 0xffff
push edx
call edi
mov edi, dword [ebp + 0x10]
mov dword [esi + 0x20], ebx
mov dword [ebp + 0x24], esi
xor eax, eax
pop edi
pop esi
mov byte [ebp - 0x3e], bl
or al, 0
nop
nop
nop
pop ds
Function at 0x408190
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xa1960b21
mov ecx, 0x18b71962
rorx edx, eax, 0xb
sarx ecx, ecx, ecx
mulx eax, edx, ecx
xor eax, edx
mov ecx, 0xf5f7ffbe
pext eax, eax, ecx
cmp eax, 0x22f270c
sete al
ret

Function at 0x410b20
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x78
mov eax, dword [0x54d104]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ecx + 0x18]
push ebx
lea ebx, [ecx + 0x18]
push esi
mov esi, dword [eax + 0x14]
mov ecx, esi
push edi
push 2
push 0xffffc000
mov dword [ebp - 0x78], ebx
call dword [0x4f933c]
mov ecx, ebx
call esi
test eax, eax
jle 0x410c3a
mov eax, dword [ebx]
push 0x4000
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x4f933c]
mov ecx, ebx
call esi
mov edi, eax
test edi, edi
je 0x410c3a
cmp dword [edi + 0x3ff8], 0x53575341
jne 0x410b92
cmp dword [edi + 0x3ffc], 0x646e6769
je 0x410c0a
push 0x3ff0
mov edx, edi
mov dword [ebp - 0x70], 0
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x6c], 0x67452301
mov dword [ebp - 0x68], 0xefcdab89
mov dword [ebp - 0x64], 0x98badcfe
mov dword [ebp - 0x60], 0x10325476
call fcn.004962d0
add esp, 4
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x74]
call fcn.004963c0
lea edx, [edi + 0x3ff0]
mov esi, 0xc
lea ecx, [ebp - 0x18]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x410c0a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x410be7
push dword [ebp + 8]
push 0x3ff0
push edi
call fcn.00411150
mov ebx, eax
jmp 0x410c0f
mov ebx, 0xd
mov eax, dword [ebp - 0x78]
push edi
mov eax, dword [eax]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x4f933c]
mov ecx, dword [ebp - 0x78]
call esi
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004af3ab
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 8]
mov eax, 0x52
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004af3ab
mov esp, ebp
pop ebp
ret 4
Function at 0x415460
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x28
push esi
push edi
push 0x18
mov esi, ecx
mov dword [esp + 0x24], 0
xorps xmm0, xmm0
mov dword [esp + 0x28], 0
push str.www.google_analytics.com
lea ecx, [esp + 0x18]
movaps xmmword [esp + 0x18], xmm0
call fcn.0040a960
push 0
push 0
push 0
push 0
push str.Avast_SFX_1.0
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov dword [esp + 0xc], eax
test eax, eax
je 0x41552b
cmp dword [esp + 0x24], 8
lea ecx, [esp + 0x10]
push 0
cmovae ecx, dword [esp + 0x14]
push 0
push ecx
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov edi, eax
test edi, edi
je 0x415521
cmp dword [esi + 0x14], 8
jb 0x4154d8
mov esi, dword [esi]
push 0
push 0
push 0
push 0
push esi
push 0x529c60
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov esi, eax
test esi, esi
je 0x41551a
push 0
push 0
push 0
push 0
push 0
push 0
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
je 0x415513
push 0
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push dword [esp + 0xc]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
lea ecx, [esp + 0x10]
call fcn.0040aa40
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x4179c0
Capabilities:
Terminate thread

Disassembly:
push edi
mov edi, ecx
cmp dword [edi + 0x40], 0
mov dword [edi], vtable.ProgressAnimator.0
je 0x417a1a
mov eax, dword [edi + 0x48]
test eax, eax
je 0x4179ea
push 0
push 0
push 0x10
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov dword [edi + 0x48], 0
push 0x2710
push dword [edi + 0x40]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x417a0a
push 1
push dword [edi + 0x40]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push dword [edi + 0x40]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 0x40], 0
push ebx
mov ebx, dword [edi + 0x4c]
test ebx, ebx
je 0x417a3d
mov eax, dword [ebx]
push esi
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x4f933c]
mov ecx, ebx
call esi
mov dword [edi + 0x4c], 0
pop esi
push dword [edi + 8]
call dword [sym.imp.gdiplus.dll_GdiplusShutdown]
mov eax, dword [edi + 4]
pop ebx
test eax, eax
je 0x417a5c
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 4], 0
lea ecx, [edi + 0x24]
call fcn.0040aa40
lea ecx, [edi + 0xc]
pop edi
jmp fcn.0040aa40

Function at 0x418080
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x54d104]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
mov dword [ebp - 8], 0
cmp dword [esi + 0x40], 0
jne 0x4180de
lea eax, [ebp - 8]
push eax
push 0
push esi
push 0x417e70
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi + 0x40], eax
test eax, eax
je 0x4180de
mov eax, dword [esi + 4]
test eax, eax
je 0x4180cd
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov al, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004af3ab
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor al, al
xor ecx, ebp
pop esi
call fcn.004af3ab
mov esp, ebp
pop ebp
ret
Function at 0x41a570
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
xor ecx, ecx
push edi
mov dword [ebp - 4], ecx
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx ebx, ax
mov eax, ebx
and eax, 0x3ff
cmp eax, 0x1a
jne 0x41a5cd
mov ax, bx
shr ax, 0xa
cmp ax, 2
je 0x41a5c8
cmp ax, 3
je 0x41a5c8
cmp ax, 9
je 0x41a5c8
cmp ax, 0xa
je 0x41a5c8
cmp ax, 6
je 0x41a5c8
cmp ax, 7
je 0x41a5c8
cmp ax, 0xb
je 0x41a5c8
cmp ax, 0xc
jne 0x41a5cd
mov ebx, 0x81a
xor esi, esi
call fcn.00439e20
test eax, eax
je 0x41a610
xor edi, edi
nop word [eax + eax]
call fcn.00439d90
mov eax, dword [eax]
cmp bx, word [edi + eax + 0x40]
je 0x41a5fd
inc esi
add edi, 0x4c
call fcn.00439e20
cmp esi, eax
jb 0x41a5e0
jmp 0x41a610
call fcn.00439d90
imul ecx, esi, 0x4c
add ecx, dword [eax]
mov dword [ebp - 4], ecx
jne 0x41a6a8
and ebx, 0x3ff
xor esi, esi
call fcn.00439e20
test eax, eax
je 0x41a649
xor edi, edi
call fcn.00439d90
mov ecx, 0x3ff
mov eax, dword [eax]
mov ax, word [edi + eax + 0x40]
and ax, cx
cmp bx, ax
je 0x41a689
inc esi
add edi, 0x4c
call fcn.00439e20
cmp esi, eax
jb 0x41a623
mov ebx, dword [ebp - 4]
xor esi, esi
call fcn.00439e20
test eax, eax
je 0x41a680
xor edi, edi
nop dword [eax]
call fcn.00439d90
mov ecx, 0x409
mov eax, dword [eax]
cmp word [edi + eax + 0x40], cx
je 0x41a69e
inc esi
add edi, 0x4c
call fcn.00439e20
cmp esi, eax
jb 0x41a660
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00439d90
imul ebx, esi, 0x4c
add ebx, dword [eax]
je 0x41a64c
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00439d90
imul ecx, esi, 0x4c
add ecx, dword [eax]
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x41a6c0
Capabilities:
Get token privileges

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [0x54d104]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
lea eax, [ebp - 0xc]
mov dword [ebp - 0x10], ecx
push eax
push 8
xor bl, bl
mov dword [ebp - 0xc], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x41a78a
push edi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0
push 0
push 0x19
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
mov eax, dword [ebp - 8]
xor ecx, ecx
shr eax, 3
mov edx, 8
inc eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004af42f
add esp, 4
mov edi, eax
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push edi
push 0x19
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
je 0x41a777
push esi
mov esi, dword [edi]
push esi
call dword [sym.imp.ADVAPI32.dll_IsValidSid]
test eax, eax
je 0x41a776
push esi
call dword [sym.imp.ADVAPI32.dll_GetSidSubAuthorityCount]
movzx eax, byte [eax]
dec eax
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_GetSidSubAuthority]
mov ecx, dword [ebp - 0x10]
mov bl, 1
mov eax, dword [eax]
mov dword [ecx], eax
pop esi
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call fcn.004af421
add esp, 4
pop edi
mov ecx, dword [ebp - 4]
mov al, bl
xor ecx, ebp
pop ebx
call fcn.004af3ab
mov esp, ebp
pop ebp
ret
Function at 0x422300
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ee6ae
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x48
mov eax, dword [0x54d104]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, edx
mov dword [ebp - 0x40], eax
mov esi, ecx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x58], esi
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
movq qword [esi], xmm0
mov dword [esi + 8], 0
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0
push ecx
push eax
mov dword [ebp - 0x3c], 1
movlpd qword [ebp - 0x20], xmm0
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x4224a2
cmp dword [ebp - 0x1c], 0
jne 0x422496
mov edi, dword [ebp - 0x20]
cmp edi, 0x7fffffff
ja 0x422496
mov eax, dword [esi + 4]
mov ecx, eax
mov edx, dword [esi]
sub ecx, edx
mov dword [ebp - 0x38], eax
cmp edi, ecx
jae 0x4223c8
lea eax, [edx + edi]
jmp 0x4223f9
jbe 0x4223fc
mov eax, dword [esi + 8]
sub eax, edx
cmp edi, eax
jbe 0x4223e1
push ecx
push edi
mov ecx, esi
call fcn.00422ad0
mov edi, dword [ebp - 0x20]
jmp 0x4223fc
sub edi, ecx
push edi
push 0
push dword [ebp - 0x38]
call fcn.004b23a0
mov eax, dword [ebp - 0x38]
add esp, 0xc
add eax, edi
mov edi, dword [ebp - 0x20]
mov dword [esi + 4], eax
lea eax, [ebp - 0x34]
mov dword [ebp - 0x18], 0
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], 0
push eax
push edi
push dword [esi]
xorps xmm0, xmm0
push dword [ebp - 0x40]
movups xmmword [ebp - 0x34], xmm0
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4224c4
mov eax, dword [esi + 4]
mov ecx, eax
mov edx, dword [esi]
sub ecx, edx
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x38], eax
cmp edi, ecx
jae 0x422448
lea eax, [edx + edi]
mov dword [esi + 4], eax
jmp 0x422476
jbe 0x422476
mov eax, dword [esi + 8]
sub eax, edx
cmp edi, eax
jbe 0x42245e
push ecx
push edi
mov ecx, esi
call fcn.00422ad0
jmp 0x422476
sub edi, ecx
push edi
push 0
push dword [ebp - 0x38]
call fcn.004b23a0
mov ecx, dword [ebp - 0x38]
add esp, 0xc
add ecx, edi
mov dword [esi + 4], ecx
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004af3ab
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push str.get_file_content
push 0xdf
jmp 0x4224ae
push str.get_file_content:_GetFileSizeEx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x54]
call fcn.00495810
push 0x549cdc
lea eax, [ebp - 0x54]
push eax
call fcn.004b1dab
push str.get_file_content:_ReadFile
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x54]
call fcn.00495810
push 0x549cdc
lea eax, [ebp - 0x54]
push eax
call fcn.004b1dab
int3
Function at 0x428560
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4eefcd
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x54d104]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x28], eax
lea eax, [edi + 0x3c]
movlpd qword [ebp - 0x1c], xmm0
push eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x18], 0
call fcn.004ad883
add esp, 4
test eax, eax
jne 0x4286be
mov byte [ebp - 0x18], 1
push 0x48
mov dword [ebp - 4], eax
call fcn.004af3f1
add esp, 4
mov esi, eax
mov ecx, esi
push dword [ebp - 0x28]
call fcn.0049a510
mov eax, dword [ebp - 0x2c]
xorps xmm0, xmm0
movups xmmword [esi + 0x18], xmm0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
movups xmm0, xmmword [eax]
mov dword [ebp - 0x14], esi
movups xmmword [esi + 0x18], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x28], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], edi
mov dword [esi + 0x40], 0x428820
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 1
push eax
push 0
push esi
push 0x429c20
push 0
push 0
call fcn.004c1d2c
mov edx, eax
add esp, 0x18
mov dword [ebp - 0x24], edx
test edx, edx
je 0x4286b0
mov byte [ebp - 4], 2
mov ecx, dword [edi + 0x70]
cmp ecx, dword [edi + 0x74]
je 0x428674
mov eax, dword [ebp - 0x20]
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov dword [ecx], edx
mov dword [ecx + 4], eax
add dword [edi + 0x70], 8
jmp 0x428681
lea eax, [ebp - 0x24]
push eax
push ecx
lea ecx, [edi + 0x6c]
call fcn.00425720
cmp dword [ebp - 0x20], 0
jne 0x4286c4
lea eax, [edi + 0x3c]
push eax
call fcn.004ad8a8
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004af3ab
mov esp, ebp
pop ebp
ret 0xc
push 6
mov dword [ebp - 0x20], 0
call fcn.004ad148
push eax
call fcn.004ad11b
call fcn.004c0585
int3
Function at 0x4286d0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ef034
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x54d104]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 0xc]
lea ebx, [edi + 0x3c]
xorps xmm0, xmm0
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x10]
movlpd qword [ebp - 0x1c], xmm0
push ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x18], 0
call fcn.004ad883
add esp, 4
test eax, eax
jne 0x428809
mov byte [ebp - 0x18], 1
push 0x48
mov dword [ebp - 4], eax
call fcn.004af3f1
mov esi, eax
add esp, 4
mov dword [ebp - 0x14], esi
push dword [ebp - 0x28]
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.0049a5c0
push dword [ebp - 0x2c]
lea ecx, [esi + 0x18]
mov byte [ebp - 4], 2
call fcn.00422c70
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], esi
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], edi
mov dword [esi + 0x40], 0x428820
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 3
push eax
push 0
push esi
push 0x429c20
push 0
push 0
call fcn.004c1d2c
mov edx, eax
add esp, 0x18
mov dword [ebp - 0x24], edx
test edx, edx
je 0x4287fb
mov byte [ebp - 4], 4
mov ecx, dword [edi + 0x70]
cmp ecx, dword [edi + 0x74]
je 0x4287c1
mov eax, dword [ebp - 0x20]
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov dword [ecx], edx
mov dword [ecx + 4], eax
add dword [edi + 0x70], 8
jmp 0x4287ce
lea eax, [ebp - 0x24]
push eax
push ecx
lea ecx, [edi + 0x6c]
call fcn.00425720
cmp dword [ebp - 0x20], 0
jne 0x42880f
push ebx
call fcn.004ad8a8
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004af3ab
mov esp, ebp
pop ebp
ret 0xc
push 6
mov dword [ebp - 0x20], 0
call fcn.004ad148
push eax
call fcn.004ad11b
call fcn.004c0585
int3
Function at 0x43e1b0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f04d0
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x54d104]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x10], eax
push 8
mov dword [eax], vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
call fcn.004af3f1
mov esi, eax
xorps xmm0, xmm0
movq qword [esi], xmm0
push 1
mov dword [ebp - 4], 0
call fcn.004acd44
mov dword [esi + 4], eax
add esp, 8
mov eax, dword [ebp - 0x10]
lea edi, [eax + 0x14]
lea ecx, [eax + 0x18]
lea edx, [eax + 0x24]
mov dword [eax + 0x34], esi
lea ebx, [eax + 4]
mov dword [eax + 0xc], ebx
lea esi, [eax + 8]
mov dword [eax + 0x10], esi
mov dword [eax + 0x1c], edi
mov dword [eax + 0x20], ecx
mov dword [eax + 0x2c], edx
add eax, 0x28
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebx + 0x30], eax
mov ebx, dword [ebp - 0x14]
mov dword [esi], 0
mov dword [ecx], 0
mov dword [eax], 0
mov eax, dword [ebp - 0x10]
mov dword [ebx], 0
mov dword [edi], 0
mov dword [edx], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4457d0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f0d8d
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x54d104]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, edx
push ecx
push 1
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 0
push eax
call fcn.004919a0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
push ecx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
push ecx
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x1c], 8
push ecx
push 0
push dword [ebp + 8]
push dword [eax]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push str.Cannot_query_registry_value
mov ecx, eax
call fcn.00490070
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov ebx, dword [ebp - 0x28]
add esp, 4
mov esi, dword [ebp - 0x18]
mov byte [ebp - 4], 0
cmp byte [ebp - 0x30], dl
mov eax, dword [ebp - 0x34]
cmove eax, edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], eax
test eax, eax
je 0x445884
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x445881
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], 0
cmp esi, 0xb
jne 0x4458bd
mov dword [edi], ebx
mov al, 1
mov dword [edi + 4], ecx
jmp 0x4458a1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004af3ab
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.004157c0
push eax
push 0xb
lea ecx, [ebp - 0x50]
call fcn.0048fff0
push 0x54a0b4
lea eax, [ebp - 0x50]
push eax
call fcn.004b1dab
int3

Function at 0x446610
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f0f18
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x54d104]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
xorps xmm0, xmm0
xor eax, eax
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
mov word [edi], ax
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], eax
mov dword [edi + 0x30], eax
mov dword [ebp - 4], eax
movups xmmword [edi + 0x38], xmm0
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], 7
mov word [edi + 0x38], ax
mov dword [edi + 0x60], eax
mov dword [edi + 0x64], eax
mov dword [edi + 0x68], eax
lea esi, [edi + 0x70]
mov byte [ebp - 4], 1
push 0x2c
mov dword [ebp - 0x14], esi
mov dword [esi], eax
mov dword [esi + 4], eax
call fcn.004af3f1
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret