joyce8/EMBER2024-capa huggingface dataset:
Function at 0x411410
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44caf0
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x46706c]
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, edx
mov edi, ecx
call fcn.00411270
test al, al
jne 0x41144f
xor al, al
jmp 0x41151d
lea eax, [ebp - 0x1c]
push eax
push edi
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov ebx, eax
test ebx, ebx
je 0x411448
xor ecx, ecx
lea eax, [ebx + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004153d3
add esp, 4
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x14], 0
push dword [ebp - 0x24]
push eax
call fcn.00411140
push dword [ebp - 0x18]
push ebx
push dword [ebp - 0x1c]
push edi
call dword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x4114ea
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
push 0x45ccd8
push dword [ebp - 0x18]
call dword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x4114ea
mov eax, dword [ebp - 0x24]
mov bl, 1
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, ecx
shr eax, 0x10
mov dword [esi], eax
movzx eax, cx
mov dword [esi + 4], eax
mov eax, edx
shr eax, 0x10
mov dword [esi + 8], eax
movzx eax, dx
mov dword [esi + 0xc], eax
jmp 0x4114ec
xor bl, bl
mov dword [ebp - 4], 2
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x41151b
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x41151b
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x41151b
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 4]
mov al, bl
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.00414dec
mov esp, ebp
pop ebp
ret

Function at 0x4115d0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x46706c]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x10]
mov eax, dword [edi]
add eax, eax
mov dword [edi], 0
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
push eax
push esi
lea eax, [ebp - 8]
push eax
push 0
push edx
push dword [ecx]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x41165b
mov eax, dword [ebp - 8]
cmp eax, 1
je 0x41161d
cmp eax, 2
jne 0x411639
mov ecx, dword [ebp - 0xc]
test esi, esi
je 0x411655
test ecx, ecx
je 0x411650
test cl, 1
jne 0x411639
mov eax, ecx
shr eax, 1
cmp word [esi + eax*2 - 2], 0
je 0x411655
pop edi
mov eax, 0xd
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00414dec
mov esp, ebp
pop ebp
ret 0xc
xor eax, eax
mov word [esi], ax
shr ecx, 1
xor eax, eax
mov dword [edi], ecx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00414dec
mov esp, ebp
pop ebp
ret 0xc
Function at 0x417f7b
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.KERNEL32.dll_CreateThread]
pop ebp
ret

Function at 0x42b23f
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword [esp + 8]
push esi
push edi
xor edi, edi
movzx eax, word [ecx + 0x14]
movzx esi, word [ecx + 6]
test esi, esi
lea eax, [eax + ecx + 0x18]
jbe 0x42b27a
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x42b261
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
cmp dword [esp + 0xc], edx
jb 0x42b272
add edx, ecx
cmp dword [esp + 0xc], edx
jb 0x42b27c
inc edi
add eax, 0x28
cmp edi, esi
jb 0x42b257
xor eax, eax
pop edi
pop esi
ret

Function at 0x42be16
Capabilities:
Contain obfuscated stackstrings

Disassembly:
and byte [ebp - 0x514], 0
and byte [ebp - 0x513], 0
invalid
test esi, ebp
cli
invalid
invalid

Function at 0x42be8c
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push eax
call fcn.0042b20f
pop ecx
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.0042b1c4
add esp, 0xc
mov dword [ebp - 0x33c], eax
call fcn.0042b1ff
jns 0x42bed6

Function at 0x42c6a3
Capabilities:
Contain obfuscated stackstrings

Disassembly:
and byte [ebp - 0x72c], 0
and byte [ebp - 0x72b], 0
mov byte [ebp - 0x72a], 0xc2
and byte [ebp - 0x729], 0
mov byte [ebp - 0x728], 0x6b
mov byte [ebp - 0x727], 0x54
mov byte [ebp - 0x726], 0x4f
mov byte [ebp - 0x725], 0x49
mov byte [ebp - 0x724], 0x48
mov byte [ebp - 0x723], 0x5c
pop esp
fdiv st(0), st(0)
invalid
mov byte [ebp - 0x722], 0x51
invalid

Function at 0x43e70c
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.0043e582

Function at 0x446298
Capabilities:
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.00445f11
Function at 0x431004
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
call 0x43100c
nop
nop
nop
pop eax
nop
nop
add eax, 0x403e6a
nop
nop
sub eax, 0x403e10
mov ebx, dword [eax]
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [eax + 4]
nop
nop
mov edx, dword [eax + 8]
nop
nop
nop
xor dword [ebx], edx
nop
nop
nop
nop
add ebx, 4
nop
nop
nop
nop
cmp ebx, ecx
nop
nop
jl 0x431030
nop
nop
nop
nop
add eax, 0xc
nop
nop
nop
nop
cmp dword [eax], 0
nop
nop
nop
nop
jne 0x43101e
nop
nop
nop
nop
nop
nop
popal
jmp fcn.00401219
Function at 0x40c310
Capabilities:
Hide graphical window

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x28]
mov ecx, dword [eax + 0x2c]
mov dword [eax + 0x20], ecx
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0x18]
mov dword [eax + 0xc], edx
mov eax, dword [esi + 0x28]
mov ecx, dword [eax + 0x40]
mov dword [eax + 0x34], ecx
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0x54]
mov dword [eax + 0x48], edx
mov eax, dword [esi + 0x28]
mov dword [eax], 2
mov ecx, dword [esi + 0x24]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov ecx, esi
pop esi
jmp fcn.0040b570
Function at 0x40f090
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x4684ab
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
mov eax, dword [0x47e378]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0xc], esi
xor ebx, ebx
mov dword [esi + 4], ebx
lea ecx, [esi + 8]
mov dword [esi], vtable.BaseWindowClass_class_advPage_TV_Basic__414__151_.0
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
mov byte [ecx + 4], bl
push 0xb
push str..Device1_
mov dword [esp + 0x20], ebx
call fcn.00401860
mov dword [esi], vtable.advPage_TV_Basic.0
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], ebx
mov eax, esi
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
add esp, 0x10
ret
Function at 0x411010
Capabilities:
Create process on windows

Disassembly:
sub esp, 0x90
push ebx
push esi
push edi
push 0x44
xor ebx, ebx
lea eax, [esp + 0x5c]
push ebx
push eax
call fcn.004541e0
mov esi, dword [esp + 0xb0]
mov edi, dword [esp + 0xac]
add esp, 0xc
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x5c]
push edx
push ebx
push ebx
push 0x4000020
push ebx
push ebx
push ebx
push esi
push edi
mov dword [esp + 0x80], 0x44
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x4110b1
push 0x3c
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004541e0
add esp, 0xc
lea ecx, [esp + 0xc]
push ecx
mov dword [esp + 0x10], 0x3c
mov dword [esp + 0x14], 0x40
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], 1
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
test eax, eax
je 0x4110bf
mov eax, dword [esp + 0x44]
pop edi
pop esi
pop ebx
add esp, 0x90
ret
mov eax, dword [esp + 0x48]
pop edi
pop esi
pop ebx
add esp, 0x90
ret
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x90
ret

Function at 0x4110d0
Capabilities:
Get file version info

Disassembly:
sub esp, 0x118
mov eax, dword [0x47e378]
xor eax, esp
mov dword [esp + 0x114], eax
push ebx
mov ebx, dword [esp + 0x120]
push ebp
mov ebp, dword [esp + 0x128]
push edi
lea eax, [esp + 0x18]
push eax
push ebx
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov edi, eax
xor eax, eax
cmp edi, eax
je 0x4111bf
push esi
push edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
call fcn.0045349c
mov esi, eax
add esp, 4
test esi, esi
jne 0x411146
mov eax, 0x80004005
pop esi
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x114]
xor ecx, esp
call fcn.00454162
add esp, 0x118
ret
push esi
push edi
push 0
push ebx
call sub.VERSION.dll_GetFileVersionInfoA
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x1c]
push edx
push str.VarFileInfoTranslation
push esi
call sub.VERSION.dll_VerQueryValueA
mov eax, dword [esp + 0x18]
movzx ecx, word [eax + 2]
movzx edx, word [eax]
push ecx
push edx
lea eax, [esp + 0x28]
push str.StringFileInfo_04x_04xFileVersion
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x28]
push eax
push esi
call sub.VERSION.dll_VerQueryValueA
test ebp, ebp
je 0x4111af
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push ecx
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push esi
call fcn.00453c8b
add esp, 4
xor eax, eax
jmp 0x41112d
mov ecx, dword [esp + 0x120]
pop edi
pop ebp
pop ebx
xor ecx, esp
mov eax, 0x80004005
call fcn.00454162
add esp, 0x118
ret
Function at 0x4113d0
Capabilities:
Check os version

Disassembly:
sub esp, 0x98
mov eax, dword [0x47e378]
xor eax, esp
mov dword [esp + 0x94], eax
push esi
mov esi, dword [esp + 0xa0]
push edi
mov edi, dword [esp + 0xac]
call fcn.00410e20
cmp dword [0x47fac8], 0
je 0x411439
push 0x94
lea eax, [esp + 0xc]
push 0
push eax
call fcn.004541e0
add esp, 0xc
lea ecx, [esp + 8]
push ecx
mov dword [esp + 0xc], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov eax, dword [esp + 0x18]
cmp eax, 1
jne 0x411452
cmp dword [esp + 0x10], 0xa
jae 0x41145e
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x94]
xor ecx, esp
call fcn.00454162
add esp, 0x98
ret
cmp eax, 2
jne 0x411439
cmp dword [esp + 0xc], 5
jb 0x411439
mov edx, dword [esp + 0xa8]
push 0
push edi
push edx
push esi
call dword [0x47fac8]
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
xor ecx, esp
call fcn.00454162
add esp, 0x98
ret

Function at 0x411580
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x10
lea eax, [esp]
push eax
push 0x20019
push 0
push str.SOFTWAREIntelTvWizard_
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4115ed
lea ecx, [esp + 8]
push ecx
mov ecx, dword [esp + 4]
lea edx, [esp + 8]
push edx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push 0
push str.IsTvWizardInstalled
push ecx
mov dword [esp + 0x20], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov eax, dword [esp]
test eax, eax
je 0x4115ed
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
cmp dword [esp + 4], 1
sete al
add esp, 0x10
ret

Function at 0x411600
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x10
push esi
lea eax, [esp + 4]
push eax
push 0x20019
xor esi, esi
push esi
push str.SOFTWAREIntelDisplayigfxcuihkcmd
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x18], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x411675
mov eax, 4
lea ecx, [esp + 0xc]
push ecx
mov ecx, dword [esp + 8]
lea edx, [esp + 0xc]
push edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
lea eax, [esp + 0x18]
push eax
push esi
push str.ExpansionAllDisplay
push ecx
mov dword [esp + 0x20], esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x41166a
cmp dword [esp + 8], 1
jne 0x41166a
mov esi, 1
mov edx, dword [esp + 4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
pop esi
add esp, 0x10
ret
Function at 0x417200
Capabilities:
Set registry value

Disassembly:
mov edx, dword [esp + 4]
push 4
lea eax, [esp + 0xc]
push eax
mov eax, dword [ecx]
push 4
push 0
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
ret 8

Function at 0x417220
Capabilities:
Set registry value

Disassembly:
push esi
mov esi, dword [esp + 0xc]
test esi, esi
push edi
mov edi, ecx
jne 0x417236
push 0x80004005
call fcn.00413510
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [esp + 0xc]
mov edx, dword [edi]
add eax, 1
push eax
mov eax, dword [esp + 0x18]
push esi
push eax
push 0
push ecx
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
pop edi
pop esi
ret 0xc

Function at 0x417260
Capabilities:
Set registry value

Disassembly:
push ecx
push ebp
mov ebp, dword [esp + 0x10]
test ebp, ebp
mov dword [esp + 4], ecx
jne 0x417278
push 0x80004005
call fcn.00413510
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
push esi
push edi
xor edi, edi
mov esi, ebp
push esi
call ebx
add eax, 1
add esi, eax
add edi, eax
cmp eax, 1
jne 0x417285
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
push edi
push ebp
push 7
push 0
push eax
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
pop edi
pop esi
pop ebx
pop ebp
pop ecx
ret 8
Function at 0x417c30
Capabilities:
Delete registry key
Query or enumerate registry key

Disassembly:
sub esp, 0x11c
mov eax, dword [0x47e378]
xor eax, esp
mov dword [esp + 0x118], eax
push ebp
push esi
push edi
mov edi, dword [esp + 0x12c]
mov ebp, ecx
mov eax, dword [ebp]
lea ecx, [esp + 0x14]
push ecx
push 0x2001f
push 0
push edi
push eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov ecx, dword [esp + 0xc]
mov esi, eax
test esi, esi
jne 0x417c9e
test ecx, ecx
je 0x417c90
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
mov ecx, dword [esp + 0x14]
mov esi, eax
mov dword [esp + 0xc], ecx
je 0x417cac
test ecx, ecx
je 0x417d51
push ecx
jmp 0x417d4b
mov esi, dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
lea edx, [esp + 0x1c]
push edx
push 0
push 0
push 0
lea eax, [esp + 0x20]
push eax
lea edx, [esp + 0x38]
push edx
push 0
push ecx
mov dword [esp + 0x30], 0x100
call esi
test eax, eax
jne 0x417d1e
jmp 0x417ce0
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x10]
call fcn.00417c30
mov edi, eax
test edi, edi
jne 0x417d6d
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x10]
push eax
push eax
push eax
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x38]
push eax
push edi
push ecx
mov dword [esp + 0x30], 0x100
call esi
test eax, eax
je 0x417ce0
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
test eax, eax
je 0x417d35
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0xc], 0
mov edx, dword [ebp]
push edi
push edx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov esi, eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x417d51
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
mov ecx, dword [esp + 0x124]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.00454162
add esp, 0x11c
ret 4
mov eax, dword [esp + 0xc]
test eax, eax
je 0x417d7c
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
jmp 0x417d53
Function at 0x41ef50
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x438
mov eax, dword [0x47e378]
xor eax, esp
mov dword [esp + 0x434], eax
push ebp
push esi
push edi
push 0xff
lea eax, [esp + 0x44]
push 0
push eax
call fcn.004541e0
push 0xff
lea ecx, [esp + 0x150]
push 0
push ecx
call fcn.004541e0
mov edx, dword [0x48bc18]
push edx
push 0xff
lea eax, [esp + 0x60]
push eax
push 0x223
push 0
call sub.hccutils.DLL_LoadSTRING
mov ecx, dword [0x48bc18]
push ecx
push 0xff
lea edx, [esp + 0x174]
push edx
push 0x1bfd
push 0
call sub.hccutils.DLL_LoadSTRING
lea eax, [esp + 0x80]
or ebp, 0xffffffff
add esp, 0x40
add eax, ebp
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x41efd8
mov cx, word [0x46d124]
mov dl, byte [0x46d126]
mov word [eax], cx
mov byte [eax + 2], dl
lea eax, [esp + 0x140]
mov edx, eax
mov edi, edi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x41f000
lea edi, [esp + 0x40]
sub eax, edx
add edi, ebp
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x41f011
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [0x480654]
push str.HtmlHelpA
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x34
lea ecx, [esp + 0x10]
mov esi, eax
push 0
push ecx
mov dword [0x480658], esi
call fcn.004541e0
add esp, 0xc
test esi, esi
mov dword [esp + 0xc], 0x34
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
je 0x41f140
mov esi, dword [esp + 0x448]
test esi, esi
je 0x41f140
push 0x200
lea edx, [esp + 0x244]
push 0
push edx
call fcn.004541e0
mov eax, dword [0x48bc18]
push eax
push 0x200
lea ecx, [esp + 0x254]
push ecx
push esi
push 0
call sub.hccutils.DLL_LoadSTRING
mov eax, dword [esp + 0x470]
mov ecx, dword [esp + 0x474]
add esp, 0x20
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
push 0xe
lea edx, [esp + 0x248]
mov dword [esp + 0x20], edx
push 0
lea edx, [esp + 0x4c]
push 0
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x4c], edx
call dword [0x480658]
cmp dword [esp + 0x460], 1
mov esi, eax
jne 0x41f140
test esi, esi
je 0x41f140
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push esi
call edi
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_GetWindowLongA]
or eax, 0x402000
push eax
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 5
push esi
call edi
mov ecx, dword [esp + 0x440]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.00454162
add esp, 0x438
ret 0x1c
Function at 0x427a40
Capabilities:
Hide graphical window

Disassembly:
push esi
push edi
mov edi, dword [esp + 0xc]
mov esi, ecx
xor eax, eax
lea ebx, [ebx]
cmp edi, dword [eax*4 + 0x48b278]
je 0x427a63
add eax, 1
cmp eax, 7
jl 0x427a50
jmp 0x427a65
mov edi, eax
mov eax, dword [esi + 4]
push 0x109
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
test edi, edi
jne 0x427aa0
mov ecx, dword [esi + 0x8c]
push edi
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push ecx
call edi
mov edx, dword [esi + 0xb8]
push 0
push edx
call edi
mov eax, dword [esi + 0x5c]
push 5
push eax
call edi
pop edi
pop esi
ret 4
mov ecx, dword [esi + 0xe0]
mov edx, dword [ecx + 8]
add edx, 1
cmp edi, edx
je 0x427b08
cmp edi, 6
je 0x427b08
mov eax, dword [esi + 0x5c]
push ebx
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push eax
call ebx
mov ecx, dword [esi + 0xb8]
push 0
push ecx
call ebx
mov edx, dword [esi + 0x8c]
push 0
push edx
call ebx
mov ecx, dword [esi + 0xe0]
mov eax, edi
shl eax, 4
sub eax, edi
mov edx, dword [ecx + eax*4 + 0x1c]
push edx
lea ecx, [esi + 0x88]
call fcn.00415d90
mov eax, dword [esi + 0x8c]
push 5
push eax
call ebx
pop ebx
pop edi
pop esi
ret 4
mov ecx, dword [esi + 0x5c]
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push ecx
call edi
mov edx, dword [esi + 0x8c]
push 0
push edx
call edi
mov eax, dword [esi + 0xb8]
push 5
push eax
call edi
pop edi
pop esi
ret 4
Function at 0x429f40
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [esp + 4]
push esi
mov esi, 0x48b064
sub esi, eax
lea esp, [esp]
mov dl, byte [eax]
mov byte [esi + eax], dl
add eax, 1
test dl, dl
jne 0x429f50
mov dword [0x48b05c], 5
pop esi
mov dword [esp + 4], 0x480660
add ecx, 0x28
jmp fcn.004242e0
Function at 0x42f6d0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x4694ce
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
mov eax, dword [0x47e378]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0xc], esi
xor ebx, ebx
mov dword [esi + 4], ebx
lea ecx, [esi + 8]
mov dword [esi], vtable.BaseWindowClass_class_page3D__261__151_.0
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
mov byte [ecx + 4], bl
push 0xb
push str..Device1_
mov dword [esp + 0x20], ebx
call fcn.00401860
lea ecx, [esi + 0x30]
mov dword [esp + 0x18], 1
mov dword [esi], vtable.page3D.0
call fcn.00410df0
lea ecx, [esi + 0x5c]
mov byte [esp + 0x18], 2
call fcn.00410df0
mov dword [esi + 0x28], ebx
mov dword [esi + 0x8c], ebx
mov dword [esi + 0x90], ebx
mov eax, esi
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
add esp, 0x10
ret

Function at 0x430adc
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword [esp + 4]
add eax, 0xffffff1d
cmp eax, 6
push esi
mov esi, ecx
ja case.default.0x430ae7
push ebx
push edi
jmp dword [eax*4 + 0x430c28]
mov eax, dword [esi + 4]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0xe3
push eax
call edi
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push eax
call ebx
mov ecx, dword [esi + 4]
push 0x1aec
push ecx
call edi
push 0
push eax
call ebx
pop edi
pop ebx
pop esi
ret 4
mov edx, dword [esi + 4]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0xe5
push edx
call edi
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push eax
call ebx
mov eax, dword [esi + 4]
push 0x1aed
push eax
call edi
push 0
push eax
call ebx
pop edi
pop ebx
pop esi
ret 4
mov ecx, dword [esi + 4]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0xe7
push ecx
call edi
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push eax
call ebx
mov edx, dword [esi + 4]
push 0x1aee
push edx
call edi
push 0
push eax
call ebx
pop edi
pop ebx
pop esi
ret 4
mov eax, dword [esi + 4]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0xe9
push eax
call edi
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push eax
call ebx
mov ecx, dword [esi + 4]
push 0x1092
push ecx
call edi
push 0
push eax
call ebx
mov edx, dword [esi + 4]
push 0x1ae4
push edx
call edi
push 0
push eax
call ebx
mov eax, dword [esi + 4]
push 0x1ae6
push eax
call edi
push 0
push eax
call ebx
mov ecx, dword [esi + 4]
push 0x1aea
push ecx
call edi
push 0
push eax
call ebx
mov edx, dword [esi + 4]
push 0x1095
push edx
call edi
push 0
push eax
call ebx
mov eax, dword [esi + 4]
push 0x1ae9
push eax
call edi
push 0
push eax
call ebx
mov ecx, dword [esi + 4]
push 0x1ae7
push ecx
call edi
push 0
push eax
call ebx
mov edx, dword [esi + 4]
push 0x1aeb
push edx
call edi
push 0
push eax
call ebx
pop edi
pop ebx
pop esi
ret 4
Function at 0x4320f0
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword [esp + 4]
push esi
push edi
lea edi, [ecx + 0x2c]
mov esi, edi
sub esi, eax
lea ecx, [ecx]
mov dl, byte [eax]
mov byte [esi + eax], dl
add eax, 1
test dl, dl
jne 0x432100
mov eax, edi
lea esi, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x432111
sub eax, esi
pop edi
mov dword [ecx + 0x130], eax
pop esi
jne 0x432135
mov eax, dword [ecx + 4]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
ret 4
mov ecx, dword [ecx + 4]
push 5
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
ret 4

Function at 0x4323d0
Capabilities:
Hide graphical window

Disassembly:
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
push esi
push edi
mov esi, ecx
mov eax, dword [esi + 4]
push 0x1af0
push eax
call ebx
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push eax
call edi
mov ecx, dword [esi + 4]
push 0x1af3
push ecx
call ebx
push 0
push eax
call edi
mov edx, dword [esi + 4]
push 0x1af2
push edx
call ebx
push 0
push eax
call edi
mov eax, dword [esi + 4]
push 0x1af1
push eax
call ebx
push 0
push eax
call edi
mov ecx, dword [esi + 0x99c]
push 0
push ecx
call edi
mov edx, dword [esi + 4]
push 0x1af5
push edx
call ebx
push 0
push eax
call edi
mov eax, dword [esi + 4]
push 0x1af4
push eax
call ebx
push 0
push eax
call edi
pop edi
pop esi
pop ebx
ret