joyce8/EMBER2024-capa huggingface dataset:
Function at 0x403340
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x68513b
mov eax, dword fs:[0]
push eax
sub esp, 0xa4
mov eax, dword [0x732694]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp + 0x18]
push esi
mov dword [ebp - 0xb0], eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x403396
xor al, al
jmp 0x4034ed
cmp dword [edi + 0x54], 0
je 0x40338f
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x58]
call eax
mov ecx, 0xa1
mov edx, 0x32
movups xmm0, xmmword [eax]
movd eax, xmm0
movups xmmword [ebp - 0xa4], xmm0
test eax, eax
cmovle eax, ecx
mov ecx, dword [ebp - 0xa0]
test ecx, ecx
mov dword [ebp - 0xa4], eax
cmovle ecx, edx
cmp dword [ebp - 0x9c], 0
mov dword [ebp - 0xa0], ecx
jg 0x4033ed
add eax, 0x350
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x98], 0
jg 0x403402
lea eax, [ecx + 0x27f]
mov dword [ebp - 0x98], eax
mov ecx, dword [edi + 0x54]
lea eax, [ebp - 0xa4]
push eax
call fcn.004504f0
mov ecx, eax
call fcn.0044d210
push 0x84
lea eax, [ebp - 0x94]
push 0
push eax
call fcn.005175d0
movups xmm0, xmmword [ebp - 0xa4]
push ecx
mov ecx, dword [edi + 0x54]
mov eax, esp
push dword [ebp + 0x14]
push dword [ebp + 0x10]
movups xmmword [eax], xmm0
call fcn.00451350
mov ecx, dword [edi + 0x54]
push eax
call fcn.00451350
push eax
push dword [ebp - 0xac]
lea eax, [ebp - 0x94]
mov ecx, edi
push eax
call fcn.004037d0
mov edi, dword [ebp - 0xb0]
mov dword [ebp - 4], 0
test edi, edi
je 0x403491
push 0x692f10
lea ecx, [ebp - 0x94]
call fcn.0044b6e0
push edi
lea ecx, [ebp - 0x94]
call fcn.0044b6e0
push 0
push 0
lea ecx, [ebp - 0x94]
call fcn.0044b3c0
push eax
push esi
call fcn.004e54e5
add esp, 0x10
test eax, eax
jne 0x4034d5
push 0x3e8
push 1
lea ecx, [ebp - 0x94]
call fcn.0044b3c0
push eax
push esi
call fcn.004e54e5
add esp, 0x10
mov byte [ebp - 0xa5], 0
test eax, eax
je 0x4034dc
mov byte [ebp - 0xa5], 1
lea ecx, [ebp - 0x94]
call fcn.0044b190
mov al, byte [ebp - 0xa5]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00447de7
mov esp, ebp
pop ebp
ret 0x14

Function at 0x403d50
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, ecx
mov eax, dword [esi + 0x568]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
cmp byte [ebp + 8], 0
je 0x403db7
test eax, eax
jne 0x403d8e
mov ecx, dword [esi + 0x54]
push eax
push eax
push eax
push 0x692ef0
push esi
call fcn.00458a00
push dword [esi + 0x568]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x403dc9
push 0xa
push dword [esi + 0x568]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esi + 0x568]
call dword [sym.imp.USER32.dll_BringWindowToTop]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x190]
pop esi
pop ebp
ret 4
test eax, eax
je 0x403dc9
push 0
push dword [esi + 0x568]
call dword [sym.imp.USER32.dll_ShowWindow]
pop esi
pop ebp
ret 4
Function at 0x406b50
Capabilities:
Reference http user-agent string

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6854f1
mov eax, dword fs:[0]
push eax
sub esp, 0x108
push esi
mov eax, dword [0x732694]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
call fcn.0044b190
mov ecx, dword [esi + 0x54]
call fcn.00451350
push eax
push dword [esi + 0x590]
call dword [0x73f570]
lea eax, [ebp - 0x90]
push eax
call fcn.00451050
add esp, 0xc
mov ecx, eax
mov dword [ebp - 4], 0
call fcn.0044b3c0
push eax
push dword [esi + 0x590]
call dword [0x73f6a0]
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90]
call fcn.0044b190
lea eax, [ebp - 0x90]
push eax
call fcn.00451050
add esp, 4
mov ecx, eax
mov dword [ebp - 4], 1
call fcn.0044b3c0
push eax
push dword [esi + 0x590]
call dword [0x73f698]
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90]
call fcn.0044b190
push str.WkeBrowser
push dword [esi + 0x590]
call dword [0x73f56c]
push 1
push dword [esi + 0x590]
call dword [0x73f53c]
push 0
push dword [esi + 0x590]
call dword [0x73f54c]
push 0
push dword [esi + 0x590]
call dword [0x73f550]
lea eax, [ebp - 0x114]
push eax
call fcn.00451050
add esp, 0x24
mov ecx, eax
mov dword [ebp - 4], 2
call fcn.0044b3c0
push eax
push dword [esi + 0x590]
call dword [0x73f694]
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x114]
call fcn.0044b190
mov ecx, dword [esi + 0x54]
call fcn.00451830
movzx eax, al
push eax
push dword [esi + 0x590]
call dword [0x73f57c]
push 0
push dword [esi + 0x590]
call dword [0x73f538]
push esi
push 0x407680
push dword [esi + 0x590]
call dword [0x73f758]
push esi
push 0x4076c0
push dword [esi + 0x590]
call dword [0x73f75c]
push esi
push 0x4075b0
push dword [esi + 0x590]
call dword [0x73f778]
push esi
push 0x407460
push dword [esi + 0x590]
call dword [0x73f77c]
add esp, 0x40
push esi
push 0x4074a0
push dword [esi + 0x590]
call dword [0x73f780]
push esi
push 0x407d80
push dword [esi + 0x590]
call dword [0x73f79c]
push esi
push 0x407510
push dword [esi + 0x590]
call dword [0x73f788]
push esi
push 0x4074d0
push dword [esi + 0x590]
call dword [0x73f78c]
push esi
push 0x407660
push dword [esi + 0x590]
call dword [0x73f764]
push esi
push 0x407420
push dword [esi + 0x590]
call dword [0x73f76c]
add esp, 0x48
push esi
push 0x407dc0
push dword [esi + 0x590]
call dword [0x73f7b8]
push esi
push 0x407d40
push dword [esi + 0x590]
call dword [0x73f794]
push str.Mozilla_5.0__Windows_NT_6.1__AppleWebKit_537.36__KHTML__like_Gecko__Chrome_69.0.2228.0_Safari_537.36
push dword [esi + 0x590]
call dword [0x73f580]
mov eax, dword [esi + 0x56c]
lea ecx, [esi + 0x56c]
add esp, 0x20
push esi
call dword [eax]
mov ecx, dword [esi + 0x54]
lea eax, [esi + 0x568]
push eax
call fcn.0044fe10
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x407000
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x685531
mov eax, dword fs:[0]
push eax
sub esp, 0x31c
mov eax, dword [0x732694]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x73f500]
mov esi, dword [ebp + 8]
test eax, eax
je 0x407046
call eax
test eax, eax
je 0x407046
mov al, 1
jmp 0x4071e4
push 0x84
lea eax, [ebp - 0x324]
push 0
push eax
call fcn.005175d0
add esp, 0xc
lea ecx, [ebp - 0x324]
push 0xffffffffffffffff
push esi
call fcn.0044afa0
lea ecx, [ebp - 0x324]
mov dword [ebp - 4], 0
call fcn.0044c160
test al, al
je 0x407090
push 0x73fa48
lea ecx, [ebp - 0x324]
call fcn.0044b2a0
push 0x84
lea eax, [ebp - 0x2a0]
push 0
push eax
call fcn.005175d0
add esp, 0xc
lea eax, [ebp - 0x324]
lea ecx, [ebp - 0x2a0]
push eax
call fcn.0044af60
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], 1
call fcn.0044b3c0
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push eax
call esi
test eax, eax
jne 0x40715b
push 0x20a
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.005175d0
add esp, 0xc
lea eax, [ebp - 0x21c]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x21c]
push 0x5c
push eax
call fcn.005179d7
add esp, 8
test eax, eax
je 0x40711c
xor ecx, ecx
mov word [eax + 2], cx
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x2a0]
call fcn.0044b2d0
lea ecx, [ebp - 0x324]
call fcn.0044b3c0
push eax
lea ecx, [ebp - 0x2a0]
call fcn.0044b6e0
lea ecx, [ebp - 0x2a0]
call fcn.0044b3c0
push eax
call esi
test eax, eax
jne 0x40715b
xor bl, bl
jmp 0x4071cc
lea ecx, [ebp - 0x2a0]
call fcn.0044b3c0
push 0
mov dword [section..data], eax
call fcn.00407f40
push 2
push 0
push 0x407360
push str.jsExternal
call dword [0x73f92c]
add esp, 0x14
push 0x406690
sub esp, 0x84
mov ecx, esp
mov dword [ebp - 0x328], esp
push 0xffffffffffffffff
push str.CWkeWebkitUI
call fcn.0044afa0
mov byte [ebp - 4], 2
call fcn.00469090
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.00469160
mov eax, dword [0x73f500]
test eax, eax
je 0x4071c7
call eax
test eax, eax
setne bl
lea ecx, [ebp - 0x2a0]
call fcn.0044b190
lea ecx, [ebp - 0x324]
call fcn.0044b190
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00447de7
mov esp, ebp
pop ebp
ret
Function at 0x40baf0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
cmp dword [ebp + 8], 0
push esi
mov esi, ecx
setne al
mov ecx, 0x73facc
mov byte [esi], al
call fcn.0040cb60
cmp dword [esi + 4], 0
jne 0x40bb33
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push esi
push 0
push 0x40ad80
mov dword [esi + 8], eax
call fcn.0051ee5b
add esp, 0xc
mov dword [esi + 4], eax
pop esi
pop ebp
ret 4

Function at 0x40c870
Capabilities:
Terminate thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x732694]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
mov dl, 1
lea eax, [esi + 0xc]
xchg byte [eax], dl
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [esi + 4]
test eax, eax
je 0x40c8d4
push 0x1388
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x40c8cd
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
push dword [ebp - 8]
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov dword [esi + 4], 0
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00447de7
mov esp, ebp
pop ebp
ret
Function at 0x415fb0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x686298
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x732694]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
push 8
mov dword [esi + 0x30], 0
mov dword [esi + 8], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0x201
mov dword [esi + 0x18], 6
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0xc], 0
call fcn.00447d59
mov edi, eax
add esp, 4
test edi, edi
je 0x416054
xorps xmm0, xmm0
movq qword [edi], xmm0
push 1
mov dword [ebp - 4], 0
call fcn.0044578c
add esp, 4
mov dword [edi + 4], eax
jmp 0x416056
xor edi, edi
mov eax, dword [ebp + 8]
mov dword [esi + 0x30], edi
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], 0
mov ecx, dword [edi + 4]
mov dword [ebp - 4], 1
mov dword [ebp - 0x10], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x14]
mov dword [ebp - 4], 2
push eax
call fcn.0040d110
add esp, 4
mov ecx, eax
mov edx, dword [eax]
push 0x20
mov eax, dword [edx + 0x20]
call eax
mov bl, al
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 4], 3
test ecx, ecx
je 0x4160b7
mov edx, dword [ecx]
call dword [edx + 8]
test eax, eax
je 0x4160b7
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
cmp dword [esi + 0x38], 0
mov dword [ebp - 4], 0xffffffff
mov byte [esi + 0x40], bl
jne 0x4160da
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
and eax, 0x13
or eax, 4
mov dword [esi + 0xc], eax
and ecx, eax
jne 0x4160fd
cmp byte [ebp + 0xc], 0
je 0x4160e9
push esi
call fcn.00445c32
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
test cl, 4
je 0x416109
mov esi, str.ios_base::badbit_set
jmp 0x416119
test cl, 2
mov esi, str.ios_base::failbit_set
mov eax, str.ios_base::eofbit_set
cmove esi, eax
lea eax, [ebp - 0x1c]
push 1
push eax
call fcn.0040f8c0
add esp, 8
lea ecx, [ebp - 0x30]
push eax
push esi
call fcn.0040d670
push 0x722154
lea eax, [ebp - 0x30]
push eax
call fcn.005166ae
int3
Function at 0x41d3f0
Capabilities:
Delete registry key
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x624
mov eax, dword [0x732694]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [sym.imp.ole32.dll_StringFromGUID2]
lea eax, [ebp - 0x61c]
push edi
push 0x104
push eax
push 0x696054
call esi
lea eax, [ebp - 0x61c]
push eax
push str.CLSID_s
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.0041ec50
mov ebx, dword [sym.imp.ADVAPI32.dll_RegDeleteTreeW]
mov edi, eax
add esp, 0x10
test edi, edi
js 0x41d473
lea eax, [ebp - 0x20c]
push eax
push SysReAllocString
call ebx
mov edi, eax
test edi, edi
jle 0x41d468
movzx edi, di
or edi, 0x80070000
xor eax, eax
cmp edi, 0x80070002
cmove edi, eax
push str.FolderViewSampleType
push SysReAllocString
call ebx
test eax, eax
jle 0x41d48b
movzx eax, ax
or eax, 0x80070000
xor ecx, ecx
cmp eax, 0x80070002
push 0x104
cmovne ecx, eax
lea eax, [ebp - 0x414]
push eax
push 0x696044
mov dword [ebp - 0x624], ecx
call esi
lea eax, [ebp - 0x414]
push eax
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerMyComputerNameSpace_s
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.0041ec50
mov esi, eax
add esp, 0x10
test esi, esi
js 0x41d58a
lea eax, [ebp - 0x20c]
push eax
push reloc.gdiplus.dll_Ordinal_1
call ebx
test eax, eax
jle 0x41d4f2
movzx eax, ax
or eax, 0x80070000
xor esi, esi
cmp eax, 0x80070002
cmovne esi, eax
test esi, esi
js 0x41d58a
lea eax, [ebp - 0x414]
push eax
push str.CLSID_s
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.0041ec50
mov esi, eax
add esp, 0x10
test esi, esi
js 0x41d58a
lea eax, [ebp - 0x20c]
push eax
push SysReAllocString
call ebx
test eax, eax
jle 0x41d544
movzx eax, ax
or eax, 0x80070000
xor esi, esi
cmp eax, 0x80070002
cmovne esi, eax
mov ebx, esi
test ebx, ebx
js 0x41d58a
lea eax, [ebp - 0x620]
push eax
push 0x11
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
js 0x41d58a
push 0
push dword [ebp - 0x620]
push 0
push 0x1000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
push dword [ebp - 0x620]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
test edi, edi
js 0x41d5ae
test esi, esi
js 0x41d5ae
cmp dword [ebp - 0x624], 0
jl 0x41d5ae
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00447de7
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, 0x80040201
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00447de7
mov esp, ebp
pop ebp
ret
Function at 0x424390
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x4243e9
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov esi, eax
test esi, esi
je 0x4243e9
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, dword [ebp + 0x10]
lea edx, [esi + eax]
and ecx, 0xf
jbe 0x4243da
cmp esi, edx
jae 0x4243e9
movzx eax, word [esi]
lea esi, [esi + eax*2]
add esi, 2
sub ecx, 1
jne 0x4243c8
cmp esi, edx
jae 0x4243e9
cmp word [esi], 0
je 0x4243e9
mov eax, esi
pop esi
pop ebp
ret
xor eax, eax
pop esi
pop ebp
ret
Function at 0x429cc0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x1c], 0x10
push ebx
mov ebx, dword [eax + 0x18]
push esi
lea esi, [eax + 8]
mov dword [ebp - 4], ecx
push edi
jb 0x429ce3
mov esi, dword [esi]
xor edx, edx
mov edi, 0x811c9dc5
test ebx, ebx
je 0x429d01
nop
movzx ecx, byte [edx + esi]
inc edx
xor ecx, edi
imul edi, ecx, 0x1000193
cmp edx, ebx
jb 0x429cf0
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 0xc]
and ecx, edi
lea esi, [ecx*8]
mov ecx, dword [edx + esi]
add edx, esi
cmp dword [edx + 4], eax
jne 0x429d3a
cmp ecx, eax
jne 0x429d32
mov ecx, dword [ebx + 4]
mov dword [edx], ecx
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
mov dword [esi + edx + 4], ecx
jmp 0x429d42
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
jmp 0x429d42
cmp ecx, eax
jne 0x429d42
mov ecx, dword [eax]
mov dword [edx], ecx
mov edx, dword [eax + 4]
lea ecx, [ebx + 4]
mov edi, dword [eax]
push eax
mov dword [edx], edi
mov esi, dword [eax]
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
dec dword [ecx + 4]
call fcn.0042e1d0
mov eax, dword [ebp - 8]
mov dword [eax], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x42b570
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6880d0
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
mov eax, dword [0x732694]
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 ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov byte [ebp - 0x29], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0
push eax
push esi
push edi
push ebx
call fcn.0042c1b0
add esp, 0x10
cmp dword [ebp - 0x18], 0
je 0x42b5ef
lea eax, [ebp - 0x28]
push eax
call fcn.0042bd20
add esp, 4
mov bl, al
jmp 0x42b5f2
mov bl, byte [ebp - 0x29]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x30]
cmp eax, 0x3e8
jae 0x42b60d
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], vtable.std::_Func_impl_no_alloc_class__lambda_aee44ec93c772f2830f7218fbde58bc2___void___.0
mov byte [ebp - 0x54], bl
mov dword [ebp - 0x34], eax
push 0
push 0
push eax
mov byte [ebp - 4], 1
call fcn.004e8149
mov ecx, dword [ebp - 0x34]
add esp, 0xc
test ecx, ecx
je 0x42b646
mov edx, dword [ecx]
lea eax, [ebp - 0x58]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x42b676
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42b66c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b694
push edx
push ecx
call fcn.00447d89
add esp, 8
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.00447de7
mov esp, ebp
pop ebp
ret 0xc
call fcn.0051ae21
int3
Function at 0x42f7b0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov ebx, dword [ebp + 0xc]
mov eax, ecx
push esi
push edi
mov dword [ebp - 4], eax
mov esi, ebx
cmp dword [ebx + 0x14], 0x10
mov edi, dword [ebx + 0x10]
jb 0x42f7ce
mov esi, dword [ebx]
xor ecx, ecx
mov edx, 0x811c9dc5
test edi, edi
je 0x42f7f4
nop dword [eax]
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x42f7e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
and eax, edx
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0xc]
mov edx, dword [edx + 4]
mov dword [ebp + 0xc], edx
mov esi, dword [ecx + eax*8]
add eax, eax
mov edi, dword [ecx + eax*4]
inc eax
mov dword [ebp - 8], edi
lea eax, [ecx + eax*4]
mov dword [ebp - 0xc], eax
cmp edi, edx
jne 0x42f81f
mov eax, edx
jmp 0x42f823
mov eax, dword [eax]
mov eax, dword [eax]
cmp esi, eax
je 0x42f8d3
cmp dword [ebx + 0x14], 0x10
mov edx, ebx
jb 0x42f835
mov edx, dword [ebx]
cmp dword [esi + 0x1c], 0x10
lea ecx, [esi + 8]
jb 0x42f841
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0x18]
cmp edi, dword [ebx + 0x10]
jne 0x42f8a0
sub edi, 4
jb 0x42f861
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42f866
add ecx, 4
add edx, 4
sub edi, 4
jae 0x42f850
cmp edi, 0xfffffffc
je 0x42f89a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x42f893
cmp edi, 0xfffffffd
je 0x42f89a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x42f893
cmp edi, 0xfffffffe
je 0x42f89a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x42f893
cmp edi, 0xffffffff
je 0x42f89a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x42f89a
sbb eax, eax
or eax, 1
jmp 0x42f89c
xor eax, eax
test eax, eax
je 0x42f8b0
mov esi, dword [esi]
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
jmp 0x42f817
mov ecx, dword [ebp - 4]
lea eax, [esi + 8]
push eax
push ebx
call fcn.0042b6a0
mov ecx, dword [ebp + 0xc]
test al, al
mov eax, dword [ebp + 8]
pop edi
cmove ecx, esi
pop esi
mov dword [eax], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov dword [eax], edx
mov esp, ebp
pop ebp
ret 8
Function at 0x43b830
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x68952b
mov eax, dword fs:[0]
push eax
sub esp, 0x7e0
mov eax, dword [0x732694]
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 edi, ecx
push 0x7d8
lea eax, [ebp - 0x7e8]
push 0
push eax
call fcn.005175d0
add esp, 0xc
lea ecx, [ebp - 0x7e8]
call fcn.0042ab20
push dword [ebp - 0x7ec]
mov esi, dword [edi + 4]
lea eax, [ebp - 0x7c8]
push eax
push 0x732390
push 0x732008
push 0x7408a4
mov dword [ebp - 4], 0
call fcn.00424d80
add esp, 0x14
movzx eax, ax
lea ecx, [ebp - 0x7e8]
push 0
push eax
push 0
push 0
push 0x96c80000
push 0x69848c
push 0
push esi
call fcn.00425b20
push dword [edi + 4]
lea ecx, [ebp - 0x7e4]
call fcn.004258f0
push 4
push dword [ebp - 0x7e4]
call dword [sym.imp.USER32.dll_GetWindow]
mov ebx, 1
mov edi, eax
push ebx
push dword [ebp - 0x7e4]
mov dword [ebp - 0x7ec], edi
xor esi, esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
push edi
call dword [sym.imp.USER32.dll_EnableWindow]
push dword [ebp - 0x7e4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x43b9fc
mov edi, dword [sym.imp.USER32.dll_PeekMessageW]
nop dword [eax + eax]
test ebx, ebx
je 0x43b957
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x38]
push eax
call edi
test eax, eax
jne 0x43b957
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x54]
push esi
call dword [eax + 8]
inc esi
test eax, eax
jne 0x43b934
xor ebx, ebx
push 0
push 0
push 0
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
cmp eax, 0xffffffff
je 0x43b9e2
test eax, eax
je 0x43b9f6
cmp dword [ebp - 0x34], 0x10
jne 0x43b99f
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x7e4]
jne 0x43b99f
push 1
push dword [ebp - 0x7ec]
call dword [sym.imp.USER32.dll_EnableWindow]
push dword [ebp - 0x7ec]
call dword [sym.imp.USER32.dll_SetFocus]
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x54]
call dword [eax + 4]
test eax, eax
jne 0x43b9c4
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
cmp dword [ebp - 0x34], 0x12
je 0x43b9f6
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x54]
call dword [eax + 0xc]
test eax, eax
je 0x43b9e2
mov ebx, 1
xor esi, esi
push dword [ebp - 0x7e4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x43b930
mov edi, dword [ebp - 0x7ec]
push 1
push edi
call dword [sym.imp.USER32.dll_EnableWindow]
push edi
call dword [sym.imp.USER32.dll_SetFocus]
cmp dword [ebp - 0x34], 0x12
jne 0x43ba1b
push dword [ebp - 0x30]
call dword [sym.imp.USER32.dll_PostQuitMessage]
lea ecx, [ebp - 0x7e8]
call fcn.0042b070
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.00447de7
mov esp, ebp
pop ebp
ret