joyce8/EMBER2024-capa huggingface dataset:
Function at 0x448f70
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x205
ja 0x448fc0
cmp dword [ebp - 0x18], 0x205
je 0x448fdf
cmp dword [ebp - 0x18], 0x100
je 0x44911d
cmp dword [ebp - 0x18], 0x200
je 0x449038
cmp dword [ebp - 0x18], 0x202
je 0x448fdf
jmp 0x44915c
cmp dword [ebp - 0x18], 0x565
je 0x4490c6
cmp dword [ebp - 0x18], 0x569
je 0x44909c
jmp 0x44915c
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
movsx edx, cx
push edx
mov eax, dword [ebp + 0x10]
and eax, 0xffff
movsx ecx, ax
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.00449e00
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x5c4], eax
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
sar eax, 8
je 0x449022
push 0
mov ecx, dword [ebp - 0x14]
call fcn.00448ee0
jmp 0x44902c
push 1
mov ecx, dword [ebp - 0x14]
call fcn.00448ee0
mov dword [ebp - 4], 1
jmp 0x449173
mov ecx, dword [ebp + 0x10]
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0xc], edx
mov eax, dword [ebp + 0x10]
shr eax, 0x10
movsx ecx, ax
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x14]
call fcn.00449e00
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ecx + 0x5c4]
je 0x449090
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x5c4], ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x14]
call fcn.00449660
mov dword [ebp - 4], 1
jmp 0x449173
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x5c4], 0
jl 0x4490c1
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x5c4], 0xffffffff
push 0
push 0
mov ecx, dword [ebp - 0x14]
call fcn.00449660
jmp 0x449173
mov eax, dword [ebp - 0x14]
add eax, 0x350
cmp dword [ebp + 0xc], eax
jne 0x4490ee
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x354]
and edx, 0x80000000
je 0x4490ec
mov ecx, dword [ebp - 0x14]
call fcn.00449180
jmp 0x449114
mov eax, dword [ebp - 0x14]
add eax, 0x100
cmp dword [ebp + 0xc], eax
jne 0x449114
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x104]
and edx, 0x80000000
je 0x449114
mov ecx, dword [ebp - 0x14]
call fcn.00449240
mov dword [ebp - 4], 1
jmp 0x449173
cmp dword [ebp + 0xc], 0x21
jne 0x44913e
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x104]
and ecx, 0x80000000
je 0x44913e
mov ecx, dword [ebp - 0x14]
call fcn.00449240
jmp 0x44915c
cmp dword [ebp + 0xc], 0x22
jne 0x44915c
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x354]
and eax, 0x80000000
je 0x44915c
mov ecx, dword [ebp - 0x14]
call fcn.00449180
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x14]
call fcn.004428d0
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret 0xc
Function at 0x4506f0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x511
ja 0x45075b
cmp dword [ebp - 0x14], 0x511
je 0x450816
cmp dword [ebp - 0x14], 0x501
ja 0x450749
cmp dword [ebp - 0x14], 0x501
je 0x45080c
cmp dword [ebp - 0x14], 0x200
je 0x450783
cmp dword [ebp - 0x14], 0x2a1
je 0x450783
jmp 0x45088f
cmp dword [ebp - 0x14], 0x502
je 0x450807
jmp 0x45088f
cmp dword [ebp - 0x14], 0x515
je 0x450811
cmp dword [ebp - 0x14], 0x565
je 0x450788
cmp dword [ebp - 0x14], 0x567
je 0x45081b
jmp 0x45088f
jmp 0x4508a6
mov ecx, dword [ebp - 0x10]
add ecx, 0xc57c
cmp dword [ebp + 0xc], ecx
jne 0x4507a2
push 1
call fcn.00450360
add esp, 4
jmp 0x4507bf
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x10]
call fcn.00450ac0
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jl 0x4507bf
mov al, byte [ebp - 8]
mov byte [0x68f9d4], al
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x10]
call fcn.00438000
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x5f8c
push ecx
mov ecx, 0x68d090
call fcn.0041aea0
mov edx, dword [ebp - 0x10]
push edx
call fcn.0043b900
add esp, 4
mov eax, dword [ebp - 0x10]
push eax
call fcn.0043ba50
add esp, 4
jmp 0x4508a6
jmp 0x4508a6
jmp 0x4508a6
jmp 0x4508a6
jmp 0x4508a6
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.00450ac0
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jl 0x45088d
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
movsx edx, ax
and edx, 0x8000
je 0x45088d
mov al, byte [ebp - 0xc]
mov byte [0x68f9d4], al
mov cl, byte [ebp - 0xc]
mov byte [0x67d958], cl
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
push 0x565
mov ecx, dword [ebp - 0x10]
call fcn.00438000
mov dword [ebp - 4], eax
push 0
mov ecx, dword [0x6dfb10]
push ecx
call sub.MSVCR80.dll_strlen
add esp, 4
push eax
mov edx, dword [0x6dfb10]
push edx
call fcn.0048e030
add esp, 0xc
jmp 0x4508a6
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x10]
call fcn.00438000
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret 0xc
Function at 0x45e770
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 8]
call fcn.0045e7b0
mov dword [ebp - 4], 0
lea eax, [ebp - 4]
push eax
push 0
mov ecx, dword [ebp - 8]
push ecx
push 0x45e550
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edx, dword [ebp - 8]
mov dword [edx + 0x1438], eax
mov esp, ebp
pop ebp
ret

Function at 0x45e7b0
Capabilities:
Terminate thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 8], ecx
push 0x64
push 0xffffffffffffffff
mov eax, dword [ebp - 8]
add eax, 0x1278
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
mov ecx, dword [ebp - 8]
cmp dword [ecx + 0x1438], 0
je 0x45e812
mov dword [ebp - 4], 0
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x1438]
push ecx
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x1438]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x1438], 0
mov esp, ebp
pop ebp
ret
Function at 0x466ac0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 8], ecx
mov dword [ebp - 4], 1
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x501
je 0x466c34
cmp dword [ebp - 0xc], 0x511
je 0x466afa
cmp dword [ebp - 0xc], 0x565
je 0x466b45
jmp 0x466c4f
push 0
push 0
push 0
mov ecx, dword [0x6de314]
call fcn.0053a130
test eax, eax
jne 0x466b40
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
movsx ecx, ax
and ecx, 0x8000
je 0x466b30
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp - 8]
call fcn.0046e380
jmp 0x466b40
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 8]
call fcn.00466c70
jmp 0x466c65
mov edx, dword [ebp - 8]
add edx, 0x1ec
cmp dword [ebp + 0xc], edx
jne 0x466b5d
call fcn.00466720
jmp 0x466c32
mov eax, dword [ebp - 8]
add eax, 0x43c
cmp dword [ebp + 0xc], eax
jne 0x466b9b
mov ecx, dword [ebp - 8]
mov dword [ecx + 0xc84], 1
mov edx, dword [ebp - 8]
add edx, 0x43c
push edx
mov ecx, dword [ebp - 8]
call fcn.00466e30
mov eax, dword [ebp - 8]
mov edx, dword [eax]
mov ecx, dword [ebp - 8]
mov eax, dword [edx + 4]
call eax
jmp 0x466c32
mov ecx, dword [ebp - 8]
add ecx, 0x68c
cmp dword [ebp + 0xc], ecx
jne 0x466bd6
mov edx, dword [ebp - 8]
mov dword [edx + 0xc84], 2
mov eax, dword [ebp - 8]
add eax, 0x68c
push eax
mov ecx, dword [ebp - 8]
call fcn.00466e30
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 8]
mov eax, dword [edx + 4]
call eax
jmp 0x466c32
mov ecx, dword [ebp - 8]
add ecx, 0x8dc
cmp dword [ebp + 0xc], ecx
jne 0x466c11
mov edx, dword [ebp - 8]
mov dword [edx + 0xc84], 3
mov eax, dword [ebp - 8]
add eax, 0x8dc
push eax
mov ecx, dword [ebp - 8]
call fcn.00466e30
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 8]
mov eax, dword [edx + 4]
call eax
jmp 0x466c32
mov ecx, dword [ebp - 8]
add ecx, 0xc88
cmp dword [ebp + 0xc], ecx
jne 0x466c32
push 3
push 6
mov edx, dword [0x6931dc]
push edx
call fcn.00510020
add esp, 0xc
jmp 0x466c65
cmp dword [ebp + 0xc], 6
jne 0x466c4d
push 0
mov eax, dword [ebp + 0x10]
push eax
push 3
mov ecx, dword [0x6de314]
call fcn.0053a130
jmp 0x466c65
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 8]
call fcn.004428d0
jmp 0x466c68
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret 0xc
Function at 0x48d0f0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 1
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x502
je 0x48d12a
cmp dword [ebp - 0x14], 0x50e
je 0x48d12f
cmp dword [ebp - 0x14], 0x565
je 0x48d1aa
jmp 0x48d21c
jmp 0x48d230
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
movsx ecx, ax
and ecx, 0x8000
je 0x48d1a5
mov edx, dword [ebp + 0x10]
shr edx, 0x10
movsx eax, dx
push eax
mov ecx, dword [ebp + 0x10]
and ecx, 0xffff
movsx edx, cx
push edx
mov ecx, dword [ebp - 0x10]
call fcn.0048d240
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jl 0x48d170
cmp dword [ebp - 8], 7
jl 0x48d175
jmp 0x48d230
mov eax, dword [ebp + 0x10]
shr eax, 0x10
movsx ecx, ax
push ecx
mov edx, dword [ebp + 0x10]
and edx, 0xffff
movsx eax, dx
push eax
mov ecx, dword [ebp - 8]
shl ecx, 8
mov edx, dword [ebp - 0x10]
lea eax, [edx + ecx + 0x3f80]
push eax
call fcn.004a46a0
add esp, 0xc
jmp 0x48d230
mov ecx, dword [ebp - 0x10]
add ecx, 0x4680
cmp dword [ebp + 0xc], ecx
jne 0x48d21a
mov dword [ebp - 0xc], 0
jmp 0x48d1ca
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], 7
jge 0x48d21a
mov ecx, dword [ebp - 0x10]
add ecx, 0x4680
call fcn.004262f0
test eax, eax
je 0x48d1fe
push 0
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x8ec
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx + eax + 0x10c]
call fcn.0048cd60
jmp 0x48d218
push 1
mov edx, dword [ebp - 0xc]
imul edx, edx, 0x8ec
mov eax, dword [ebp - 0x10]
lea ecx, [eax + edx + 0x10c]
call fcn.0048cd60
jmp 0x48d1c1
jmp 0x48d230
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0043b680
add esp, 0xc
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret 0xc
Function at 0x498450
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [ebp - 0x14], ecx
push 0
call fcn.0043af70
add esp, 4
test eax, eax
je 0x49846c
jmp 0x4985e5
mov eax, dword [ebp - 0x14]
add eax, 0x670
cmp dword [ebp + 8], eax
jne 0x498493
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x1f0]
sub edx, 1
push edx
mov ecx, dword [ebp - 0x14]
call fcn.00497f00
jmp 0x4985e5
mov eax, dword [ebp - 0x14]
add eax, 0x970
cmp dword [ebp + 8], eax
jne 0x4984ba
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x1f0]
add edx, 1
push edx
mov ecx, dword [ebp - 0x14]
call fcn.00497f00
jmp 0x4985e5
mov eax, dword [ebp - 0x14]
add eax, 0x420
cmp dword [ebp + 8], eax
jne 0x4984d1
call fcn.00497410
jmp 0x4985e5
mov ecx, dword [ebp - 0x14]
add ecx, 0xf70
cmp dword [ebp + 8], ecx
jne 0x4984fc
push 1
push 0
push 0
push str.http:__183.60.106.50:1999_cz.html_f
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x4985e5
mov edx, dword [ebp - 0x14]
add edx, 0xc70
cmp dword [ebp + 8], edx
jne 0x498551
call fcn.0049bfb0
test eax, eax
je 0x49851a
call fcn.0049c0b0
jmp 0x49854c
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x208]
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], 0
jle 0x49854c
call fcn.0049bfe0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x49854c
mov edx, dword [ebp - 0x14]
add edx, 0x1fc
push edx
mov ecx, dword [ebp - 4]
call fcn.0049c0f0
jmp 0x4985e5
mov dword [ebp - 8], 0
jmp 0x498563
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 7
jge 0x4985e5
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x300
mov edx, dword [ebp - 0x14]
lea eax, [edx + ecx + 0x1270]
cmp dword [ebp + 8], eax
jne 0x4985e0
mov ecx, dword [ebp - 0x14]
add ecx, 0x218
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
cmp dword [edx + 4], 0
jne 0x49859f
mov dword [ebp - 0x18], 0
jmp 0x4985b6
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax + 8]
sub eax, dword [ecx + 4]
cdq
mov ecx, 0x24
idiv ecx
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
jb 0x4985c4
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
push 0
mov eax, dword [ebp - 8]
imul eax, eax, 0x24
mov ecx, dword [ebp - 0x10]
add eax, dword [ecx + 4]
push eax
push 0x70
mov ecx, dword [0x6de314]
call fcn.0053b770
jmp 0x49855a
mov esp, ebp
pop ebp
ret 8
Function at 0x49b4a0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x418
mov eax, dword [0x68b740]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x414], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x418], 0x513
ja 0x49b4ff
cmp dword [ebp - 0x418], 0x513
je 0x49b56b
cmp dword [ebp - 0x418], 0x100
je 0x49b5ff
cmp dword [ebp - 0x418], 0x512
je 0x49b528
jmp 0x49b66f
cmp dword [ebp - 0x418], 0x565
je 0x49b510
jmp 0x49b66f
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x414]
call fcn.0049b7a0
jmp 0x49b688
mov ecx, 0x68d090
call fcn.0041add0
and eax, 8
jne 0x49b546
mov ecx, 0x68d090
call fcn.0041add0
and eax, 2
je 0x49b566
mov ecx, 0x68d090
call fcn.0041add0
and eax, 8
seta al
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x414]
call fcn.0049b6a0
jmp 0x49b688
mov edx, dword [ebp - 0x414]
add edx, 0x214
cmp dword [ebp + 0x10], edx
jne 0x49b5fa
mov ecx, 0x68d090
call fcn.0041add0
and eax, 8
jne 0x49b59a
mov ecx, 0x68d090
call fcn.0041add0
and eax, 2
je 0x49b5fa
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
and eax, 0x8000
je 0x49b5bf
push 1
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x414]
call fcn.0049b6a0
jmp 0x49b5fa
mov byte [ebp - 0xc], 0
mov byte [ebp - 0xb], 0
mov byte [ebp - 0xa], 0
mov byte [ebp - 9], 0
mov edx, dword [0x6df780]
push edx
lea eax, [ebp - 0x410]
push eax
call sub.MSVCR80.dll_strcpy
add esp, 8
push 0
push 0
lea ecx, [ebp - 0x410]
push ecx
push 0x1f
call fcn.00402de0
add esp, 0x10
jmp 0x49b688
cmp dword [ebp + 0xc], 0x1b
jne 0x49b66d
mov ecx, 0x68d090
call fcn.0041add0
and eax, 2
je 0x49b61b
call fcn.0049b0d0
jmp 0x49b66d
push 0
mov ecx, dword [ebp - 0x414]
add ecx, 0x36c
call fcn.00426310
push 0
mov ecx, dword [ebp - 0x414]
add ecx, 0x5bc
call fcn.00426310
push 0
mov ecx, dword [ebp - 0x414]
add ecx, 0x80c
call fcn.00426310
mov edx, dword [ebp - 0x414]
add edx, 0x114c
push edx
push 2
mov ecx, 0x68d090
call fcn.0041abd0
jmp 0x49b688
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x414]
call fcn.004428d0
jmp 0x49b68a
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00612c78
mov esp, ebp
pop ebp
ret 0xc

Function at 0x49c940
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
add eax, 0xfb0
cmp dword [ebp + 8], eax
jne 0x49c95d
call fcn.0049c0b0
jmp 0x49c9ae
mov ecx, dword [ebp - 8]
add ecx, 0x1200
cmp dword [ebp + 8], ecx
jne 0x49c985
push 1
push 0
push 0
push str.http:__183.60.106.50:1999_cz.html_f
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
jmp 0x49c9ae
mov edx, dword [ebp - 8]
add edx, 0x1500
cmp dword [ebp + 8], edx
jne 0x49c9ae
call fcn.004972a0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x49c9a9
mov ecx, dword [ebp - 4]
call fcn.00498830
call fcn.0049c0b0
mov esp, ebp
pop ebp
ret 8
Function at 0x4a0270
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x418
mov eax, dword [0x68b740]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x414], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x418], 0x513
ja 0x4a02cf
cmp dword [ebp - 0x418], 0x513
je 0x4a03ad
cmp dword [ebp - 0x418], 0x100
je 0x4a02f8
cmp dword [ebp - 0x418], 0x512
je 0x4a036a
jmp 0x4a0443
cmp dword [ebp - 0x418], 0x565
je 0x4a02e0
jmp 0x4a0443
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x414]
call fcn.0049ff70
jmp 0x4a045c
cmp dword [ebp + 0xc], 0x1b
jne 0x4a0365
mov ecx, 0x68d090
call fcn.0041add0
and eax, 2
je 0x4a0314
call fcn.0049fbd0
jmp 0x4a0365
push 0
mov ecx, dword [ebp - 0x414]
add ecx, 0x2624
call fcn.00426310
push 0
mov ecx, dword [ebp - 0x414]
add ecx, 0x2924
call fcn.00426310
push 0
mov ecx, dword [ebp - 0x414]
add ecx, 0x2c24
call fcn.00426310
mov eax, dword [ebp - 0x414]
add eax, 0x1e8
push eax
push 2
mov ecx, 0x68d090
call fcn.0041abd0
jmp 0x4a045c
mov ecx, 0x68d090
call fcn.0041add0
and eax, 8
jne 0x4a0388
mov ecx, 0x68d090
call fcn.0041add0
and eax, 2
je 0x4a03a8
mov ecx, 0x68d090
call fcn.0041add0
and eax, 8
seta cl
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x414]
call fcn.0049fe60
jmp 0x4a045c
mov eax, dword [ebp - 0x414]
add eax, 0x396c
cmp dword [ebp + 0x10], eax
jne 0x4a0441
mov ecx, 0x68d090
call fcn.0041add0
and eax, 8
jne 0x4a03df
mov ecx, 0x68d090
call fcn.0041add0
and eax, 2
je 0x4a0441
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
movsx ecx, ax
and ecx, 0x8000
je 0x4a0405
push 1
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x414]
call fcn.0049fe60
jmp 0x4a0441
mov byte [ebp - 0xc], 0
mov byte [ebp - 0xb], 0
mov byte [ebp - 0xa], 0
mov byte [ebp - 9], 0
mov eax, dword [0x6df780]
push eax
lea ecx, [ebp - 0x410]
push ecx
call sub.MSVCR80.dll_strcpy
add esp, 8
push 0
push 0
lea edx, [ebp - 0x410]
push edx
push 0x1f
mov ecx, 0x6de3f0
call fcn.004055f0
jmp 0x4a045c
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x414]
call fcn.004428d0
jmp 0x4a045e
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00612c78
mov esp, ebp
pop ebp
ret 0xc
Function at 0x4a3d90
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov dword [ebp - 4], ecx
cmp dword [0x67e4c4], 1
jne 0x4a3db7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x696480], eax
mov dword [0x67e4c4], 0
mov eax, dword [0x69647c]
add eax, 1
mov dword [0x69647c], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], 0
fild qword [ebp - 0xc]
mov ecx, dword [0x696480]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], 0
fild qword [ebp - 0x14]
fsubp st(1)
mov edx, dword [0x69647c]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], 0
fild qword [ebp - 0x1c]
fdivp st(1)
fstp qword [0x68d2a0]
mov ecx, dword [0x6de314]
call fcn.00539a90
mov esp, ebp
pop ebp
ret
Function at 0x4b3b70
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
cmp dword [eax + 0xbe4], 0
je 0x4b3b9c
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xbe4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xbe4]
mov edx, dword [edx]
mov eax, dword [edx + 0x24]
call eax
push 0x63b730
mov ecx, dword [ebp + 8]
push ecx
call sub.MSVCR80.dll_strcmp
add esp, 8
test eax, eax
jne 0x4b3bc8
mov edx, dword [ebp - 4]
add edx, 0x1ab8
mov eax, dword [ebp - 4]
mov dword [eax + 0xbe4], edx
jmp 0x4b3cee
push str.Country
mov ecx, dword [ebp + 8]
push ecx
call sub.MSVCR80.dll_strcmp
add esp, 8
test eax, eax
jne 0x4b3bf4
mov edx, dword [ebp - 4]
add edx, 0xe60
mov eax, dword [ebp - 4]
mov dword [eax + 0xbe4], edx
jmp 0x4b3cee
push str.City
mov ecx, dword [ebp + 8]
push ecx
call sub.MSVCR80.dll_strcmp
add esp, 8
test eax, eax
jne 0x4b3c20
mov edx, dword [ebp - 4]
add edx, 0xbe8
mov eax, dword [ebp - 4]
mov dword [eax + 0xbe4], edx
jmp 0x4b3cee
push str.Capital
mov ecx, dword [ebp + 8]
push ecx
call sub.MSVCR80.dll_strcmp
add esp, 8
test eax, eax
jne 0x4b3c4c
mov edx, dword [ebp - 4]
add edx, 0x10d8
mov eax, dword [ebp - 4]
mov dword [eax + 0xbe4], edx
jmp 0x4b3cee
push str.Battlefield
mov ecx, dword [ebp + 8]
push ecx
call sub.MSVCR80.dll_strcmp
add esp, 8
test eax, eax
jne 0x4b3c75
mov edx, dword [ebp - 4]
add edx, 0x1d30
mov eax, dword [ebp - 4]
mov dword [eax + 0xbe4], edx
jmp 0x4b3cee
push str.Cave
mov ecx, dword [ebp + 8]
push ecx
call sub.MSVCR80.dll_strcmp
add esp, 8
test eax, eax
jne 0x4b3c9e
mov edx, dword [ebp - 4]
add edx, 0x1840
mov eax, dword [ebp - 4]
mov dword [eax + 0xbe4], edx
jmp 0x4b3cee
push str.Others
mov ecx, dword [ebp + 8]
push ecx
call sub.MSVCR80.dll_strcmp
add esp, 8
test eax, eax
jne 0x4b3cc7
mov edx, dword [ebp - 4]
add edx, 0x15c8
mov eax, dword [ebp - 4]
mov dword [eax + 0xbe4], edx
jmp 0x4b3cee
push str.Field
mov ecx, dword [ebp + 8]
push ecx
call sub.MSVCR80.dll_strcmp
add esp, 8
test eax, eax
jne 0x4b3cee
mov edx, dword [ebp - 4]
add edx, 0x1350
mov eax, dword [ebp - 4]
mov dword [eax + 0xbe4], edx
mov esp, ebp
pop ebp
ret 4
Function at 0x4b8190
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1cc
mov eax, dword [0x68b740]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x1cc], ecx
mov eax, dword [ebp - 0x1cc]
cmp dword [eax + 8], 0
je 0x4b81d5
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.MSVCR80.dll_fclose]
add esp, 4
mov eax, dword [ebp - 0x1cc]
mov dword [eax + 8], 0
push 0xc0
push 0
lea ecx, [ebp - 0x148]
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0
lea edx, [ebp - 0x148]
push edx
push 0x3e9
mov ecx, dword [0x6de314]
call fcn.005389f0
mov al, byte [0x63abb8]
mov byte [ebp - 0x88], al
push 0x7f
push 0
lea ecx, [ebp - 0x87]
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
mov dl, byte [0x63abb8]
mov byte [ebp - 0x1c8], dl
push 0x7f
push 0
lea eax, [ebp - 0x1c7]
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x641e90
lea ecx, [ebp - 0x128]
push ecx
mov ecx, 0x68d090
call fcn.004197b0
push eax
push str._s_s__s
lea edx, [ebp - 0x1c8]
push edx
call dword [sym.imp.MSVCR80.dll_sprintf]
add esp, 0x14
lea eax, [ebp - 0x1c8]
push eax
push 0x80
lea ecx, [ebp - 0x88]
push ecx
call dword [sym.imp.engine.dll_void___cdecl_g_GetFullPath_char___unsigned_int__char_const__]
add esp, 0xc
lea edx, [ebp - 0x88]
push edx
call dword [sym.imp.MSVCR80.dll_remove]
add esp, 4
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00612c78
mov esp, ebp
pop ebp
ret

Function at 0x4be930
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c
mov eax, dword [0x68b740]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x1e0], 0
je 0x4be97e
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 0x1e0]
push edx
call dword [sym.imp.MSVCR80.dll_fclose]
add esp, 4
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0x1e0], 0
mov cl, byte [0x63abb8]
mov byte [ebp - 0x88], cl
push 0x7f
push 0
lea edx, [ebp - 0x87]
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x80
lea eax, [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x8c]
call fcn.004be7e0
lea ecx, [ebp - 0x88]
push ecx
call dword [sym.imp.MSVCR80.dll_remove]
add esp, 4
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00612c78
mov esp, ebp
pop ebp
ret