joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4562d7
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
jne 0x4562eb
xor eax, eax
pop ebp
ret
call dword [sym.imp.USER32.dll_EmptyClipboard]
test eax, eax
jne 0x4562fd
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x4562e7
push esi
push dword [ebp + 0x14]
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
jne 0x456318
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x45634f
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
call fcn.00479420
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
push 0xd
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
test eax, eax
jne 0x456353
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
xor eax, eax
jmp 0x456356
xor eax, eax
inc eax
pop esi
pop ebp
ret

Function at 0x458286
Capabilities:
Log keystrokes via polling

Disassembly:
push 0x88
mov eax, 0x4c0fed
call fcn.00435f52
mov esi, ecx
cmp dword [esi + 0x4f0], 0
mov ebx, dword [ebp + 0x14]
je 0x45837a
cmp dword [ebp + 8], 0x100
jne 0x458360
cmp word [ebp + 0xc], 0xd
jne 0x4582f9
cmp byte [esi + 0x4f6], 0
je 0x4582da
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x4582f9
cmp byte [esi + 0x4f7], 0
jne 0x4582f9
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x4582f2
push 0
push 0
push 0
push str.return
push esi
call fcn.0043ca01
xor eax, eax
jmp 0x45837d
cmp dword [ebp + 0xc], 0x43
jne 0x458360
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x458360
lea eax, [ebp - 0x94]
mov ecx, esi
push eax
call fcn.00456ac3
and dword [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.00438a47
lea ecx, [ebp - 0x94]
lea eax, [eax*2 + 2]
push eax
call fcn.0042b18c
mov ecx, dword [esi + 0x40]
push eax
push 0x2042
call fcn.00437747
push eax
call fcn.004562d7
add esp, 0x10
lea ecx, [ebp - 0x94]
call fcn.00438503
jmp 0x4582f2
mov eax, dword [esi + 0x4f0]
push ebx
push dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, dword [ecx]
call dword [eax + 0xc]
jmp 0x45837d
xor eax, eax
inc eax
call fcn.00435efc
ret 0x10
Function at 0x4588c0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x414
mov eax, dword [0x4f130c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x458976
movzx eax, word [esi]
test ax, ax
je 0x458976
push edi
mov edi, esi
mov ecx, esi
cmp ax, 0x2f
je 0x458900
cmp ax, 0x5c
jne 0x458902
mov edi, ecx
add ecx, 2
movzx eax, word [ecx]
test ax, ax
jne 0x4588f4
cmp edi, esi
je 0x458949
sub edi, esi
lea eax, [ebp - 0x20c]
sar edi, 1
push edi
push esi
push eax
call fcn.00485e7b
add edi, edi
add esp, 0xc
cmp edi, 0x208
jae 0x458986
xor eax, eax
mov word [ebp + edi - 0x20c], ax
lea eax, [ebp - 0x20c]
push eax
push ebx
call fcn.004588c0
pop ecx
pop ecx
lea eax, [ebp - 0x414]
push ebx
push eax
call fcn.0047de41
lea eax, [ebp - 0x414]
push esi
push eax
call fcn.00481900
add esp, 0x10
lea eax, [ebp - 0x414]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.00435ed6
mov esp, ebp
pop ebp
ret
call fcn.004363a7
int3

Function at 0x458f4b
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ecx
push edi
mov edi, ecx
cmp dword [edi], 0
jne 0x458fc7
cmp dword [edi + 4], 0xffffffff
jne 0x458fc7
push esi
lea esi, [edi + 0x138]
push esi
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push 0x4c6d90
push esi
call fcn.00481900
cmp dword [ebp + 0x10], 1
pop ecx
pop ecx
pop esi
jne 0x458f99
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 1
je 0x458f99
mov eax, 0x2000000
jmp 0x458fcc
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0045b466
add esp, 0x10
test eax, eax
jne 0x458fb7
mov eax, dword [ebp - 4]
jmp 0x458fcc
push eax
call fcn.0045bb6e
mov dword [edi], eax
mov eax, dword [0x4f8ec0]
pop ecx
jmp 0x458fcc
mov eax, 0x1000000
pop edi
mov esp, ebp
pop ebp
ret 0xc
Function at 0x45b573
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 0xc]
imul esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 0x14]
cmp byte [edi], 0
je 0x45b5a7
push 0
lea eax, [ebp + 0x10]
push eax
push esi
push dword [ebp + 8]
push dword [edi + 4]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x45b5a2
mov byte [edi + 8], 1
mov eax, dword [ebp + 0x10]
jmp 0x45b5ce
mov edx, dword [edi + 0x18]
lea eax, [edx + esi]
cmp eax, dword [edi + 0x14]
jbe 0x45b5b7
mov esi, dword [edi + 0x14]
sub esi, edx
mov ecx, dword [edi + 0x10]
push esi
add ecx, edx
push ecx
push dword [ebp + 8]
call fcn.00479420
add esp, 0xc
mov eax, esi
add dword [edi + 0x18], esi
xor edx, edx
div dword [ebp + 0xc]
pop edi
pop esi
pop ebp
ret

Function at 0x45b741
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 0xc]
test edx, edx
jne 0x45b74f
xor eax, eax
pop ebp
ret
mov ecx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x10]
not ecx
cmp esi, 8
jb 0x45b80e
push edi
mov edi, esi
shr edi, 3
movzx eax, byte [edx]
sub esi, 8
xor eax, ecx
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x4cee60]
movzx eax, byte [edx + 1]
xor eax, ecx
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x4cee60]
movzx eax, byte [edx + 2]
xor eax, ecx
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x4cee60]
movzx eax, byte [edx + 3]
xor eax, ecx
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x4cee60]
movzx eax, byte [edx + 4]
xor eax, ecx
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x4cee60]
movzx eax, byte [edx + 5]
xor eax, ecx
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x4cee60]
movzx eax, byte [edx + 6]
xor eax, ecx
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x4cee60]
movzx eax, byte [edx + 7]
add edx, 8
xor eax, ecx
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x4cee60]
sub edi, 1
jne 0x45b767
pop edi
test esi, esi
je 0x45b82a
movzx eax, byte [edx]
xor eax, ecx
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x4cee60]
inc edx
sub esi, 1
jne 0x45b812
not ecx
mov eax, ecx
pop esi
pop ebp
ret
Function at 0x464db9
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [esi + 8]
and edi, 7
je 0x464ddd
cmp dword [esi + 8], edi
jge 0x464dd5
push esi
call fcn.0046305a
pop ecx
mov ecx, edi
shr dword [esi + 0xc], cl
sub dword [esi + 8], edi
mov edx, dword [esi + 8]
xor ecx, ecx
test edx, edx
jle 0x464e06
mov edi, dword [esi + 0xc]
mov al, byte [esi + 0xc]
sub edx, 8
mov byte [ebp + ecx + 8], al
inc ecx
shr edi, 8
mov dword [esi + 0xc], edi
test edx, edx
jg 0x464de9
mov dword [esi + 8], edx
cmp ecx, 4
jge 0x464e23
mov edx, dword [esi]
cmp edx, dword [esi + 4]
jb 0x464e11
xor eax, eax
jmp 0x464e19
mov al, byte [edx]
inc edx
mov dword [esi], edx
movzx eax, al
mov byte [ebp + ecx + 8], al
inc ecx
cmp ecx, 4
jl 0x464e08
mov eax, dword [ebp + 8]
movzx ecx, byte [ebp + 0xb]
movzx edi, ah
movzx eax, al
shl edi, 8
add edi, eax
shl ecx, 8
movzx eax, byte [ebp + 0xa]
add ecx, eax
mov eax, edi
xor eax, 0xffff
cmp ecx, eax
je 0x464e58
push str.zlib_corrupt
call fcn.00462f15
add esp, 4
jmp 0x464e95
mov eax, dword [esi]
add eax, edi
cmp eax, dword [esi + 4]
jbe 0x464e68
push str.read_past_buffer
jmp 0x464e4e
mov eax, dword [esi + 0x10]
add eax, edi
cmp eax, dword [esi + 0x18]
jbe 0x464e7f
push edi
push esi
call fcn.00462f24
pop ecx
pop ecx
test eax, eax
je 0x464e95
push edi
push dword [esi]
push dword [esi + 0x10]
call fcn.00479420
add dword [esi], edi
xor eax, eax
add dword [esi + 0x10], edi
add esp, 0xc
inc eax
pop edi
pop esi
pop ebp
ret
Function at 0x46d1eb
Capabilities:
Get file size
Read file on windows

Disassembly:
push 0x2cc
mov eax, 0x4c22df
call fcn.00435f52
mov dword [ebp - 0x2d8], ecx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x2cc], ebx
call fcn.0043a2e2
push eax
lea ecx, [ebp - 0x94]
call fcn.004383c8
xor edi, edi
mov dword [ebp - 4], edi
call fcn.0043a2e8
mov ecx, eax
call fcn.00438b9b
test al, al
je 0x46d2d9
push ebx
lea ecx, [ebp - 0x94]
call fcn.004385f7
push edi
push 0x80
push 3
push edi
push 1
push SysReAllocStringLen
lea ecx, [ebp - 0x94]
call fcn.0042b18c
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x46d27c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call fcn.00438503
jmp 0x46d3ba
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test esi, esi
je 0x46d268
push esi
mov dword [ebp - 0x2c8], edi
call fcn.004368fa
pop ecx
push 0
mov edi, eax
lea eax, [ebp - 0x2c8]
push eax
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2c8], esi
je 0x46d3a5
push edi
call fcn.00435ffa
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call fcn.00438503
jmp 0x46d3b8
call fcn.0043a2e8
push eax
lea ecx, [ebp - 0x94]
call fcn.004385da
call fcn.0043a41b
test al, al
je 0x46d2fa
call fcn.0043a2ee
jmp 0x46d311
push 2
push edi
lea ecx, [ebp - 0x94]
call fcn.0042b18c
push eax
call fcn.00458fd3
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x46d268
lea eax, [ebp - 0x2c4]
push eax
lea eax, [ebp - 0x2d4]
push eax
push 1
push dword [ebp - 0x2cc]
push ebx
call fcn.00458a14
add esp, 0x14
test eax, eax
jne 0x46d268
mov esi, dword [ebp - 0x98]
test esi, esi
je 0x46d268
push esi
call fcn.004368fa
push 3
push esi
mov edi, eax
push edi
push dword [ebp - 0x2d4]
push ebx
call fcn.00459393
add esp, 0x18
test eax, eax
je 0x46d395
cmp eax, 0x600
je 0x46d395
push edi
call fcn.00435ffa
pop ecx
call fcn.0043a41b
test al, al
jne 0x46d2c5
push ebx
call fcn.0045886e
jmp 0x46d2c4
call fcn.0043a41b
test al, al
jne 0x46d3a5
push ebx
call fcn.0045886e
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call fcn.00438503
test edi, edi
jne 0x46d42c
xor edi, edi
push edi
push 0x80
push 3
push edi
push 1
push SysReAllocStringLen
push dword [ebp - 0x2cc]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x46d428
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test esi, esi
je 0x46d428
push esi
mov dword [ebp - 0x2d0], edi
call fcn.004368fa
pop ecx
push 0
mov edi, eax
lea eax, [ebp - 0x2d0]
push eax
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2d0], esi
je 0x46d424
push edi
call fcn.00435ffa
pop ecx
xor edi, edi
test edi, edi
jne 0x46d42c
xor eax, eax
jmp 0x46d447
mov ecx, dword [ebp - 0x2d8]
push esi
push edi
call fcn.0046d44f
push 1
push edi
mov esi, eax
call fcn.00435ec8
pop ecx
pop ecx
mov eax, esi
call fcn.00435efc
ret 4
Function at 0x474189
Capabilities:
Get file size
Read file on windows

Disassembly:
push 0x8c
mov eax, 0x4bfee6
call fcn.00435f52
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
call fcn.0043a2e2
push eax
lea ecx, [ebp - 0x94]
call fcn.004383c8
xor edi, edi
lea ecx, [ebp - 0x94]
push esi
mov dword [ebp - 4], edi
call fcn.004385f7
push edi
push 0x80
push 3
push edi
push 1
push SysReAllocStringLen
lea ecx, [ebp - 0x94]
call fcn.0042b18c
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x474233
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebx], eax
test eax, eax
je 0x474233
and dword [ebp - 0x98], 0
push eax
call fcn.004368fa
pop ecx
push 0
mov esi, eax
lea eax, [ebp - 0x98]
push eax
push dword [ebx]
push esi
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebx]
je 0x474235
push esi
call fcn.00435ffa
pop ecx
xor esi, esi
lea ecx, [ebp - 0x94]
call fcn.00438503
mov eax, esi
call fcn.00435efc
ret
Function at 0x47483c
Capabilities:
Check if file exists

Disassembly:
push 0xb0
mov eax, 0x4c29d3
call fcn.00435f52
mov edi, dword [ebp + 8]
xor ebx, ebx
mov esi, dword [ebp + 0xc]
xor eax, eax
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x48], ebx
mov word [ebp - 0x58], ax
cmp dword [esi + 0x14], 8
mov dword [ebp - 4], ebx
jb 0x474876
mov eax, dword [esi]
jmp 0x474878
mov eax, esi
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.004746b9
pop ecx
pop ecx
cmp dword [esi + 0x14], 8
mov byte [ebp - 4], 1
jb 0x474893
mov esi, dword [esi]
lea eax, [ebp - 0x40]
push esi
push eax
call fcn.0047452c
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 2
cmovae eax, dword [ebp - 0x40]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.00474340
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 3
cmovae eax, dword [ebp - 0x40]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0047443d
add esp, 0x18
xor eax, eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], ebx
mov word [ebp - 0x28], ax
xor esi, esi
mov byte [ebp - 4], 5
inc esi
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x28]
call fcn.0040238a
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x28]
call fcn.004271e7
push 0x4d40e0
call fcn.0047de63
pop ecx
push eax
push 0x4d40e0
lea ecx, [ebp - 0x28]
call fcn.00427286
mov eax, esi
cdq
push edx
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.00475e4d
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
call fcn.004271e7
push ebx
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 5
call fcn.004022f3
push 0x4d40e4
call fcn.0047de63
pop ecx
push eax
push 0x4d40e4
lea ecx, [ebp - 0x28]
call fcn.00427286
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x28]
call fcn.004271e7
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4749af
inc esi
cmp esi, 0x3e8
jl 0x4748ec
lea eax, [ebp - 0x58]
jmp 0x4749b2
lea eax, [ebp - 0x28]
push eax
mov ecx, edi
call fcn.004273a8
xor esi, esi
lea ecx, [ebp - 0x28]
push ebx
inc esi
push esi
call fcn.004022f3
push ebx
push esi
lea ecx, [ebp - 0x70]
call fcn.004022f3
push ebx
push esi
lea ecx, [ebp - 0x88]
call fcn.004022f3
push ebx
push esi
lea ecx, [ebp - 0x40]
call fcn.004022f3
push ebx
push esi
lea ecx, [ebp - 0xa0]
call fcn.004022f3
push ebx
push esi
lea ecx, [ebp - 0x58]
call fcn.004022f3
mov eax, edi
call fcn.00435efc
ret
Function at 0x47629e
Capabilities:
Check if file exists
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
push dword [ebp + 8]
call fcn.0047de63
mov dword [ebp - 8], eax
xor ecx, ecx
push 2
inc eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004368fa
push dword [ebp + 8]
mov dword [ebp - 4], eax
push eax
call fcn.0047de41
add esp, 0x10
call fcn.00478304
test al, al
je 0x4762f5
push eax
pop edx
pop edi
pop edi
push ebp
pop ecx
push ecx
push edi
push esp
push edi
push esi
push ebp
pop esi
pop ecx
pop esp
push esi
pop esp
push ecx
push esp
push eax
pop ecx
pop ecx
call fcn.004783d3
test al, al
je 0x47631a
pop ebx
push ecx
pop edx
push ebp
push edx
pop edi
pop edi
pop esp
push ebp
pop esi
pop edx
pop ebp
pop esi
pop edx
push edi
pop ebp
push ebp
push edi
push ebp
pop edx
push ebp
push esi
pop esi
pop esi
pop ebp
push edx
push ebp
pop esp
call fcn.00478304
test al, al
je 0x47633a
pop esi
push ebp
pop edx
pop edx
push ebp
push edi
pop eax
push ebp
pop edx
pop ecx
pop esp
push esp
pop edi
push esp
pop edx
push ebp
push esi
push edi
push edi
pop ebx
pop ebp
pop ebx
push esp
mov edi, dword [ebp - 8]
xor esi, esi
xor ebx, ebx
inc esi
test edi, edi
js 0x4763af
mov esi, dword [ebp - 4]
cmp word [esi + ebx*2], 0x5c
jne 0x4763a7
call fcn.00478235
test al, al
je 0x47637c
push edi
pop ecx
push esi
push ebx
push edi
push ebp
push ebp
push esp
pop eax
pop edi
pop ecx
pop ebp
pop ecx
pop esp
push esi
pop eax
pop ebp
push ebp
push ebp
push eax
pop edi
push edx
push eax
push eax
pop ebp
push ebx
pop edx
push ebp
pop esi
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 8]
movzx eax, word [esi + ebx*2]
mov dword [ebp - 0xc], eax
xor eax, eax
push esi
mov word [esi + ebx*2], ax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4763a0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x4763c1
mov eax, dword [ebp - 0xc]
mov word [esi + ebx*2], ax
inc ebx
cmp ebx, edi
jle 0x476349
xor esi, esi
inc esi
push dword [ebp - 4]
call fcn.00435ffa
pop ecx
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor esi, esi
jmp 0x4763af

Function at 0x4763c5
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
mov eax, dword [0x4f130c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x20c]
push esi
push edi
xor esi, esi
push 0x208
push esi
push eax
mov dword [ebp - 0x210], esi
call fcn.0047a360
add esp, 0xc
lea eax, [ebp - 0x20c]
push esi
push 0x1a
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
call fcn.00478235
test al, al
je 0x476432
push edi
pop ecx
push esi
push ebx
push edi
push ebp
push ebp
push esp
pop eax
pop edi
pop ecx
pop ebp
pop ecx
pop esp
push esi
pop eax
pop ebp
push ebp
push ebp
push eax
pop edi
push edx
push eax
push eax
pop ebp
push ebx
pop edx
push ebp
pop esi
lea eax, [ebp - 0x20c]
mov ecx, ebx
push eax
call fcn.00401dcf
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00435ed6
mov esp, ebp
pop ebp
ret
Function at 0x476549
Capabilities:
Get common file path
Get program files directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x4f130c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
xor esi, esi
mov dword [ebp - 0x210], eax
push 0x208
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x214], esi
push esi
push eax
call fcn.0047a360
add esp, 0xc
lea eax, [ebp - 0x20c]
push esi
push 0x26
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
call fcn.004781ab
test al, al
je 0x4765b6
push esi
push edx
push edx
push ecx
pop eax
push ebp
push esp
pop edx
pop edi
push eax
push edx
pop ecx
pop ecx
push edi
push ebx
pop edx
pop esi
push esi
push edi
pop edx
pop eax
push eax
push eax
call fcn.004781f0
test al, al
je 0x4765d6
pop esi
push ebp
pop ebx
push ecx
pop esp
pop ebx
push esi
push ecx
pop ebp
pop esi
pop edi
pop ebp
push esp
pop esi
pop edx
push ebp
push esp
push ecx
pop edx
pop esi
pop esp
pop eax
pop ebx
call fcn.004785b6
test al, al
je 0x4765f2
pop esi
push eax
pop edx
pop esp
push edi
push ebp
push eax
push esp
pop edx
push esp
pop esi
pop esi
pop ebp
pop ebx
pop eax
pop eax
pop edi
pop ebx
push esi
mov ecx, dword [ebp - 0x210]
lea eax, [ebp - 0x20c]
push eax
call fcn.00401dcf
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x210]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00435ed6
mov esp, ebp
pop ebp
ret

Function at 0x47661b
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x4f130c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
and dword [ebp - 0x214], 0
push ebx
push esi
push edi
push 0x208
mov dword [ebp - 0x210], eax
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.0047a360
add esp, 0xc
lea eax, [ebp - 0x20c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
call fcn.004781ab
test al, al
je 0x476689
push esi
push edx
push edx
push ecx
pop eax
push ebp
push esp
pop edx
pop edi
push eax
push edx
pop ecx
pop ecx
push edi
push ebx
pop edx
pop esi
push esi
push edi
pop edx
pop eax
push eax
push eax
call fcn.004781f0
test al, al
je 0x4766a9
pop esi
push ebp
pop ebx
push ecx
pop esp
pop ebx
push esi
push ecx
pop ebp
pop esi
pop edi
pop ebp
push esp
pop esi
pop edx
push ebp
push esp
push ecx
pop edx
pop esi
pop esp
pop eax
pop ebx
call fcn.004785b6
test al, al
je 0x4766c5
pop esi
push eax
pop edx
pop esp
push edi
push ebp
push eax
push esp
pop edx
push esp
pop esi
pop esi
pop ebp
pop ebx
pop eax
pop eax
pop edi
pop ebx
push esi
mov ecx, dword [ebp - 0x210]
lea eax, [ebp - 0x20c]
push eax
call fcn.00401dcf
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x210]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00435ed6
mov esp, ebp
pop ebp
ret
Function at 0x4766ee
Capabilities:
Create process on windows
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24c
mov eax, dword [0x4f130c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push esi
mov dword [ebp - 0x210], esi
call fcn.0047de63
pop ecx
test eax, eax
je 0x47683d
call fcn.004785fb
test al, al
je 0x47673a
pop edx
pop eax
pop eax
push ebp
push edx
pop ebx
push esi
pop ecx
push esp
push eax
push esp
pop ebp
push ebx
pop ebp
pop ecx
pop ebp
push eax
pop edx
push ebx
pop ebp
push ebp
push 0x104
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
lea eax, [ebp - 0x200]
push str.Program_FilesInternet_Exploreriexplore.exe
push eax
call fcn.0047de41
lea eax, [ebp - 0x20c]
push esi
push eax
call fcn.00481900
push 0x3c
lea eax, [ebp - 0x24c]
push 0
push eax
call fcn.0047a360
add esp, 0x1c
mov dword [ebp - 0x240], str.open
mov dword [ebp - 0x248], 0x200
mov dword [ebp - 0x238], esi
mov dword [ebp - 0x230], 1
call fcn.00478166
test al, al
je 0x4767c7
push esi
push ebp
push edi
push ebx
pop edx
push esi
pop ebp
pop edx
pop edx
pop ebp
push ecx
pop esp
push esp
pop ecx
pop eax
push edx
push edx
pop ebp
pop ebp
pop ebx
push ebx
pop edx
push eax
pop ecx
push eax
push esp
push ebp
push ecx
pop esp
call fcn.0047870f
test al, al
je 0x4767f4
push edi
pop esi
pop ebp
pop esp
pop eax
pop ecx
push esi
pop esp
push ebp
push esp
push esp
pop edi
push esi
push ebp
pop ebx
push ecx
push eax
pop edx
pop edx
pop esi
push esp
push eax
push edx
push esi
pop ebp
push esp
push ebx
push ebx
push edi
push esi
mov esi, dword [ebp - 0x210]
call fcn.00478052
test al, al
je 0x47680f
pop edx
pop esp
pop edi
push edx
pop esp
push esi
push ebp
pop esp
pop eax
push eax
pop eax
pop ecx
pop ebp
pop ebp
pop eax
push edx
pop ebx
pop esp
push 1
xor ebx, ebx
push ebx
push ebx
push esi
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
ja 0x47683a
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x20c]
push ebx
push ecx
call fcn.00475f94
add esp, 0x14
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00435ed6
mov esp, ebp
pop ebp
ret