joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4035ac
Capabilities:
Generate random numbers using the delphi lcg

Disassembly:
push ebx
xor ebx, ebx
imul edx, dword [ebx + 0x101b008], 0x8088405
inc edx
mov dword [ebx + 0x101b008], edx
mul edx
mov eax, edx
pop ebx
ret

Function at 0x41cf44
Capabilities:
Decompress data using aplib

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push ebp
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 8]
cld
mov dl, 0x80
mov al, byte [esi]
add esi, 1
mov byte [edi], al
add edi, 1
mov ebx, 2
add dl, dl
jne 0x41cf75
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x41cf5d
add dl, dl
jne 0x41cf80
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x41cfd1
xor eax, eax
add dl, dl
jne 0x41cf8d
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x41d06e
add dl, dl
jne 0x41cf9c
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41cfa7
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41cfb2
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41cfbd
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
je 0x41cfc7
mov ebx, edi
sub ebx, eax
mov al, byte [ebx]
mov byte [edi], al
inc edi
mov ebx, 2
jmp 0x41cf6c
mov eax, 1
add dl, dl
jne 0x41cfdf
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41cfea
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x41cfd6
sub eax, ebx
mov ebx, 1
jne 0x41d01d
mov ecx, 1
add dl, dl
jne 0x41d003
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x41d00e
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x41cffa
push esi
mov esi, edi
sub esi, ebp
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x41cf6c
dec eax
shl eax, 8
mov al, byte [esi]
inc esi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x41d034
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x41d03f
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x41d02b
cmp eax, 0x7d00
sbb ecx, 0xffffffff
cmp eax, 0x500
sbb ecx, 0xffffffff
cmp eax, 0x80
adc ecx, 0
cmp eax, 0x80
adc ecx, 0
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x41cf6c
mov al, byte [esi]
inc esi
xor ecx, ecx
shr al, 1
je 0x41d08f
adc ecx, 2
mov ebp, eax
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
mov ebx, 1
jmp 0x41cf6c
pop ebp
sub edi, dword [ebp - 8]
mov dword [ebp - 0xc], edi
pop edi
pop esi
pop ebx
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
Function at 0x41f0a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov ebx, edx
xor edx, edx
push ebp
push 0xfff58e
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
mov dword [ebp - 8], edx
mov esi, ebx
xor ecx, ecx
cmp byte [eax + 0x6a], 0
je 0x41f0ef
mov eax, ebx
xor edx, edx
push edx
push eax
mov eax, dword [esi + 0x3c]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov edx, dword [eax + 0x88]
test edx, edx
je 0x41f10e
mov ecx, edx
add ecx, ebx
jmp 0x41f10e
mov eax, ebx
xor edx, edx
push edx
push eax
mov eax, dword [esi + 0x3c]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov edx, dword [eax + 0x78]
test edx, edx
je 0x41f10e
mov ecx, edx
add ecx, ebx
test ecx, ecx
je 0x41f180
mov esi, dword [ecx + 0x18]
mov eax, dword [ecx + 0x1c]
add eax, ebx
mov dword [ebp - 0x10], eax
mov edi, dword [ecx + 0x20]
add edi, ebx
mov eax, dword [ecx + 0x24]
add eax, ebx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
cmp eax, 0xffff
jbe 0x41f169
test esi, esi
jbe 0x41f180
mov eax, dword [edi]
add eax, ebx
mov edx, dword [ebp - 4]
call fcn.004088ec
test eax, eax
jne 0x41f15b
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
shl eax, 2
add eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [ebp - 8], eax
jmp 0x41f180
add dword [ebp - 0xc], 2
add edi, 4
dec esi
test esi, esi
ja 0x41f138
jmp 0x41f180
mov edx, eax
sub edx, dword [ecx + 0x10]
cmp edx, dword [ecx + 0x14]
jae 0x41f180
mov eax, edx
shl eax, 2
add eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [ebp - 8], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0xfff595
ret
Function at 0x4202d8
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov word [ebp - 4], cx
mov byte [ebp - 1], dl
xor eax, eax
push ebp
push 0x10008f3
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
call fcn.00404cd0
xor ebx, ebx
mov eax, ebx
and eax, 0x80000001
jns 0x420313
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x42032c
lea eax, [ebp - 0x10]
mov edx, dword [0x101d54c]
mov edx, dword [edx]
mov edx, dword [edx + 0xc]
call fcn.00404d30
jmp 0x42033f
lea eax, [ebp - 0x10]
mov edx, dword [0x101d54c]
mov edx, dword [edx]
mov edx, dword [edx + 0x10]
call fcn.00404d30
lea eax, [ebp - 0x10]
mov edx, ebx
sar edx, 1
jns 0x42034b
adc edx, 0
mov edx, dword [edx*4 + 0x101c378]
call fcn.00404f20
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
mov eax, dword [ebp - 0x10]
call fcn.00404f04
push eax
call fcn.00406b1c
mov esi, eax
cmp esi, 0xffffffff
je 0x4204c5
mov eax, 0x40
call fcn.00403268
mov edi, eax
push 0
lea eax, [ebp - 8]
push eax
push 0x40
push edi
push esi
call fcn.00406d7c
test eax, eax
je 0x4204b8
mov eax, edi
cmp word [eax], 0x5a4d
jne 0x4204b8
push 0
push 0
mov eax, dword [eax + 0x3c]
push eax
push esi
call fcn.00406ddc
mov eax, edi
call fcn.00403288
mov eax, 0x18
call fcn.00403268
mov edi, eax
push 0
lea eax, [ebp - 8]
push eax
push 0x18
push edi
push esi
call fcn.00406d7c
test eax, eax
je 0x4204b8
mov eax, edi
cmp dword [eax], 0x4550
jne 0x4204b8
add eax, 4
mov dword [ebp - 0xc], eax
cmp byte [ebp - 1], 0
je 0x420456
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x8664
jne 0x420456
mov eax, edi
call fcn.00403288
mov eax, 0xf0
call fcn.00403268
mov edi, eax
push 0
lea eax, [ebp - 8]
push eax
push 0xf0
push edi
push esi
call fcn.00406d7c
test eax, eax
je 0x420456
mov eax, edi
mov dx, word [eax + 0x44]
cmp dx, word [ebp - 4]
jne 0x420456
mov eax, dword [eax + 0x10]
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
call fcn.00404d0c
cmp byte [ebp - 1], 0
jne 0x4204b8
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x14c
jb 0x4204b8
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x150
ja 0x4204b8
mov eax, edi
call fcn.00403288
mov eax, 0xe0
call fcn.00403268
mov edi, eax
push 0
lea eax, [ebp - 8]
push eax
push 0xe0
push edi
push esi
call fcn.00406d7c
test eax, eax
je 0x4204b8
mov eax, edi
mov dx, word [eax + 0x44]
cmp dx, word [ebp - 4]
jne 0x4204b8
mov eax, dword [eax + 0x10]
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
call fcn.00404d0c
mov eax, edi
call fcn.00403288
push esi
call fcn.00406ad4
mov eax, dword [ebp + 8]
mov eax, dword [eax]
xor edx, edx
call fcn.0040502c
jne 0x4204dd
inc ebx
cmp ebx, 0x19
jne 0x420305
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x10008fa
lea eax, [ebp - 0x10]
call fcn.00404cd0
ret
Function at 0x401000
Capabilities:
Inspect load icon resource

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
cmp dword [ebp + 8], 1
jne 0x401014
mov eax, dword [0x4390cc]
mov dword [ebp + 8], eax
mov dword [ebp - 4], 0
jmp 0x401026
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [0x4390d0]
shr edx, 1
cmp dword [ebp - 4], edx
jae 0x4010ab
mov eax, dword [0x4390b4]
mov ecx, dword [ebp - 4]
movzx edx, word [eax + ecx*2]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
shr eax, 0xc
cmp eax, 3
jne 0x4010a6
mov ecx, dword [ebp - 0xc]
and ecx, 0xfff
add ecx, 0x1474
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
add edx, 0xffffeb8c
mov dword [ebp - 8], edx
cmp dword [ebp - 4], 0
jne 0x401087
push 0x20e
push 0
call dword [sym.imp.USER32.dll_LoadIconA]
test eax, eax
je 0x401087
xor eax, eax
jmp 0x4010ab
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
add ecx, dword [eax]
mov edx, dword [ebp - 8]
mov eax, dword [ecx + edx]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
add eax, dword [ebp + 0x10]
add ecx, dword [edx]
mov edx, dword [ebp - 8]
mov dword [ecx + edx], eax
jmp 0x40101d
mov esp, ebp
pop ebp
ret
Function at 0x401780
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
mov dword [ebp - 0x114], str.55222
mov eax, dword [sym.imp.KERNEL32.dll_lstrcatA]
mov dword [ebp - 0x11c], eax
push 0x104
lea ecx, [ebp - 0x110]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov edx, dword [ebp - 0x114]
push edx
lea eax, [ebp - 0x110]
push eax
call dword [ebp - 0x11c]
lea ecx, [ebp - 0x110]
push 0
push 0x80
push 3
push 0
push 3
push 1
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0xffffffff
je 0x4017fa
cmp dword [ebp - 0x118], 0
je 0x4017fa
jmp 0x40185c
mov edx, dword [ebp + 8]
cmp dword [edx + 4], 0
je 0x40185c
mov dword [ebp - 0x120], 0x3c41
mov eax, dword [ebp + 8]
sub eax, 0xfffffff8
mov dword [0x4390b4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov dword [0x4390d0], edx
mov dword [ebp - 0x120], 0x3c41
mov dword [ebp - 0x120], 0x3c41
call fcn.004011c0
mov eax, dword [ebp + 8]
mov dword [0x4390cc], eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
push 1
call fcn.00401ae0
sub esp, 0xfffffff4
mov dword [ebp + 8], eax
jmp 0x4017fa
mov esp, ebp
pop ebp
ret

Function at 0x401b20
Capabilities:
Inspect load icon resource

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [0x4390c0], 0x24e1
mov eax, dword [0x4390c0]
add eax, 0xffffdb1f
mov dword [0x4390c0], eax
mov ecx, 1
or ecx, ecx
je 0x401bcb
mov edx, dword [0x4390c0]
cmp edx, dword [ebp + 0xc]
jb 0x401b57
jmp 0x401bcb
cmp dword [0x4390c0], 0
jne 0x401b75
push 0x263
push 0
call dword [sym.imp.USER32.dll_LoadIconA]
test eax, eax
je 0x401b75
xor eax, eax
jmp 0x401bcb
mov edx, dword [ebp + 8]
add edx, dword [0x4390c0]
mov ecx, dword [edx]
mov eax, dword [ebp + 8]
add ecx, dword [0x4390c0]
add eax, dword [0x4390c0]
mov dword [eax], ecx
mov dword [ebp - 4], 0xad9c
mov ecx, dword [ebp - 4]
mov eax, dword [0x4390c0]
lea edx, [ecx + eax + 2]
push edx
mov eax, dword [ebp + 8]
add eax, dword [0x4390c0]
push eax
call fcn.004011d0
sub esp, 0xfffffff8
mov ecx, dword [0x4390c0]
sub ecx, 0xfffffffc
mov dword [0x4390c0], ecx
jmp 0x401b3d
mov esp, ebp
pop ebp
ret
Function at 0x10003af0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd8
push ebx
push esi
push edi
lea edi, [ebp - 0xd8]
mov ecx, 0x36
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x10]
add eax, 5
mov esi, esp
push eax
call dword [sym.imp.MSVCR100D.dll_malloc]
add esp, 4
cmp esi, esp
call fcn.10020d30
mov dword [ebp - 8], eax
mov esi, esp
lea eax, [ebp - 0x14]
push eax
push 0x40
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp esi, esp
call fcn.10020d30
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 8]
push edx
call sub.MSVCR100D.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 8]
add eax, dword [ebp + 0x10]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov byte [eax], 0xe9
mov eax, dword [ebp + 8]
add eax, dword [ebp + 0x10]
sub eax, dword [ebp - 8]
sub eax, 5
mov ecx, dword [ebp - 8]
mov dword [ecx + 1], eax
mov eax, dword [ebp + 8]
mov byte [eax], 0xe9
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp + 8]
sub eax, 5
mov ecx, dword [ebp + 8]
mov dword [ecx + 1], eax
mov esi, esp
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp esi, esp
call fcn.10020d30
mov eax, dword [ebp - 8]
sub eax, dword [ebp + 0x10]
push edx
mov ecx, ebp
push eax
lea edx, [0x10003bdc]
call fcn.10020d60
pop eax
pop edx
pop edi
pop esi
pop ebx
add esp, 0xd8
cmp ebp, esp
call fcn.10020d30
mov esp, ebp
pop ebp
ret

Function at 0x10003c00
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf0
push ebx
push esi
push edi
lea edi, [ebp - 0xf0]
mov ecx, 0x3c
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov esi, esp
lea eax, [ebp - 8]
push eax
push 0x40
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp esi, esp
call fcn.10020d30
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp + 8]
sub eax, 5
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov byte [eax], 0xe9
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x20]
mov dword [eax + 1], ecx
mov dword [ebp - 0x2c], 5
jmp 0x10003c68
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp + 0x10]
jae 0x10003c7b
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x2c]
mov byte [eax], 0x90
jmp 0x10003c5f
mov esi, esp
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp esi, esp
call fcn.10020d30
mov eax, dword [ebp + 0xc]
push edx
mov ecx, ebp
push eax
lea edx, [0x10003cc4]
call fcn.10020d60
pop eax
pop edx
pop edi
pop esi
pop ebx
add esp, 0xf0
cmp ebp, esp
call fcn.10020d30
mov esp, ebp
pop ebp
ret
Function at 0x10003db0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe4
push ebx
push esi
push edi
lea edi, [ebp - 0xe4]
mov ecx, 0x39
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword fs:[0x30]
mov dword [ebp - 8], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0xc]
add ecx, 0x14
cmp dword [ebp - 0x20], ecx
je 0x10003e30
cmp dword [ebp - 0x20], 0
je 0x10003e30
mov eax, dword [ebp - 0x20]
sub eax, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x28]
push edx
call fcn.10003e50
add esp, 8
test eax, eax
je 0x10003e26
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x18]
jmp 0x10003e32
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
jmp 0x10003dea
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 0xe4
cmp ebp, esp
call fcn.10020d30
mov esp, ebp
pop ebp
ret
Function at 0x10004130
Capabilities:
Create thread
Inject dll
Inject thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2fc
push ebx
push esi
push edi
lea edi, [ebp - 0x2fc]
mov ecx, 0xbf
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x10031424]
xor eax, ebp
mov dword [ebp - 4], eax
mov byte [ebp - 0x48], 0
push 0x31
push 0
lea eax, [ebp - 0x47]
push eax
call sub.MSVCR100D.dll_memset
add esp, 0xc
cmp dword [ebp + 8], 0
jne 0x10004179
xor eax, eax
jmp 0x100042a6
mov esi, esp
mov eax, dword [ebp + 8]
push eax
push 0
push 0x43a
call dword [sym.imp.KERNEL32.dll_OpenProcess]
cmp esi, esp
call fcn.10020d30
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x100041a3
xor eax, eax
jmp 0x100042a6
mov esi, esp
push 0x10027a50
mov edi, esp
push 0x10027a40
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
cmp edi, esp
call fcn.10020d30
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.10020d30
mov dword [ebp - 0x60], eax
mov esi, esp
push 4
push 0x3000
mov eax, dword [ebp + 0xc]
push eax
call sub.MSVCR100D.dll_strlen
add esp, 4
add eax, 1
push eax
push 0
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
cmp esi, esp
call fcn.10020d30
mov dword [ebp - 0x54], eax
mov esi, esp
push 0
mov eax, dword [ebp + 0xc]
push eax
call sub.MSVCR100D.dll_strlen
add esp, 4
add eax, 1
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp esi, esp
call fcn.10020d30
mov esi, esp
push 0
push 0
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x60]
push ecx
push 0
push 0
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_CreateRemoteThread]
cmp esi, esp
call fcn.10020d30
mov esi, esp
mov eax, dword [ebp + 0xc]
push eax
push str._s_tried_to_be_loaded__n
lea ecx, [ebp - 0x168]
push ecx
call dword [sym.imp.MSVCR100D.dll_sprintf]
add esp, 0xc
cmp esi, esp
call fcn.10020d30
mov esi, esp
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, esp
call fcn.10020d30
mov esi, esp
push 0xc000
push 0
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
cmp esi, esp
call fcn.10020d30
mov eax, 1
push edx
mov ecx, ebp
push eax
lea edx, [0x100042d8]
call fcn.10020d60
pop eax
pop edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10020f50
add esp, 0x2fc
cmp ebp, esp
call fcn.10020d30
mov esp, ebp
pop ebp
ret
Function at 0x10004470
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf0
push ebx
push esi
push edi
lea edi, [ebp - 0xf0]
mov ecx, 0x3c
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
cmp esi, esp
call fcn.10020d30
mov dword [ebp - 8], eax
mov esi, esp
lea eax, [ebp - 0x14]
push eax
push 0x40
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
cmp esi, esp
call fcn.10020d30
mov byte [ebp - 0x1d], 0x90
mov dword [ebp - 0x2c], 0
jmp 0x100044d7
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp + 0xc]
jae 0x10004503
mov esi, esp
push 0
push 1
lea eax, [ebp - 0x1d]
push eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp esi, esp
call fcn.10020d30
jmp 0x100044ce
mov esi, esp
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
cmp esi, esp
call fcn.10020d30
push edx
mov ecx, ebp
push eax
lea edx, [0x1000454c]
call fcn.10020d60
pop eax
pop edx
pop edi
pop esi
pop ebx
add esp, 0xf0
cmp ebp, esp
call fcn.10020d30
mov esp, ebp
pop ebp
ret
Function at 0x10005d00
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xcc
push ebx
push esi
push edi
lea edi, [ebp - 0xcc]
mov ecx, 0x33
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov esi, esp
push str.._config1.txt
push 0
push str.Talisman
push str.Config
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
cmp esi, esp
call fcn.10020d30
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
setne al
pop edi
pop esi
pop ebx
add esp, 0xcc
cmp ebp, esp
call fcn.10020d30
mov esp, ebp
pop ebp
ret

Function at 0x10007190
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf0
push ebx
push esi
push edi
lea edi, [ebp - 0xf0]
mov ecx, 0x3c
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov esi, esp
lea eax, [ebp - 8]
push eax
push 0x40
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp esi, esp
call fcn.10020d30
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp + 8]
sub eax, 5
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov byte [eax], 0xe9
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x20]
mov dword [eax + 1], ecx
mov dword [ebp - 0x2c], 5
jmp 0x100071f8
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp + 0x10]
jae 0x1000720b
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x2c]
mov byte [eax], 0x90
jmp 0x100071ef
mov esi, esp
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp esi, esp
call fcn.10020d30
push edx
mov ecx, ebp
push eax
lea edx, [0x10007250]
call fcn.10020d60
pop eax
pop edx
pop edi
pop esi
pop ebx
add esp, 0xf0
cmp ebp, esp
call fcn.10020d30
mov esp, ebp
pop ebp
ret

Function at 0x10007350
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd8
push ebx
push esi
push edi
lea edi, [ebp - 0xd8]
mov ecx, 0x36
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov esi, esp
push 0x40
push 0x3000
mov eax, dword [ebp + 0x10]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
cmp esi, esp
call fcn.10020d30
mov dword [ebp - 8], eax
mov esi, esp
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.MSVCR100D.dll_memcpy_s]
add esp, 0x10
cmp esi, esp
call fcn.10020d30
mov eax, dword [ebp + 8]
sub eax, dword [ebp - 8]
sub eax, 5
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
add eax, dword [ebp + 0x10]
mov byte [eax], 0xe9
mov eax, dword [ebp - 8]
add eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 1], ecx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10007190
add esp, 0xc
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
add esp, 0xd8
cmp ebp, esp
call fcn.10020d30
mov esp, ebp
pop ebp
ret
Function at 0x10008e80
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
push ebx
push esi
push edi
lea edi, [ebp - 0x108]
mov ecx, 0x42
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x10031424]
xor eax, ebp
mov dword [ebp - 4], eax
mov esi, esp
mov eax, dword [ebp + 8]
push eax
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
cmp esi, esp
call fcn.10020d30
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jbe 0x10008f2c
mov esi, esp
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, esp
call fcn.10020d30
mov esi, esp
mov eax, dword [ebp + 8]
push eax
push str.closed_TITLE_:__s__n
lea ecx, [ebp - 0x34]
push ecx
call dword [sym.imp.MSVCR100D.dll_sprintf]
add esp, 0xc
cmp esi, esp
call fcn.10020d30
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x100], esp
lea eax, [ebp - 0x34]
push eax
call fcn.10002270
mov dword [ebp - 0x108], eax
call fcn.1001b110
add esp, 0x20
mov esi, esp
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push edx
mov ecx, ebp
push eax
lea edx, [0x10008f5c]
call fcn.10020d60
pop eax
pop edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10020f50
add esp, 0x108
cmp ebp, esp
call fcn.10020d30
mov esp, ebp
pop ebp
ret

Function at 0x10008f80
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
push ebx
push esi
push edi
lea edi, [ebp - 0x108]
mov ecx, 0x42
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x10031424]
xor eax, ebp
mov dword [ebp - 4], eax
mov esi, esp
push 0
mov eax, dword [ebp + 8]
push eax
push 0
push 0
call dword [sym.imp.USER32.dll_FindWindowExA]
cmp esi, esp
call fcn.10020d30
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jbe 0x10009030
mov esi, esp
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, esp
call fcn.10020d30
mov esi, esp
mov eax, dword [ebp + 8]
push eax
push str.closed_CLASSEWINDOW_:__s__n
lea ecx, [ebp - 0x34]
push ecx
call dword [sym.imp.MSVCR100D.dll_sprintf]
add esp, 0xc
cmp esi, esp
call fcn.10020d30
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x100], esp
lea eax, [ebp - 0x34]
push eax
call fcn.10002270
mov dword [ebp - 0x108], eax
call fcn.1001b110
add esp, 0x20
mov esi, esp
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push edx
mov ecx, ebp
push eax
lea edx, [0x10009060]
call fcn.10020d60
pop eax
pop edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10020f50
add esp, 0x108
cmp ebp, esp
call fcn.10020d30
mov esp, ebp
pop ebp
ret