joyce8/EMBER2024-capa huggingface dataset:
Function at 0x422a00
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x4d61d4]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x28], 0x6f0043
push esi
mov word [ebp - 8], ax
lea esi, [ebp - 0x28]
mov eax, 0x4dc354
mov dword [ebp - 0x24], 0x70006d
mov dword [ebp - 0x20], 0x740075
mov edx, 0x12
mov dword [ebp - 0x1c], 0x720065
sub esi, eax
mov dword [ebp - 0x18], 0x5f005a
mov dword [ebp - 0x14], 0x4e0043
mov dword [ebp - 0x10], 0x65002e
mov dword [ebp - 0xc], 0x650078
nop
lea ecx, [edx + 0x7fffffec]
test ecx, ecx
je 0x422a7e
movzx ecx, word [esi + eax]
test cx, cx
je 0x422a7e
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x422a60
lea ecx, [eax - 2]
test edx, edx
pop esi
cmovne ecx, eax
xor eax, eax
mov word [ecx], ax
mov eax, 0x4dc354
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043a373
mov esp, ebp
pop ebp
ret

Function at 0x422aa0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x4d61d4]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x28], 0x6f0043
push esi
mov word [ebp - 8], ax
lea esi, [ebp - 0x28]
mov eax, 0x4dc40c
mov dword [ebp - 0x24], 0x70006d
mov dword [ebp - 0x20], 0x740075
mov edx, 0x12
mov dword [ebp - 0x1c], 0x720065
sub esi, eax
mov dword [ebp - 0x18], 0x5f005a
mov dword [ebp - 0x14], 0x4e0043
mov dword [ebp - 0x10], 0x65002e
mov dword [ebp - 0xc], 0x650078
nop
lea ecx, [edx + 0x7fffffec]
test ecx, ecx
je 0x422b1e
movzx ecx, word [esi + eax]
test cx, cx
je 0x422b1e
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x422b00
lea ecx, [eax - 2]
test edx, edx
pop esi
cmovne ecx, eax
xor eax, eax
mov word [ecx], ax
mov eax, 0x4dc40c
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043a373
mov esp, ebp
pop ebp
ret

Function at 0x422b40
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x4d61d4]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x38], 0x680054
push esi
mov word [ebp - 8], ax
lea esi, [ebp - 0x38]
mov eax, 0x4dc3d8
mov dword [ebp - 0x34], 0x6d0065
push edi
mov dword [ebp - 0x30], 0x730065
mov edx, 0x1a
mov dword [ebp - 0x2c], 0x55005c
sub esi, eax
mov dword [ebp - 0x28], 0x5c0049
mov dword [ebp - 0x24], 0x630069
mov dword [ebp - 0x20], 0x6e006f
mov dword [ebp - 0x1c], 0x62005c
mov dword [ebp - 0x18], 0x61006c
mov dword [ebp - 0x14], 0x6b0063
mov dword [ebp - 0x10], 0x69002e
mov dword [ebp - 0xc], 0x6f0063
nop dword [eax + eax]
lea ecx, [edx + 0x7fffffe4]
test ecx, ecx
je 0x422bde
movzx ecx, word [esi + eax]
test cx, cx
je 0x422bde
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x422bc0
lea ecx, [eax - 2]
test edx, edx
pop edi
cmovne ecx, eax
xor eax, eax
pop esi
mov word [ecx], ax
mov eax, 0x4dc3d8
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043a373
mov esp, ebp
pop ebp
ret
Function at 0x422d00
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x4d61d4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov eax, 0x4dc560
mov dword [ebp - 0x2c], 0x55005c
lea esi, [ebp - 0x2c]
mov dword [ebp - 0x28], 0x690074
mov dword [ebp - 0x24], 0x73006c
mov edx, 0x15
mov dword [ebp - 0x20], 0x43005c
sub esi, eax
mov dword [ebp - 0x1c], 0x660065
mov dword [ebp - 0x18], 0x650052
mov dword [ebp - 0x14], 0x360073
mov dword [ebp - 0x10], 0x2e0039
mov dword [ebp - 0xc], 0x6c0064
mov dword [ebp - 8], 0x6c
lea ecx, [edx + 0x7fffffe9]
test ecx, ecx
je 0x422d84
movzx ecx, word [esi + eax]
test cx, cx
je 0x422d84
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x422d66
lea ecx, [eax - 2]
test edx, edx
pop esi
cmovne ecx, eax
xor eax, eax
mov word [ecx], ax
mov eax, 0x4dc560
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043a373
mov esp, ebp
pop ebp
ret
Function at 0x4239a0
Capabilities:
Check if file exists
Create directory
Delete file
Get common file path

Disassembly:
call fcn.004234d0
call fcn.004239b0
jmp fcn.00422db0

Function at 0x4239b0
Capabilities:
Check if file exists
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a2739
mov eax, dword fs:[0]
push eax
sub esp, 0x2e0
mov eax, dword [0x4d61d4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x208
lea eax, [ebp - 0x218]
mov dword [ebp - 0x250], 0
push 0
push eax
call fcn.004693b0
add esp, 0xc
lea eax, [ebp - 0x218]
push 1
push 2
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea ecx, [ebp - 0x249]
call fcn.00421ff0
push eax
lea eax, [ebp - 0x218]
push eax
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x423bba
lea eax, [ebp - 0x218]
push eax
call fcn.004258e0
add esp, 4
call fcn.00438dc0
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x423bba
push 0x6b
mov dword [ebp - 0x238], eax
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x234], eax
push 0x4ac3b0
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], al
call fcn.004076f0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x230]
push 3
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0
push 0x4a9c6c
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.004076f0
mov byte [ebp - 4], 1
lea eax, [ebp - 0x248]
push 0x80
push eax
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x2ec]
call fcn.00409020
mov esi, eax
mov byte [ebp - 4], 3
lea eax, [ebp - 0x218]
push eax
push str.Delete_old_start_menu_directory_:__s
lea eax, [ebp - 0x254]
push 1
push eax
call fcn.00438c80
mov ecx, 0x4a9a78
mov dword [ebp - 0x250], 1
mov eax, dword [eax]
test eax, eax
cmovne ecx, eax
push ecx
push esi
call fcn.00402c30
add esp, 0x18
call fcn.00438dc0
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
mov eax, 1
mov dword [ebp - 0x250], eax
and eax, 0xfffffffe
mov dword [ebp - 0x250], eax
mov byte [ebp - 4], 2
or eax, 0xffffffff
mov edx, dword [ebp - 0x254]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x423b8a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2ec]
call fcn.00404eb0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x230]
call fcn.004041a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.004041a0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043a373
mov esp, ebp
pop ebp
ret
Function at 0x424440
Capabilities:
Query environment variable
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a28bb
mov eax, dword fs:[0]
push eax
mov eax, 0x10634
call fcn.0043a680
mov eax, dword [0x4d61d4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x420]
push 0x104
push eax
push 0x4d6060
call dword [sym.imp.ole32.dll_StringFromGUID2]
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x10629]
call fcn.004220d0
push eax
lea eax, [ebp - 0x628]
push 0x104
push eax
call fcn.00424b30
add esp, 0x10
call fcn.00421610
neg eax
mov dword [ebp - 0x1063c], 0
mov dword [ebp - 0x10638], 0
sbb eax, eax
mov dword [ebp - 0x10634], 0
and eax, 0x100
or eax, 0x20019
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x1063c]
push eax
lea eax, [ebp - 0x628]
push eax
push SysReAllocString
call fcn.0041e700
mov edi, dword [ebp - 0x1063c]
test eax, eax
jne 0x42457f
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004693b0
add esp, 0xc
mov dword [ebp - 0x10630], 0x208
lea eax, [ebp - 0x10630]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x10640]
push eax
push 0
push 0x4a9998
push edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x42457f
mov eax, dword [ebp - 0x10640]
cmp eax, 1
je 0x424564
cmp eax, 2
jne 0x42457f
mov eax, dword [ebp - 0x10630]
test eax, eax
je 0x4245c5
test al, 1
jne 0x42457f
shr eax, 1
cmp word [ebp + eax*2 - 0x21a], 0
je 0x4245ce
xor bl, bl
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x42459d
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x1063c], 0
mov al, bl
mov dword [ebp - 0x10638], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043a373
mov esp, ebp
pop ebp
ret
xor eax, eax
mov word [ebp - 0x218], ax
cmp dword [esi + 0x10], 0
je 0x42463b
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x4245de
mov eax, dword [esi]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
lea ecx, [ebp - 0x218]
push ecx
push eax
call ebx
test eax, eax
je 0x42463b
push 0xfffe
lea eax, [ebp - 0x10628]
push 0
push eax
call fcn.004693b0
add esp, 0xc
lea eax, [ebp - 0x10628]
push 0x7fff
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
cmp dword [esi + 0x14], 8
jb 0x424629
mov esi, dword [esi]
lea eax, [ebp - 0x10628]
push eax
push esi
call ebx
test eax, eax
jne 0x42457f
mov bl, 1
jmp 0x424581
Function at 0x424cc0
Capabilities:
Check if file exists
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x228
mov eax, dword [0x4d61d4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0x208
lea eax, [ebp - 0x228]
push 0
push eax
call fcn.004693b0
lea eax, [ebp - 0x228]
push 0x104
push eax
call fcn.004263e0
mov eax, 0x4dc540
mov dword [ebp - 0x20], 0x70006c
lea esi, [ebp - 0x20]
mov dword [ebp - 0x1c], 0x5c0069
add esp, 0x14
mov dword [ebp - 0x18], 0x700048
mov dword [ebp - 0x14], 0x760053
mov edx, 0xf
mov dword [ebp - 0x10], 0x2e0063
sub esi, eax
mov dword [ebp - 0xc], 0x6c0064
mov dword [ebp - 8], 0x6c
nop dword [eax + eax]
lea ecx, [edx + 0x7fffffef]
test ecx, ecx
je 0x424d5e
movzx ecx, word [esi + eax]
test cx, cx
je 0x424d5e
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x424d40
lea ecx, [eax - 2]
test edx, edx
push 0x4dc540
cmovne ecx, eax
xor eax, eax
mov word [ecx], ax
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x424dd2
lea eax, [ebp - 0x228]
push eax
call fcn.0044a240
add esp, 4
test eax, eax
je 0x424dd2
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x424dd2
push 0x4ac598
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x424dcb
push 0x4a9998
call eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.0043a373
mov esp, ebp
pop ebp
ret

Function at 0x425150
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2024
call fcn.0043a680
mov eax, dword [0x4d61d4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
test esi, esi
jne 0x425180
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043a373
mov esp, ebp
pop ebp
ret
push 0x2000
xorps xmm0, xmm0
mov dword [ebp - 0x200c], 0
lea eax, [ebp - 0x2004]
movq qword [ebp - 0x2014], xmm0
push 0
movups xmmword [ebp - 0x2024], xmm0
push eax
mov word [ebp - 0x2008], 0
mov dword [ebp - 0x2020], 3
call fcn.004693b0
push 0x1000
push esi
lea eax, [ebp - 0x2004]
push 0x1000
push eax
call fcn.00470433
lea eax, [ebp - 0x2004]
add esp, 0x1c
mov dword [ebp - 0x201c], eax
mov eax, 0x614
mov word [ebp - 0x2014], ax
lea eax, [ebp - 0x2024]
push eax
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
mov ecx, dword [ebp - 4]
mov eax, 1
xor ecx, ebp
pop esi
call fcn.0043a373
mov esp, ebp
pop ebp
ret

Function at 0x425220
Capabilities:
Check if file exists
Delete file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x42525d
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42525d
push 0x80
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
je 0x425258
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x42525d
xor eax, eax
pop esi
pop ebp
ret
mov eax, 1
pop esi
pop ebp
ret
Function at 0x425d60
Capabilities:
Delete directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a2b08
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x4d61d4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov dword [ebp - 4], 0
mov eax, dword [edi]
cmp eax, dword [eax]
je 0x425dbb
mov ebx, dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
nop
lea esi, [eax + 4]
mov eax, dword [esi]
add eax, 8
cmp dword [eax + 0x14], 8
jb 0x425db0
mov eax, dword [eax]
push eax
call ebx
mov ecx, dword [edi]
mov eax, dword [esi]
cmp eax, dword [ecx]
jne 0x425da0
mov dword [ebp - 4], 0xffffffff
mov ecx, edi
call fcn.00419660
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x425de0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x4d61d4]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x28], 0x4f0053
push esi
mov word [ebp - 8], ax
lea esi, [ebp - 0x28]
mov eax, 0x4dc5f4
mov dword [ebp - 0x24], 0x540046
mov dword [ebp - 0x20], 0x410057
mov edx, 0x12
mov dword [ebp - 0x1c], 0x450052
sub esi, eax
mov dword [ebp - 0x18], 0x4c005c
mov dword [ebp - 0x14], 0x640075
mov dword [ebp - 0x10], 0x730061
mov dword [ebp - 0xc], 0x690068
nop
lea ecx, [edx + 0x7fffffec]
test ecx, ecx
je 0x425e5e
movzx ecx, word [esi + eax]
test cx, cx
je 0x425e5e
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x425e40
lea ecx, [eax - 2]
test edx, edx
pop esi
cmovne ecx, eax
xor eax, eax
mov word [ecx], ax
mov eax, 0x4dc5f4
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043a373
mov esp, ebp
pop ebp
ret
Function at 0x426360
Capabilities:
Get disk information
Get disk size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x4d61d4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x4ac5d8]
mov dword [ebp - 0xc], eax
mov eax, dword [0x4ac5dc]
mov dword [ebp - 8], eax
mov ax, word [ebp + 8]
mov word [ebp - 0xc], ax
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
jne 0x4263c9
lea eax, [ebp - 0x14]
xorps xmm0, xmm0
push eax
push 0
push 0
lea eax, [ebp - 0xc]
movlpd qword [ebp - 0x14], xmm0
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
je 0x4263c9
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043a373
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
xor edx, edx
call fcn.0043a373
mov esp, ebp
pop ebp
ret

Function at 0x426410
Capabilities:
Check if file exists
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
mov eax, dword [0x4d61d4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x4264c6
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.004693b0
add esp, 0xc
mov dword [ebp - 0x218], 1
lea eax, [ebp - 0x214]
mov dword [ebp - 0x214], 0x208
lea ecx, [ebp - 0x20d]
push eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x218]
push eax
push str.Setup_Path
call fcn.00425de0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
jne 0x4264c6
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4264c6
lea eax, [ebp - 0x20c]
push eax
push dword [ebp + 0xc]
push esi
call fcn.0046fa9c
add esp, 0xc
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043a373
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
pop esi
call fcn.0043a373
mov esp, ebp
pop ebp
ret
Function at 0x426910
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a2c91
mov eax, dword fs:[0]
push eax
sub esp, 0xa2c
mov eax, dword [0x4d61d4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, dword [ebp + 8]
test edx, edx
je 0x426b44
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x426950
sub ecx, esi
sar ecx, 1
push ecx
push edx
mov ecx, 0x4d6090
call fcn.004077e0
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004693b0
push 0x800
lea eax, [ebp - 0xa18]
push 0
push eax
call fcn.004693b0
add esp, 0x18
lea eax, [ebp - 0xa18]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
xor eax, eax
mov dword [ebp - 0xa20], 0
lea ecx, [ebp - 0xa18]
mov dword [ebp - 0xa1c], 0
mov dword [ebp - 0xa20], 0
lea edx, [ecx + 2]
mov dword [ebp - 0xa1c], 7
mov word [ebp - 0xa30], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4269e0
sub ecx, edx
lea eax, [ebp - 0xa18]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xa30]
call fcn.004077e0
mov dword [ebp - 4], 0
lea eax, [ebp - 0xa34]
push eax
lea eax, [ebp - 0xa30]
mov dword [ebp - 0xa34], 0
push eax
call fcn.00426b80
add esp, 8
mov esi, eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa30]
call fcn.00404220
test esi, esi
je 0x426a79
push 0x800
lea eax, [ebp - 0xa18]
push 0
push eax
call fcn.004693b0
add esp, 0xc
lea eax, [ebp - 0xa18]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push 0x400
lea eax, [ebp - 0xa18]
jmp 0x426af8
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.004693b0
add esp, 0xc
lea eax, [ebp - 0x420]
push 1
push 0x1a
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0xa30]
call fcn.0040c890
mov dword [ebp - 4], 1
lea eax, [ebp - 0xa34]
push eax
lea eax, [ebp - 0xa30]
mov dword [ebp - 0xa34], 0
push eax
call fcn.00426b80
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa30]
call fcn.00404220
push 0x104
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.00470433
add esp, 0x10
lea eax, [ebp - 0x218]
lea ecx, [ebp - 0xa38]
push eax
call fcn.00412c90
mov dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
mov edx, dword [ebp - 0xa38]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x426b44
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043a373
mov esp, ebp
pop ebp
ret
Function at 0x426e60
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7c
mov eax, dword [0x4d61d4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov eax, 0x4dc618
mov dword [ebp - 0x7c], 0x44004c
lea esi, [ebp - 0x7c]
mov dword [ebp - 0x78], 0x490053
push edi
mov dword [ebp - 0x74], 0x73006e
mov edx, 0x3d
mov dword [ebp - 0x70], 0x610074
sub esi, eax
mov dword [ebp - 0x6c], 0x6c006c
mov dword [ebp - 0x68], 0x720065
mov dword [ebp - 0x64], 0x61004d
mov dword [ebp - 0x60], 0x6e0069
mov dword [ebp - 0x5c], 0x690057
mov dword [ebp - 0x58], 0x64006e
mov dword [ebp - 0x54], 0x77006f
mov dword [ebp - 0x50], 0x45005f
mov dword [ebp - 0x4c], 0x410039
mov dword [ebp - 0x48], 0x350032
mov dword [ebp - 0x44], 0x340035
mov dword [ebp - 0x40], 0x2d0042
mov dword [ebp - 0x3c], 0x450044
mov dword [ebp - 0x38], 0x460043
mov dword [ebp - 0x34], 0x34002d
mov dword [ebp - 0x30], 0x320044
mov dword [ebp - 0x2c], 0x2d0036
mov dword [ebp - 0x28], 0x350039
mov dword [ebp - 0x24], 0x380036
mov dword [ebp - 0x20], 0x39002d
mov dword [ebp - 0x1c], 0x350037
mov dword [ebp - 0x18], 0x430043
mov dword [ebp - 0x14], 0x390036
mov dword [ebp - 0x10], 0x320045
mov dword [ebp - 0xc], 0x350041
mov dword [ebp - 8], 0x42
lea ecx, [edx + 0x7fffffc1]
test ecx, ecx
je 0x426f72
movzx ecx, word [esi + eax]
test cx, cx
je 0x426f72
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x426f54
lea ecx, [eax - 2]
test edx, edx
pop edi
cmovne ecx, eax
xor eax, eax
pop esi
pop ebx
mov word [ecx], ax
mov eax, 0x4dc618
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043a373
mov esp, ebp
pop ebp
ret

Function at 0x427020
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x4d61d4]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x28], 0x4f0053
push esi
mov word [ebp - 8], ax
lea esi, [ebp - 0x28]
mov eax, 0x4dc70c
mov dword [ebp - 0x24], 0x540046
mov dword [ebp - 0x20], 0x410057
mov edx, 0x12
mov dword [ebp - 0x1c], 0x450052
sub esi, eax
mov dword [ebp - 0x18], 0x4c005c
mov dword [ebp - 0x14], 0x640075
mov dword [ebp - 0x10], 0x730061
mov dword [ebp - 0xc], 0x690068
nop
lea ecx, [edx + 0x7fffffec]
test ecx, ecx
je 0x42709e
movzx ecx, word [esi + eax]
test cx, cx
je 0x42709e
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x427080
lea ecx, [eax - 2]
test edx, edx
pop esi
cmovne ecx, eax
xor eax, eax
mov word [ecx], ax
mov eax, 0x4dc70c
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043a373
mov esp, ebp
pop ebp
ret
Function at 0x4271b0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x4d61d4]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x28], 0x4f0053
push esi
mov word [ebp - 8], ax
lea esi, [ebp - 0x28]
mov eax, 0x4dc790
mov dword [ebp - 0x24], 0x540046
mov dword [ebp - 0x20], 0x410057
mov edx, 0x12
mov dword [ebp - 0x1c], 0x450052
sub esi, eax
mov dword [ebp - 0x18], 0x4c005c
mov dword [ebp - 0x14], 0x640075
mov dword [ebp - 0x10], 0x730061
mov dword [ebp - 0xc], 0x690068
nop
lea ecx, [edx + 0x7fffffec]
test ecx, ecx
je 0x42722e
movzx ecx, word [esi + eax]
test cx, cx
je 0x42722e
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x427210
lea ecx, [eax - 2]
test edx, edx
pop esi
cmovne ecx, eax
xor eax, eax
mov word [ecx], ax
mov eax, 0x4dc790
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043a373
mov esp, ebp
pop ebp
ret

Function at 0x427250
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x4d61d4]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x28], 0x650052
push esi
mov word [ebp - 8], ax
lea esi, [ebp - 0x28]
mov eax, 0x4dc8e0
mov dword [ebp - 0x24], 0x640061
mov dword [ebp - 0x20], 0x460079
mov edx, 0x12
mov dword [ebp - 0x1c], 0x72006f
sub esi, eax
mov dword [ebp - 0x18], 0x360033
mov dword [ebp - 0x14], 0x530030
mov dword [ebp - 0x10], 0x410054
mov dword [ebp - 0xc], 0x540052
nop
lea ecx, [edx + 0x7fffffec]
test ecx, ecx
je 0x4272ce
movzx ecx, word [esi + eax]
test cx, cx
je 0x4272ce
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x4272b0
lea ecx, [eax - 2]
test edx, edx
pop esi
cmovne ecx, eax
xor eax, eax
mov word [ecx], ax
mov eax, 0x4dc8e0
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043a373
mov esp, ebp
pop ebp
ret

Function at 0x4272f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x4d61d4]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x28], 0x4f0053
push esi
mov word [ebp - 8], ax
lea esi, [ebp - 0x28]
mov eax, 0x4dc880
mov dword [ebp - 0x24], 0x540046
mov dword [ebp - 0x20], 0x410057
mov edx, 0x12
mov dword [ebp - 0x1c], 0x450052
sub esi, eax
mov dword [ebp - 0x18], 0x4c005c
mov dword [ebp - 0x14], 0x640075
mov dword [ebp - 0x10], 0x730061
mov dword [ebp - 0xc], 0x690068
nop
lea ecx, [edx + 0x7fffffec]
test ecx, ecx
je 0x42736e
movzx ecx, word [esi + eax]
test cx, cx
je 0x42736e
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x427350
lea ecx, [eax - 2]
test edx, edx
pop esi
cmovne ecx, eax
xor eax, eax
mov word [ecx], ax
mov eax, 0x4dc880
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043a373
mov esp, ebp
pop ebp
ret