joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4130c0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov dword [ebp - 4], ecx
mov dword [ebp - 0x18], 8
mov dword [ebp - 0x14], 0xff
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov ecx, dword [ebp - 4]
call fcn.004248f6
push 0
call fcn.004269c1
add esp, 4
push 0x5cdc44
mov ecx, dword [ebp - 4]
call fcn.00427c3b
push 0x5cdc64
push 0
push str.debug
push 0x5cdc94
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x413187
call dword [sym.imp.KERNEL32.dll_AllocConsole]
push 0
call fcn.005652ac
add esp, 4
push eax
push 0x5cdca8
push str.CONIN_
call fcn.0056cf9b
add esp, 0xc
push 1
call fcn.005652ac
add esp, 4
push eax
push 0x5cdcb4
push 0x5cdcb8
call fcn.0056cf9b
add esp, 0xc
push 2
call fcn.005652ac
add esp, 4
push eax
push 0x5cdcc0
push str.CONOUT_
call fcn.0056cf9b
add esp, 0xc
push 0x5ca14e
push 0
call fcn.0056f4d8
add esp, 8
mov ecx, dword [ebp - 4]
call fcn.00413720
movzx ecx, al
test ecx, ecx
je 0x4131d3
push 0x5cdccc
push 0
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4131cc
push 0
push 0xf120
push 0x112
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
xor eax, eax
jmp 0x4132dc
mov ecx, dword [ebp - 4]
call fcn.004132e0
movzx ecx, al
test ecx, ecx
jne 0x4131f4
mov ecx, dword [ebp - 4]
call fcn.004135c0
mov eax, 1
jmp 0x4132dc
push str.launcherStart
call fcn.0040d3d0
mov ecx, eax
call fcn.0040d320
mov ecx, dword [ebp - 4]
call fcn.00413770
call fcn.00412f00
movzx edx, al
test edx, edx
je 0x41323f
push 0
push 0
push 0
push 0
call fcn.00413ce0
push eax
call fcn.00412e30
add esp, 0x14
test eax, eax
jne 0x41323d
mov eax, 1
jmp 0x4132dc
jmp 0x413260
push 0
push 0
push 0
push 0
call fcn.00413ce0
push eax
call fcn.00412f80
add esp, 0x14
test eax, eax
jne 0x413260
mov eax, 1
jmp 0x4132dc
push 0
push 0
push 0
lea ecx, [ebp - 0x28]
call fcn.00413ca0
push 0
lea eax, [ebp - 0x28]
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x118
push ecx
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
call fcn.00412f00
movzx edx, al
test edx, edx
je 0x4132a4
call fcn.004053a0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x20], eax
mov eax, 1
jmp 0x4132dc
call fcn.00413fd0
mov edx, dword [ebp - 4]
mov dword [edx + 0x20], eax
call fcn.00413fd0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xc]
mov eax, dword [edx + 0x174]
call eax
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x11c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x4135c0
Capabilities:
Check if file exists
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8e0
mov eax, dword [0x5effd4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov dword [ebp - 0x89c], ecx
push 0x44
push 0
lea eax, [ebp - 0x8e0]
push eax
call fcn.0055ed40
add esp, 0xc
mov dword [ebp - 0x8e0], 0x44
xor ecx, ecx
mov dword [ebp - 0x898], ecx
mov dword [ebp - 0x894], ecx
mov dword [ebp - 0x890], ecx
mov dword [ebp - 0x88c], ecx
push 0x800
push 0
lea edx, [ebp - 0x884]
push edx
call fcn.0055ed40
add esp, 0xc
mov ecx, 6
mov esi, str..update.exe
lea edi, [ebp - 0x884]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x898]
push eax
lea ecx, [ebp - 0x8e0]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
lea edx, [ebp - 0x884]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x4136f1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x888], eax
cmp dword [ebp - 0x888], 2
jne 0x413692
push 0
push 0
push 0x5cddec
call fcn.00420106
jmp 0x4136a0
push 0
push 0
push 0x5cde18
call fcn.00420106
push 0x80
push 0
lea eax, [ebp - 0x84]
push eax
call fcn.0055ed40
add esp, 0xc
mov ecx, dword [ebp - 0x888]
push ecx
push str.launcherUpdateStartFail__d
lea edx, [ebp - 0x84]
push edx
call fcn.0040b860
add esp, 0xc
lea eax, [ebp - 0x84]
push eax
call fcn.0040d3d0
mov ecx, eax
call fcn.0040d320
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x41370b
mov ecx, dword [ebp - 0x898]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x894]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0055c24d
mov esp, ebp
pop ebp
ret

Function at 0x413720
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], ecx
push str.dancelaucher2016
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x11c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x413760
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
jmp 0x413762
xor al, al
mov esp, ebp
pop ebp
ret
Function at 0x413770
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x586dfb
mov eax, dword fs:[0]
push eax
sub esp, 0x250
mov eax, dword [0x5effd4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x25c], ecx
push 0x208
push 0
lea eax, [ebp - 0x218]
push eax
call fcn.0055ed40
add esp, 0xc
lea ecx, [ebp - 0x218]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea edx, [ebp - 0x218]
push edx
lea ecx, [ebp - 0x220]
call fcn.00404d70
mov dword [ebp - 4], 0
push str.Audition.exe
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x238]
push ecx
call fcn.00403bd0
add esp, 0xc
mov dword [ebp - 0x234], eax
push 0
mov ecx, dword [ebp - 0x234]
call fcn.00402310
push eax
call fcn.00564cf4
add esp, 8
test eax, eax
jne 0x413829
mov dword [ebp - 0x224], 1
jmp 0x413833
mov dword [ebp - 0x224], 0
mov dl, byte [ebp - 0x224]
mov byte [ebp - 0x219], dl
lea ecx, [ebp - 0x238]
call fcn.00403170
movzx eax, byte [ebp - 0x219]
test eax, eax
je 0x4138cd
push 0
lea ecx, [ebp - 0x24c]
call fcn.0040bb80
push 0
push 0
push 0x2001f
push 0
push 0
push str.Software9youAU
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x24c]
call fcn.0040b730
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0
jne 0x4138b2
push 1
lea ecx, [ebp - 0x218]
push ecx
push 0x5cded8
lea ecx, [ebp - 0x24c]
call fcn.0040b5d0
mov dword [ebp - 0x228], eax
lea ecx, [ebp - 0x24c]
call fcn.0040bb10
lea ecx, [ebp - 0x24c]
call fcn.0040bb60
jmp 0x4139b3
push str.wia.exe
lea edx, [ebp - 0x220]
push edx
lea eax, [ebp - 0x240]
push eax
call fcn.00403bd0
add esp, 0xc
mov dword [ebp - 0x23c], eax
push 0
mov ecx, dword [ebp - 0x23c]
call fcn.00402310
push eax
call fcn.00564cf4
add esp, 8
test eax, eax
jne 0x413914
mov dword [ebp - 0x22c], 1
jmp 0x41391e
mov dword [ebp - 0x22c], 0
mov cl, byte [ebp - 0x22c]
mov byte [ebp - 0x21a], cl
lea ecx, [ebp - 0x240]
call fcn.00403170
movzx edx, byte [ebp - 0x21a]
test edx, edx
je 0x4139b3
push 0
lea ecx, [ebp - 0x258]
call fcn.0040bb80
push 0
push 0
push 0x2001f
push 0
push 0
push str.SoftwareWIA
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x258]
call fcn.0040b730
mov dword [ebp - 0x230], eax
cmp dword [ebp - 0x230], 0
jne 0x41399d
push 1
lea eax, [ebp - 0x218]
push eax
push 0x5cdf14
lea ecx, [ebp - 0x258]
call fcn.0040b5d0
mov dword [ebp - 0x230], eax
lea ecx, [ebp - 0x258]
call fcn.0040bb10
lea ecx, [ebp - 0x258]
call fcn.0040bb60
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x220]
call fcn.00403170
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0055c24d
mov esp, ebp
pop ebp
ret
Function at 0x414c10
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 4], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0x100
jne 0x414c52
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0xd
je 0x414c3c
cmp dword [ebp - 8], 0x1b
je 0x414c46
jmp 0x414c50
mov eax, 1
jmp 0x414cd7
mov eax, 1
jmp 0x414cd7
jmp 0x414ccb
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0x104
jne 0x414ccb
mov ecx, dword [ebp + 8]
cmp dword [ecx + 8], 0x73
jne 0x414ccb
push 1
push 0x5ce2d4
push 0x5ce2dc
mov ecx, dword [ebp - 4]
call fcn.0041b53b
cmp eax, 1
jne 0x414ccb
push 0
mov ecx, dword [ebp - 4]
call fcn.00418096
push 0
call fcn.004053a0
mov ecx, eax
call fcn.00418096
mov ecx, dword [ebp - 4]
call fcn.00414d90
push str.launcherEnd
call fcn.0040d3d0
mov ecx, eax
call fcn.0040d320
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 4]
call fcn.00416e10
mov esp, ebp
pop ebp
ret 4

Function at 0x414ce0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x220
mov eax, dword [0x5effd4]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x220], ecx
push 0
lea ecx, [ebp - 0x21c]
call fcn.0040bb80
push 0
push 0
push 0x2001f
push 0
push 0
push str.Software9youlauncherdance
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x21c]
call fcn.0040b730
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
jne 0x414d73
lea eax, [ebp - 0x20c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push 1
lea ecx, [ebp - 0x20c]
push ecx
push str.path
lea ecx, [ebp - 0x21c]
call fcn.0040b5d0
mov dword [ebp - 0x210], eax
lea ecx, [ebp - 0x21c]
call fcn.0040bb10
lea ecx, [ebp - 0x21c]
call fcn.0040bb60
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0055c24d
mov esp, ebp
pop ebp
ret

Function at 0x414d90
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov dword [ebp - 8], ecx
call fcn.004053a0
add eax, 0xc4
mov ecx, eax
call fcn.00414f80
movzx eax, al
test eax, eax
jne 0x414dc2
push str.patcherCancel
call fcn.0040d3d0
mov ecx, eax
call fcn.0040d320
lea ecx, [ebp - 4]
push ecx
call fcn.004053a0
add eax, 0xc4
mov ecx, eax
call fcn.0040a710
jmp 0x414de7
push 0
lea edx, [ebp - 0xc]
push edx
lea ecx, [ebp - 4]
call fcn.0040a5e0
lea eax, [ebp - 0x10]
push eax
call fcn.004053a0
add eax, 0xc4
mov ecx, eax
call fcn.0040a6b0
push eax
lea ecx, [ebp - 4]
call fcn.0040a5a0
movzx ecx, al
test ecx, ecx
je 0x414e21
push 0xffffffffffffffff
lea ecx, [ebp - 4]
call fcn.0040a610
mov edx, dword [eax]
push edx
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
jmp 0x414dd9
mov esp, ebp
pop ebp
ret
Function at 0x414e60
Capabilities:
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x587046
mov eax, dword fs:[0]
push eax
sub esp, 0x218
mov eax, dword [0x5effd4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x220], ecx
lea ecx, [ebp - 0x21c]
call fcn.004032f0
mov dword [ebp - 4], 0
push 0x208
push 0
lea eax, [ebp - 0x218]
push eax
call fcn.0055ed40
add esp, 0xc
lea ecx, [ebp - 0x218]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push str.resconfig.ini
lea edx, [ebp - 0x218]
push edx
push str._s_s
lea eax, [ebp - 0x21c]
push eax
call fcn.00403050
add esp, 0x10
lea ecx, [ebp - 0x224]
call fcn.004032f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x21c]
call fcn.00402310
push eax
push 0x64
push 0x64
mov ecx, dword [ebp - 0x220]
add ecx, 0x3c8
call fcn.00402f30
push eax
push 0x5ce400
push 0x5ce404
push str.settings
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x220]
add ecx, 0x3c8
call fcn.00402ae0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x224]
call fcn.00403170
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x21c]
call fcn.00403170
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0055c24d
mov esp, ebp
pop ebp
ret

Function at 0x4163f7
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov ebx, ecx
push edi
mov edi, dword [ebp + 8]
mov dword [ebx + 0x84], edi
test edi, 0xffff0000
jne 0x416422
cmp dword [ebx + 0x80], 0
jne 0x416422
movzx eax, di
mov dword [ebx + 0x80], eax
call fcn.004184c0
push 5
push edi
mov esi, dword [eax + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
push esi
push dword [ebp + 0xc]
mov edi, eax
mov ecx, ebx
push edi
call fcn.004166b8
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_FreeResource]
pop edi
mov eax, esi
pop esi
pop ebx
pop ebp
ret 8

Function at 0x41645c
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
xor esi, esi
call fcn.004184c0
push 5
push dword [ebp + 8]
mov ebx, dword [eax + 0xc]
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov edi, eax
test edi, edi
je 0x416493
push edi
call dword [sym.imp.KERNEL32.dll_LockResource]
mov esi, eax
mov ecx, dword [ebp - 4]
push ebx
push dword [ebp + 0xc]
push esi
call fcn.004164b2
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_FreeResource]
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 8
Function at 0x41737f
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov ecx, dword [ebp - 0x100]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00417894
add esp, 8
mov dword [ebp - 0x118], eax
push 0
push 0
push 0x16b48
add dword [eax], eax
mov eax, dword [ebp - 0x11c]
push eax
push 0
push 0
call dword [ebp - 0x118]
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xb0]
call dword [ecx - 0x75]
push ebp
cld
push edx
call fcn.00417894
add esp, 8
mov dword [ebp - 0x13c], eax
push 0x15f90
mov eax, dword [ebp - 0xa0]
push eax
call dword [ebp - 0x13c]
cmp eax, 0x102
jne 0x4177c0
mov dword [ebp - 0x24], 0
mov ecx, 1
test ecx, ecx
je 0x417428
push 0
mov edx, dword [ebp - 0xa0]
push edx
call dword [ebp - 0x13c]
test eax, eax
jne 0x417413
invalid
jmp 0x417428
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xffffffff
jne 0x417426
jmp 0x417428
jmp 0x4173f5
cmp dword [ebp - 0x24], 0x26000
jb 0x4177c0
cmp dword [ebp - 0xb4], 0
jne 0x4177c0
mov byte [ebp - 0x94], 0x6b
mov byte [ebp - 0x93], 0x65
mov byte [ebp - 0x92], 0x72
mov byte [ebp - 0x91], 0x6e
push 0
push 0
push 0x3e8
mov eax, dword [ebp - 0x11c]
push eax
push 0
push 0
call dword [ebp - 0x118]
mov esp, ebp
pop ebp
ret

Function at 0x41745e
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov byte [ebp - 0x90], 0x65
mov byte [ebp - 0x8f], 0x6c
mov byte [ebp - 0x8e], 0x62
mov byte [ebp - 0x8d], 0x61
mov byte [ebp - 0x8c], 0x73
mov byte [ebp - 0x8b], 0x65
mov byte [ebp - 0x8a], 0x2e
invalid
invalid

Function at 0x4174cb
Capabilities:
Contain obfuscated stackstrings

Disassembly:
call dword [ebp - 0x110]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00417894
add esp, 8
mov dword [ebp - 0x134], eax
push 4
push 0x1000
push 0xff
push 0
call dword [ebp - 0x134]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00417894
add esp, 8
mov dword [ebp - 0x10c], eax
push 0xff
mov edx, dword [ebp - 0x98]
push edx
mov eax, dword [ebp - 0xc4]
push eax
call dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x98]
push ecx
call fcn.004179c4
add esp, 4
mov dword [ebp - 0xa8], 0
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xa4]
push eax
call fcn.00417894
add esp, 8
mov dword [ebp - 0x108], eax
push 2
mov ecx, dword [ebp - 0x98]
push ecx
lea edx, [ebp - 0xa8]
push edx
call dword [ebp - 0x108]
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call dword [ebp - 0x144]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0x9c]
push edx
call fcn.00417894
add esp, 8
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.00417894
add esp, 8
mov dword [ebp - 0x12c], eax
invalid
xchg ebp, eax
invalid
Function at 0x417864
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret

Function at 0x417894
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov dword [ebp - 0x10], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1c], edx
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
add eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 8]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp + 0xc]
and ecx, 0xffff0000
je 0x417970
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x20], eax
mov dword [ebp - 8], 0
jmp 0x417912
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0x20]
jae 0x417967
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 8]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00417834
add esp, 8
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jne 0x417965
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x30]
mov cx, word [eax + edx*2]
mov word [ebp - 4], cx
movzx edx, word [ebp - 4]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 8]
jmp 0x417909
mov dword [ebp - 0x10], 0
jmp 0x41798b
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 0xc]
sub eax, dword [edx + 0x10]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp + 8]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x10], eax
invalid
inc ebp

Function at 0x41a9dd
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 4], ecx
mov esi, edi
cmp dword [ebp + 8], esi
je 0x41aa22
call fcn.004184c0
push 0xf0
push dword [ebp + 8]
mov ebx, dword [eax + 0xc]
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x41aa22
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov esi, eax
test esi, esi
je 0x41aa3e
push esi
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
mov ecx, dword [ebp - 4]
push edi
call fcn.0041868e
mov ebx, eax
test edi, edi
je 0x41aa3c
test esi, esi
je 0x41aa3c
push esi
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret 4
Function at 0x41b445
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, ecx
push edi
test esi, esi
je 0x41b503
cmp dword [esi + 0x20], 0
je 0x41b503
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41b503
cmp dword [ebp + 8], 0
je 0x41b503
xor eax, eax
mov ebx, eax
mov dword [ebp - 4], eax
mov dword [ebp - 8], ebx
mov edi, eax
call fcn.004184c0
push 0x596f38
push dword [ebp + 8]
mov eax, dword [eax + 0xc]
push eax
mov dword [ebp - 0xc], eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x41b4d4
mov edi, dword [ebp - 0xc]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push dword [ebp - 0x10]
mov dword [ebp - 4], eax
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov edi, eax
test edi, edi
je 0x41b503
push edi
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ebx, eax
mov dword [ebp - 8], eax
push dword [ebp - 4]
push ebx
push esi
call fcn.00430012
add esp, 0xc
mov ebx, eax
cmp dword [ebp - 8], 0
je 0x41b4f4
test edi, edi
je 0x41b4f4
push edi
call dword [sym.imp.KERNEL32.dll_FreeResource]
test ebx, ebx
je 0x41b4ff
mov ecx, esi
call fcn.0041b1e7
mov eax, ebx
jmp 0x41b505
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 4

Function at 0x42701b
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
xor esi, esi
mov eax, ecx
push edi
mov edi, esi
mov dword [ebp - 4], eax
cmp dword [ebp + 0xc], esi
je 0x427065
call fcn.004184c0
push 0xf0
push dword [ebp + 0xc]
mov ebx, dword [eax + 0xc]
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x427062
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov edi, eax
test edi, edi
je 0x4270b5
push edi
call dword [sym.imp.KERNEL32.dll_LockResource]
mov esi, eax
mov eax, dword [ebp - 4]
xor ebx, ebx
inc ebx
test esi, esi
je 0x427092
mov ecx, dword [eax]
push dword [ebp + 0x10]
push esi
mov esi, dword [ecx + 0x20]
mov ecx, esi
push dword [ebp + 8]
call dword [0x595a50]
mov ecx, dword [ebp - 4]
call esi
mov ebx, eax
test edi, edi
je 0x427092
push edi
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x70]
test edi, edi
je 0x4270b3
mov eax, dword [edi]
push dword [ebp + 0x10]
mov esi, dword [eax + 0xa0]
mov ecx, esi
call dword [0x595a50]
mov ecx, edi
call esi
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret 0xc
Function at 0x4279b5
Capabilities:
Query or enumerate registry value
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
xor esi, esi
push edi
cmp dword [ecx + 0x58], esi
je 0x427a08
push esi
push dword [ebp + 8]
call fcn.00427b9e
mov edi, eax
test edi, edi
je 0x427a03
lea eax, [ebp - 4]
mov dword [ebp - 4], 4
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push esi
push dword [ebp + 0xc]
push edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push edi
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
jne 0x427a03
mov eax, dword [ebp - 8]
jmp 0x427a1a
mov eax, dword [ebp + 0x10]
jmp 0x427a1a
push dword [ecx + 0x6c]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
pop edi
pop esi
leave
ret 0xc

Function at 0x42d74d
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 4]
push eax
push dword [ebp + 0xc]
mov ecx, dword [edi + 4]
call fcn.00417646
push 0xfffffffffffffff0
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
push dword [ebp + 0xc]
mov esi, eax
mov ecx, edi
and esi, 3
call fcn.0042d966
cmp esi, 3
je 0x42d78b
mov dword [edi + 0xc], 1
cmp dword [edi], 0
je 0x42d7d4
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov esi, dword [ebp + 0x10]
test eax, eax
jle 0x42d7ae
lea ecx, [eax + 1]
push ecx
push eax
mov ecx, esi
call fcn.0041614b
jmp 0x42d7bf
push 0xff
mov ecx, esi
call fcn.00402ed0
push 0x100
push eax
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_GetWindowTextW]
push 0xffffffffffffffff
mov ecx, esi
call fcn.00402ae0
jmp 0x42d7f8
mov esi, dword [ebp + 0x10]
push dword [esi]
push 0xffffffffffffffff
push 0x14d
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xffffffff
jne 0x42d7f8
push dword [esi]
push dword [ebp - 4]
call fcn.0042c51d
pop edi
pop esi
leave
ret 0xc

Function at 0x42d8bd
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
mov ecx, esi
push edi
push dword [ebp + 0xc]
call fcn.0042d966
cmp dword [esi], 0
mov edi, eax
mov dword [esi + 0xc], 1
je 0x42d905
push edi
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
lea ecx, [eax + 1]
push ecx
mov ecx, dword [ebp + 0x10]
push eax
call fcn.0041614b
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov ecx, dword [ebp + 0x10]
push 0xffffffffffffffff
call fcn.00402ae0
jmp 0x42d910
mov eax, dword [ebp + 0x10]
push dword [eax]
push edi
call fcn.0042c51d
pop edi
pop esi
pop ebp
ret 0xc