joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10043050
Capabilities:
Resume thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10071b13
mov eax, dword fs:[0]
push eax
sub esp, 0xfc
mov eax, dword [0x1008b274]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
mov eax, dword [0x1008cbb0]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0xd4], eax
push 0
mov ecx, dword [0x1008cbb4]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0xd8], eax
push 0
mov edx, dword [0x1008cbb8]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0xdc], eax
push 0
mov eax, dword [0x1008cbbc]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0xe0], eax
push 0
mov ecx, dword [0x1008cbcc]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0xe4], eax
mov edx, dword [0x1008cbb0]
push edx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov dword [ebp - 0xf0], eax
mov eax, dword [0x1008cbb4]
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov dword [ebp - 0xf4], eax
mov ecx, dword [0x1008cbb8]
push ecx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov dword [ebp - 0xf8], eax
mov edx, dword [0x1008cbbc]
push edx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov dword [ebp - 0xfc], eax
mov eax, dword [0x1008cbcc]
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0xd4], 0x102
jne 0x1004317b
cmp dword [ebp - 0xd8], 0x102
jne 0x1004317b
cmp dword [ebp - 0xdc], 0x102
jne 0x1004317b
cmp dword [ebp - 0xe0], 0x102
jne 0x1004317b
cmp dword [ebp - 0xe4], 0x102
je 0x100431ed
push 0x585944b1
lea ecx, [ebp - 0x6c]
call fcn.100425b0
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xec], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0xec]
push edx
call fcn.10021e00
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0xcc], 0
jmp 0x100431d2
mov eax, dword [ebp - 0xcc]
add eax, 1
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0x59
jge 0x100431e8
mov ecx, dword [ebp - 0xcc]
mov byte [ebp + ecx - 0x6c], 0
jmp 0x100431c3
call fcn.10022100
cmp dword [ebp - 0xf0], 1
je 0x1004321a
cmp dword [ebp - 0xf4], 1
je 0x1004321a
cmp dword [ebp - 0xf8], 1
je 0x1004321a
cmp dword [ebp - 0xfc], 1
je 0x1004321a
cmp dword [ebp - 0x100], 1
jne 0x10043293
mov edx, 0x9d1446d
push edx
lea ecx, [ebp - 0xc8]
call fcn.10042630
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x108], eax
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x108]
push ecx
call fcn.10021e00
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0xd0], 0
jmp 0x10043275
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0xd0], 0x59
jge 0x1004328e
mov eax, dword [ebp - 0xd0]
mov byte [ebp + eax - 0xc8], 0
jmp 0x10043266
call fcn.10022100
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1004c355
mov esp, ebp
pop ebp
ret
Function at 0x10045505
Capabilities:
Create thread

Disassembly:
jae 0x10045503
jmp 0x100454fe
call fcn.10045505
jae 0x100454fe
add esp, 4
jmp 0x1004550a
dec dword [esp]
jno 0x1004550f
jns 0x100454fa
jp 0x10045513
add esp, 4
popf
jmp 0x1004551a
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10045533
jne 0x10045533
call 0x1fc48887
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
push 0
push 0
push 0
push 0x100456b0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x38], eax
clc
jae 0x10045561
pop ss
add byte [esi - 0x64], ah
pushf
push 0xa
jae 0x1004556e
jmp 0x10045569
call 0x10045570
jae 0x10045569
add esp, 4
jmp 0x10045575
dec dword [esp]
jno 0x1004557a
jns 0x10045565
jp 0x1004557e
add esp, 4
popf
jmp 0x10045585
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1004559e
jne 0x1004559e
add byte [ebx + eax - 0x15], bh
add eax, dword [eax]
jl 0x100455a3
jmp 0x100455a5
je 0x100455a0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x100455bf
jne 0x100455be
call 0x93084646
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x100455cd
jne 0x100455cd
call 0x10ccd354
cmp dword [ebp - 0x38], 0
jne 0x1004569c
mov byte [ebp - 0x34], 0x45
mov byte [ebp - 0x33], 0x52
mov byte [ebp - 0x32], 0x52
mov byte [ebp - 0x31], 0x4f
mov byte [ebp - 0x30], 0x52
mov byte [ebp - 0x2f], 0x21
mov byte [ebp - 0x2e], 0x20
mov byte [ebp - 0x2d], 0x54
mov byte [ebp - 0x2c], 0x68
mov byte [ebp - 0x2b], 0x72
mov byte [ebp - 0x2a], 0x65
mov byte [ebp - 0x29], 0x61
mov byte [ebp - 0x28], 0x64
mov byte [ebp - 0x27], 0x20
mov byte [ebp - 0x26], 0x63
mov byte [ebp - 0x25], 0x72
mov byte [ebp - 0x24], 0x65
mov byte [ebp - 0x23], 0x61
mov byte [ebp - 0x22], 0x74
mov byte [ebp - 0x21], 0x69
mov byte [ebp - 0x20], 0x6f
mov byte [ebp - 0x1f], 0x6e
mov byte [ebp - 0x1e], 0x20
mov byte [ebp - 0x1d], 0x66
mov byte [ebp - 0x1c], 0x61
mov byte [ebp - 0x1b], 0x69
mov byte [ebp - 0x1a], 0x6c
mov byte [ebp - 0x19], 0x65
mov byte [ebp - 0x18], 0x64
mov byte [ebp - 0x17], 0x2c
mov byte [ebp - 0x16], 0x20
mov byte [ebp - 0x15], 0x54
mov byte [ebp - 0x14], 0x68
mov byte [ebp - 0x13], 0x72
mov byte [ebp - 0x12], 0x65
mov byte [ebp - 0x11], 0x61
mov byte [ebp - 0x10], 0x64
mov byte [ebp - 0xf], 0x20
mov byte [ebp - 0xe], 0x43
mov byte [ebp - 0xd], 0x6f
mov byte [ebp - 0xc], 0x64
mov byte [ebp - 0xb], 0x65
mov byte [ebp - 0xa], 0x20
mov byte [ebp - 9], 0x30
mov byte [ebp - 8], 0x78
mov byte [ebp - 7], 0x35
mov byte [ebp - 6], 0x21
mov byte [ebp - 5], 0
call fcn.10022100
mov eax, dword [ebp - 0x38]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004c355
mov esp, ebp
pop ebp
ret
Function at 0x10045570
Capabilities:
Contain obfuscated stackstrings

Disassembly:
jae 0x10045503
jmp 0x100454fe
call fcn.10045505
jae 0x100454fe
add esp, 4
jmp 0x1004550a
dec dword [esp]
jno 0x1004550f
jns 0x100454fa
jp 0x10045513
add esp, 4
popf
jmp 0x1004551a
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10045533
jne 0x10045533
call 0x1fc48887
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
push 0
push 0
push 0
push 0x100456b0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x38], eax
clc
jae 0x10045561
pop ss
add byte [esi - 0x64], ah
pushf
push 0xa
jae 0x1004556e
jmp 0x10045569
call 0x10045570
jae 0x10045569
add esp, 4
jmp 0x10045575
dec dword [esp]
jno 0x1004557a
jns 0x10045565
jp 0x1004557e
add esp, 4
popf
jmp 0x10045585
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1004559e
jne 0x1004559e
add byte [ebx + eax - 0x15], bh
add eax, dword [eax]
jl 0x100455a3
jmp 0x100455a5
je 0x100455a0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x100455bf
jne 0x100455be
call 0x93084646
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x100455cd
jne 0x100455cd
call 0x10ccd354
cmp dword [ebp - 0x38], 0
jne 0x1004569c
mov byte [ebp - 0x34], 0x45
mov byte [ebp - 0x33], 0x52
mov byte [ebp - 0x32], 0x52
mov byte [ebp - 0x31], 0x4f
mov byte [ebp - 0x30], 0x52
mov byte [ebp - 0x2f], 0x21
mov byte [ebp - 0x2e], 0x20
mov byte [ebp - 0x2d], 0x54
mov byte [ebp - 0x2c], 0x68
mov byte [ebp - 0x2b], 0x72
mov byte [ebp - 0x2a], 0x65
mov byte [ebp - 0x29], 0x61
mov byte [ebp - 0x28], 0x64
mov byte [ebp - 0x27], 0x20
mov byte [ebp - 0x26], 0x63
mov byte [ebp - 0x25], 0x72
mov byte [ebp - 0x24], 0x65
mov byte [ebp - 0x23], 0x61
mov byte [ebp - 0x22], 0x74
mov byte [ebp - 0x21], 0x69
mov byte [ebp - 0x20], 0x6f
mov byte [ebp - 0x1f], 0x6e
mov byte [ebp - 0x1e], 0x20
mov byte [ebp - 0x1d], 0x66
mov byte [ebp - 0x1c], 0x61
mov byte [ebp - 0x1b], 0x69
mov byte [ebp - 0x1a], 0x6c
mov byte [ebp - 0x19], 0x65
mov byte [ebp - 0x18], 0x64
mov byte [ebp - 0x17], 0x2c
mov byte [ebp - 0x16], 0x20
mov byte [ebp - 0x15], 0x54
mov byte [ebp - 0x14], 0x68
mov byte [ebp - 0x13], 0x72
mov byte [ebp - 0x12], 0x65
mov byte [ebp - 0x11], 0x61
mov byte [ebp - 0x10], 0x64
mov byte [ebp - 0xf], 0x20
mov byte [ebp - 0xe], 0x43
mov byte [ebp - 0xd], 0x6f
mov byte [ebp - 0xc], 0x64
mov byte [ebp - 0xb], 0x65
mov byte [ebp - 0xa], 0x20
mov byte [ebp - 9], 0x30
mov byte [ebp - 8], 0x78
mov byte [ebp - 7], 0x35
mov byte [ebp - 6], 0x21
mov byte [ebp - 5], 0
call fcn.10022100
mov eax, dword [ebp - 0x38]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1004c355
mov esp, ebp
pop ebp
ret
Function at 0x10046e70
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [ebp + 0xc]
sub eax, 0x10000
push eax
call fcn.10047020
add esp, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp + 8]
jbe 0x10046f3d
mov edx, dword [ebp - 4]
cmp edx, dword [0x1008b200]
jb 0x10046eba
mov eax, dword [ebp - 4]
cmp eax, dword [0x1008b204]
ja 0x10046eba
mov ecx, dword [ebp - 4]
sub ecx, 0x8000000
mov dword [ebp - 4], ecx
jmp 0x10046e8a
push 0x1c
push 0
lea edx, [ebp - 0x24]
push edx
call fcn.1004e010
add esp, 0xc
push 0x1c
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
test eax, eax
jne 0x10046ee0
jmp 0x10046f3d
cmp dword [ebp - 0x14], 0x10000
jne 0x10046f23
cmp dword [ebp - 0x18], 0x10000
jb 0x10046f23
push 0x40
push 0x3000
push 0x10000
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x10046f16
mov eax, dword [ebp - 8]
jmp 0x10046f3f
mov eax, dword [ebp - 4]
sub eax, 0x10000
mov dword [ebp - 4], eax
jmp 0x10046f38
mov ecx, dword [ebp - 0x20]
sub ecx, 0x10000
push ecx
call fcn.10047020
add esp, 4
mov dword [ebp - 4], eax
jmp 0x10046e8a
xor eax, eax
mov esp, ebp
pop ebp
ret

Function at 0x10046f50
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [ebp + 8]
push eax
call fcn.10047050
add esp, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp + 0xc]
jae 0x10047015
mov edx, dword [ebp - 4]
cmp edx, dword [0x1008b200]
jb 0x10046f95
mov eax, dword [ebp - 4]
cmp eax, dword [0x1008b204]
ja 0x10046f95
mov ecx, dword [ebp - 4]
add ecx, 0x8000000
mov dword [ebp - 4], ecx
jmp 0x10046f65
push 0x1c
push 0
lea edx, [ebp - 0x24]
push edx
call fcn.1004e010
add esp, 0xc
push 0x1c
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
test eax, eax
jne 0x10046fbb
jmp 0x10047015
cmp dword [ebp - 0x14], 0x10000
jne 0x10046ffe
cmp dword [ebp - 0x18], 0x10000
jb 0x10046ffe
push 0x40
push 0x3000
push 0x10000
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x10046ff1
mov eax, dword [ebp - 8]
jmp 0x10047017
mov eax, dword [ebp - 4]
add eax, 0x10000
mov dword [ebp - 4], eax
jmp 0x10047010
mov ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x18]
push ecx
call fcn.10047050
add esp, 4
mov dword [ebp - 4], eax
jmp 0x10046f65
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x10047080
Capabilities:
Hook routines via microsoft detours

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10047470
add esp, 0xc
mov dword [ebp - 4], 0
cmp dword [0x1008cbfc], 0
jne 0x100470bd
cmp dword [0x1008cbf8], 0
je 0x100470bd
mov eax, dword [0x1008cbf8]
mov dword [0x1008cbfc], eax
cmp dword [0x1008cbfc], 0
je 0x1004713a
mov ecx, dword [0x1008cbfc]
cmp dword [ecx + 8], 0
je 0x1004713a
mov edx, dword [0x1008cbfc]
mov eax, dword [edx + 8]
cmp eax, dword [ebp - 0x10]
jb 0x1004713a
mov ecx, dword [0x1008cbfc]
mov edx, dword [ecx + 8]
cmp edx, dword [ebp - 0xc]
ja 0x1004713a
mov eax, dword [0x1008cbfc]
mov ecx, dword [eax + 8]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x10]
jb 0x10047109
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jbe 0x10047110
xor eax, eax
jmp 0x10047259
mov ecx, dword [0x1008cbfc]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ecx + 8], eax
push 0x48
push 0xcc
mov ecx, dword [ebp - 4]
push ecx
call fcn.1004e010
add esp, 0xc
mov eax, dword [ebp - 4]
jmp 0x10047259
mov edx, dword [0x1008cbf8]
mov dword [0x1008cbfc], edx
jmp 0x10047156
mov eax, dword [0x1008cbfc]
mov ecx, dword [eax + 4]
mov dword [0x1008cbfc], ecx
cmp dword [0x1008cbfc], 0
je 0x10047196
cmp dword [0x1008cbfc], 0
je 0x10047194
mov edx, dword [0x1008cbfc]
cmp dword [edx + 8], 0
je 0x10047194
mov eax, dword [0x1008cbfc]
mov ecx, dword [eax + 8]
cmp ecx, dword [ebp - 0x10]
jb 0x10047194
mov edx, dword [0x1008cbfc]
mov eax, dword [edx + 8]
cmp eax, dword [ebp - 0xc]
ja 0x10047194
jmp 0x100470ee
jmp 0x10047148
mov ecx, dword [ebp + 8]
and ecx, 0xffff
mov edx, dword [ebp + 8]
sub edx, ecx
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10047260
add esp, 0xc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x10047257
mov eax, dword [ebp - 0x18]
mov dword [0x1008cbfc], eax
mov ecx, dword [0x1008cbfc]
mov dword [ecx], 0x52727464
mov edx, dword [0x1008cbfc]
mov dword [edx + 8], 0
mov eax, dword [0x1008cbfc]
mov ecx, dword [0x1008cbf8]
mov dword [eax + 4], ecx
mov edx, dword [0x1008cbfc]
mov dword [0x1008cbf8], edx
mov dword [ebp - 0x14], 0
mov eax, dword [0x1008cbfc]
add eax, 0x48
mov dword [ebp - 4], eax
mov dword [ebp - 8], 0x38c
jmp 0x10047227
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 1
jle 0x10047247
imul edx, dword [ebp - 8], 0x48
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
mov dword [eax + edx + 0x40], ecx
imul edx, dword [ebp - 8], 0x48
add edx, dword [ebp - 4]
mov dword [ebp - 0x14], edx
jmp 0x1004721e
mov eax, dword [0x1008cbfc]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 8], ecx
jmp 0x100470ee
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x10048d00
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
cmp dword [0x1008cc44], 0
je 0x10048d16
xor eax, eax
jmp 0x10048f32
cmp dword [0x1008cc40], 0
je 0x10048d29
mov eax, dword [0x1008cc40]
jmp 0x10048f32
push 0x24
push 0
push 0x1008cc1c
call fcn.1004e010
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [0x1008cc1c], eax
push 0
push 0
push str.dbghelp.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [0x1008cc20], eax
cmp dword [0x1008cc20], 0
jne 0x10048dce
mov dword [0x1008cc44], 1
cmp dword [0x1008cc20], 0
je 0x10048d81
mov eax, dword [0x1008cc20]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x1008cc24], 0
mov dword [0x1008cc28], 0
mov dword [0x1008cc2c], 0
mov dword [0x1008cc30], 0
mov dword [0x1008cc34], 0
mov dword [0x1008cc38], 0
mov dword [0x1008cc3c], 0
xor eax, eax
jmp 0x10048f32
push str.ImagehlpApiVersionEx
mov ecx, dword [0x1008cc20]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x1008cc24], eax
push str.SymInitialize
mov edx, dword [0x1008cc20]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x1008cc28], eax
push str.SymSetOptions
mov eax, dword [0x1008cc20]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x1008cc2c], eax
push str.SymGetOptions
mov ecx, dword [0x1008cc20]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x1008cc30], eax
push str.SymLoadModule64
mov edx, dword [0x1008cc20]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x1008cc34], eax
push str.SymGetModuleInfo64
mov eax, dword [0x1008cc20]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x1008cc38], eax
push str.SymFromName
mov ecx, dword [0x1008cc20]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x1008cc3c], eax
push 8
push 0
lea edx, [ebp - 0xc]
push edx
call fcn.1004e010
add esp, 0xc
mov eax, 0xc
mov word [ebp - 0xc], ax
cmp dword [0x1008cc24], 0
je 0x10048eb3
cmp dword [0x1008cc28], 0
je 0x10048eb3
cmp dword [0x1008cc34], 0
je 0x10048eb3
cmp dword [0x1008cc38], 0
je 0x10048eb3
cmp dword [0x1008cc3c], 0
jne 0x10048eb8
jmp 0x10048d62
lea ecx, [ebp - 0xc]
push ecx
call dword [0x1008cc24]
movzx edx, word [ebp - 0xc]
cmp edx, 0xc
jge 0x10048ed0
jmp 0x10048d62
push 0
push 0
mov eax, dword [0x1008cc1c]
push eax
call dword [0x1008cc28]
test eax, eax
jne 0x10048ee9
jmp 0x10048d62
cmp dword [0x1008cc30], 0
je 0x10048f23
cmp dword [0x1008cc2c], 0
je 0x10048f23
call dword [0x1008cc30]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
and ecx, 0xfffffff8
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
or edx, 0x2704
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
push eax
call dword [0x1008cc2c]
mov dword [0x1008cc40], 0x1008cc1c
mov eax, dword [0x1008cc40]
mov esp, ebp
pop ebp
ret

Function at 0x10061db9
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.10061c2f
Function at 0x1001a20
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80c
push ebx
push esi
push edi
xor edi, edi
push edi
lea eax, [ebp - 0x60c]
mov esi, dword [sym.imp.MSVCRT.dll__wsplitpath]
push edi
push eax
lea eax, [ebp + 0x20]
push eax
mov dword [ebp - 4], edi
push dword [ebp + 0x20]
xor ebx, ebx
call esi
lea eax, [ebp - 0x80c]
push eax
lea eax, [ebp - 0x40c]
push eax
push edi
push edi
push dword [ebp + 0x30]
call esi
lea eax, [ebp - 0x80c]
push eax
lea eax, [ebp - 0x40c]
push eax
lea eax, [ebp - 0x60c]
push eax
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.MSVCRT.dll__wmakepath]
add esp, 0x3c
lea eax, [ebp - 0x20c]
push 0x80
push eax
call fcn.01023115
lea eax, [ebp - 4]
push edi
push eax
push edi
lea eax, [ebp - 0x20c]
push edi
push eax
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_CopyFileExW]
test eax, eax
jne 0x1001ae0
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x1001ac7
call esi
mov ebx, eax
jmp 0x1001ad7
call esi
mov ebx, eax
and ebx, 0xffff
or ebx, 0x80070000
cmp bl, 0x50
jne 0x1001aee
xor ebx, ebx
jmp 0x1001aee
lea eax, [ebp - 0x20c]
push 6
push eax
call fcn.01023115
pop edi
mov eax, ebx
pop esi
pop ebx
leave
ret 0x30
Function at 0x1008936
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x224
push ebx
push esi
mov esi, dword [sym.imp.MSVCRT.dll_wcscpy]
and dword [ebp - 8], 0
and dword [ebp - 4], 0
push edi
mov edi, ecx
push str.windows_
lea eax, [edi + 0x9c]
push eax
call esi
lea eax, [edi + 0x2a6]
push str.windows_system_
push eax
mov dword [ebp - 0x14], eax
call esi
mov ebx, str._recycled_
lea eax, [edi + 0x4b0]
push ebx
push eax
mov dword [ebp - 0x10], eax
call esi
lea eax, [edi + 0x6ba]
push str._recycler_
push eax
call esi
lea eax, [edi + 0x8c4]
push str._temporary_internet_files_
push eax
mov dword [ebp - 0x18], eax
call esi
lea eax, [edi + 0xace]
push str.microsoftmedia_player
push eax
mov dword [ebp - 0xc], eax
call esi
lea eax, [edi + 0xcd8]
push str.windows_temp_
push eax
call esi
lea eax, [ebp - 0x224]
push ebx
push eax
call esi
add esp, 0x40
mov ebx, 0x104
lea esi, [edi + 0x9c]
push ebx
push esi
call fcn.01023242
push esi
mov esi, dword [sym.imp.MSVCRT.dll__wcslwr]
call esi
pop ecx
lea eax, [edi + 0xcd8]
push eax
push ebx
call fcn.010214e7
lea ebx, [edi + 0xcd8]
mov ecx, edi
push ebx
call fcn.0100362e
push ebx
call esi
pop ecx
lea eax, [ebp - 8]
push eax
call dword [sym.imp.SHELL32.dll_SHGetMalloc]
xor ebx, ebx
mov dword [ebp - 0x1c], eax
cmp eax, ebx
jne 0x1008aee
mov edi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
lea eax, [ebp - 4]
push eax
push 0x1a
push ebx
call edi
cmp dword [ebp - 4], ebx
je 0x1008a64
push dword [ebp - 0xc]
push dword [ebp - 4]
call fcn.010231d3
push str.microsoftmedia_player
push dword [ebp - 0xc]
call dword [sym.imp.MSVCRT.dll_wcscat]
push dword [ebp - 0xc]
call esi
mov eax, dword [ebp - 8]
add esp, 0xc
push dword [ebp - 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov dword [ebp - 4], ebx
lea eax, [ebp - 4]
push eax
push 0xa
push ebx
call edi
cmp dword [ebp - 4], ebx
je 0x1008a92
push dword [ebp - 0x10]
push dword [ebp - 4]
call fcn.010231d3
push dword [ebp - 0x10]
call esi
mov eax, dword [ebp - 8]
pop ecx
push dword [ebp - 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov dword [ebp - 4], ebx
lea eax, [ebp - 4]
push eax
push 0x20
push ebx
call edi
cmp dword [ebp - 4], ebx
je 0x1008ac0
push dword [ebp - 0x18]
push dword [ebp - 4]
call fcn.010231d3
push dword [ebp - 0x18]
call esi
mov eax, dword [ebp - 8]
pop ecx
push dword [ebp - 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov dword [ebp - 4], ebx
lea eax, [ebp - 4]
push eax
push 0x25
push ebx
call edi
cmp dword [ebp - 4], ebx
je 0x1008aee
push dword [ebp - 0x14]
push dword [ebp - 4]
call fcn.010231d3
push dword [ebp - 0x14]
call esi
mov eax, dword [ebp - 8]
pop ecx
push dword [ebp - 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 8]
pop edi
pop esi
cmp eax, ebx
pop ebx
je 0x1008afe
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
leave
ret
Function at 0x100ad93
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.MSVCRT.dll__beginthreadex]
add esp, 0x18
pop ebp
ret 0x18

Function at 0x10213f0
Capabilities:
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push ebx
xor ebx, ebx
cmp byte [0x1046ee8], bl
push esi
push edi
je 0x102140b
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
jmp 0x102144f
cmp dword [ebp + 8], ebx
jne 0x1021415
or eax, 0xffffffff
jmp 0x102144f
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [eax + eax + 2]
lea eax, [esi + 2]
add eax, 3
and al, 0xfc
call fcn.01024980
mov edi, esp
push ebx
push ebx
push esi
push edi
push 0xffffffffffffffff
push dword [ebp + 8]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jge 0x1021448
xor edi, edi
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 4

Function at 0x10214e7
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x104
cmp byte [0x1046ee8], 0
je 0x1021507
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
jmp 0x102153c
lea eax, [ebp - 0x104]
push esi
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov esi, eax
test esi, esi
je 0x1021539
push dword [ebp + 8]
lea eax, [ebp - 0x104]
push dword [ebp + 0xc]
push 0xffffffffffffffff
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, esi
pop esi
leave
ret 8