joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40cd53
Capabilities:
Delete registry key
Query or enumerate registry key

Disassembly:
push ebp
lea ebp, [esp - 0x19c]
sub esp, 0x21c
mov eax, dword [0x49a010]
xor eax, ebp
mov dword [ebp + 0x198], eax
mov eax, dword [ebp + 0x1a4]
push ebx
push esi
mov esi, ecx
mov ecx, dword [esi + 4]
push edi
or ecx, 0x2001f
push ecx
push eax
push dword [esi]
xor edi, edi
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x6c], edi
call fcn.0040c5f2
mov ebx, eax
cmp ebx, edi
je 0x40cdc3
lea ecx, [ebp - 0x70]
call fcn.0040c589
mov eax, ebx
mov ecx, dword [ebp + 0x198]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00449c1a
add ebp, 0x19c
leave
ret 4
mov ebx, dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
jmp 0x40cddb
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x70]
call fcn.0040cd53
cmp eax, edi
jne 0x40ce0e
lea eax, [ebp - 0x80]
push eax
push edi
push edi
push edi
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x68]
push eax
push edi
push dword [ebp - 0x70]
mov dword [ebp - 0x74], pe_nt_image_headers32
call ebx
test eax, eax
je 0x40cdcb
lea ecx, [ebp - 0x70]
call fcn.0040c589
push dword [ebp - 0x78]
push dword [esi]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea ecx, [ebp - 0x70]
mov esi, eax
call fcn.0040c589
mov eax, esi
jmp 0x40cda9
Function at 0x4102e3
Capabilities:
Parse pe header
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
mov eax, dword [0x49a010]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push edi
xor edi, edi
push edi
push edi
push 3
push edi
push 1
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x48], eax
cmp eax, 0xffffffff
jne 0x41031e
xor eax, eax
jmp 0x4103a1
push esi
mov esi, dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
lea ecx, [ebp - 0x4c]
push ecx
push 0x40
lea ecx, [ebp - 0x44]
push ecx
push eax
call esi
test eax, eax
je 0x410395
cmp dword [ebp - 0x4c], 0x40
jne 0x410395
mov eax, 0x5a4d
cmp word [ebp - 0x44], ax
jne 0x410395
push edi
push edi
push dword [ebp - 8]
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, dword [ebp - 8]
jne 0x410395
push ebx
push edi
lea eax, [ebp - 0x4c]
push eax
mov ebx, 0xf8
push ebx
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0x48]
call esi
test eax, eax
je 0x410394
cmp dword [ebp - 0x4c], ebx
jne 0x410394
cmp dword [ebp - 0x144], 0x4550
jne 0x410394
cmp word [ebp - 0x13e], di
je 0x410394
xor edi, edi
inc edi
pop ebx
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop edi
call fcn.00449c1a
leave
ret

Function at 0x411748
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
mov dword [ebp - 4], ecx
mov ecx, dword [ebp + 0xc]
xor esi, esi
push esi
call fcn.00410e18
cmp dword [ebp + 8], esi
jne 0x411766
xor eax, eax
jmp 0x411784
push ebx
push esi
push esi
push 3
push esi
push esi
push 0x80000000
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, esi
jne 0x411789
xor eax, eax
pop ebx
pop esi
leave
ret 8
lea eax, [ebp - 0xc]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
cmp dword [ebp - 8], esi
jle 0x4117a4
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
jmp 0x411783
push edi
push dword [ebp - 0xc]
call fcn.0044b347
mov edi, eax
pop ecx
cmp edi, esi
je 0x4117df
push esi
lea eax, [ebp + 8]
push eax
push dword [ebp - 0xc]
mov dword [ebp + 8], esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
push dword [ebp - 0xc]
push edi
call fcn.00411695
push edi
mov esi, eax
call fcn.00449e2b
pop ecx
pop edi
jmp 0x411799
Function at 0x4164f4
Capabilities:
Delete file

Disassembly:
push ebp
lea ebp, [esp - 0x1fa4]
mov eax, 0x2024
call fcn.0044b4f0
mov eax, dword [0x49a010]
xor eax, ebp
mov dword [ebp + 0x1fa0], eax
push esi
mov esi, dword [ebp + 0x1fac]
test esi, esi
jne 0x416522
xor eax, eax
jmp 0x416576
push 0x1e
lea eax, [ebp - 0x80]
push 0
push eax
call fcn.00449ba0
push 0x2000
lea eax, [ebp - 0x60]
push 0
push eax
mov dword [ebp - 0x7c], 3
call fcn.00449ba0
push 0x1000
lea eax, [ebp - 0x60]
push esi
push eax
call fcn.0044d4cb
lea eax, [ebp - 0x60]
mov dword [ebp - 0x78], eax
mov eax, 0x614
mov word [ebp - 0x70], ax
add esp, 0x24
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
neg eax
sbb eax, eax
inc eax
mov ecx, dword [ebp + 0x1fa0]
xor ecx, ebp
pop esi
call fcn.00449c1a
add ebp, 0x1fa4
leave
ret

Function at 0x428e2f
Capabilities:
Create thread

Disassembly:
push esi
mov esi, ecx
cmp dword [esi + 4], 0
je 0x428e3c
xor eax, eax
pop esi
ret
mov eax, dword [esi + 0x18]
test eax, eax
je 0x428e38
lea ecx, [esi + 8]
push ecx
push 0
push dword [esi + 0x1c]
push eax
push 0
push 0
call fcn.0044e449
xor ecx, ecx
add esp, 0x18
test eax, eax
setne cl
mov dword [esi + 4], eax
pop esi
mov eax, ecx
ret

Function at 0x428f9e
Capabilities:
Check internet connectivity via wininet

Disassembly:
push ebp
mov ebp, esp
push ecx
push 0
lea eax, [ebp - 4]
push eax
call dword [sym.imp.WININET.dll_InternetGetConnectedState]
test eax, eax
je 0x428fbd
test byte [ebp - 4], 7
je 0x428fbd
xor eax, eax
inc eax
leave
ret
call fcn.00428f2b
leave
ret

Function at 0x428fc4
Capabilities:
Delete file
Download url
Receive data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x414
mov eax, dword [0x49a010]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
xor esi, esi
cmp edi, esi
je 0x429001
cmp word [edi], si
je 0x429001
cmp eax, esi
je 0x429011
cmp word [eax], si
je 0x429011
push esi
push esi
push eax
push edi
push esi
call sub.urlmon.dll_URLDownloadToFileW
test eax, eax
jge 0x429055
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00449c1a
leave
ret
xor eax, eax
push 0x40e
mov word [ebp - 0x414], ax
lea eax, [ebp - 0x412]
push esi
push eax
call fcn.00449ba0
add esp, 0xc
push esi
push esi
push 0x104
lea eax, [ebp - 0x414]
push eax
push edi
push esi
call sub.urlmon.dll_URLDownloadToCacheFileW
test eax, eax
jl 0x429001
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor eax, eax
inc eax
jmp 0x429003
Function at 0x429463
Capabilities:
Check if file exists
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0x78c]
sub esp, 0x80c
mov eax, dword [0x49a010]
xor eax, ebp
mov dword [ebp + 0x788], eax
push edi
xor eax, eax
push 0x7fe
push eax
mov word [ebp - 0x78], ax
lea eax, [ebp - 0x76]
push eax
call fcn.00449ba0
add esp, 0xc
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x7c]
push eax
push str.Path
xor edi, edi
push str.SOFTWAREMicrosoftWindowsCurrentVersionApp_Paths360safe.exe
inc edi
push 0x80000002
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], 0x800
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
jne 0x429520
push str.360ver.dll
lea eax, [ebp - 0x78]
push eax
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x78]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x429520
lea eax, [ebp - 0x78]
push 0
push eax
call fcn.004102aa
pop ecx
pop ecx
test eax, eax
je 0x429520
push esi
lea eax, [ebp - 0x78]
push eax
call fcn.004296c4
mov esi, eax
test esi, esi
je 0x42951f
push str.IsBetaVersion
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop esi
mov ecx, dword [ebp + 0x788]
mov eax, edi
xor ecx, ebp
pop edi
call fcn.00449c1a
add ebp, 0x78c
leave
ret

Function at 0x429538
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1004
call fcn.0044b4f0
mov eax, dword [0x49a010]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0xc]
push 0x1000
lea eax, [ebp - 0x1004]
push 0
push eax
call fcn.00449ba0
mov esi, 0x800
push esi
lea eax, [ebp - 0x1004]
push 0x48134c
push eax
call fcn.0044d4cb
push esi
lea eax, [ebp - 0x1004]
push edi
push eax
call fcn.0044e8a9
push esi
lea eax, [ebp - 0x1004]
push 0x481320
push eax
call fcn.0044e8a9
push esi
lea eax, [ebp - 0x1004]
push edi
push eax
call fcn.0044e8a9
push esi
lea eax, [ebp - 0x1004]
push str.vL
push eax
call fcn.0044e8a9
add esp, 0x48
push esi
lea eax, [ebp - 0x1004]
push ebx
push eax
call fcn.0044e8a9
push esi
lea eax, [ebp - 0x1004]
push 0x4812e0
push eax
call fcn.0044e8a9
add esp, 0x18
push 0x14
push edi
lea eax, [ebp - 0x1004]
push eax
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov esi, eax
cmp esi, 6
jne 0x42963c
call fcn.004292e0
test eax, eax
je 0x429625
call fcn.00429463
test eax, eax
je 0x429625
push 5
xor eax, eax
push eax
push eax
push 0x496a40
jmp 0x429630
push 5
xor eax, eax
push eax
push eax
push 0x4968a8
push 0x47fee4
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp dword [ebp + 0x10], 0
je 0x429649
push 0
call fcn.0044e811
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.00449c1a
leave
ret

Function at 0x42a2cb
Capabilities:
Get common file path

Disassembly:
mov dword [ecx], 0x481448
add ecx, 0x10
jmp fcn.0043da12

Function at 0x42af1e
Capabilities:
Get common file path

Disassembly:
mov dword [ecx], 0x4814e0
add ecx, 4
jmp fcn.0043da12
Function at 0x42b4fc
Capabilities:
Check os version

Disassembly:
push ebp
lea ebp, [esp - 0x98]
sub esp, 0x118
mov eax, dword [0x49a010]
xor eax, ebp
mov dword [ebp + 0x94], eax
push 0x110
lea eax, [ebp - 0x7c]
push 0
push eax
call fcn.00449ba0
add esp, 0xc
lea eax, [ebp - 0x80]
push eax
mov dword [ebp - 0x80], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x7c], 5
jne 0x42b549
xor eax, eax
inc eax
cmp dword [ebp - 0x78], eax
je 0x42b54b
xor eax, eax
mov ecx, dword [ebp + 0x94]
xor ecx, ebp
call fcn.00449c1a
add ebp, 0x98
leave
ret

Function at 0x42e992
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
cmp dword [ebp + 8], 0x64
push esi
mov esi, ecx
jne 0x42e9f0
fld dword [esi + 0x2c]
fsub qword [0x4815a0]
fstp dword [ebp + 8]
fld dword [ebp + 8]
fstp dword [esi + 0x2c]
fldz
fcomp dword [ebp + 8]
fnstsw ax
test ah, 5
jp 0x42e9c3
call fcn.0042e78f
jmp 0x42e9f0
push 0x64
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [esi + 0x30]
test esi, esi
je 0x42e9f0
push 0
push 0
push 0xbd1
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
pop esi
pop ebp
ret 4

Function at 0x42fbce
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
mov eax, dword [0x49a010]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x214], ax
lea eax, [ebp - 0x212]
push eax
mov dword [ebp - 0x218], edi
call fcn.00449ba0
add esp, 0xc
lea eax, [ebp - 0x214]
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea eax, [ebp - 0x214]
push eax
call fcn.0044aa55
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
pop ecx
mov ebx, 0x465
test eax, eax
jne 0x42fc40
push 0
push 0
push ebx
push edi
call esi
lea eax, [ebp - 0x214]
push eax
call fcn.0044aa55
pop ecx
cmp eax, 2
jb 0x42fc99
cmp word [ebp - 0x212], 0x3a
jne 0x42fc99
xor eax, eax
lea edi, [ebp - 0xa]
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ax, word [ebp - 0x214]
push 0x3a
mov word [ebp - 0xc], ax
pop eax
push 0x5c
mov word [ebp - 0xa], ax
pop eax
mov word [ebp - 8], ax
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
je 0x42fc99
push 0
push 0
push ebx
push dword [ebp - 0x218]
call esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00449c1a
leave
ret
Function at 0x43049b
Capabilities:
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x414
mov eax, dword [0x49a010]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov eax, dword [eax - 8]
test eax, eax
jne 0x4304bf
xor eax, eax
jmp 0x43052d
cmp eax, 0x104
jg 0x4304bb
push 0x410
lea eax, [ebp - 0x414]
push 0
push eax
call fcn.00449ba0
add esp, 0xc
lea eax, [ebp - 0x414]
push eax
push 0x2710
push 0x4802c0
push dword [esi]
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
cmp word [ebp - 0x414], 0
je 0x4304bb
lea eax, [ebp - 0x414]
push 0x4802bc
push eax
call fcn.0044d6ce
pop ecx
pop ecx
test eax, eax
je 0x4304bb
push eax
call fcn.0044d58c
pop ecx
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00449c1a
leave
ret 4

Function at 0x430a2f
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push esi
test ecx, ecx
je 0x430a3f
lea esi, [ecx - 0x84]
jmp 0x430a41
xor esi, esi
cmp byte [ecx + 0x1c], 0
je 0x430a75
push 0xe801
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp dword [ebp + 0xc], 2
jne 0x430a66
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x430a7b
cmp dword [ebp + 0xc], 0
jne 0x430a75
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
cmp dword [ebp + 0xc], 1
je 0x430a93
mov eax, dword [ebp + 0x10]
shr eax, 0x10
cwde
push eax
movsx eax, word [ebp + 0x10]
push eax
lea ecx, [esi + 0x84]
call fcn.0043058b
xor eax, eax
pop esi
pop ebp
ret 0x10

Function at 0x430d4f
Capabilities:
Create process on windows

Disassembly:
push 4
mov eax, 0x47c380
call fcn.0044b0f4
mov eax, dword [0x49501c]
mov dword [ebp - 0x10], eax
and dword [ebp - 4], 0
push 0xa8
lea ecx, [ebp - 0x10]
call fcn.0040ec64
push 1
push 0
push 0
push dword [ebp - 0x10]
push 0x47fee4
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [ebp - 0x10]
call fcn.0040bf88
call fcn.0044b1cc
ret
Function at 0x430e50
Capabilities:
Get disk information
Get disk size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x49a010]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x480200]
mov dword [ebp - 0xc], eax
mov eax, dword [0x480204]
mov dword [ebp - 8], eax
mov ax, word [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
mov word [ebp - 0xc], ax
push esi
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
xor esi, esi
cmp eax, 3
je 0x430e98
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], esi
jmp 0x430ed9
push 8
lea eax, [ebp - 0x14]
push esi
push eax
call fcn.00449ba0
add esp, 0xc
lea eax, [ebp - 0x14]
push eax
push esi
push esi
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
jne 0x430ec5
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], eax
jmp 0x430ecb
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
cmp eax, esi
ja 0x430eed
jb 0x430ed9
cmp ecx, 0x400
jae 0x430eed
push ecx
push 0x480268
push ebx
call fcn.00417af3
add esp, 0xc
jmp 0x430fc1
push edi
cmp eax, esi
ja 0x430f7a
jb 0x430f00
cmp ecx, 0x100000
jae 0x430f36
push esi
mov edi, ecx
push 0x64
shrd edi, eax, 0xa
and ecx, 0x3ff
push esi
shr eax, 0xa
push ecx
mov dword [ebp - 0x18], eax
call fcn.0044d270
mov ecx, eax
or ecx, edx
jne 0x430f2a
push edi
push 0x48025c
jmp 0x430fa5
push eax
push edi
push 0x480248
jmp 0x430fb7
cmp eax, esi
ja 0x430f7a
jb 0x430f44
cmp ecx, 0x40000000
jae 0x430f7a
push esi
mov edi, ecx
push 0x19000
shrd edi, eax, 0x14
and ecx, 0xfffff
push esi
shr eax, 0x14
push ecx
mov dword [ebp - 0x18], eax
call fcn.0044d270
mov ecx, eax
or ecx, edx
jne 0x430f71
push edi
push 0x48023c
jmp 0x430fa5
push eax
push edi
push 0x480228
jmp 0x430fb7
push esi
mov edi, ecx
push 0x6400000
shrd edi, eax, 0x1e
and ecx, 0x3fffffff
push esi
shr eax, 0x1e
push ecx
mov dword [ebp - 0x18], eax
call fcn.0044d270
mov ecx, eax
or ecx, edx
jne 0x430fb0
push edi
push 0x48021c
push ebx
call fcn.00417af3
add esp, 0xc
jmp 0x430fc0
push eax
push edi
push 0x480208
push ebx
call fcn.00417af3
add esp, 0x10
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.00449c1a
leave
ret 8
Function at 0x4312d7
Capabilities:
Check if file exists
Get disk information

Disassembly:
push 0x2c
mov eax, 0x47c431
call fcn.0044b15d
mov dword [ebp - 0x1c], ecx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
mov edx, dword [eax - 8]
test edx, edx
jne 0x4312fd
push 2
pop eax
call fcn.0044b1e0
ret 4
cmp edx, 0x80
jle 0x431309
push 8
jmp 0x4312f4
cmp edx, 3
jge 0x431313
xor eax, eax
inc eax
jmp 0x4312f5
movzx ecx, word [eax + 2]
cmp cx, 0x3a
jne 0x431327
movzx ecx, word [eax + 4]
cmp cx, 0x5c
jne 0x43130e
xor esi, esi
test edx, edx
jle 0x43137a
mov edi, eax
movzx ecx, word [edi]
cmp cx, 0x3a
jne 0x431341
cmp esi, 1
jne 0x4313d5
cmp cx, 0x2a
je 0x4313d5
cmp cx, 0x3f
je 0x4313d5
cmp cx, 0x22
je 0x4313d5
cmp cx, 0x3c
je 0x4313d5
cmp cx, 0x3e
je 0x4313d5
cmp cx, 0x7c
je 0x4313d5
cmp cx, 0x2f
je 0x4313d5
inc esi
inc edi
inc edi
cmp esi, edx
jl 0x43132f
cmp edx, 4
jge 0x43138e
cmp edx, 1
jle 0x43130e
movzx ecx, word [eax + 2]
cmp cx, 0x3a
jne 0x43130e
cmp edx, 2
jl 0x4313a1
movzx ecx, word [eax + 2]
cmp cx, 0x3a
jne 0x43130e
cmp edx, 1
jle 0x4313dc
mov ecx, dword [0x480380]
mov dword [ebp - 0x18], ecx
mov ecx, dword [0x480384]
mov dword [ebp - 0x14], ecx
mov ax, word [eax]
mov word [ebp - 0x18], ax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
je 0x4313dc
push 9
jmp 0x4312f4
push 7
jmp 0x4312f4
lea ecx, [ebp - 0x38]
call fcn.00417ba5
push dword [ebx]
xor esi, esi
mov dword [ebp - 4], esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x431434
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push ebx
call fcn.0040f623
lea ecx, [ebp - 0x38]
call fcn.00418368
cmp eax, esi
je 0x431446
cmp eax, 0x50
je 0x431434
cmp eax, 0xb7
je 0x431434
push 5
pop esi
cmp eax, esi
jne 0x43142f
lea ecx, [ebp - 0x38]
call fcn.0041813c
mov eax, esi
jmp 0x4312f5
xor esi, esi
inc esi
jmp 0x431420
mov ecx, dword [ebp - 0x1c]
push ebx
call fcn.0043049b
test eax, eax
jne 0x431446
push 5
pop esi
jmp 0x431420
mov eax, dword [0x49c290]
mov ecx, dword [ebx]
shl eax, 0x14
cdq
push edx
push eax
push ecx
call fcn.0043bfc5
add esp, 0xc
test eax, eax
jne 0x431420
push 3
jmp 0x431443
Function at 0x4314df
Capabilities:
Get graphical window text

Disassembly:
push ebp
sub esp, 0x800
lea ebp, [esp - 4]
mov eax, dword [0x49a010]
xor eax, ebp
mov dword [ebp + 0x800], eax
push 0xc
mov eax, 0x47c489
call fcn.0044b0f4
mov esi, ecx
push 0x3ee
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, eax
xor ebx, ebx
mov dword [ebp - 0x18], edi
cmp edi, ebx
jne 0x431543
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x800]
xor ecx, ebp
call fcn.00449c1a
add ebp, 0x804
leave
ret
push 0x400
lea eax, [ebp]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov eax, dword [0x49501c]
mov dword [ebp - 0x10], eax
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], ebx
call fcn.0040e910
lea ecx, [ebp - 0x10]
call fcn.00428ba6
lea ecx, [ebp - 0x10]
call fcn.00428bfb
mov eax, dword [0x49501c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax - 8]
lea ecx, [ebp - 0x14]
push ecx
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 1
call fcn.0040d426
push eax
mov ecx, esi
call fcn.00431464
test eax, eax
jne 0x4315ea
mov eax, dword [ebp - 0x14]
cmp dword [eax - 8], ebx
je 0x4315c0
push 0x40
push 0x96
push eax
push dword [esi + 4]
call fcn.0042bf66
add esp, 0x10
push ebx
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x18]
call fcn.0042fcd1
push edi
call dword [sym.imp.USER32.dll_SetFocus]
lea ecx, [ebp - 0x14]
call fcn.0040bf88
lea ecx, [ebp - 0x10]
call fcn.0040bf88
mov eax, ebx
jmp 0x431520
push 0xffffffffffffffff
lea ecx, [ebp - 0x10]
call fcn.0040e5e6
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x49c220
call fcn.0040e8c0
xor ebx, ebx
inc ebx
jmp 0x4315d3
Function at 0x431762
Capabilities:
Get graphical window text

Disassembly:
push ebp
sub esp, 0x800
lea ebp, [esp - 4]
mov eax, dword [0x49a010]
xor eax, ebp
mov dword [ebp + 0x800], eax
push 0xc
mov eax, 0x47c50f
call fcn.0044b0f4
cmp dword [ebp + 0x80c], 0x300
mov esi, ecx
jne 0x43191f
push 0x3ee
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
xor ebx, ebx
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x43191f
xor eax, eax
push 0x7fe
mov word [ebp], ax
lea eax, [ebp + 2]
push ebx
push eax
call fcn.00449ba0
add esp, 0xc
push 0x3ff
lea eax, [ebp]
push eax
push dword [ebp - 0x10]
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov eax, dword [0x49501c]
mov dword [ebp - 0x18], eax
lea edi, [esi + 0x694]
push dword [edi]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], 1
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x431817
push ebx
push ebx
push 0xf0
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jne 0x431817
mov dword [ebp - 0x14], ebx
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp]
push eax
mov ecx, esi
call fcn.00431696
test eax, eax
je 0x431843
cmp dword [ebp - 0x14], ebx
je 0x431843
push 1
lea ecx, [esi + 0x3fc]
call fcn.0042cb0b
push 0xffffff
jmp 0x43187c
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [ebp - 0x10]
je 0x431863
push ebx
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x10]
call fcn.0042fcd1
push dword [ebp - 0x10]
call dword [sym.imp.USER32.dll_SetFocus]
cmp dword [0x49c23c], ebx
jne 0x431887
push ebx
lea ecx, [esi + 0x3fc]
call fcn.0042cb0b
push 0x3af2ff
lea ecx, [esi + 0xac]
call fcn.00428d50
mov eax, dword [ebp - 0x18]
cmp dword [eax - 8], ebx
jne 0x431901
mov eax, dword [0x49501c]
mov dword [ebp - 0x14], eax
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 1
call fcn.0041077d
mov edi, 0x480388
push edi
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 2
call fcn.00417359
push edi
lea ecx, [ebp - 0x10]
call fcn.004172da
mov eax, dword [ebp - 0x10]
movzx eax, word [eax]
lea ecx, [ebp - 0x14]
push ecx
push eax
mov ecx, esi
call fcn.00430e50
push dword [ebp - 0x14]
lea eax, [ebp - 0x18]
push dword [esi + 0xc90]
push 0x8b
push eax
call fcn.0040f709
add esp, 0x10
lea ecx, [ebp - 0x10]
call fcn.0040bf88
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], bl
call fcn.0040bf88
cmp dword [0x49c23c], ebx
jne 0x431917
push dword [ebp - 0x18]
lea ecx, [esi + 0xac]
call fcn.0042e618
lea ecx, [ebp - 0x18]
call fcn.0040bf88
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x800]
xor ecx, ebp
call fcn.00449c1a
add ebp, 0x804
leave
ret 0xc