joyce8/EMBER2024-capa huggingface dataset:
Function at 0x428d40
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
mov esi, ecx
push 0x3ec
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
cmp dword [esi + 0x100], 0
je 0x428d7a
push dword [esi + 0x100]
call dword [sym.imp.GDI32.dll_DeleteObject]
test eax, eax
je 0x428d7a
mov dword [esi + 0x100], 0
push 1
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetFocus]
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, dword [esi + 0x1e8]
jne 0x428da4
call dword [sym.imp.USER32.dll_ReleaseCapture]
push dword [esi + 0x1e8]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x428dc2
push 0
push dword [esi + 0x1e8]
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [ebp - 4]
mov dword [ebp - 8], 0xffffffff
push eax
lea eax, [ebp - 8]
mov dword [ebp - 4], 0xffffffff
push eax
push dword [ebp + 0x10]
mov ecx, esi
push dword [ebp + 0xc]
call fcn.004f74b0
test eax, eax
je 0x428e26
push edi
mov edi, dword [ebp - 8]
mov ecx, esi
push edi
call fcn.0050f820
mov ecx, esi
test eax, eax
jne 0x428e0f
push dword [ebp + 8]
push dword [ebp - 4]
push edi
call fcn.00429ba0
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp - 4]
push eax
push edi
mov dword [esi + 0xa8], edi
mov dword [esi + 0xac], eax
call fcn.004263f0
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc

Function at 0x428e30
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, ecx
lea eax, [ecx - 0x20]
neg esi
push edi
mov edi, dword [ebp + 0xc]
sbb esi, esi
and esi, eax
cmp byte [ecx + 0x1c], 0
je 0x428e76
push 0xe801
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp edi, 2
jne 0x428e67
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x428e7b
test edi, edi
jne 0x428e76
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x428e7b
cmp edi, 1
je 0x428e91
mov ecx, dword [ebp + 0x10]
mov eax, ecx
shr eax, 0x10
cwde
push eax
movsx eax, cx
lea ecx, [esi + 0x20]
push eax
call fcn.00424cb0
pop edi
xor eax, eax
pop esi
pop ebp
ret 0x10
Function at 0x429600
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x583384]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
mov dword [esi + 0xb8], 0xffffffff
mov dword [esi + 0xbc], 0xffffffff
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, dword [esi + 0x1e8]
jne 0x42963d
call dword [sym.imp.USER32.dll_ReleaseCapture]
push dword [esi + 0x1e8]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x42965b
push 0
push dword [esi + 0x1e8]
call dword [sym.imp.USER32.dll_ShowWindow]
call dword [sym.imp.USER32.dll_GetMessagePos]
movsx edi, ax
xorps xmm0, xmm0
lea eax, [ebp - 0x14]
push eax
push dword [esi + 4]
movups xmmword [ebp - 0x14], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [esi + 0xc4]
mov ebx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0xc]
dec ebx
add ebx, ecx
cmp dword [ebp + 8], 0
mov dword [ebp - 0x18], ebx
je 0x429743
cmp dword [esi + 0x3c], 0
je 0x429715
cmp dword [esi + 0x58], 0
je 0x429715
mov eax, edi
sub eax, dword [esi + 0xec]
test eax, eax
jg 0x429715
cmp edi, dword [esi + 0xf4]
jge 0x4297cb
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetScrollPos]
cmp eax, ebx
jl 0x4297cb
push dword [esi + 0xdc]
mov ecx, esi
call fcn.004aa530
mov ecx, edi
sub ecx, dword [esi + 0xec]
add eax, ecx
test eax, eax
jle 0x429707
push dword [esi + 0xdc]
mov ecx, esi
call fcn.004aa530
sub edi, dword [esi + 0xec]
add eax, edi
mov dword [esi + 0xf0], eax
push eax
jmp 0x4297be
xor eax, eax
mov dword [esi + 0xf0], eax
push eax
jmp 0x4297be
push 0x3e9
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [esi + 0xf4], edi
pop edi
mov dword [esi + 0x60], 0
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00513512
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0xf0]
xor ebx, ebx
sub eax, dword [esi + 0xf4]
add eax, edi
test eax, eax
cmovg ebx, eax
cmp dword [esi + 0x58], 0
je 0x4297b7
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetScrollPos]
cmp eax, dword [ebp - 0x18]
jl 0x4297b7
push dword [esi + 0xdc]
mov ecx, esi
call fcn.004aa530
cmp ebx, eax
jge 0x4297b7
cmp dword [esi + 0x60], 0
jne 0x4297cb
push 0
push 0x14
push 0x3e9
push dword [esi + 4]
mov dword [esi + 0x60], 1
mov dword [esi + 0xec], edi
call dword [sym.imp.USER32.dll_SetTimer]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00513512
mov esp, ebp
pop ebp
ret 4
cmp dword [esi + 0x60], 0
jne 0x4297cb
push ebx
push dword [esi + 0xdc]
mov ecx, esi
call fcn.0045c300
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00513512
mov esp, ebp
pop ebp
ret 4

Function at 0x429db0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [ecx + 0xa8], edx
mov dword [ecx + 0xac], eax
mov dword [ebp + 0xc], eax
mov dword [ebp + 8], edx
pop ebp
jmp fcn.004263f0
Function at 0x42af70
Capabilities:
Get common file path
Get disk size
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0x583384]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push 0x104
lea eax, [ebp - 0x108]
mov ebx, ecx
push 0
push eax
call fcn.00517590
add esp, 0xc
mov dword [ebp - 0x114], 0
xorps xmm0, xmm0
lea eax, [ebp - 0x134]
movq qword [ebp - 0x110], xmm0
movups xmmword [ebp - 0x134], xmm0
push eax
movups xmmword [ebp - 0x124], xmm0
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, dword [ebp - 0x118]
xor edx, edx
mov eax, 0x100000
mov dword [ebx + 0x34], 0x100000
div ecx
mov dword [ebx + 0x38], 0
test edx, edx
je 0x42affa
imul eax, ecx
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x34], eax
push 0x104
lea eax, [ebp - 0x108]
mov dword [ebx + 0x2c], 0
push eax
mov dword [ebx + 0x30], 1
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
je 0x42b064
push 0
push 0
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
test eax, eax
je 0x42b064
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
call fcn.00513db0
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push edx
push eax
call fcn.00513d70
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x30], edx
mov eax, dword [ebx + 4]
sub dword [ebx + 0x2c], eax
mov eax, dword [ebx + 8]
sbb dword [ebx + 0x30], eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.00513512
mov esp, ebp
pop ebp
ret
Function at 0x42b1c0
Capabilities:
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
mov ebx, dword [ebp + 0x10]
mov eax, ecx
push esi
push edi
mov dword [ebp - 4], eax
mov esi, dword [eax + 0x38]
mov edi, dword [eax + 0x34]
push esi
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00513db0
push esi
push edi
push edx
push eax
call fcn.00513d70
cmp dword [ebx + 4], eax
jne 0x42b20a
cmp dword [ebx + 8], edx
jne 0x42b20a
cmp dword [ebx], 0
je 0x42b217
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebx]
test eax, eax
je 0x42b217
push eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov esi, dword [ebp - 4]
mov dword [ebx], 0
mov dword [ebx + 4], 0xffffffff
mov dword [ebx + 8], 0xffffffff
mov edi, dword [esi + 0x3c]
mov esi, dword [esi + 0x40]
push esi
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00513db0
push esi
push edi
push edx
push eax
call fcn.00513d70
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
sub ecx, dword [ebp - 0x10]
mov dword [ebp - 0xc], edx
mov edi, dword [eax + 0x34]
mov esi, dword [eax + 0x38]
mov eax, dword [ebp + 0xc]
push esi
push edi
sbb eax, edx
push eax
push ecx
call fcn.00513db0
push esi
push edi
push edx
push eax
call fcn.00513d70
push esi
push edi
push dword [ebp + 0xc]
mov dword [ebp + 0x10], eax
push dword [ebp + 8]
mov dword [ebp - 8], edx
call fcn.00513db0
push esi
push edi
push edx
push eax
call fcn.00513d70
mov esi, dword [ebp - 4]
mov dword [ebx + 4], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 0xc]
mov dword [ebx + 8], edx
push eax
lea ecx, [esi + 0x44]
call fcn.00451970
mov eax, dword [eax]
cmp eax, dword [esi + 0x44]
jne 0x42b303
push 0
push dword [esi + 0x3c]
push 0
push 0x4000004
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov edi, eax
test edi, edi
je 0x42b341
mov eax, dword [ebp - 0x10]
lea ecx, [esi + 0x44]
push dword [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x24]
push eax
push 0
lea eax, [ebp + 8]
mov dword [ebp - 0x1c], edi
push eax
call fcn.0042abe0
cmp byte [ebp + 0xc], 0
jne 0x42b306
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edi, dword [eax + 0x18]
push dword [esi + 0x34]
push dword [ebp + 0x10]
push dword [ebp - 8]
push 6
push edi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebx], eax
test eax, eax
je 0x42b331
push 4
push 0x1000
push dword [esi + 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebx], eax
xor eax, eax
cmp dword [ebx], eax
pop edi
pop esi
setne al
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x14], vtable.std::bad_alloc.0
push 0x564928
lea eax, [ebp - 0x14]
movq qword [ebp - 0x10], xmm0
push eax
mov dword [ebp - 0x10], str.bad_allocation
call fcn.00516bc7
int3
Function at 0x42cbe0
Capabilities:
Check for unmoving mouse cursor

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov esi, ecx
call dword [sym.imp.USER32.dll_GetCapture]
test esi, esi
lea edx, [esi - 0x20]
mov ecx, 4
cmove edx, ecx
cmp eax, dword [edx]
jne 0x42cd2a
mov ebx, dword [ebp + 0xc]
lea eax, [ebx - 0xd]
cmp eax, 0x1b
ja case.0x42cc1c.14
movzx eax, byte [eax + 0x42cd54]
jmp dword [eax*4 + 0x42cd40]
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x20], eax
call dword [sym.imp.USER32.dll_ReleaseCapture]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp byte [esi], 0
je case.0x42cc1c.14
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
mov dword [ebp - 4], 0
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [esi + 0x1c]
cmp ebx, 0x25
mov ebx, dword [esi + 0x38]
mov ecx, 0xfffffff6
mov edx, dword [esi + 0x14]
mov edi, 0xa
cmove edi, ecx
mov dword [ebp + 0xc], eax
mov ecx, dword [esi + 0x34]
add edi, eax
sub edx, dword [esi + 0xc]
lea eax, [ecx + ebx]
cmp edi, eax
jl 0x42cc94
sub edx, dword [esi + 0x2c]
sub edx, ecx
mov ecx, edi
sub edx, ebx
cmp edi, edx
cmovg ecx, edx
mov eax, dword [ebp - 8]
sub ecx, dword [ebp + 0xc]
push dword [ebp - 4]
add eax, ecx
push eax
mov dword [ebp - 8], eax
call dword [sym.imp.USER32.dll_SetCursorPos]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp byte [esi], 0
jne case.0x42cc1c.14
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
mov dword [ebp - 4], 0
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [esi + 0x1c]
cmp ebx, 0x26
mov ebx, dword [esi + 0x38]
mov ecx, 0xfffffff6
mov edx, dword [esi + 0x18]
mov edi, 0xa
cmove edi, ecx
mov dword [ebp + 0xc], eax
mov ecx, dword [esi + 0x34]
add edi, eax
sub edx, dword [esi + 0x10]
lea eax, [ecx + ebx]
cmp edi, eax
jl 0x42cd0a
sub edx, dword [esi + 0x2c]
sub edx, ecx
mov ecx, edi
sub edx, ebx
cmp edi, edx
cmovg ecx, edx
mov eax, dword [ebp - 4]
sub ecx, dword [ebp + 0xc]
add eax, ecx
push eax
push dword [ebp - 8]
mov dword [ebp - 4], eax
call dword [sym.imp.USER32.dll_SetCursorPos]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10
Function at 0x42d550
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
cmp dword [ebp + 0x1c], 0
push ebx
push esi
push edi
mov edi, ecx
jne 0x42d688
mov esi, dword [ebp + 0xc]
cmp esi, 1
jne 0x42d58b
lea eax, [ebp + 0x1c]
push eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push esi
call fcn.0042c700
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret 0x18
mov ecx, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x10]
cmp esi, 2
jne 0x42d5c7
lea eax, [ebp + 0x1c]
mov dword [ebp + 0x1c], 1
push eax
push ecx
push ebx
push 2
mov ecx, edi
call fcn.004487c0
cmp dword [ebp + 0x1c], 0
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
je 0x42d66a
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret 0x18
cmp esi, 0x10
jne 0x42d60b
push 0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
push 4
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetWindow]
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x42d5f6
push esi
call dword [sym.imp.USER32.dll_BringWindowToTop]
mov eax, dword [ebp + 0x18]
pop edi
pop esi
pop ebx
mov dword [eax], 0
mov eax, 1
pop ebp
ret 0x18
cmp esi, 5
jne 0x42d62f
lea eax, [ebp + 0x1c]
push eax
push ecx
push dword [ebp + 0x10]
mov ecx, edi
push esi
call fcn.0042d0a0
mov ecx, dword [ebp + 0x18]
pop edi
mov dword [ecx], eax
lea eax, [esi - 4]
pop esi
pop ebx
pop ebp
ret 0x18
cmp esi, 7
je 0x42d5f6
cmp esi, 0x111
jne 0x42d66d
lea eax, [ebx - 0x87a]
cmp ax, 9
ja 0x42d66d
lea eax, [ebp + 0x1c]
push eax
push ecx
push ebx
shr ebx, 0x10
mov ecx, edi
push ebx
call fcn.0042c5f0
mov ecx, dword [ebp + 0x18]
pop edi
pop esi
pop ebx
mov dword [ecx], eax
mov eax, 1
pop ebp
ret 0x18
mov ecx, dword [ebp + 0x14]
push 0
push dword [ebp + 0x18]
push ecx
push ebx
push esi
push dword [ebp + 8]
lea ecx, [edi + 0x3c]
call fcn.0041e400
test eax, eax
jne 0x42d57f
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret 0x18
Function at 0x431fc0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, ecx
push esi
mov dword [ebp - 4], ebx
mov dword [ebx + 0xb8], 0xffffffff
mov dword [ebx + 0xbc], 0xffffffff
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, dword [ebx + 0x1e8]
jne 0x431ff3
call dword [sym.imp.USER32.dll_ReleaseCapture]
push dword [ebx + 0x1e8]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x432011
push 0
push dword [ebx + 0x1e8]
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [sym.imp.USER32.dll_GetScrollPos]
push edi
push 0
push dword [ebx + 4]
call esi
push 1
push dword [ebx + 4]
mov edi, eax
call esi
mov esi, dword [ebp + 8]
mov ebx, eax
mov eax, dword [ebp - 4]
add esi, edi
mov ecx, esi
lea edi, [eax + 0x8c]
push edi
mov edx, dword [eax + 0x84]
cmp edx, esi
cmovl ecx, edx
cmovg esi, edx
mov edx, dword [ebp + 0xc]
add edx, ebx
mov dword [edi], ecx
mov ebx, eax
mov dword [eax + 0x94], esi
mov eax, edx
mov ecx, dword [ebx + 0x88]
cmp ecx, edx
cmovl eax, ecx
cmovg edx, ecx
mov dword [ebx + 0x90], eax
mov dword [ebx + 0x98], edx
call dword [sym.imp.USER32.dll_IsRectEmpty]
pop edi
test eax, eax
je 0x432089
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
push dword [ebp + 0xc]
mov ecx, ebx
push dword [ebp + 8]
call fcn.0042f620
push 0
push 0x14
push 0x3eb
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SetTimer]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov ecx, esi
sub ecx, dword [ebx + 0xfc]
cmp ecx, 0xa
jbe 0x4320d4
push dword [ebp + 0xc]
mov ecx, ebx
push dword [ebp + 8]
call fcn.00491880
test eax, eax
je 0x4320d4
mov dword [ebx + 0xfc], esi
push 0x105
push 0
push 0
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_RedrawWindow]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x432880
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [0x583384]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov esi, ecx
push 0x3ec
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
cmp dword [esi + 0x100], 0
je 0x4328c5
push dword [esi + 0x100]
call dword [sym.imp.GDI32.dll_DeleteObject]
test eax, eax
je 0x4328c5
mov dword [esi + 0x100], 0
push 1
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
cmp dword [esi + 0x6c], 0
je 0x4328e1
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetFocus]
mov dword [esi + 0xb8], 0xffffffff
mov dword [esi + 0xbc], 0xffffffff
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, dword [esi + 0x1e8]
jne 0x432909
call dword [sym.imp.USER32.dll_ReleaseCapture]
push dword [esi + 0x1e8]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x432927
push 0
push dword [esi + 0x1e8]
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [ebp - 0x14]
xorps xmm0, xmm0
push eax
push dword [esi + 4]
movups xmmword [ebp - 0x14], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetScrollPos]
mov edi, eax
mov eax, dword [ebp + 8]
cmp eax, 7
ja case.default.0x432954
jmp dword [eax*4 + 0x432a14]
xor edx, edx
jmp 0x4329e9
lea edx, [edi - 5]
xor eax, eax
test edx, edx
cmovle edx, eax
jmp 0x4329e9
mov eax, dword [ebp - 0x14]
xor edx, edx
sub eax, dword [ebp - 0xc]
add eax, edi
test eax, eax
cmovg edx, eax
jmp 0x4329e9
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x14]
jmp 0x4329e9
mov edx, dword [esi + 0xc4]
lea eax, [edi + 5]
dec edx
cmp eax, edx
cmovl edx, eax
jmp 0x4329e9
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 0x14]
mov edx, dword [esi + 0xc4]
add ecx, edi
dec edx
cmp ecx, edx
cmovl edx, ecx
jmp 0x4329e9
lea eax, [ebp - 0x30]
mov dword [ebp - 0x18], 0
push eax
xorps xmm0, xmm0
push 0
push dword [esi + 4]
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x30], 0x1c
movq qword [ebp - 0x20], xmm0
mov dword [ebp - 0x2c], 0x10
call dword [sym.imp.USER32.dll_GetScrollInfo]
test eax, eax
je case.default.0x432954
mov edx, dword [ebp - 0x18]
cmp edx, edi
je case.default.0x432954
push 0
push edx
push 0
mov ecx, esi
call fcn.00435280
push 1
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00513512
mov esp, ebp
pop ebp
ret 0xc
Function at 0x432a40
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
push edi
mov ebx, ecx
push 0x2000000
push 0
push 0
lea ecx, [ebx + 0x20]
call fcn.0042fdd0
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x459
push dword [ebx + 4]
call edi
mov ecx, ebx
mov dword [ebx + 0x744], eax
call fcn.0042f8c0
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x1304
mov dword [ebx + 0x748], eax
push dword [ebx + 0x744]
call esi
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 1
push ecx
push eax
xorps xmm0, xmm0
push 0x1307
push dword [ebx + 0x744]
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x18], str.IRP_Dispatch
movq qword [ebp - 0x10], xmm0
call esi
push 0
push 0
push 0x1304
push dword [ebx + 0x744]
call esi
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 1
push ecx
push eax
xorps xmm0, xmm0
push 0x1307
push dword [ebx + 0x744]
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x18], str.FastIO_Dispatch
movq qword [ebp - 0x10], xmm0
call esi
push 0
push 0
push 0x130c
push dword [ebx + 0x744]
call esi
push 0x45a
push dword [ebx + 4]
call edi
mov edx, dword [ebx + 0x40]
lea esi, [ebx + 0x40]
mov ecx, esi
mov edi, eax
call dword [edx + 8]
cmp dword [esi + 0x14], 0
mov dword [ebp - 4], eax
jne 0x432b3c
call fcn.0051625f
mov dword [esi + 0x14], eax
test eax, eax
je 0x432b6b
push esi
push dword [ebp - 4]
push dword [esi + 0x14]
call fcn.0051633d
push dword [esi + 0x14]
call fcn.005162b8
push eax
push 0xfffffffffffffffc
push edi
call dword [sym.imp.USER32.dll_SetWindowLongA]
test eax, eax
je 0x432b6b
mov ecx, esi
mov dword [esi + 0x20], eax
mov dword [esi + 4], edi
call fcn.00502b70
push 0x45b
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edx, dword [ebx + 0x3c0]
lea edi, [ebx + 0x3c0]
mov ecx, edi
mov dword [ebp - 4], eax
call dword [edx + 8]
cmp dword [edi + 0x14], 0
mov dword [ebp - 8], eax
jne 0x432ba5
call fcn.0051625f
mov dword [edi + 0x14], eax
test eax, eax
je 0x432bd7
mov eax, dword [ebp - 8]
push edi
push eax
push dword [edi + 0x14]
call fcn.0051633d
push dword [edi + 0x14]
call fcn.005162b8
push eax
push 0xfffffffffffffffc
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_SetWindowLongA]
test eax, eax
je 0x432bd7
mov dword [edi + 0x20], eax
mov ecx, edi
mov eax, dword [ebp - 4]
mov dword [edi + 4], eax
call fcn.00502b70
mov ecx, ebx
call fcn.004367c0
mov ecx, esi
call fcn.0042fd60
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 5
push dword [ebx + 0x44]
call esi
mov ecx, edi
call fcn.0042fd60
push 0
push dword [ebx + 0x3c4]
call esi
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10
Function at 0x432c10
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xcbc
mov eax, dword [0x583384]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, ecx
mov ecx, dword [eax]
cmp ecx, dword [ebx + 0x3c4]
jne 0x432c5d
lea ecx, [ebp - 0xcbc]
push ecx
push dword [eax + 0xc]
lea ecx, [ebx + 0x3c0]
call fcn.004316c0
test eax, eax
jne 0x432c80
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00513512
mov esp, ebp
pop ebp
ret 0xc
cmp ecx, dword [ebx + 0x44]
jne 0x432d0f
lea ecx, [ebp - 0xcbc]
push ecx
push dword [eax + 0xc]
lea ecx, [ebx + 0x40]
call fcn.004316c0
test eax, eax
je 0x432d0f
lea eax, [ebp - 0xcb4]
mov ecx, 0x58cb04
push eax
push 0
push 4
call fcn.004bdb60
mov ecx, dword [ebx + 0x740]
push 0
push 4
call fcn.0042e0a0
cmp dword [ebp - 0xc9c], 8
mov ecx, 0x40
mov eax, 0x20
cmove eax, ecx
mov ecx, dword [ebx + 0x740]
push eax
call fcn.0042e060
push dword [ebp - 0xcb8]
mov ecx, dword [ebx + 0x740]
push dword [ebp - 0xcbc]
call fcn.0042e170
push dword [ebp - 0xcb8]
mov ecx, dword [ebx + 0x740]
push dword [ebp - 0xcbc]
push dword [ebp - 0xcb0]
push dword [ebp - 0xcb4]
call fcn.0042e250
mov eax, dword [ebx + 0x740]
push 5
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
pop ebx
call fcn.00513512
mov esp, ebp
pop ebp
ret 0xc
Function at 0x4331d0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push esi
mov esi, ecx
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, dword [esi + 0x1e8]
jne 0x4331ed
call dword [sym.imp.USER32.dll_ReleaseCapture]
push dword [esi + 0x1e8]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x43320b
push 0
push dword [esi + 0x1e8]
call dword [sym.imp.USER32.dll_ShowWindow]
movzx ecx, word [ebp + 0x10]
movzx eax, word [ebp + 0xc]
shl ecx, 0x10
or ecx, eax
push ecx
push 0
push 0x201
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
lea eax, [ebp - 4]
mov dword [ebp - 8], 0xffffffff
push eax
lea eax, [ebp - 8]
mov dword [ebp - 4], 0
push eax
push dword [ebp + 0x10]
mov ecx, esi
push dword [ebp + 0xc]
call fcn.00494df0
test eax, eax
je 0x433260
test byte [ebp - 4], 1
je 0x433260
push dword [ebp - 8]
mov ecx, esi
call fcn.0042f740
lea eax, [ebp - 4]
mov dword [ebp - 8], 0xffffffff
push eax
lea eax, [ebp - 8]
mov dword [ebp - 4], 0xffffffff
push eax
push dword [ebp + 0x10]
mov ecx, esi
push dword [ebp + 0xc]
call fcn.004320f0
test eax, eax
je 0x4332db
mov eax, dword [esi + 4]
xorps xmm0, xmm0
movups xmmword [ebp - 0x20], xmm0
push eax
movq qword [ebp - 0x10], xmm0
mov dword [ebp - 0x1c], 0xfffffa84
mov dword [ebp - 0x24], eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
push dword [esi + 4]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xc], eax
call dword [sym.imp.USER32.dll_GetParent]
lea ecx, [ebp - 0x24]
push ecx
push dword [ebp - 0x20]
push 0x4e
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
pop esi
mov esp, ebp
pop ebp
ret 0xc