joyce8/EMBER2024-capa huggingface dataset:
Function at 0x433590
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov ecx, dword [ebp + 8]
call fcn.00423370
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x43368e
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 8]
cmp dword [edx + 0x14], 8
jb 0x4335c9
mov dword [ebp - 0x10], 1
jmp 0x4335d0
mov dword [ebp - 0x10], 0
mov al, byte [ebp - 0x10]
mov byte [ebp - 1], al
movzx ecx, byte [ebp - 1]
test ecx, ecx
je 0x4335ec
mov edx, dword [ebp - 8]
mov eax, dword [edx]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
movzx edx, word [ecx]
test edx, edx
je 0x43368e
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x14], 8
jb 0x433624
mov dword [ebp - 0x18], 1
jmp 0x43362b
mov dword [ebp - 0x18], 0
mov al, byte [ebp - 0x18]
mov byte [ebp - 2], al
movzx ecx, byte [ebp - 2]
test ecx, ecx
je 0x433647
mov edx, dword [ebp - 0xc]
mov eax, dword [edx]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x43368e
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x433679
mov dword [ebp - 0x20], 1
jmp 0x433680
mov dword [ebp - 0x20], 0
mov cl, byte [ebp - 0x20]
mov byte [ebp - 3], cl
movzx edx, byte [ebp - 3]
test edx, edx
je 0x433692
xor eax, eax
jmp 0x43369f
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00434550
mov esp, ebp
pop ebp
ret 8
Function at 0x434c60
Capabilities:
Check if file exists
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4963bd
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
cmp dword [ebp + 8], 0
je 0x434c99
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
test ecx, ecx
je 0x434c99
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x434ca0
xor al, al
jmp 0x434d2d
mov eax, dword [ebp + 8]
push eax
call fcn.00434db0
add esp, 4
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.0040dd70
mov dword [ebp - 4], 0
push 1
lea edx, [ebp - 0x2c]
push edx
call fcn.0044aaa0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.00423720
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp + 8], 0
je 0x434d0d
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
test edx, edx
je 0x434d0d
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x434d0d
mov dword [ebp - 0x10], 1
jmp 0x434d14
mov dword [ebp - 0x10], 0
cmp dword [ebp - 0x10], 0
jne 0x434d23
mov dword [ebp - 0x14], 1
jmp 0x434d2a
mov dword [ebp - 0x14], 0
mov al, byte [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret

Function at 0x434e70
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov dword [ebp - 0x14], 0
cmp dword [ebp + 8], 0
je 0x434e9b
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
test ecx, ecx
je 0x434e9b
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x434ea2
xor al, al
jmp 0x434f6f
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x10]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00434f80
add esp, 0x14
movzx edx, al
test edx, edx
je 0x434f34
mov eax, dword [ebp + 8]
push eax
push 0x4ac82c
push str._s:getSidAndDacl__s__ok
call fcn.00454b60
add esp, 0xc
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00435290
add esp, 0x14
movzx eax, al
test eax, eax
jne 0x434f2b
mov ecx, dword [ebp + 8]
push ecx
push 0x4ac944
push str._s:setDenyOrAccessDeleteFile__s__failed
call fcn.00454b60
add esp, 0xc
jmp 0x434f32
mov dword [ebp - 0x14], 1
jmp 0x434f4a
mov edx, dword [ebp + 8]
push edx
push str.CJHFileHelper::enableDenyFile
push str._s:getSidAndDacl__s__failed
call fcn.00454b60
add esp, 0xc
cmp dword [ebp - 8], 0
je 0x434f5c
mov eax, dword [ebp - 8]
push eax
call fcn.00466005
add esp, 4
cmp dword [ebp - 0x14], 0
je 0x434f68
mov byte [ebp - 1], 1
jmp 0x434f6c
mov byte [ebp - 1], 0
mov al, byte [ebp - 1]
mov esp, ebp
pop ebp
ret
Function at 0x435680
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x497898
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa8
cmp dword [ebp + 8], 0
je 0x4356bc
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
test ecx, ecx
je 0x4356bc
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4356c3
xor eax, eax
jmp 0x43579a
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x3c]
push ecx
call fcn.00430210
add esp, 8
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0
jne 0x4356ef
mov dword [ebp - 0x14], 1
jmp 0x4356f6
mov dword [ebp - 0x14], 0
mov al, byte [ebp - 0x14]
mov byte [ebp - 0xd], al
movzx ecx, byte [ebp - 0xd]
test ecx, ecx
jne 0x435781
movzx edx, byte [ebp + 0x10]
test edx, edx
je 0x43571c
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x3c]
push ecx
call fcn.00429b10
add esp, 8
lea ecx, [ebp - 0xb4]
call fcn.0047e360
mov byte [ebp - 4], 1
push 1
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0xb4]
call fcn.00486aa0
movzx ecx, al
cmp ecx, 1
jne 0x435751
mov dword [ebp - 0x18], 1
jmp 0x435758
mov dword [ebp - 0x18], 0
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x20], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb4]
call fcn.00403d70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.00423630
mov eax, dword [ebp - 0x20]
jmp 0x43579a
mov dword [ebp - 0x24], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.00423630
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x43e570
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4982ed
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6c
lea ecx, [ebp - 0x78]
call fcn.0041e380
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x78]
push ecx
call fcn.0043d8b0
add esp, 8
lea edx, [ebp - 0x78]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x14], 8
jb 0x43e5c8
mov dword [ebp - 0x20], 1
jmp 0x43e5cf
mov dword [ebp - 0x20], 0
mov dl, byte [ebp - 0x20]
mov byte [ebp - 0xd], dl
movzx eax, byte [ebp - 0xd]
test eax, eax
je 0x43e5eb
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], edx
cmp dword [ebp - 0x40], 0
je 0x43e6b3
lea eax, [ebp - 0x78]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x18]
cmp dword [edx + 0x14], 8
jb 0x43e61f
mov dword [ebp - 0x28], 1
jmp 0x43e626
mov dword [ebp - 0x28], 0
mov al, byte [ebp - 0x28]
mov byte [ebp - 0xe], al
movzx ecx, byte [ebp - 0xe]
test ecx, ecx
je 0x43e642
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x4c]
movzx edx, word [ecx]
test edx, edx
je 0x43e6b3
lea eax, [ebp - 0x78]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x1c]
cmp dword [edx + 0x14], 8
jb 0x43e676
mov dword [ebp - 0x30], 1
jmp 0x43e67d
mov dword [ebp - 0x30], 0
mov al, byte [ebp - 0x30]
mov byte [ebp - 0xf], al
movzx ecx, byte [ebp - 0xf]
test ecx, ecx
je 0x43e699
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x58]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x43e6d6
lea edx, [ebp - 0x78]
push edx
call fcn.0043e370
add esp, 4
mov dword [ebp - 0x5c], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x78]
call fcn.00423720
mov eax, dword [ebp - 0x5c]
jmp 0x43e6ef
mov dword [ebp - 0x60], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x78]
call fcn.00423720
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x44e510
Capabilities:
Get local ipv4 addresses

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [ebp - 4], ecx
cmp dword [ebp + 8], 0
jne 0x44e532
mov eax, dword [ebp - 4]
cmp dword [eax + 0xc], 0
jbe 0x44e532
mov eax, 1
jmp 0x44e602
mov dword [ebp - 0x10], 0x10
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], 0
mov dword [ebp - 0x18], 3
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xffffffff
mov edx, dword [ebp - 4]
cmp dword [edx + 4], 0
jne 0x44e57d
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
push ecx
call fcn.004661bc
add esp, 4
mov edx, dword [ebp - 4]
mov dword [edx + 4], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 4], 0
je 0x44e5d0
mov ecx, dword [ebp - 4]
add ecx, 8
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 4]
push eax
push 0
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.IPHLPAPI.DLL_GetAdaptersAddresses]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x6f
jne 0x44e5c8
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 4]
push ecx
call fcn.00466005
add esp, 4
mov edx, dword [ebp - 4]
mov dword [edx + 4], 0
jmp 0x44e5d0
cmp dword [ebp - 8], 0
jne 0x44e5d0
jmp 0x44e5e5
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x18]
jl 0x44e55f
cmp dword [ebp - 8], 0
jne 0x44e600
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov dword [edx + 0xc], ecx
mov eax, 1
jmp 0x44e602
xor eax, eax
mov esp, ebp
pop ebp
ret 4

Function at 0x44fcd0
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 8]
mov dword [ecx + eax + 0x10], 0
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp + 8]
mov dword [ecx + eax + 0x10], 0
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp + 8]
mov dword [ecx + eax], 0x67452301
mov edx, 4
shl edx, 0
mov eax, dword [ebp + 8]
mov dword [eax + edx], 0xefcdab89
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + ecx], 0x98badcfe
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp + 8]
mov dword [edx + ecx], 0x10325476
pop ebp
ret
Function at 0x451210
Capabilities:
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x498e6d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5c
lea ecx, [ebp - 0x68]
call fcn.0042eb00
mov dword [ebp - 4], 0
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x34], 1
cmp dword [ebp + 0xc], 0
je 0x451256
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
jmp 0x45125d
mov dword [ebp - 0x10], 0x4b574c
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.00468c16
add esp, 4
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x68]
call fcn.00401490
cmp dword [ebp + 0x10], 0
je 0x451290
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x14], edx
jmp 0x451297
mov dword [ebp - 0x14], 0x4b5750
mov eax, dword [ebp - 0x14]
push eax
call fcn.00468c16
add esp, 4
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ebp - 0x14]
push eax
lea ecx, [ebp - 0x50]
call fcn.00401490
cmp dword [ebp + 8], 0
jne 0x4512d3
lea ecx, [ebp - 0x68]
push ecx
push 0x450bd0
call dword [sym.imp.USER32.dll_EnumWindows]
jmp 0x4512e6
lea edx, [ebp - 0x68]
push edx
push 0x450bd0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_EnumChildWindows]
cmp dword [ebp + 0x14], 0
je 0x4512f8
lea ecx, [ebp - 0x68]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.004507b0
mov dword [ebp - 0x28], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.0042ec00
lea ecx, [ebp - 0x50]
call fcn.00423720
lea ecx, [ebp - 0x68]
call fcn.00423720
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x4534e0
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x499023
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
call fcn.0041e2b0
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x10]
add ecx, 0x18
call fcn.0041e2b0
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x10]
add ecx, 0x30
call fcn.0041e2b0
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x10]
call fcn.00453b80
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x4547c0
Capabilities:
Get session user name

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push ebx
push esi
push edi
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0x4d11f8
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov esi, dword [ebp - 0x10]
adc esi, 0
mov edi, dword [ebp - 8]
mov ebx, ecx
mov ecx, esi
lock cmpxchg8b qword [edi]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x14]
jne 0x4547d7
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x10]
jne 0x4547d7
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov edx, dword [ebp - 0x10]
adc edx, 0
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], edx
cmp dword [0x4cf3e8], 0
je 0x45488a
push 0x4d1218
push 0x4d1208
push 0x4d1210
push 0x4d1200
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcessTimes]
mov dword [ebp - 4], 0xff
lea eax, [ebp - 4]
push eax
push 0x4d1220
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
cmp dword [ebp - 4], 0x100
jae 0x454880
xor ecx, ecx
mov edx, dword [ebp - 4]
mov word [edx*2 + 0x4d1220], cx
mov dword [0x4cf3e8], 0
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0x4d1220
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [0x4d1204]
push eax
mov ecx, dword [0x4d1200]
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
push edx
push eax
movzx edx, word [ebp - 0x26]
push edx
movzx eax, word [ebp - 0x28]
push eax
movzx ecx, word [ebp - 0x2a]
push ecx
movzx edx, word [ebp - 0x2c]
push edx
movzx eax, word [ebp - 0x2e]
push eax
movzx ecx, word [ebp - 0x32]
push ecx
movzx edx, word [ebp - 0x34]
push edx
push str._04d__02d__02d__02d:_02d:_02d:_04d_016I64X_06d__06d__016I64X__016I64d__s
lea eax, [ebp - 0x4c]
push eax
call fcn.00421bf0
add esp, 0x48
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp + 8]
call fcn.0041e320
mov edx, dword [ebp - 0xc]
or edx, 1
mov dword [ebp - 0xc], edx
lea ecx, [ebp - 0x4c]
call fcn.00423720
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x455230
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
cmp dword [ebp + 8], 0
je 0x455254
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
test ecx, ecx
je 0x455254
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x45525b
xor eax, eax
jmp 0x4552fb
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.SHELL32.dll_ILCreateFromPathW]
mov dword [ebp - 8], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 8], 0
je 0x4552cc
push 0
push 0
push 0
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.SHELL32.dll_SHOpenFolderAndSelectItems]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x4552a6
mov edx, dword [ebp + 8]
push edx
push 0x4b7358
push str._s:SHOpenFolderAndSelectItems__s__ok
call fcn.00454b60
add esp, 0xc
jmp 0x4552c0
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
push 0x4b7394
push str._s:SHOpenFolderAndSelectItems__s__no:_d
call fcn.00454b60
add esp, 0x10
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.SHELL32.dll_ILFree]
jmp 0x4552e2
mov eax, dword [ebp + 8]
push eax
push str.CJHShellHelper::CmOpenFolder
push str._s:ILCreateFromPathW__s__failed
call fcn.00454b60
add esp, 0xc
cmp dword [ebp - 4], 0
jne 0x4552f1
mov dword [ebp - 0xc], 1
jmp 0x4552f8
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
Function at 0x456f50
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov dword [eax], 0x67452301
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], 0xefcdab89
mov edx, dword [ebp + 8]
mov dword [edx + 8], 0x98badcfe
mov eax, dword [ebp + 8]
mov dword [eax + 0xc], 0x10325476
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp + 8]
mov dword [eax + edx + 0x10], 0
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + 8]
mov dword [edx + ecx + 0x10], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0x18], 0
pop ebp
ret
Function at 0x458790
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], 0
jmp 0x4587a6
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 8
jge 0x4587c5
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax*4 + 0x4cf4d0]
mov dword [edx + ecx*4 + 0x88], eax
jmp 0x45879d
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], 0
mov edx, dword [ebp + 8]
mov dword [edx], 0
mov esp, ebp
pop ebp
ret
Function at 0x458dd0
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
cmp dword [ebp + 0x10], 0x40
jne 0x458deb
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], 0x40
jmp 0x458e63
cmp dword [ebp + 0x10], 0x40
jbe 0x458e14
mov dword [ebp - 8], 0x20
lea ecx, [ebp - 0x30]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.004585e0
add esp, 0xc
lea ecx, [ebp - 0x30]
mov dword [ebp - 0xc], ecx
jmp 0x458e20
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 8], eax
mov ecx, 0x40
sub ecx, dword [ebp - 8]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
push edx
push 0x36
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x2a0]
push edx
call fcn.0045d480
add esp, 0xc
mov eax, dword [ebp - 0x10]
push eax
push 0x5c
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x2e0]
push eax
call fcn.0045d480
add esp, 0xc
mov dword [ebp - 4], 0
jmp 0x458e75
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 8]
jge 0x458eaf
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 4]
movzx ecx, byte [eax]
xor ecx, 0x36
mov edx, dword [ebp + 8]
add edx, dword [ebp - 4]
mov byte [edx + 0x2a0], cl
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 4]
movzx ecx, byte [eax]
xor ecx, 0x5c
mov edx, dword [ebp + 8]
add edx, dword [ebp - 4]
mov byte [edx + 0x2e0], cl
jmp 0x458e6c
mov eax, dword [ebp + 8]
push eax
call fcn.00458790
add esp, 4
push 0x40
mov ecx, dword [ebp + 8]
add ecx, 0x2a0
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00458c10
add esp, 0xc
mov eax, dword [ebp + 8]
add eax, 0xa8
push eax
call fcn.00458790
add esp, 4
push 0x40
mov ecx, dword [ebp + 8]
add ecx, 0x2e0
push ecx
mov edx, dword [ebp + 8]
add edx, 0xa8
push edx
call fcn.00458c10
add esp, 0xc
push 0xa8
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x150
push ecx
call fcn.0045cf00
add esp, 0xc
push 0xa8
mov edx, dword [ebp + 8]
add edx, 0xa8
push edx
mov eax, dword [ebp + 8]
add eax, 0x1f8
push eax
call fcn.0045cf00
add esp, 0xc
mov esp, ebp
pop ebp
ret
Function at 0x459390
Capabilities:
Open clipboard
Read clipboard data
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
cmp dword [ebp + 8], 0
je 0x4593a6
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
test ecx, ecx
jne 0x4593ad
xor eax, eax
jmp 0x459512
mov dword [ebp - 0x18], 0
push 0
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x45950f
mov dword [ebp - 4], 0
cmp dword [ebp + 0xc], 0
je 0x459484
mov dword [ebp - 8], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.USER32.dll_EnumClipboardFormats]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4593fb
jmp 0x459484
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_GetClipboardData]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x459463
mov ecx, dword [ebp - 4]
push ecx
call fcn.00459520
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x459463
lea edx, [ebp - 8]
mov dword [ebp - 0x24], edx
lea eax, [ebp - 4]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx]
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.004592d0
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0x186a0
jle 0x459477
jmp 0x459484
mov edx, 1
test edx, edx
jne 0x4593e3
call dword [sym.imp.USER32.dll_EmptyClipboard]
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [eax + eax + 2]
push ecx
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x459509
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x459509
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [eax + eax + 2]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.0045cf00
add esp, 0xc
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edx, dword [ebp - 0xc]
push edx
push 0xd
call dword [sym.imp.USER32.dll_SetClipboardData]
test eax, eax
jne 0x459502
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x459509
mov dword [ebp - 0x18], 1
call dword [sym.imp.USER32.dll_CloseClipboard]
mov eax, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret