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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x535cd5
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 0x43d3e0
push 5
push 0x2ac
lea eax, [esi + 0x38]
push eax
mov byte [ebp - 4], 1
call fcn.0051f8e5
mov ecx, 0xc
lea eax, [esi + 0xd94]
mov edi, edi
mov byte [eax], bl
inc eax
dec ecx
jne 0x454570
mov ecx, 0x10
lea eax, [esi + 0xda0]
mov byte [eax], bl
inc eax
dec ecx
jne 0x454581
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 0x4545b0
mov ecx, 0x14
lea eax, [esi + 0xdd4]
mov byte [eax], bl
inc eax
dec ecx
jne 0x4545c1
mov ecx, 0x14
lea eax, [esi + 0xde8]
mov byte [eax], bl
inc eax
dec ecx
jne 0x4545d2
mov dword [esi + 0xdfc], ebx
mov ecx, 0xc
lea eax, [esi + 0xe00]
lea esp, [esp]
mov byte [eax], bl
inc eax
dec ecx
jne 0x4545f0
mov ecx, 0xc
lea eax, [esi + 0xe10]
mov byte [eax], bl
inc eax
dec ecx
jne 0x454601
mov ecx, 0x10
lea eax, [esi + 0xe1c]
mov byte [eax], bl
inc eax
dec ecx
jne 0x454612
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 0x45f480
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.00460cf0
mov eax, dword [esi + 0x30]
test eax, eax
je 0x45f4c5
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
test eax, eax
jne 0x45f4d3
mov eax, dword [esi + 0x2c]
mov ebx, dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx + esi + 0x2c], eax
jmp 0x45f4d3
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 0x45f4e8
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x45f4fc
mov eax, dword [esi + 0x3e0]
mov ecx, dword [eax + 4]
mov dword [esi + ecx + 0x3e0], 6
add esi, 0x438
call fcn.00465270
mov esi, dword [ebp + 8]
call fcn.00461280
pop edi
pop esi
pop ebx
pop ebp
ret 4

Function at 0x45fa40
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 0x45faeb
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 0x45faeb
lea esi, [edi + 0x438]
xor cl, cl
cmp eax, dword [esi + 0xf0]
jne 0x45fa81
mov cl, 1
cmp eax, dword [esi + 0x39c]
jne 0x45fa8b
mov cl, 1
cmp eax, dword [esi + 0x648]
jne 0x45fa95
mov cl, 1
cmp eax, dword [esi + 0xb8]
je 0x45faeb
test cl, cl
jne 0x45faeb
mov eax, dword [edi + 0x3e4]
test eax, eax
je 0x45fac8
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.00465270
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.00465270
mov dword [edi + 0x1e0], 0xffffffff
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x45fc00
Capabilities:
Hide graphical window

Disassembly:
push ebx
push esi
mov esi, eax
cmp dword [esi + 0x1e0], 0xffffffff
push edi
je 0x45fcb6
mov eax, dword [esi + 0xd54]
test eax, eax
je 0x45fcf3
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x45fcf3
cdq
idiv ecx
mov edi, eax
test edi, edi
jne 0x45fc39
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.0051c380
mov eax, dword [esi + 0x3e4]
test eax, eax
je 0x45fc83
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x45fc97
mov eax, dword [esi + 0x3e0]
mov ecx, dword [eax + 4]
mov dword [esi + ecx + 0x3e0], 6
cmp byte [esi + 0x1dc], 0
je 0x45fcf3
push edi
add esi, 0x438
push ebx
call fcn.00465140
call fcn.004651d0
pop edi
pop esi
pop ebx
ret
mov eax, dword [esi + 0x3e4]
test eax, eax
je 0x45fccb
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x45fcdf
mov edx, dword [esi + 0x3e0]
mov eax, dword [edx + 4]
mov dword [esi + eax + 0x3e0], 6
cmp byte [esi + 0x1dc], 0
je 0x45fcf3
add esi, 0x438
call fcn.00465270
pop edi
pop esi
pop ebx
ret

Function at 0x460660
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 0x460703
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 0x46074b
test edi, edi
je 0x46074b
push esi
push 0
push 0x45c9d0
call fcn.0051ff79
add esp, 0xc
mov dword [esi + 0xde0], eax
cmp eax, 0xffffffff
je 0x46074b
mov dword [0x57b264], eax
call fcn.00451b20
mov eax, dword [esi + 0xdd8]
test eax, eax
je 0x4606e3
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.00460760
mov eax, dword [esi + 0xd54]
mov edi, dword [esi + 0xd58]
push eax
mov ecx, esi
call fcn.00460cf0
call fcn.00461280
mov eax, dword [esi + 0xd38]
xor edi, edi
cmp eax, dword [esi + 0xd3c]
jae 0x460745
mov ecx, dword [esi + 0xd3c]
cmp byte [eax + 0x2c], 0
je 0x46073e
inc edi
add eax, 0x38
cmp eax, ecx
jb 0x460737
push esi
call fcn.00461210
pop edi
pop esi
pop ebx
pop ebp
ret 4
Function at 0x461880
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 0x4619ae
mov ecx, dword [esp + 0x24]
lea esi, [ecx + ebx]
test esi, esi
jg 0x4618dd
xor esi, esi
jmp 0x4618e3
cmp esi, eax
jl 0x4618e3
mov esi, eax
cmp esi, ecx
je 0x4619ae
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.00465270
mov eax, dword [edi + 0x3e4]
test eax, eax
je 0x46192d
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x461941
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 0x46199b
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
test eax, eax
jne 0x4619a7
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 0x4619a7
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov dword [esi + ecx], 6
mov esi, edi
call fcn.00461280
mov ecx, dword [esp + 0x3c]
pop esi
mov eax, ebx
pop ebx
xor ecx, esp
call fcn.0051eb9c
mov esp, ebp
pop ebp
ret

Function at 0x461b60
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.00463f00
mov dword [edi + 0x1e0], 0xffffffff
mov eax, dword [edi + 0x3e4]
test eax, eax
je 0x461b96
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x461baa
mov ecx, dword [edi + 0x3e0]
mov edx, dword [ecx + 4]
mov dword [edi + edx + 0x3e0], 6
lea esi, [edi + 0x438]
call fcn.00465270
mov esi, edi
call fcn.0045e0c0
mov eax, dword [edi + 0xd54]
mov edi, dword [edi + 0xd58]
push eax
mov ecx, esi
call fcn.00460cf0
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 0x4639f0
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.00470370
push str.FileListThumb_L
lea eax, [esi + 0x1c]
call fcn.005080c0
mov eax, dword [edi + 0x10]
mov ecx, eax
test eax, eax
jne 0x463a1e
mov ecx, 0x54ee24
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
xor eax, eax
cmp dword [edi + 8], eax
jle 0x463a4b
test ecx, ecx
je 0x463a4b
cmp word [ecx], ax
je 0x463a4b
mov eax, dword [edi + 4]
test eax, eax
jne 0x463a40
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 0x463a5d
mov eax, 0x54ee24
xor ecx, ecx
cmp dword [edi + 8], ecx
jle 0x463a99
test eax, eax
je 0x463aae
cmp word [eax], cx
je 0x463ac3
mov ecx, dword [edi + 4]
test ecx, ecx
jne 0x463a79
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 0x465270
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 0x46528e
push 0
push eax
call edi
jmp 0x46529e
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 0x4652af
push 0
push eax
call edi
jmp 0x4652bf
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 0x4652d0
push 0
push eax
call edi
jmp 0x4652e0
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 0x4652f2
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 0x465390
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 0x4653ea
push 3
lea ecx, [ebp - 0xc]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov edi, eax
test edi, edi
jg 0x4653ea
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 0x465409
movzx ecx, word [ebp + eax*2 - 0xc]
add ecx, 0xffffffd0
cmp cx, 9
ja 0x465405
inc eax
cmp eax, edi
jl 0x4653f0
jmp 0x465409
mov byte [ebp - 0x2e], 0
lea edi, [esi + 0xb0]
lea ecx, [ebp - 0x34]
mov edx, edi
mov dword [ebp - 0x34], 0
call fcn.00445170
mov ecx, dword [esi + 0x8e4]
mov edx, dword [ebp - 0x34]
cmp edx, ecx
jne 0x465472
test al, al
je 0x465472
cmp byte [ebp - 0x2e], 0
jne 0x4654ed
push 0xa
push 0x10
lea edx, [ebp - 0x2c]
push edx
push ecx
call fcn.0051fabb
mov eax, dword [ebx + 4]
add esp, 0x10
test eax, eax
je 0x46548d
lea ecx, [ebp - 0x2c]
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
test eax, eax
jne 0x465499
mov edx, dword [ebx]
mov esi, dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + ebx], eax
jmp 0x465499
cmp byte [ebp - 0x2e], 0
je 0x46543b
test al, al
je 0x46543b
cmp edx, 0x63
ja 0x46543b
mov dword [esi + 0x8e4], edx
mov byte [ebp - 0x2d], 1
jmp 0x465499
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 0x4654b4
push eax
push eax
push 0xe
push ecx
call esi
jmp 0x4654be
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 0x4654e3
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.0051eb9c
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.0051eb9c
mov esp, ebp
pop ebp
ret
Function at 0x465810
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5322c0
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 0x4658a3
mov eax, str.BrImgProc.dll
call fcn.00512ea0
lea eax, [edi + 0x2c]
call fcn.0045c820
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 0x465cf0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x538ca8
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.00466090
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 0x465d5d
push eax
call fcn.0051ebab
add esp, 4
cmp dword [esp + 0x10], ebx
jg 0x465da4
lea ecx, [esp + 0x18]
push ecx
mov ecx, esi
call fcn.00465f90
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 0x465d9e
push eax
call fcn.0051ebab
add esp, 4
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x10], ebx
jle 0x465dba
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.00465df0
mov edi, eax
mov dword [esp + 0x30], 0xffffffff
mov eax, dword [esp + 0xc]
cmp eax, ebx
je 0x465dd3
push eax
call fcn.0051ebab
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 0x46d360
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 0x46d37e
push 0
push eax
call edi
jmp 0x46d38e
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 0x46d39f
push 0
push eax
call edi
jmp 0x46d3af
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 0x46d3c0
push 0
push eax
call edi
jmp 0x46d3d0
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 0x46d3e2
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 0x4704b0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5395d9
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 0x470573
mov eax, dword [ebp + 0xc]
cmp eax, edi
je 0x470573
cmp word [eax], di
je 0x470573
mov ecx, dword [ebp + 0x10]
cmp ecx, edi
je 0x470573
cmp word [ecx], di
je 0x470573
cmp dword [ebp + 0x14], edi
je 0x470573
cmp dword [esi + 0x1c], edi
jne 0x470529
push 0x800
call fcn.0051ec07
mov ecx, dword [ebp + 0x10]
add esp, 4
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x1c]
cmp eax, edi
je 0x470573
xor edx, edx
mov word [eax], dx
mov eax, dword [esi + 4]
cmp eax, edi
jne 0x470541
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 0x47056b
mov ecx, dword [esi + 0x1c]
push ecx
mov eax, ebx
call fcn.005080c0
jmp 0x470573
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 0x470e60
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x532130
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 0x470eae
push 0x5643ec
lea eax, [ebp - 0x12]
push eax
mov byte [ebp - 0x12], bl
call fcn.005210ab
mov eax, dword [esi + 0x14]
xor ecx, ecx
cmp eax, 0xffffffff
je 0x470ed5
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 0x470eed
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x10], eax
jmp 0x470edc
mov dword [esi + 0x10], 0xc
push 0x5643ec
lea edx, [ebp - 0x13]
push edx
mov byte [ebp - 0x13], bl
call fcn.005210ab
mov dword [ebp + 8], ebx
cmp edi, ebx
je 0x470f37
mov eax, dword [esi + 0x14]
cmp eax, 0xffffffff
je 0x470f2e
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 0x470f18
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x10], eax
cmp dword [ebp + 8], ebx
jne 0x470f4a
push 0x5643ec
lea edx, [ebp - 0x14]
push edx
mov byte [ebp - 0x14], bl
call fcn.005210ab
mov dword [esi + 0x10], 0xc
jmp 0x470f1d
mov dword [esi + 0x10], 0x57
jmp 0x470f1d
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 0x471050
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5320f0
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 0x47109c
push 0x5643ec
lea eax, [ebp - 0x12]
push eax
mov byte [ebp - 0x12], bl
call fcn.005210ab
mov eax, dword [esi + 0x14]
xor ecx, ecx
cmp eax, 0xffffffff
je 0x4710c3
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 0x4710db
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x10], eax
jmp 0x4710ca
mov dword [esi + 0x10], 0xc
push 0x5643ec
lea edx, [ebp - 0x13]
push edx
mov byte [ebp - 0x13], bl
call fcn.005210ab
mov eax, dword [esi + 0x14]
mov dword [ebp + 8], ebx
mov dword [ebp - 0x18], ebx
cmp eax, 0xffffffff
je 0x47111e
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 0x471108
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x10], eax
cmp dword [ebp - 0x18], ebx
jne 0x471133
push 0x5643ec
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], bl
call fcn.005210ab
mov dword [esi + 0x10], 0xc
jmp 0x47110d
cmp byte [ebp + 0x10], bl
je 0x47113e
movzx eax, word [ebp + 8]
jmp 0x471154
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
Function at 0x471180
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 0x4711cc
push 0x5643ec
lea eax, [ebp - 0x12]
push eax
mov byte [ebp - 0x12], bl
call fcn.005210ab
mov eax, dword [esi + 0x14]
xor ecx, ecx
cmp eax, 0xffffffff
je 0x4711f3
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 0x47120b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x10], eax
jmp 0x4711fa
mov dword [esi + 0x10], 0xc
push 0x5643ec
lea edx, [ebp - 0x13]
push edx
mov byte [ebp - 0x13], bl
call fcn.005210ab
mov eax, dword [esi + 0x14]
mov dword [ebp + 8], ebx
mov dword [ebp - 0x18], ebx
cmp eax, 0xffffffff
je 0x47124e
push ebx
lea ecx, [ebp - 0x18]
push ecx
push 4
lea edx, [ebp + 8]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, ebx
jne 0x471238
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x10], eax
cmp dword [ebp - 0x18], ebx
jne 0x471263
push 0x5643ec
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], bl
call fcn.005210ab
mov dword [esi + 0x10], 0xc
jmp 0x47123d
cmp byte [ebp + 0x10], bl
je 0x47126d
mov eax, dword [ebp + 8]
jmp 0x471299
mov ecx, dword [ebp + 8]
mov eax, ecx
mov edx, ecx
shl edx, 0x10
and eax, 0xff00
or eax, edx
mov edx, ecx
sar edx, 0x18
shl eax, 8
and edx, 0xff
sar ecx, 8
or eax, edx
and ecx, 0xff00
or eax, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
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