joyce8/EMBER2024-capa huggingface dataset:
Function at 0x78b00307
Capabilities:
Check if file exists
Get file attributes
Set file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
cmp dword [ebp + 8], 0
jne 0x78b0032f
call sym.MSVCR100.dll___doserrno
and dword [eax], 0
call sym.MSVCR100.dll__errno
mov dword [eax], 0x16
call sym.MSVCR100.dll__invalid_parameter_noinfo
or eax, 0xffffffff
pop ebp
ret
push dword [ebp + 8]
call dword [sym.imp.kernel32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x78b0034c
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
call fcn.78ac2c56
pop ecx
jmp 0x78b0032a
test byte [ebp + 0xc], 0x80
je 0x78b00357
and eax, 0xfffffffe
jmp 0x78b0035a
or eax, 1
push eax
push dword [ebp + 8]
call dword [sym.imp.kernel32.dll_SetFileAttributesW]
test eax, eax
je 0x78b0033d
xor eax, eax
pop ebp
ret

Function at 0x78b2c16f
Capabilities:
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x328
mov dword [0x78b58650], eax
mov dword [0x78b5864c], ecx
mov dword [0x78b58648], edx
mov dword [0x78b58644], ebx
mov dword [0x78b58640], esi
mov dword [0x78b5863c], edi
mov word [0x78b58668], ss
mov word [0x78b5865c], cs
mov word [0x78b58638], ds
mov word [0x78b58634], es
mov word [0x78b58630], fs
mov word [0x78b5862c], gs
pushfd
pop dword [0x78b58660]
mov eax, dword [ebp]
mov dword [0x78b58654], eax
mov eax, dword [ebp + 4]
mov dword [0x78b58658], eax
lea eax, [ebp + 8]
mov dword [0x78b58664], eax
mov eax, dword [ebp - 0x320]
mov dword [0x78b585a0], 0x10001
mov eax, dword [0x78b58658]
mov dword [0x78b58554], eax
mov dword [0x78b58548], 0xc0000409
mov dword [0x78b5854c], 1
mov eax, dword [0x78b54610]
mov dword [ebp - 0x328], eax
mov eax, dword [0x78b553f8]
mov dword [ebp - 0x324], eax
call dword [sym.imp.kernel32.dll_IsDebuggerPresent]
mov dword [0x78b58598], eax
push 1
call sym.MSVCR100.dll__crt_debugger_hook
pop ecx
push 0
call dword [sym.imp.kernel32.dll_SetUnhandledExceptionFilter]
push 0x78b2c270
call dword [sym.imp.kernel32.dll_UnhandledExceptionFilter]
cmp dword [0x78b58598], 0
jne 0x78b2c25b
push 1
call sym.MSVCR100.dll__crt_debugger_hook
pop ecx
push 0xc0000409
call dword [sym.imp.kernel32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.kernel32.dll_TerminateProcess]
leave
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 0x402d00
Capabilities:
Write file on windows

Disassembly:
push 0x2c
mov eax, 0x434516
call fcn.0041d834
mov ebx, dword [ebp + 8]
mov esi, ecx
cmp ebx, 0xffffffff
jne 0x402d20
xor eax, eax
call fcn.0041d8b7
ret 4
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
xor edi, edi
cmp ecx, edi
je 0x402d48
mov eax, dword [esi + 0x34]
mov edx, dword [eax]
add edx, ecx
cmp ecx, edx
jae 0x402d48
dec dword [eax]
mov esi, dword [esi + 0x24]
mov eax, dword [esi]
lea ecx, [eax + 1]
mov dword [esi], ecx
mov byte [eax], bl
mov eax, ebx
jmp 0x402d18
cmp dword [esi + 0x54], edi
jne 0x402d52
or eax, 0xffffffff
jmp 0x402d18
mov eax, esi
call fcn.00403b7c
cmp dword [esi + 0x44], edi
jne 0x402d74
push dword [esi + 0x54]
movsx eax, bl
push eax
call dword [sym.imp.MSVCR100.dll_fputc]
pop ecx
pop ecx
cmp eax, 0xffffffff
je 0x402d4d
jmp 0x402d44
push edi
push 8
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x2d], bl
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
call fcn.00408ace
mov dword [ebp - 4], edi
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x402e31
lea eax, [ebp - 0x2c]
mov ecx, eax
add eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x34]
push edx
push eax
push ecx
mov ecx, dword [esi + 0x44]
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x2d]
push eax
lea eax, [esi + 0x4c]
push eax
call dword [sym.imp.MSVCP100.dll_public:_int___thiscall_std::codecvt_char__char__int_::out_int___char_const___char_const___char_const____char___char___char___const]
test eax, eax
js 0x402e59
cmp eax, 1
jg 0x402e39
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x402de0
lea eax, [ebp - 0x2c]
mov edi, dword [ebp - 0x34]
sub edi, eax
je 0x402e07
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x402df3
lea eax, [ebp - 0x2c]
push dword [esi + 0x54]
push edi
push 1
push eax
call dword [sym.imp.MSVCR100.dll_fwrite]
add esp, 0x10
cmp edi, eax
jne 0x402e59
lea eax, [ebp - 0x2d]
mov byte [esi + 0x49], 1
cmp dword [ebp - 0x38], eax
jne 0x402e55
test edi, edi
jne 0x402d93
cmp dword [ebp - 0x1c], 0x20
jae 0x402e59
push edi
push 8
lea ecx, [ebp - 0x2c]
call fcn.00408ace
jmp 0x402d93
mov ecx, dword [ebp - 0x2c]
jmp 0x402da5
cmp eax, 3
jne 0x402e59
movsx eax, byte [ebp - 0x2d]
push dword [esi + 0x54]
push eax
call dword [sym.imp.MSVCR100.dll_fputc]
or esi, 0xffffffff
pop ecx
pop ecx
cmp eax, esi
je 0x402e5c
mov esi, ebx
jmp 0x402e5c
or esi, 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00408ace
mov eax, esi
jmp 0x402d18
Function at 0x403a82
Capabilities:
Write file on windows

Disassembly:
push 0x24
mov eax, 0x434700
call fcn.0041d834
xor edi, edi
cmp dword [esi + 0x44], edi
je 0x403b74
cmp byte [esi + 0x49], 0
je 0x403b74
mov eax, dword [esi]
push 0xffffffffffffffff
mov ecx, esi
call dword [eax + 0xc]
cmp eax, 0xffffffff
jne 0x403ab8
xor al, al
jmp 0x403b76
push edi
push 8
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
call fcn.00408ace
mov dword [ebp - 4], edi
lea ebx, [esi + 0x4c]
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x403b16
lea eax, [ebp - 0x2c]
mov ecx, eax
add eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x30]
push edx
push eax
push ecx
mov ecx, dword [esi + 0x44]
push ebx
call dword [sym.imp.MSVCP100.dll_public:_int___thiscall_std::codecvt_char__char__int_::unshift_int___char___char___char___const]
sub eax, 0
je 0x403b1b
dec eax
je 0x403b1f
dec eax
dec eax
je 0x403b70
xor bl, bl
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00408ace
mov al, bl
jmp 0x403b76
mov ecx, dword [ebp - 0x2c]
jmp 0x403ae5
mov byte [esi + 0x49], 0
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x403b2b
lea eax, [ebp - 0x2c]
mov edi, dword [ebp - 0x30]
sub edi, eax
je 0x403b52
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x403b3e
lea eax, [ebp - 0x2c]
push dword [esi + 0x54]
push edi
push 1
push eax
call dword [sym.imp.MSVCR100.dll_fwrite]
add esp, 0x10
cmp edi, eax
jne 0x403b04
cmp byte [esi + 0x49], 0
je 0x403b70
test edi, edi
jne 0x403ad7
push edi
push 8
lea ecx, [ebp - 0x2c]
call fcn.00408ace
jmp 0x403ad7
mov bl, 1
jmp 0x403b06
mov al, 1
call fcn.0041d8b7
ret
Function at 0x408295
Capabilities:
Write file on windows

Disassembly:
push 0x2c
mov eax, 0x434516
call fcn.0041d834
mov ebx, 0xffff
mov esi, ecx
cmp bx, word [ebp + 8]
jne 0x4082b5
xor eax, eax
jmp 0x408439
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
xor edi, edi
cmp ecx, edi
je 0x4082e6
mov eax, dword [esi + 0x34]
mov edx, dword [eax]
lea edx, [ecx + edx*2]
cmp ecx, edx
jae 0x4082e6
dec dword [eax]
mov esi, dword [esi + 0x24]
mov eax, dword [esi]
lea ecx, [eax + 2]
mov dword [esi], ecx
mov ecx, dword [ebp + 8]
mov word [eax], cx
mov ax, cx
jmp 0x408439
cmp dword [esi + 0x54], edi
je 0x408437
mov eax, esi
call fcn.00408f51
cmp dword [esi + 0x44], edi
jne 0x40831b
push dword [esi + 0x54]
push dword [ebp + 8]
call dword [sym.imp.MSVCR100.dll_fputwc]
pop ecx
cmp ax, bx
movzx eax, word [ebp + 8]
pop ecx
jne 0x408439
jmp 0x408437
movzx eax, word [ebp + 8]
push edi
push 8
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
call fcn.00408ace
mov dword [ebp - 4], edi
jmp 0x408342
xor edi, edi
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x4083e0
lea eax, [ebp - 0x2c]
mov ecx, eax
add eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x34]
push edx
push eax
push ecx
mov ecx, dword [esi + 0x44]
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x2e]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [esi + 0x4c]
push eax
call dword [sym.imp.MSVCP100.dll_public:_int___thiscall_std::codecvt_wchar_t__char__int_::out_int___wchar_t_const___wchar_t_const___wchar_t_const____char___char___char___const]
cmp eax, edi
jl 0x40842c
cmp eax, 1
jg 0x4083e8
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x40838f
lea eax, [ebp - 0x2c]
mov edi, dword [ebp - 0x34]
sub edi, eax
je 0x4083b6
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x4083a2
lea eax, [ebp - 0x2c]
push dword [esi + 0x54]
push edi
push 1
push eax
call dword [sym.imp.MSVCR100.dll_fwrite]
add esp, 0x10
cmp edi, eax
jne 0x408416
lea eax, [ebp - 0x30]
mov byte [esi + 0x4a], 1
cmp dword [ebp - 0x38], eax
jne 0x40841a
test edi, edi
jne 0x408340
cmp dword [ebp - 0x1c], 0x20
push edi
lea ecx, [ebp - 0x2c]
jae 0x408430
push 8
call fcn.00408ace
jmp 0x408340
mov ecx, dword [ebp - 0x2c]
jmp 0x408354
cmp eax, 3
jne 0x40842c
push dword [esi + 0x54]
push dword [ebp - 0x30]
call dword [sym.imp.MSVCR100.dll_fputwc]
movzx esi, word [ebp + 8]
pop ecx
pop ecx
cmp ax, bx
jne 0x408406
mov esi, ebx
push edi
push 1
lea ecx, [ebp - 0x2c]
call fcn.00408ace
mov ax, si
jmp 0x408439
push 0
jmp 0x40842d
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00408ace
mov ax, word [ebp + 8]
jmp 0x408439
push edi
lea ecx, [ebp - 0x2c]
push 1
call fcn.00408ace
mov eax, ebx
call fcn.0041d8b7
ret 4
Function at 0x408e53
Capabilities:
Write file on windows

Disassembly:
push 0x24
mov eax, 0x434700
call fcn.0041d834
xor ebx, ebx
cmp dword [esi + 0x44], ebx
je 0x408f49
cmp byte [esi + 0x4a], bl
je 0x408f49
mov eax, dword [esi]
mov edi, 0xffff
push edi
mov ecx, esi
call dword [eax + 0xc]
movzx eax, ax
cmp di, ax
jne 0x408e8f
xor al, al
jmp 0x408f4b
push ebx
push 8
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
call fcn.00408ace
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x408eeb
lea eax, [ebp - 0x2c]
mov ecx, eax
add eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x30]
push edx
push eax
push ecx
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0x4c]
push eax
call dword [sym.imp.MSVCP100.dll_public:_int___thiscall_std::codecvt_wchar_t__char__int_::unshift_int___char___char___char___const]
sub eax, ebx
je 0x408ef0
dec eax
je 0x408ef4
dec eax
dec eax
je 0x408f45
xor bl, bl
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00408ace
mov al, bl
jmp 0x408f4b
mov ecx, dword [ebp - 0x2c]
jmp 0x408eb8
mov byte [esi + 0x4a], 0
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x408f00
lea eax, [ebp - 0x2c]
mov edi, dword [ebp - 0x30]
sub edi, eax
je 0x408f27
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x408f13
lea eax, [ebp - 0x2c]
push dword [esi + 0x54]
push edi
push 1
push eax
call dword [sym.imp.MSVCR100.dll_fwrite]
add esp, 0x10
cmp edi, eax
jne 0x408ed9
cmp byte [esi + 0x4a], 0
je 0x408f45
cmp edi, ebx
jne 0x408eaa
push ebx
push 8
lea ecx, [ebp - 0x2c]
call fcn.00408ace
jmp 0x408eaa
mov bl, 1
jmp 0x408edb
mov al, 1
call fcn.0041d8b7
ret
Function at 0x40a136
Capabilities:
Create http request
Parse url

Disassembly:
push 0x78
mov eax, 0x43580f
call fcn.0041d834
mov eax, dword [ebp + 8]
xor ebx, ebx
push 0x3c
mov dword [ebp - 0x84], eax
lea eax, [edi + 0xc]
push ebx
push eax
mov esi, ecx
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
call dword [sym.imp.MSVCR100.dll_memset]
or ecx, 0xffffffff
mov dword [edi + 0x14], ecx
mov dword [edi + 0x20], ecx
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x44], ecx
mov ecx, 0xffff
lea eax, [edi + 0xc]
mov dword [eax], 0x3c
mov word [edi + 0x24], cx
mov ecx, dword [esi + 0x10]
add esp, 0xc
cmp dword [esi + 0x14], 8
jb 0x40a193
mov esi, dword [esi]
push eax
push ebx
push ecx
push esi
call dword [sym.imp.wininet.dll_InternetCrackUrlW]
test eax, eax
jne 0x40a1a8
xor al, al
jmp 0x40a262
push dword [edi + 0x1c]
lea ecx, [ebp - 0x2c]
call fcn.00408ace
mov dword [ebp - 4], ebx
push dword [edi + 0x20]
lea esi, [ebp - 0x48]
push ebx
push eax
call fcn.00408ace
push eax
lea ecx, [edi + 0x48]
mov byte [ebp - 4], 1
call fcn.00408ace
push ebx
push 1
mov ecx, esi
call fcn.00408ace
or dword [ebp - 4], 0xffffffff
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.00408ace
push dword [edi + 0x38]
lea ecx, [ebp - 0x64]
call fcn.00408ace
mov dword [ebp - 4], 2
push dword [edi + 0x3c]
lea esi, [ebp - 0x80]
push ebx
push eax
call fcn.00408ace
push eax
lea ecx, [edi + 0x64]
mov byte [ebp - 4], 3
call fcn.00408ace
push ebx
push 1
mov ecx, esi
call fcn.00408ace
push ebx
push 1
lea ecx, [ebp - 0x64]
call fcn.00408ace
mov eax, dword [ebp - 0x84]
cmp dword [eax + 0x14], 8
jb 0x40a238
mov eax, dword [eax]
push ebx
push ebx
push ebx
push ebx
push eax
call dword [sym.imp.wininet.dll_InternetOpenW]
mov dword [edi], eax
cmp eax, ebx
je 0x40a1a1
xor edx, edx
mov ecx, 0x417dbc
cmp edx, ecx
je 0x40a260
push ecx
push eax
call dword [sym.imp.wininet.dll_InternetSetStatusCallbackW]
mov al, 1
call fcn.0041d8b7
ret 4
Function at 0x40a368
Capabilities:
Read data from internet
Receive data

Disassembly:
push 0x1c
mov eax, 0x4357d4
call fcn.0041d7fe
xor esi, esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], esi
mov ebx, dword [ebp + 8]
push esi
push esi
lea eax, [ebp - 0x14]
push eax
push dword [ebx + 8]
mov dword [ebp - 0x14], esi
call dword [sym.imp.wininet.dll_InternetQueryDataAvailable]
mov dword [ebp - 0x1c], eax
cmp eax, esi
je 0x40a44a
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x14]
inc eax
push eax
call fcn.00408ace
mov edi, eax
mov eax, dword [ebp - 0x14]
pop ecx
inc eax
push eax
push esi
push edi
mov dword [ebp - 0x18], edi
call dword [sym.imp.MSVCR100.dll_memset]
add esp, 0xc
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x14]
push edi
push dword [ebx + 8]
call dword [sym.imp.wininet.dll_InternetReadFile]
mov dword [ebp - 0x1c], eax
cmp eax, esi
jne 0x40a3dc
mov dword [ebp - 0x14], esi
jmp 0x40a3ed
cmp dword [ebp - 0x14], esi
jbe 0x40a3ed
push dword [ebp - 0x14]
mov ecx, dword [ebp + 0xc]
push edi
call fcn.00408ace
or dword [ebp - 4], 0xffffffff
jmp 0x40a434
push dword [ebp - 0x18]
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
pop ecx
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x14], esi
ja 0x40a37c
cmp dword [ebp - 0x1c], esi
setne al
call fcn.0041d8a3
ret 8
Function at 0x40bfeb
Capabilities:
Get common file path

Disassembly:
push 0x884
mov eax, 0x4360f5
call fcn.0041d834
xor ebx, ebx
push 0x802
lea eax, [ebp - 0x818]
push ebx
push eax
mov esi, ecx
mov dword [ebp - 0x890], ebx
call dword [sym.imp.MSVCR100.dll_memset]
add esp, 0xc
lea eax, [ebp - 0x818]
push eax
push ebx
push ebx
push 0x801a
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jne 0x40c126
lea eax, [ebp - 0x818]
push eax
lea ecx, [ebp - 0x834]
call fcn.00408ace
lea eax, [ebp - 0x850]
push eax
mov ecx, esi
mov dword [ebp - 4], ebx
call fcn.00406685
pop ecx
push eax
lea eax, [ebp - 0x888]
push eax
mov byte [ebp - 4], 1
call fcn.00408ace
push 0x43dccc
push eax
lea eax, [ebp - 0x86c]
push eax
mov byte [ebp - 4], 2
call fcn.00408ace
add esp, 0x14
push ebx
push eax
or eax, 0xffffffff
lea esi, [ebp - 0x834]
mov byte [ebp - 4], 3
call fcn.00408ace
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x86c]
call fcn.00408ace
push ebx
push esi
lea ecx, [ebp - 0x888]
call fcn.00408ace
push ebx
push esi
lea ecx, [ebp - 0x850]
mov byte [ebp - 4], bl
call fcn.00408ace
lea edx, [ebp - 0x834]
lea ecx, [ebp - 0x850]
call fcn.00407a3d
call fcn.00407172
push ebx
push esi
lea ecx, [ebp - 0x850]
mov byte [ebp - 0x889], al
call fcn.00408ace
cmp byte [ebp - 0x889], bl
je 0x40c115
lea eax, [ebp - 0x834]
push eax
push edi
call fcn.004065d0
pop ecx
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x834]
call fcn.00408ace
jmp 0x40c132
or dword [ebp - 4], 0xffffffff
push ebx
push esi
lea ecx, [ebp - 0x834]
call fcn.00408ace
push 0x43d991
mov ecx, edi
call fcn.00408ace
mov eax, edi
call fcn.0041d8b7
ret

Function at 0x41246d
Capabilities:
Get common file path

Disassembly:
push 0x26c
mov eax, 0x436d28
call fcn.0041d834
xor esi, esi
push 0x20a
lea eax, [ebp - 0x220]
push esi
push eax
mov edi, ecx
mov dword [ebp - 0x25c], esi
call dword [sym.imp.MSVCR100.dll_memset]
add esp, 0xc
call fcn.00408ace
test al, al
je 0x412535
push str.IE_is_protected_mode_
lea ecx, [ebp - 0x23c]
call fcn.00408ace
push str.LogSession
lea ecx, [ebp - 0x258]
mov dword [ebp - 4], esi
call fcn.00408ace
lea ecx, [ebp - 0x258]
mov byte [ebp - 4], 1
call fcn.0040c291
push 0x43d991
lea ecx, [ebp - 0x278]
mov ebx, eax
call fcn.00408ace
push eax
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 2
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x40]
push esi
push 1
lea ecx, [ebp - 0x278]
call fcn.00408ace
push esi
push 1
lea ecx, [ebp - 0x258]
call fcn.00408ace
or dword [ebp - 4], 0xffffffff
push esi
push 1
lea ecx, [ebp - 0x23c]
call fcn.00408ace
call fcn.004123d2
jmp 0x412561
lea eax, [ebp - 0x220]
push eax
push esi
push esi
push 0x801a
push esi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
lea eax, [ebp - 0x220]
je 0x412559
mov eax, 0x43dad4
push eax
mov ecx, edi
call fcn.00408ace
mov eax, edi
call fcn.0041d8b7
ret
Function at 0x4126c0
Capabilities:
Get session user name

Disassembly:
push 0x260
mov eax, 0x43541e
call fcn.0041d834
xor eax, eax
xor esi, esi
mov dword [ebp - 0x26c], esi
mov word [ebp - 0x14], ax
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x214]
push eax
mov dword [ebp - 0x26c], pe_nt_image_headers32
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x24c]
call fcn.00408ace
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x230]
push eax
mov dword [ebp - 4], esi
call fcn.004065d0
pop ecx
pop ecx
push str.AdobeHeadlights
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 1
call fcn.00408ace
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 2
call fcn.00408ace
push eax
mov ecx, edi
call fcn.00408ace
push esi
push 1
lea ecx, [ebp - 0x268]
call fcn.00408ace
push esi
push 1
lea ecx, [ebp - 0x230]
call fcn.00408ace
push esi
push 1
lea ecx, [ebp - 0x24c]
call fcn.00408ace
mov eax, edi
call fcn.0041d8b7
ret
Function at 0x4127d8
Capabilities:
Hash data with md5

Disassembly:
push 0xb8
mov eax, 0x434a44
call fcn.0041d834
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
lea eax, [ebp - 0xac]
mov byte [ebp - 4], 2
push 0x68
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x94]
push ebx
push eax
call dword [sym.imp.MSVCR100.dll_memset]
mov edi, dword [ebp + 8]
add esp, 0xc
cmp dword [ebp + 0x1c], 0x10
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x8c], 0x67452301
mov dword [ebp - 0x88], 0xefcdab89
mov dword [ebp - 0x84], 0x98badcfe
mov dword [ebp - 0x80], 0x10325476
mov eax, edi
jae 0x41287b
lea eax, [ebp + 8]
add eax, dword [ebp + 0x18]
cmp dword [ebp + 0x1c], 0x10
mov dword [ebp - 0xc4], eax
jae 0x41288d
lea edi, [ebp + 8]
cmp edi, eax
je 0x4128be
mov al, byte [edi]
mov byte [ebp - 0x95], al
lea eax, [ebp - 0x95]
push 1
push eax
lea esi, [ebp - 0x94]
call fcn.00408ace
inc edi
pop ecx
pop ecx
cmp edi, dword [ebp - 0xc4]
jne 0x412891
mov esi, dword [ebp - 0xc0]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x94]
call fcn.0041299b
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], ebx
lea eax, [ebp - 0xbc]
push eax
mov byte [ebp - 4], 3
push dword [ebp - 0xa8]
lea edi, [ebp - 0x9c]
push dword [ebp - 0xac]
call fcn.00408ace
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xbc]
add esp, 0xc
push dword [ebp - 0x9c]
mov dword [esi + 0x14], 0xf
push eax
push ecx
mov dword [esi + 0x10], ebx
push esi
mov byte [esi], bl
call fcn.00412c56
mov edi, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
cmp dword [ebp - 0xbc], ebx
je 0x412948
push dword [ebp - 0xbc]
call edi
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], ebx
call fcn.00408ace
cmp dword [ebp - 0xac], ebx
je 0x412976
push dword [ebp - 0xac]
call edi
pop ecx
push ebx
push 1
lea ecx, [ebp + 8]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
call fcn.00408ace
mov eax, esi
call fcn.0041d8b7
ret
Function at 0x4130df
Capabilities:
Set registry value

Disassembly:
push 0x5c
mov eax, 0x435d8a
call fcn.0041d834
mov edi, dword [ebp + 8]
mov esi, ecx
cmp dword [esi], 0
mov ebx, edx
mov dword [ebp - 0x68], ebx
je 0x4131a6
cmp dword [ebx + 0x10], 0
je 0x4131a6
cmp dword [edi + 0x14], 8
jb 0x413112
mov eax, dword [edi]
jmp 0x413114
mov eax, edi
push eax
call dword [sym.imp.kernel32.dll_lstrlenW]
cmp dword [edi + 0x14], 8
lea edx, [eax + eax + 2]
jb 0x413129
mov ecx, dword [edi]
jmp 0x41312b
mov ecx, edi
cmp dword [ebx + 0x14], 8
jb 0x413135
mov eax, dword [ebx]
jmp 0x413137
mov eax, ebx
push edx
push ecx
xor ebx, ebx
inc ebx
push ebx
push 0
push eax
push dword [esi]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cdq
test eax, eax
jne 0x413151
test edx, edx
je 0x4131b0
lea eax, [ebp - 0x64]
push str.Set_registry_value
push eax
call fcn.00410777
and dword [ebp - 4], 0
push str._with_key:
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00408ace
push dword [ebp - 0x68]
lea ecx, [ebp - 0x2c]
push ecx
mov esi, eax
mov byte [ebp - 4], bl
call fcn.00408ace
add esp, 0x1c
xor esi, esi
push esi
push ebx
lea ecx, [ebp - 0x2c]
call fcn.00408ace
push esi
push ebx
lea ecx, [ebp - 0x48]
call fcn.00408ace
push esi
push ebx
lea ecx, [ebp - 0x64]
call fcn.00408ace
xor al, al
call fcn.0041d8b7
ret 4
mov al, bl
jmp 0x4131a8

Function at 0x4190d0
Capabilities:
Read file on windows

Disassembly:
cmp dword [esi + 0x3c], 0
jne 0x419126
cmp dword [esi + 4], 0
jne 0x41912f
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], 0
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
push eax
push 0x4000
push 1
push ecx
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
test eax, eax
mov dword [esi + 4], eax
jne 0x41912a
mov edx, dword [esi + 0x40]
push edx
mov dword [esi + 0x3c], 1
call dword [sym.imp.MSVCR100.dll_ferror]
add esp, 4
test eax, eax
je 0x419126
mov dword [esi + 0x38], 0xffffffff
or eax, 0xffffffff
ret
mov eax, dword [esi + 0x44]
mov dword [esi], eax
mov eax, dword [esi]
add dword [esi + 4], 0xffffffff
mov cl, byte [eax]
add eax, 1
mov dword [esi], eax
movzx eax, cl
ret