joyce8/EMBER2024-capa huggingface dataset:
Function at 0x454370
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x535c75
mov eax, dword fs:[0]
push eax
push ebx
push esi
mov eax, dword [0x575494]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [ebp - 4], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
push 0x409530
push 0x43d250
push 5
push 0x2ac
lea eax, [esi + 0x38]
push eax
mov byte [ebp - 4], 1
call fcn.0051f815
mov ecx, 0xc
lea eax, [esi + 0xd94]
mov edi, edi
mov byte [eax], bl
inc eax
dec ecx
jne 0x4543f0
mov ecx, 0x10
lea eax, [esi + 0xda0]
mov byte [eax], bl
inc eax
dec ecx
jne 0x454401
mov dword [esi + 0xdb0], ebx
mov dword [esi + 0xdb4], ebx
mov dword [esi + 0xdb8], ebx
mov dword [esi + 0xdbc], ebx
mov ecx, 0x14
lea eax, [esi + 0xdc0]
lea ebx, [ebx]
mov byte [eax], bl
inc eax
dec ecx
jne 0x454430
mov ecx, 0x14
lea eax, [esi + 0xdd4]
mov byte [eax], bl
inc eax
dec ecx
jne 0x454441
mov ecx, 0x14
lea eax, [esi + 0xde8]
mov byte [eax], bl
inc eax
dec ecx
jne 0x454452
mov dword [esi + 0xdfc], ebx
mov ecx, 0xc
lea eax, [esi + 0xe00]
lea esp, [esp]
mov byte [eax], bl
inc eax
dec ecx
jne 0x454470
mov ecx, 0xc
lea eax, [esi + 0xe10]
mov byte [eax], bl
inc eax
dec ecx
jne 0x454481
mov ecx, 0x10
lea eax, [esi + 0xe1c]
mov byte [eax], bl
inc eax
dec ecx
jne 0x454492
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x45f360
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
push eax
mov ebx, edx
mov ecx, esi
mov dword [esi + 0xd54], eax
mov dword [esi + 0xd58], edi
call fcn.00460bd0
mov eax, dword [esi + 0x30]
test eax, eax
je 0x45f3a5
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
test eax, eax
jne 0x45f3b3
mov eax, dword [esi + 0x2c]
mov ebx, dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx + esi + 0x2c], eax
jmp 0x45f3b3
mov ecx, dword [esi + 0x2c]
mov edx, dword [ecx + 4]
mov dword [esi + edx + 0x2c], 6
mov eax, dword [esi + 0x3e4]
test eax, eax
je 0x45f3c8
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x45f3dc
mov eax, dword [esi + 0x3e0]
mov ecx, dword [eax + 4]
mov dword [esi + ecx + 0x3e0], 6
add esi, 0x438
call fcn.004650b0
mov esi, dword [ebp + 8]
call fcn.00461150
pop edi
pop esi
pop ebx
pop ebp
ret 4

Function at 0x45f920
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
lea eax, [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x45f9cb
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
push ecx
push edx
call dword [sym.imp.USER32.dll_WindowFromPoint]
cmp eax, dword [edi + 0x3c4]
je 0x45f9cb
lea esi, [edi + 0x438]
xor cl, cl
cmp eax, dword [esi + 0xf0]
jne 0x45f961
mov cl, 1
cmp eax, dword [esi + 0x39c]
jne 0x45f96b
mov cl, 1
cmp eax, dword [esi + 0x648]
jne 0x45f975
mov cl, 1
cmp eax, dword [esi + 0xb8]
je 0x45f9cb
test cl, cl
jne 0x45f9cb
mov eax, dword [edi + 0x3e4]
test eax, eax
je 0x45f9a8
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.004650b0
mov dword [edi + 0x1e0], 0xffffffff
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x3e0]
mov ecx, dword [eax + 4]
mov dword [edi + ecx + 0x3e0], 6
call fcn.004650b0
mov dword [edi + 0x1e0], 0xffffffff
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x45fae0
Capabilities:
Hide graphical window

Disassembly:
push ebx
push esi
mov esi, eax
cmp dword [esi + 0x1e0], 0xffffffff
push edi
je 0x45fb96
mov eax, dword [esi + 0xd54]
test eax, eax
je 0x45fbd3
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x45fbd3
cdq
idiv ecx
mov edi, eax
test edi, edi
jne 0x45fb19
mov edi, 1
mov eax, dword [esi + 0x1e0]
cdq
idiv edi
mov edi, dword [esi + 0x40]
push 1
imul edi, eax
imul ecx, edx
sub edi, dword [esi + 0xd60]
mov ebx, ecx
push edi
push ebx
lea ecx, [esi + 0x3e0]
mov dword [esi + 0x3f8], ebx
mov dword [esi + 0x3fc], edi
call fcn.0051c2b0
mov eax, dword [esi + 0x3e4]
test eax, eax
je 0x45fb63
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x45fb77
mov eax, dword [esi + 0x3e0]
mov ecx, dword [eax + 4]
mov dword [esi + ecx + 0x3e0], 6
cmp byte [esi + 0x1dc], 0
je 0x45fbd3
push edi
add esi, 0x438
push ebx
call fcn.00464f80
call fcn.00465010
pop edi
pop esi
pop ebx
ret
mov eax, dword [esi + 0x3e4]
test eax, eax
je 0x45fbab
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x45fbbf
mov edx, dword [esi + 0x3e0]
mov eax, dword [edx + 4]
mov dword [esi + eax + 0x3e0], 6
cmp byte [esi + 0x1dc], 0
je 0x45fbd3
add esi, 0x438
call fcn.004650b0
pop edi
pop esi
pop ebx
ret

Function at 0x460540
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
cmp byte [ebp + 8], 0
push ebx
push esi
mov esi, ecx
push edi
mov ebx, eax
mov dword [esi + 0xde0], 0
je 0x4605e3
push ebx
call dword [sym.imp.USER32.dll_IsWindowVisible]
push ebx
mov edi, eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x46062b
test edi, edi
je 0x46062b
push esi
push 0
push 0x45c8b0
call fcn.0051fea9
add esp, 0xc
mov dword [esi + 0xde0], eax
cmp eax, 0xffffffff
je 0x46062b
mov dword [0x57b264], eax
call fcn.00451a00
mov eax, dword [esi + 0xdd8]
test eax, eax
je 0x4605c3
push eax
push ebx
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [esi + 0xdd8], 0
push 0
push 0x5dc
push 0x154a
push ebx
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [esi + 0xdd8], eax
pop edi
pop esi
pop ebx
pop ebp
ret 4
call fcn.00460640
mov eax, dword [esi + 0xd54]
mov edi, dword [esi + 0xd58]
push eax
mov ecx, esi
call fcn.00460bd0
call fcn.00461150
mov eax, dword [esi + 0xd38]
xor edi, edi
cmp eax, dword [esi + 0xd3c]
jae 0x460625
mov ecx, dword [esi + 0xd3c]
cmp byte [eax + 0x2c], 0
je 0x46061e
inc edi
add eax, 0x38
cmp eax, ecx
jb 0x460617
push esi
call fcn.004610e0
pop edi
pop esi
pop ebx
pop ebp
ret 4
Function at 0x461750
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x38
mov eax, dword [0x575494]
xor eax, esp
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0x10]
push ebx
push esi
mov ebx, ecx
lea ecx, [esp + 0x10]
push ecx
push 1
push eax
mov dword [esp + 0x1c], 0x1c
mov dword [esp + 0x20], 0x17
mov dword [esp + 0x18], eax
call dword [sym.imp.USER32.dll_GetScrollInfo]
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x20]
inc eax
test ebx, ebx
je 0x46187e
mov ecx, dword [esp + 0x24]
lea esi, [ecx + ebx]
test esi, esi
jg 0x4617ad
xor esi, esi
jmp 0x4617b3
cmp esi, eax
jl 0x4617b3
mov esi, eax
cmp esi, ecx
je 0x46187e
mov eax, dword [esp + 0xc]
push 1
lea edx, [esp + 0x14]
push edx
push 1
mov ebx, esi
push eax
sub ebx, ecx
mov dword [esp + 0x34], esi
call dword [sym.imp.USER32.dll_SetScrollInfo]
mov dword [edi + 0xd60], esi
lea esi, [edi + 0x438]
call fcn.004650b0
mov eax, dword [edi + 0x3e4]
test eax, eax
je 0x4617fd
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x461811
mov ecx, dword [edi + 0x3e0]
mov edx, dword [ecx + 4]
mov dword [edi + edx + 0x3e0], 6
mov esi, dword [esp + 0xc]
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
push 6
push 0
push 0
lea ecx, [esp + 0x38]
push ecx
mov edx, ecx
push edx
mov eax, ebx
neg eax
push eax
push 0
push esi
call dword [sym.imp.USER32.dll_ScrollWindowEx]
mov eax, dword [edi + 0x30]
lea esi, [edi + 0x2c]
test eax, eax
je 0x46186b
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
test eax, eax
jne 0x461877
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
add eax, esi
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [esp + 0xc]
mov dword [edx], eax
jmp 0x461877
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov dword [esi + ecx], 6
mov esi, edi
call fcn.00461150
mov ecx, dword [esp + 0x3c]
pop esi
mov eax, ebx
pop ebx
xor ecx, esp
call fcn.0051eacc
mov esp, ebp
pop ebp
ret

Function at 0x461a30
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, eax
lea eax, [edi + 0x2cc]
push eax
call fcn.00463d70
mov dword [edi + 0x1e0], 0xffffffff
mov eax, dword [edi + 0x3e4]
test eax, eax
je 0x461a66
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x461a7a
mov ecx, dword [edi + 0x3e0]
mov edx, dword [ecx + 4]
mov dword [edi + edx + 0x3e0], 6
lea esi, [edi + 0x438]
call fcn.004650b0
mov esi, edi
call fcn.0045dfa0
mov eax, dword [edi + 0xd54]
mov edi, dword [edi + 0xd58]
push eax
mov ecx, esi
call fcn.00460bd0
push 1
push 0
push ebx
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebx
pop ebp
ret 4
Function at 0x463860
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
lea edi, [esi + 0xc]
push edi
mov ecx, str.BrCcThumb.sdd
call fcn.00470260
push str.FileListThumb_L
lea eax, [esi + 0x1c]
call fcn.005080c0
mov eax, dword [edi + 0x10]
mov ecx, eax
test eax, eax
jne 0x46388e
mov ecx, 0x54ee24
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
xor eax, eax
cmp dword [edi + 8], eax
jle 0x4638bb
test ecx, ecx
je 0x4638bb
cmp word [ecx], ax
je 0x4638bb
mov eax, dword [edi + 4]
test eax, eax
jne 0x4638b0
mov eax, 0x54ee24
push eax
push 0
push str.Thumb_Width
push ecx
call ebx
mov dword [esi + 0xcc], eax
mov eax, dword [edi + 0x10]
test eax, eax
jne 0x4638cd
mov eax, 0x54ee24
xor ecx, ecx
cmp dword [edi + 8], ecx
jle 0x463909
test eax, eax
je 0x46391e
cmp word [eax], cx
je 0x463933
mov ecx, dword [edi + 4]
test ecx, ecx
jne 0x4638e9
mov ecx, 0x54ee24
push ecx
push 0
push str.Thumb_Height
push eax
call ebx
mov dword [esi + 0xd0], eax
mov al, byte [ebp + 8]
mov byte [esi + 0xd4], al
pop edi
pop ebx
pop ebp
ret 4
mov dword [esi + 0xd0], ecx
mov cl, byte [ebp + 8]
mov byte [esi + 0xd4], cl
pop edi
pop ebx
pop ebp
ret 4
mov dl, byte [ebp + 8]
mov dword [esi + 0xd0], ecx
mov byte [esi + 0xd4], dl
pop edi
pop ebx
pop ebp
ret 4
mov al, byte [ebp + 8]
pop edi
mov dword [esi + 0xd0], ecx
mov byte [esi + 0xd4], al
pop ebx
pop ebp
ret 4
Function at 0x4650b0
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword [esi + 0x110]
push ebx
push edi
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
mov ebx, 6
test eax, eax
je 0x4650ce
push 0
push eax
call edi
jmp 0x4650de
mov eax, dword [esi + 0x10c]
mov ecx, dword [eax + 4]
mov dword [esi + ecx + 0x10c], ebx
mov eax, dword [esi + 0x3bc]
test eax, eax
je 0x4650ef
push 0
push eax
call edi
jmp 0x4650ff
mov edx, dword [esi + 0x3b8]
mov eax, dword [edx + 4]
mov dword [esi + eax + 0x3b8], ebx
mov eax, dword [esi + 0x668]
test eax, eax
je 0x465110
push 0
push eax
call edi
jmp 0x465120
mov ecx, dword [esi + 0x664]
mov edx, dword [ecx + 4]
mov dword [esi + edx + 0x664], ebx
mov eax, dword [esi + 0xb8]
test eax, eax
je 0x465132
push 0
push eax
call edi
pop edi
pop ebx
ret
mov eax, dword [esi + 0xc0]
mov ecx, dword [eax + 4]
pop edi
mov dword [ecx + esi + 0xc0], ebx
pop ebx
ret
Function at 0x4651d0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x575494]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor eax, eax
mov esi, ecx
lea ebx, [esi + 0xc0]
mov word [ebp - 0xc], ax
mov eax, dword [ebx + 4]
push edi
xor edi, edi
mov byte [ebp - 0x2d], 0
mov byte [ebp - 0x2e], 1
test eax, eax
je 0x46522a
push 3
lea ecx, [ebp - 0xc]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov edi, eax
test edi, edi
jg 0x46522a
mov edx, dword [ebx]
mov eax, dword [edx + 4]
add eax, ebx
mov dword [ebp - 0x34], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
xor eax, eax
test edi, edi
jle 0x465249
movzx ecx, word [ebp + eax*2 - 0xc]
add ecx, 0xffffffd0
cmp cx, 9
ja 0x465245
inc eax
cmp eax, edi
jl 0x465230
jmp 0x465249
mov byte [ebp - 0x2e], 0
lea edi, [esi + 0xb0]
lea ecx, [ebp - 0x34]
mov edx, edi
mov dword [ebp - 0x34], 0
call fcn.00444fd0
mov ecx, dword [esi + 0x8e4]
mov edx, dword [ebp - 0x34]
cmp edx, ecx
jne 0x4652b2
test al, al
je 0x4652b2
cmp byte [ebp - 0x2e], 0
jne 0x46532d
push 0xa
push 0x10
lea edx, [ebp - 0x2c]
push edx
push ecx
call fcn.0051f9eb
mov eax, dword [ebx + 4]
add esp, 0x10
test eax, eax
je 0x4652cd
lea ecx, [ebp - 0x2c]
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
test eax, eax
jne 0x4652d9
mov edx, dword [ebx]
mov esi, dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + ebx], eax
jmp 0x4652d9
cmp byte [ebp - 0x2e], 0
je 0x46527b
test al, al
je 0x46527b
cmp edx, 0x63
ja 0x46527b
mov dword [esi + 0x8e4], edx
mov byte [ebp - 0x2d], 1
jmp 0x4652d9
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
mov dword [ebx + ecx], 0x57
mov ecx, dword [edi + 0x14]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
lea ebx, [eax + 6]
test ecx, ecx
je 0x4652f4
push eax
push eax
push 0xe
push ecx
call esi
jmp 0x4652fe
mov edx, dword [edi + 0x10]
mov ecx, dword [edx + 4]
mov dword [edi + ecx + 0x10], ebx
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x465323
push eax
push eax
push 0xb1
push ecx
call esi
mov al, byte [ebp - 0x2d]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0051eacc
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x10]
mov eax, dword [edx + 4]
mov dword [edi + eax + 0x10], ebx
mov ecx, dword [ebp - 4]
mov al, byte [ebp - 0x2d]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0051eacc
mov esp, ebp
pop ebp
ret
Function at 0x465650
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5322a0
mov eax, dword fs:[0]
push eax
push ebx
push esi
push edi
mov eax, dword [0x575494]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
xor eax, eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
mov dword [edi], vtable.CMemDib.0
mov dword [edi + 0x14], vtable.CHeapMem.0
mov dword [edi + 0x18], eax
mov byte [edi + 0x1c], al
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], eax
mov dword [edi + 0x28], eax
mov dword [ebp - 4], eax
mov dword [edi + 0x30], eax
mov dword [edi + 0x2c], vtable.CUseDll.0
mov dword [edi + 0x34], eax
mov byte [edi + 0x38], al
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], 1
lea esi, [edi + 0x44]
mov dword [esi + 4], eax
mov dword [esi], vtable.CUseDll.0
mov dword [esi + 8], eax
mov byte [esi + 0xc], al
mov byte [ebp - 4], 2
cmp eax, eax
jne 0x4656e3
mov eax, str.BrImgProc.dll
call fcn.00512de0
lea eax, [edi + 0x2c]
call fcn.0045c700
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x465b30
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x538ba8
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push edi
mov eax, dword [0x575494]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
xor ebx, ebx
xor edi, edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
push esi
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x38], ebx
call fcn.00465ed0
lea ecx, [esp + 0xc]
mov byte [esp + 0x30], 1
call fcn.00508010
mov byte [esp + 0x30], bl
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x465b9d
push eax
call fcn.0051eadb
add esp, 4
cmp dword [esp + 0x10], ebx
jg 0x465be4
lea ecx, [esp + 0x18]
push ecx
mov ecx, esi
call fcn.00465dd0
lea ecx, [esp + 0xc]
mov byte [esp + 0x30], 2
call fcn.00508010
mov byte [esp + 0x30], bl
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x465bde
push eax
call fcn.0051eadb
add esp, 4
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x10], ebx
jle 0x465bfa
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push edx
lea eax, [esp + 0x10]
push eax
push ecx
mov ecx, esi
call fcn.00465c30
mov edi, eax
mov dword [esp + 0x30], 0xffffffff
mov eax, dword [esp + 0xc]
cmp eax, ebx
je 0x465c13
push eax
call fcn.0051eadb
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x46a160
Capabilities:
Contain obfuscated stackstrings
Inspect section memory permissions

Disassembly:
invalid
je 0x46a763
mov edi, dword [eax + 0x3c]
add edi, eax
movzx eax, word [edi + 0x14]
lea esi, [eax + edi + 0x18]
mov dword [ebp - 0x44], esi
call fcn.00469f6a
jne 0x46a1b0
jl 0x46a11d
movzx eax, word [edi + 6]
lea eax, [eax + eax*4]
shl eax, 3
sub eax, dword [ebp + 0x10]
add eax, esi
mov dword [ebp - 0xb4], eax
mov dword [ebp - 8], eax
call fcn.00469f6a
imul edi, dword [0x8b668813], 0x3b660647
ret
inc ecx
add al, 0x8b
xor dword [ebx], eax
invalid
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret

Function at 0x46a270
Capabilities:
Contain obfuscated stackstrings
Inspect section memory permissions

Disassembly:
inc ebp
les eax, [ebp - 0x3a]
inc ebp
lds edi, [edx - 0x3a]
inc ebp
invalid
Function at 0x46d190
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword [esi + 0x2fc]
push ebx
push edi
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
mov ebx, 6
test eax, eax
je 0x46d1ae
push 0
push eax
call edi
jmp 0x46d1be
mov eax, dword [esi + 0x2f8]
mov ecx, dword [eax + 4]
mov dword [esi + ecx + 0x2f8], ebx
mov eax, dword [esi + 0x5a8]
test eax, eax
je 0x46d1cf
push 0
push eax
call edi
jmp 0x46d1df
mov edx, dword [esi + 0x5a4]
mov eax, dword [edx + 4]
mov dword [esi + eax + 0x5a4], ebx
mov eax, dword [esi + 0x854]
test eax, eax
je 0x46d1f0
push 0
push eax
call edi
jmp 0x46d200
mov ecx, dword [esi + 0x850]
mov edx, dword [ecx + 4]
mov dword [esi + edx + 0x850], ebx
mov eax, dword [esi + 0xb00]
test eax, eax
je 0x46d212
push 0
push eax
call edi
pop edi
pop ebx
ret
mov eax, dword [esi + 0xafc]
mov ecx, dword [eax + 4]
pop edi
mov dword [esi + ecx + 0xafc], ebx
pop ebx
ret

Function at 0x4700e0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push esi
push edi
xor edi, edi
mov ecx, 0x18
lea eax, [ebp - 0x18]
mov byte [eax], 0
inc eax
dec ecx
jne 0x4700f2
mov eax, dword [0x577698]
xor esi, esi
test eax, eax
je 0x47012b
push 0x80
push esi
push esi
push esi
push 0xc994
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov esi, eax
test esi, esi
jne 0x470135
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x57768c], eax
jmp 0x470135
mov dword [0x57768c], 0x57
lea eax, [ebp - 0x18]
push eax
push 0x18
push esi
call dword [sym.imp.GDI32.dll_GetObjectW]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
mov dword [edx], ecx
mov ecx, dword [ebp + 0xc]
push esi
mov dword [ecx], eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov esi, dword [0x577698]
test esi, esi
je 0x470190
push 2
push 0xc994
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x470190
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x470190
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
Function at 0x4703a0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5349b9
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push edi
mov eax, dword [0x575494]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x10], edi
mov dword [ebx], edi
mov dword [ebx + 4], edi
mov dword [ebx + 8], edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x10], 1
cmp dword [esi + 8], edi
jle 0x470463
mov eax, dword [ebp + 0xc]
cmp eax, edi
je 0x470463
cmp word [eax], di
je 0x470463
mov ecx, dword [ebp + 0x10]
cmp ecx, edi
je 0x470463
cmp word [ecx], di
je 0x470463
cmp dword [ebp + 0x14], edi
je 0x470463
cmp dword [esi + 0x1c], edi
jne 0x470419
push 0x800
call fcn.0051eb37
mov ecx, dword [ebp + 0x10]
add esp, 4
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x1c]
cmp eax, edi
je 0x470463
xor edx, edx
mov word [eax], dx
mov eax, dword [esi + 4]
cmp eax, edi
jne 0x470431
mov eax, 0x54ee24
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [esi + 0x1c]
push 0x400
push eax
mov eax, dword [ebp + 0xc]
push edx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp eax, edi
jbe 0x47045b
mov ecx, dword [esi + 0x1c]
push ecx
mov eax, ebx
call fcn.005080c0
jmp 0x470463
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi], eax
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 0x10

Function at 0x470d50
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x532110
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x575494]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov esi, edx
xor ebx, ebx
mov dword [ebp - 4], ebx
mov byte [ebp - 0x11], 1
cmp dword [esi + 0x18], ebx
jne 0x470d9e
push 0x5643ec
lea eax, [ebp - 0x12]
push eax
mov byte [ebp - 0x12], bl
call fcn.00520fdb
mov eax, dword [esi + 0x14]
xor ecx, ecx
cmp eax, 0xffffffff
je 0x470dc5
push ebx
push ebx
push ecx
mov ecx, dword [ebp + 8]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x470ddd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x10], eax
jmp 0x470dcc
mov dword [esi + 0x10], 0xc
push 0x5643ec
lea edx, [ebp - 0x13]
push edx
mov byte [ebp - 0x13], bl
call fcn.00520fdb
mov dword [ebp + 8], ebx
cmp edi, ebx
je 0x470e27
mov eax, dword [esi + 0x14]
cmp eax, 0xffffffff
je 0x470e1e
push ebx
lea ecx, [ebp + 8]
push ecx
push 1
push edi
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, ebx
jne 0x470e08
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x10], eax
cmp dword [ebp + 8], ebx
jne 0x470e3a
push 0x5643ec
lea edx, [ebp - 0x14]
push edx
mov byte [ebp - 0x14], bl
call fcn.00520fdb
mov dword [esi + 0x10], 0xc
jmp 0x470e0d
mov dword [esi + 0x10], 0x57
jmp 0x470e0d
mov al, byte [ebp - 0x11]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x470f50
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5320d0
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x575494]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 4], ebx
mov byte [ebp - 0x11], 1
cmp dword [esi + 0x18], ebx
jne 0x470f9c
push 0x5643ec
lea eax, [ebp - 0x12]
push eax
mov byte [ebp - 0x12], bl
call fcn.00520fdb
mov eax, dword [esi + 0x14]
xor ecx, ecx
cmp eax, 0xffffffff
je 0x470fc3
push ebx
push ebx
push ecx
mov ecx, dword [ebp + 8]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x470fdb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x10], eax
jmp 0x470fca
mov dword [esi + 0x10], 0xc
push 0x5643ec
lea edx, [ebp - 0x13]
push edx
mov byte [ebp - 0x13], bl
call fcn.00520fdb
mov eax, dword [esi + 0x14]
mov dword [ebp + 8], ebx
mov dword [ebp - 0x18], ebx
cmp eax, 0xffffffff
je 0x47101e
push ebx
lea ecx, [ebp - 0x18]
push ecx
push 2
lea edx, [ebp + 8]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, ebx
jne 0x471008
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x10], eax
cmp dword [ebp - 0x18], ebx
jne 0x471033
push 0x5643ec
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], bl
call fcn.00520fdb
mov dword [esi + 0x10], 0xc
jmp 0x47100d
cmp byte [ebp + 0x10], bl
je 0x47103e
movzx eax, word [ebp + 8]
jmp 0x471054
mov eax, dword [ebp + 8]
mov ecx, eax
sar ecx, 8
shl eax, 8
and ecx, 0xff
or ecx, eax
movzx eax, cx
mov edx, dword [ebp + 0xc]
mov word [edx], ax
mov al, byte [ebp - 0x11]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc