joyce8/EMBER2024-capa huggingface dataset:
Function at 0x432b80
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00432ac0
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x432bdb
call fcn.00510ea9
cmp dword [eax], 0x22
jne 0x432bc7
push 0x587e38
call fcn.0050cfcc
mov edx, 0x20
shl edx, 1
add eax, edx
push eax
call fcn.0051078b
add esp, 8
jmp 0x432bd4
push 0x587e98
call fcn.00510215
add esp, 4
push 1
call fcn.00510643
cmp dword [0x5b4d2c], 0
je 0x432c1f
cmp dword [ebp + 0x10], 0
je 0x432bf2
mov eax, dword [ebp + 0x10]
mov dword [ebp - 8], eax
jmp 0x432bf9
mov dword [ebp - 8], str._stdout_
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 8]
push eax
push 0x587ed0
call fcn.0050cfcc
mov ecx, 0x20
shl ecx, 1
add eax, ecx
push eax
call fcn.0051078b
add esp, 0x10
mov edx, dword [0x5b4d28]
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], 0xc
ja case.default.0x432c35
mov eax, dword [ebp - 0xc]
jmp dword [eax*4 + 0x432d64]
mov ecx, dword [0x5b4d28]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00430ea0
add esp, 0xc
jmp 0x432d52
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00431690
add esp, 8
jmp 0x432d52
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004319b0
add esp, 8
jmp 0x432d52
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.00431e10
add esp, 8
jmp 0x432d52
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00432290
add esp, 8
jmp 0x432d52
push 1
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004328b0
add esp, 0xc
jmp 0x432d52
push 0
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004328b0
add esp, 0xc
jmp 0x432d52
push 0
push 0
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.004325d0
add esp, 0x10
jmp 0x432d52
push 0
push 1
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.004325d0
add esp, 0x10
jmp 0x432d52
push 1
push 0
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004325d0
add esp, 0x10
jmp 0x432d52
push 1
push 1
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.004325d0
add esp, 0x10
jmp 0x432d52
push 0x587eb8
call fcn.0050cfcc
mov ecx, 0x20
shl ecx, 1
add eax, ecx
push eax
call fcn.0051078b
add esp, 8
push 1
call fcn.00510643
mov edx, dword [ebp - 4]
push edx
call fcn.0046a14c
add esp, 4
mov esp, ebp
pop ebp
ret
Function at 0x433330
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 0x10]
mov dword [0x5a9900], eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0050beb0
add esp, 4
mov dword [ebp - 4], eax
cmp dword [0x5b4d30], 0
je 0x433384
cmp dword [0x5b4d48], 4
jle 0x433384
push 4
push 0x588034
call fcn.0050cfcc
mov edx, 0x20
shl edx, 1
add eax, edx
push eax
call fcn.0051078b
add esp, 0xc
push 1
call fcn.00510643
jmp 0x4333bb
cmp dword [0x5b4d30], 0
jne 0x4333bb
cmp dword [0x5b4d48], 0x28
jle 0x4333bb
push 0x28
push str.Version_should_be_less_or_equal_to__d._n
call fcn.0050cfcc
mov ecx, 0x20
shl ecx, 1
add eax, ecx
push eax
call fcn.0051078b
add esp, 0xc
push 1
call fcn.00510643
cmp dword [0x5a9904], 0
jge 0x4333e3
cmp dword [0x5b4d30], 0
je 0x4333d9
mov dword [0x5a9904], 2
jmp 0x4333e3
mov dword [0x5a9904], 4
cmp dword [0x5b4d30], 0
je 0x433444
cmp dword [0x5b4d48], 0
jne 0x433418
push str.Version_must_be_specified_to_encode_a_Micro_QR_Code_symbol._n
call fcn.0050cfcc
mov edx, 0x20
shl edx, 1
add eax, edx
push eax
call fcn.0051078b
add esp, 8
push 1
call fcn.00510643
cmp dword [0x5b4d40], 0
je 0x433444
push str.Micro_QR_Code_does_not_support_structured_symbols._n
call fcn.0050cfcc
mov ecx, 0x20
shl ecx, 1
add eax, ecx
push eax
call fcn.0051078b
add esp, 8
push 1
call fcn.00510643
cmp dword [0x5b4d40], 0
je 0x43348f
cmp dword [0x5b4d48], 0
jne 0x433479
push str.Version_must_be_specified_to_encode_structured_symbols._n
call fcn.0050cfcc
mov edx, 0x20
shl edx, 1
add eax, edx
push eax
call fcn.0051078b
add esp, 8
push 1
call fcn.00510643
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00432e00
add esp, 0xc
jmp 0x4334a3
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00432b80
add esp, 0xc
mov esp, ebp
pop ebp
ret
Function at 0x4376e0
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54dd34
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x20]
call fcn.0043cb30
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x10]
mov dword [edx + 8], 0
mov eax, dword [ebp + 8]
add eax, 0xc
push eax
call fcn.00407ea0
add esp, 4
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0xc
call fcn.0040ae40
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x10]
add ecx, 0x24
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp + 8]
add edx, 0x24
push edx
mov ecx, dword [ebp - 0x24]
call fcn.0043d190
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x10]
add eax, 0x2c
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov dword [ecx], vtable.cpr::StringHolder_class_cpr::Url_.0
mov edx, dword [ebp + 8]
add edx, 0x30
push edx
call fcn.00407ea0
add esp, 4
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 4
call fcn.0040ae40
mov eax, dword [ebp - 0x14]
mov dword [eax], vtable.cpr::Url.0
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
movsd xmm0, qword [0x58c0f0]
movsd qword [ecx + 0x48], xmm0
mov edx, dword [ebp + 8]
add edx, 0x50
push edx
mov ecx, dword [ebp - 0x10]
add ecx, 0x50
call fcn.00437dc0
mov byte [ebp - 4], 4
mov eax, dword [ebp + 8]
add eax, 0x5c
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x5c
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov dword [edx], ecx
mov edx, dword [ebp - 0x18]
add edx, 4
push edx
mov ecx, dword [ebp - 0x1c]
add ecx, 4
call fcn.00407270
mov eax, dword [ebp + 8]
add eax, 0x78
push eax
call fcn.00407ea0
add esp, 4
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x78
call fcn.0040ae40
mov ecx, dword [ebp + 8]
add ecx, 0x90
push ecx
call fcn.00407ea0
add esp, 4
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x90
call fcn.0040ae40
mov edx, dword [ebp + 8]
add edx, 0xa8
push edx
call fcn.00407ea0
add esp, 4
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0xa8
call fcn.0040ae40
mov eax, dword [ebp - 0x10]
mov dword [eax + 0xd0], 0
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
movsd xmm0, qword [edx + 0x48]
movsd qword [ecx + 0x48], xmm0
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc0]
mov dword [eax + 0xc0], edx
mov ecx, dword [ecx + 0xc4]
mov dword [eax + 0xc4], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc8]
mov dword [edx + 0xc8], ecx
mov eax, dword [eax + 0xcc]
mov dword [edx + 0xcc], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xd0]
mov dword [ecx + 0xd0], eax
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 4
Function at 0x437be0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54de08
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov dword [ecx], 0
mov edx, dword [ebp - 0x18]
mov dword [edx + 4], 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.0043efd0
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp + 8]
add ecx, 0xc
push ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0xc
call fcn.00407270
mov byte [ebp - 4], 1
mov edx, dword [ebp + 8]
add edx, 0x24
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x14]
add eax, 0x24
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0xd]
push ecx
mov ecx, dword [ebp - 0x20]
call fcn.004076f0
mov dword [ebp - 0x30], eax
lea edx, [ebp - 0xe]
push edx
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.00434680
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x14]
add ecx, 0x2c
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
mov dword [edx], vtable.cpr::StringHolder_class_cpr::Url_.0
mov eax, dword [ebp + 8]
add eax, 0x30
push eax
mov ecx, dword [ebp - 0x1c]
add ecx, 4
call fcn.00407270
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], vtable.cpr::Url.0
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
movsd xmm0, qword [eax + 0x48]
movsd qword [edx + 0x48], xmm0
mov ecx, dword [ebp + 8]
add ecx, 0x50
push ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x50
call fcn.00437dc0
mov byte [ebp - 4], 4
mov edx, dword [ebp + 8]
add edx, 0x5c
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x14]
add eax, 0x5c
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x24]
add ecx, 4
push ecx
mov ecx, dword [ebp - 0x28]
add ecx, 4
call fcn.00407270
mov byte [ebp - 4], 5
mov edx, dword [ebp + 8]
add edx, 0x78
push edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x78
call fcn.00407270
mov byte [ebp - 4], 6
mov eax, dword [ebp + 8]
add eax, 0x90
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x90
call fcn.00407270
mov byte [ebp - 4], 7
mov ecx, dword [ebp + 8]
add ecx, 0xa8
push ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0xa8
call fcn.00407270
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc0]
mov dword [edx + 0xc0], ecx
mov eax, dword [eax + 0xc4]
mov dword [edx + 0xc4], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc8]
mov dword [ecx + 0xc8], eax
mov edx, dword [edx + 0xcc]
mov dword [ecx + 0xcc], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xd0]
mov dword [eax + 0xd0], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
Function at 0x4503e0
Capabilities:
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54f560
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x28], 0
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x30], esp
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x10], 0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x10]
add eax, 8
push eax
mov ecx, dword [ebp - 0x1c]
call fcn.0043ccb0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 4], 1
mov edx, dword [ebp - 0x10]
add edx, 0x20
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x38], esp
push edx
call fcn.0041c080
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x10]
add ecx, 0x30
mov dword [ebp - 0x24], ecx
sub esp, 0x10
mov edx, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov dl, byte [ecx]
mov byte [eax], dl
mov eax, dword [ebp - 0x24]
add eax, 4
push eax
mov ecx, dword [ebp - 0x18]
add ecx, 4
call fcn.00434340
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x44], ecx
mov byte [ebp - 4], 3
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x48], esp
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
mov dword [eax], vtable.cpr::StringHolder_class_cpr::Url_.0
mov ecx, dword [ebp - 0x10]
add ecx, 0x44
push ecx
mov ecx, dword [ebp - 0x14]
add ecx, 4
call fcn.00407270
mov edx, dword [ebp - 0x14]
mov dword [edx], vtable.cpr::Url.0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0043f610
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x28]
or edx, 1
mov dword [ebp - 0x28], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x450510
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54f588
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x50
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x14]
add eax, 4
mov dword [ebp - 0x24], eax
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x38], esp
mov dword [ebp - 0x28], ecx
lea edx, [ebp - 0xd]
push edx
mov ecx, dword [ebp - 0x24]
call fcn.004076f0
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0xe]
push eax
mov ecx, dword [ebp - 0x24]
push ecx
mov ecx, dword [ebp - 0x28]
call fcn.00434680
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x40], edx
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x14]
add eax, 0xc
mov dword [ebp - 0x2c], eax
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x44], esp
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov cl, byte [eax]
mov byte [edx], cl
mov edx, dword [ebp - 0x2c]
add edx, 4
push edx
mov ecx, dword [ebp - 0x1c]
add ecx, 4
call fcn.004341e0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x14]
add ecx, 0x1c
mov dword [ebp - 0x30], ecx
sub esp, 0x10
mov edx, esp
mov dword [ebp - 0x4c], esp
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx]
mov byte [eax], dl
mov eax, dword [ebp - 0x30]
add eax, 4
push eax
mov ecx, dword [ebp - 0x20]
add ecx, 4
call fcn.00434340
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x50], ecx
mov byte [ebp - 4], 2
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x54], esp
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
mov dword [eax], vtable.cpr::StringHolder_class_cpr::Url_.0
mov ecx, dword [ebp - 0x14]
add ecx, 0x30
push ecx
mov ecx, dword [ebp - 0x18]
add ecx, 4
call fcn.00407270
mov edx, dword [ebp - 0x18]
mov dword [edx], vtable.cpr::Url.0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
call fcn.0043f6c0
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x34]
or edx, 1
mov dword [ebp - 0x34], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x453150
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov dword [ebp - 4], 0
xor eax, eax
mov word [ebp - 0x20c], ax
push 0x206
push 0
lea ecx, [ebp - 0x20a]
push ecx
call fcn.0050c840
add esp, 0xc
lea edx, [ebp - 0x20c]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [ebp - 0x20c]
push eax
mov ecx, dword [ebp + 8]
call fcn.0040b530
mov ecx, dword [ebp - 4]
or ecx, 1
mov dword [ebp - 4], ecx
mov eax, dword [ebp + 8]
mov esp, ebp
pop ebp
ret
Function at 0x453260
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54f780
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6c
mov dword [ebp - 4], 0
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x48]
call fcn.0040b500
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0x10]
sub eax, dword [ebp + 0xc]
cdq
mov ecx, 0x18
idiv ecx
test eax, eax
je 0x453352
mov dword [ebp - 0x10], 0
jmp 0x4532bd
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [ebp + 0x10]
sub eax, dword [ebp + 0xc]
cdq
mov ecx, 0x18
idiv ecx
cmp dword [ebp - 0x10], eax
jae 0x453347
imul edx, dword [ebp - 0x10], 0x18
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
push eax
push 0x588e24
lea ecx, [ebp - 0x78]
push ecx
call fcn.00412d20
add esp, 0xc
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], edx
mov byte [ebp - 4], 2
push 0x588e1c
mov eax, dword [ebp - 0x20]
push eax
lea ecx, [ebp - 0x60]
push ecx
call fcn.00412de0
add esp, 0xc
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x28]
push eax
lea ecx, [ebp - 0x48]
call fcn.00413530
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x60]
call fcn.0040b670
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x78]
call fcn.0040b670
jmp 0x4532b4
lea ecx, [ebp - 0x48]
call fcn.0040b760
mov dword [ebp - 0x14], eax
push 6
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov ecx, dword [ebp + 0x18]
push ecx
push 0
mov edx, dword [ebp - 0x14]
push edx
mov ecx, dword [ebp + 8]
call fcn.0040b760
push eax
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov dword [ebp - 0x2c], eax
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48]
call fcn.0040b670
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.004227c0
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x453450
Capabilities:
Create directory
Get file attributes

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x70
push 0xffffffffffffffff
push 0x54f7b0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x60
mov dword [ebp + 0x68], 0
lea ecx, [ebp + 0x48]
call fcn.0040b500
mov dword [ebp - 4], 0
lea ecx, [ebp + 0x18]
call fcn.0040b500
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0x78]
push eax
lea ecx, [ebp + 0x48]
call fcn.0040b690
push 2
push 0
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp + 0x48]
call fcn.00422440
mov dword [ebp + 0x34], eax
mov edx, dword [ebp + 0x34]
push edx
lea ecx, [ebp + 0x18]
call fcn.0040b5c0
lea ecx, [ebp - 0x24]
call fcn.0040b670
lea ecx, [ebp + 0x48]
call fcn.00407600
push eax
push 3
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp + 0x48]
call fcn.00422440
mov dword [ebp + 0x44], eax
mov ecx, dword [ebp + 0x44]
push ecx
lea ecx, [ebp + 0x48]
call fcn.0040b5c0
lea ecx, [ebp - 0x54]
call fcn.0040b670
cmp dword [ebp + 0x68], 0
jl 0x4535dc
mov edx, 0x5c
mov word [ebp + 0x64], dx
push 1
push 0
lea eax, [ebp + 0x64]
push eax
lea ecx, [ebp + 0x48]
call fcn.00453730
mov dword [ebp + 0x68], eax
mov ecx, dword [ebp + 0x68]
push ecx
push 0
lea edx, [ebp - 0x3c]
push edx
lea ecx, [ebp + 0x48]
call fcn.00422440
mov dword [ebp + 0x30], eax
mov eax, dword [ebp + 0x30]
mov dword [ebp + 0x3c], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp + 0x3c]
push ecx
push 0x5c
lea edx, [ebp]
push edx
call fcn.00453810
add esp, 0xc
mov dword [ebp + 0x60], eax
mov eax, dword [ebp + 0x60]
mov dword [ebp + 0x40], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp + 0x40]
push ecx
lea ecx, [ebp + 0x18]
call fcn.00413530
mov byte [ebp - 4], 2
lea ecx, [ebp]
call fcn.0040b670
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3c]
call fcn.0040b670
push 0
lea ecx, [ebp + 0x18]
call fcn.0040b760
push eax
call fcn.00518246
add esp, 8
cmp eax, 0xffffffff
jne 0x4535a4
lea ecx, [ebp + 0x18]
call fcn.0040b760
push eax
call fcn.005182fa
add esp, 4
lea ecx, [ebp + 0x48]
call fcn.00407600
push eax
mov edx, dword [ebp + 0x68]
add edx, 1
push edx
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp + 0x48]
call fcn.00422440
mov dword [ebp + 0x38], eax
mov ecx, dword [ebp + 0x38]
push ecx
lea ecx, [ebp + 0x48]
call fcn.0040b5c0
lea ecx, [ebp - 0x6c]
call fcn.0040b670
jmp 0x4534f3
mov ecx, dword [ebp + 0x78]
call fcn.0040b760
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
and eax, 0x10
je 0x4535f6
mov byte [ebp + 0x6f], 1
jmp 0x4535fa
mov byte [ebp + 0x6f], 0
mov dl, byte [ebp + 0x6f]
mov byte [ebp + 0x6e], dl
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x18]
call fcn.0040b670
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x48]
call fcn.0040b670
mov al, byte [ebp + 0x6e]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
add ebp, 0x70
mov esp, ebp
pop ebp
ret
Function at 0x453660
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54f7c8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
mov dword [ebp - 4], 0
push 0
lea ecx, [ebp + 0xc]
call fcn.0040b760
push eax
mov ecx, dword [ebp + 8]
call fcn.00422500
mov ecx, eax
call fcn.0040b760
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp + 0x24]
test eax, eax
je 0x4536ba
mov ecx, dword [ebp + 8]
push ecx
call fcn.004536f0
add esp, 4
cmp dword [ebp - 0x14], 0
je 0x4536c6
mov byte [ebp - 0xd], 1
jmp 0x4536ca
mov byte [ebp - 0xd], 0
mov dl, byte [ebp - 0xd]
mov byte [ebp - 0xe], dl
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.0040b670
mov al, byte [ebp - 0xe]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret

Function at 0x454330
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54f8cb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x210
lea ecx, [ebp - 0xd]
call fcn.004076c0
push eax
lea ecx, [ebp - 0x21c]
call fcn.0040c8f0
mov dword [ebp - 4], 0
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp + 0x10]
mov dword [eax], ecx
mov edx, dword [ebp + 0x14]
mov dword [eax + 4], edx
mov ecx, dword [ebp + 0x18]
mov dword [eax + 8], ecx
mov edx, dword [ebp + 0x1c]
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x21c]
call fcn.00422830
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x21c]
call fcn.0040c980
push eax
push 1
lea ecx, [ebp - 0x21c]
call fcn.0040c9a0
push eax
call fcn.0050ceb0
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x21c]
call fcn.0040a0f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret