joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1004d330
Capabilities:
Check for time delay via gettickcount
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
mov esi, dword [sym.imp.OPENGL32.dll_glColor3f]
push edi
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call esi
movss xmm0, dword [0x102679f8]
addss xmm0, dword [0x100f1f14]
push 0xf
push 0x4b
cvttss2si eax, xmm0
movd xmm0, dword [0x107e7b78]
cvtdq2ps xmm0, xmm0
push eax
addss xmm0, dword [0x102679f4]
addss xmm0, dword [0x100f1d98]
cvttss2si eax, xmm0
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x1004d420
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call esi
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1004d474
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
sub eax, dword [0x10267a10]
cmp eax, 0x7d0
jb 0x1004d404
call edi
mov dword [0x10267a10], eax
lea ecx, [ebp - 8]
xor eax, eax
mov dword [ebp - 7], eax
mov dword [ebp - 8], 0xfbf308c1
mov dword [ebp - 4], eax
lea edx, [eax + 8]
call fcn.100b5210
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x3f800000
jmp 0x1004d472
mov eax, dword [0x10267a20]
cmp eax, dword [0x10267a1c]
jl 0x1004d474
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
sub eax, dword [0x10267a34]
cmp eax, 0x1f4
jbe 0x1004d474
call edi
sub eax, dword [0x10267a34]
cmp eax, 0x3e8
jbe 0x1004d458
call edi
mov dword [0x10267a34], eax
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call esi
movss xmm0, dword [0x102679f8]
mov eax, 0x637c60
cvtps2pd xmm0, xmm0
push 0
push 1
push 1
sub esp, 0x20
addsd xmm0, qword [0x100f1a30]
mov dword [esp + 0x1c], 0x3f4ccccd
mov dword [esp + 0x18], 0x3f266666
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
cvtpd2ps xmm0, xmm0
mov dword [esp + 0xc], 0x41700000
mov dword [esp + 8], 0x42960000
movss dword [esp + 4], xmm0
movd xmm0, dword [0x107e7b78]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x102679f4]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x100f1908]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7b4b
call eax
add esp, 0x20
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [sym.imp.OPENGL32.dll_glColor4f]
push 0x57
mov ecx, 0x101b3888
call fcn.10042340
movss xmm0, dword [0x102679f8]
cvtps2pd xmm0, xmm0
push eax
push 3
push 0x4b
addsd xmm0, qword [0x100f1a40]
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x102679f4]
add eax, dword [0x107e7b78]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x100f1908]
cvttsd2si eax, xmm0
push eax
push 0xffffffffffffffff
push 0x102a22b0
call fcn.1006ca30
add esp, 0x1c
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x1004e5d0
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov eax, dword [0x10267a30]
cmp eax, dword [0x10267a2c]
jl 0x1004e661
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
push edi
or edi, 0xffffffff
call esi
sub eax, dword [0x10267a38]
cmp eax, 0x1f4
jbe 0x1004e616
mov edi, 0xff00ffff
call esi
sub eax, dword [0x10267a38]
cmp eax, 0x3e8
jbe 0x1004e616
call esi
mov dword [0x10267a38], eax
push 0x58
mov ecx, 0x101b3888
call fcn.10042340
movss xmm0, dword [0x102679f8]
cvtps2pd xmm0, xmm0
push eax
push 3
push 0xbe
addsd xmm0, qword [0x100f1b50]
cvttsd2si eax, xmm0
push eax
cvttss2si eax, dword [0x102679f4]
add eax, dword [0x107e7b78]
push eax
push edi
push 0x102a22b0
call fcn.1006ca30
add esp, 0x1c
pop edi
pop esi
ret
Function at 0x1004ede0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
xor edi, edi
mov eax, 0x861110
push edi
call eax
mov edx, 0x861260
mov ecx, eax
call edx
mov edx, 0x835720
mov ecx, eax
call edx
xor ebx, ebx
mov ecx, 0x83c3c0
nop dword [eax]
push ebx
call ecx
mov esi, eax
mov eax, 0x861110
call eax
mov ecx, eax
mov eax, 0x861260
call eax
mov ecx, eax
mov eax, 0x83cbe0
call eax
cmp esi, eax
je 0x1004eeeb
push esi
mov eax, 0x861110
call eax
mov ecx, eax
mov eax, 0x861260
call eax
mov ecx, eax
mov eax, 0x835720
call eax
push 0x40
mov esi, eax
mov eax, 0x83c4b0
push ebx
call eax
push eax
mov ecx, esi
mov eax, 0x7da660
call eax
mov esi, eax
test esi, esi
je 0x1004eed9
movsx eax, word [esi]
cmp eax, dword [ebp + 8]
jne 0x1004eed9
mov ecx, dword [ebp + 0xc]
test ecx, ecx
js 0x1004ee8d
mov eax, dword [esi + 2]
xor edx, edx
sar eax, 3
and eax, 0xf
cmp ecx, eax
sete dl
jmp 0x1004ee92
mov edx, 1
cmp dword [ebp + 0x10], 0
lea eax, [edx + 1]
jl 0x1004eeaa
mov ecx, dword [esi + 2]
sar ecx, 2
and ecx, 1
cmp ecx, dword [ebp + 0x10]
cmovne eax, edx
cmp dword [ebp + 0x14], 0
lea edx, [eax + 1]
jl 0x1004eebf
mov ecx, dword [esi + 2]
sar ecx, 7
cmp ecx, dword [ebp + 0x14]
cmovne edx, eax
cmp edx, 3
jb 0x1004eed9
push dword [ebp + 8]
call fcn.10084db0
test al, al
je 0x1004eed8
movzx eax, byte [esi + 0x16]
add edi, eax
jmp 0x1004eed9
inc edi
inc ebx
mov ecx, 0x83c3c0
cmp ebx, 0xcc
jl 0x1004ee10
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
ret 0x10

Function at 0x1004f820
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
cmp dword [0x102c71dc], 2
je 0x1004f8de
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x102a2bd8]
cmp eax, 0x5dc
jb 0x1004f8de
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp byte [0x102a2bdd], 1
mov dword [0x102a2bd8], eax
jne 0x1004f873
mov byte [0x102a2bdd], 0
mov dword [0xe8cb3c], 0
mov esp, ebp
pop ebp
ret
mov ecx, 0x102a22b0
call fcn.10071ab0
call fcn.1004ef00
mov dword [ebp - 8], 0xf304c1
lea ecx, [ebp - 8]
mov edx, 4
mov dword [0x10886fc8], 0
mov byte [ebp - 5], 0xe7
call fcn.100b5210
mov dword [ebp - 7], 0
lea ecx, [ebp - 8]
mov edx, 5
mov dword [ebp - 8], 0xe6f305c1
mov dword [0x10886fc0], 0
mov byte [ebp - 4], 0
call fcn.100b5210
mov byte [0x102a2bdd], 1
mov dword [0xe8cb3c], 1
mov esp, ebp
pop ebp
ret
Function at 0x10052ce0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x102a2c98]
cmp eax, 0x5dc
jb 0x10052d74
cmp byte [0x102a2c9d], 1
jne 0x10052d1b
mov byte [0x102a2c9d], 0
mov dword [0xe8cb3c], 0
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [0x107e7d4c]
lea ecx, [ebp - 8]
mov dword [ebp - 7], 0
mov edx, 6
mov byte [ebp - 3], 0
mov dword [ebp - 8], 0xdbf306c1
mov dword [eax + 0x418], 0x42700000
mov al, byte [0x10887164]
mov byte [ebp - 4], al
mov byte [ebp - 3], 0
call fcn.100b5210
call esi
mov dword [0x10887168], eax
call esi
mov dword [0x102a2c98], eax
mov byte [0x102a2c9d], 1
mov dword [0xe8cb3c], 1
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x1005bef0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
mov eax, dword [0x100fa040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
xorps xmm0, xmm0
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x74], edi
movups xmmword [0x108871c0], xmm0
call esi
mov dword [0x108871e0], eax
mov dword [0x108871d0], 0
mov byte [0x108871e8], 0
mov dword [0x108871d8], 0
mov dword [0x108871d4], 0
mov dword [0x108871dc], 0
call esi
push 0x500
push 0xff
push 0x1088722c
mov dword [0x108871e4], eax
call fcn.100c2d20
push 0x800
push 0
push 0x1088772c
call fcn.100c2d20
mov dword [0x108871c0], 1
xor ebx, ebx
movzx eax, byte [edi + 6]
add esp, 0x18
mov dword [0x108871c4], eax
movzx eax, byte [edi + 7]
mov dword [0x108871c8], eax
cmp byte [edi + 0x28], bl
jbe 0x1005c0e9
mov edx, dword [ebp - 0x74]
add edi, 0x39
mov esi, 0x1088772c
add edx, 8
mov eax, dword [edi]
lea ecx, [eax + eax*4]
movzx eax, word [edi - 0x10]
mov word [ecx*8 + 0x1088722c], ax
mov eax, dword [edi]
lea ecx, [eax + eax*4]
mov eax, dword [edi - 0xc]
mov dword [ecx*8 + 0x10887230], eax
mov eax, dword [edi]
lea ecx, [eax + eax*4]
mov eax, dword [edi - 8]
mov dword [ecx*8 + 0x10887234], eax
mov eax, dword [edi]
lea ecx, [eax + eax*4]
mov eax, dword [edi - 4]
mov dword [ecx*8 + 0x10887238], eax
mov ecx, dword [edi]
lea eax, [ecx + ecx*4]
mov dword [eax*8 + 0x1088723c], ecx
mov eax, dword [edi]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
mov dword [ecx*8 + 0x10887240], eax
mov eax, dword [edi]
movzx ecx, byte [edx + ebx]
lea edx, [edi + 0xc]
push edx
lea eax, [eax + eax*4]
mov dword [eax*8 + 0x10887244], ecx
mov eax, dword [edi]
movq xmm0, qword [edx]
lea ecx, [eax + eax*4]
movq qword [ecx*8 + 0x10887248], xmm0
mov eax, dword [edx + 8]
mov dword [ecx*8 + 0x10887250], eax
lea eax, [ebp - 0x70]
push eax
call fcn.1004e730
mov ax, word [ebp - 0x70]
mov ecx, 0x1fff
cmp ax, cx
je 0x1005c0bd
movsx ecx, ax
movsx eax, byte [ebp - 0x59]
push eax
mov eax, dword [ebp - 0x6e]
sar eax, 3
and eax, 0xf
push eax
push ecx
call fcn.10087d20
test eax, eax
jne 0x1005c09c
movsx eax, word [ebp - 0x70]
imul ecx, eax, 0x54
add ecx, dword [0x8128ac0]
movups xmm0, xmmword [ecx]
movups xmmword [esi], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [esi + 0x10], xmm0
mov eax, dword [ecx + 0x18]
mov dword [esi + 0x18], eax
mov ax, word [ecx + 0x1c]
mov word [esi + 0x1c], ax
jmp 0x1005c0ca
movups xmm0, xmmword [eax + 2]
movups xmmword [esi], xmm0
movups xmm0, xmmword [eax + 0x12]
movups xmmword [esi + 0x10], xmm0
movups xmm0, xmmword [eax + 0x22]
movups xmmword [esi + 0x20], xmm0
movups xmm0, xmmword [eax + 0x32]
movups xmmword [esi + 0x30], xmm0
jmp 0x1005c0ca
mov dword [esi], 0x4e206f4e
mov dword [esi + 4], 0x656d61
mov ecx, dword [ebp - 0x74]
inc ebx
add edi, 0x28
add esi, 0x40
movzx eax, byte [ecx + 0x28]
lea edx, [ecx + 8]
cmp ebx, eax
jl 0x1005bfb3
movzx eax, byte [ecx + 0x27]
jmp 0x1005c0ed
movzx eax, byte [edi + 0x27]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov dword [0x1088771c], eax
pop ebx
call fcn.100c0b64
mov esp, ebp
pop ebp
ret 4
Function at 0x1005d4e0
Capabilities:
Access peb ldr_data

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e3a45
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x68
mov eax, dword [0x100fa040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [ebx + 0xc], 0xb
movups xmm0, xmmword [ebx + 0x10]
movups xmm1, xmmword [ebx + 0x20]
movq xmm2, qword [ebx + 0x30]
movups xmmword [ebp - 0x50], xmm0
movups xmmword [ebp - 0x40], xmm0
movups xmmword [ebp - 0x78], xmm1
movups xmmword [ebp - 0x30], xmm1
movq qword [ebp - 0x58], xmm2
movq qword [ebp - 0x20], xmm2
ja 0x1005d672
lea eax, [ebx + 8]
push eax
lea esi, [ecx + 0x14]
lea eax, [ebp - 0x64]
mov ecx, esi
push eax
call fcn.100124e0
mov edi, dword [ebp - 0x5c]
cmp byte [edi + 0xd], 0
jne 0x1005d606
mov eax, dword [ebx + 8]
cmp eax, dword [edi + 0x10]
jl 0x1005d606
cmp edi, dword [esi]
je 0x1005d606
mov eax, dword [edi + 0x14]
lea esi, [edi + 0x14]
mov ecx, dword [edi + 0x18]
cmp eax, ecx
je 0x1005d5a3
nop
mov esi, dword [ebx + 0xc]
lea edx, [eax + 0x28]
cmp dword [eax], esi
lea esi, [edi + 0x14]
je 0x1005d5c0
mov eax, edx
cmp eax, ecx
jne 0x1005d590
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1005d5f8
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm1
movq qword [eax + 0x20], xmm2
add dword [esi + 4], 0x28
jmp 0x1005d672
sub ecx, edx
push ecx
push edx
push eax
call fcn.100c27a0
add dword [edi + 0x18], 0xffffffd8
add esp, 0xc
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1005d5f8
movups xmm0, xmmword [ebp - 0x50]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0x78]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [ebp - 0x58]
movq qword [eax + 0x20], xmm0
add dword [esi + 4], 0x28
jmp 0x1005d672
lea ecx, [ebp - 0x40]
push ecx
push eax
mov ecx, esi
call fcn.10063e10
jmp 0x1005d672
push 0x28
call fcn.100c0b72
movups xmm0, xmmword [ebp - 0x50]
add esp, 4
movups xmmword [eax], xmm0
lea ecx, [eax + 0x28]
movups xmm0, xmmword [ebp - 0x78]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [ebp - 0x58]
movq qword [eax + 0x20], xmm0
mov dword [ebp - 4], 0
mov edx, dword [ebx + 8]
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], ecx
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x58]
mov ecx, esi
push eax
call fcn.10063d10
lea ecx, [ebp - 0x4c]
call fcn.100637d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100c0b64
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x30
Function at 0x10063050
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
cmp dword [0x102c7474], 0
push esi
mov esi, ecx
je 0x100631f9
mov edx, dword [ebp + 8]
test edx, edx
js 0x10063081
cmp edx, 0xe00
jge 0x10063089
cmp dword [0x102c747c], 0
jmp 0x10063122
cmp edx, 0xe00
jl 0x1006309d
cmp edx, 0x1800
jge 0x1006309d
cmp dword [0x102c7478], 0
jmp 0x10063122
cmp edx, 0x1831
jl 0x100630b1
cmp edx, 0x1832
jle 0x100631f9
cmp edx, 0x1828
je 0x100631f9
cmp edx, 0x1882
je 0x100631f9
cmp edx, 0x1887
je 0x100631f9
cmp edx, 0x1a1e
je 0x100631f9
xor ecx, ecx
mov eax, 0x1010b5e4
cmp ecx, 0x63
ja 0x10063100
cmp dword [eax], ecx
jne 0x10063100
cmp dword [eax + 4], edx
jne 0x10063100
cmp dword [eax + 8], 1
je 0x100631f9
add eax, 0x4c
inc ecx
cmp eax, 0x1010d394
jl 0x100630e8
push edx
mov eax, 0x7e7870
call eax
test al, al
je 0x100631f9
cmp dword [0x102c7480], 0
je 0x100631f9
push edi
mov edi, dword [ebp + 0xc]
test edi, edi
js 0x100631f8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x102a8cf8]
cmp eax, 0x3e8
jb 0x100631f8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x102a8cf8], eax
mov ecx, 0x102a222c
lea eax, [ebp + 8]
mov byte [0x102a8cfd], 1
push eax
lea eax, [ebp - 0xc]
mov dword [0xe8cb3c], 1
push eax
mov dword [esi + 0x24], edi
mov dword [ebp + 8], edi
call fcn.100124e0
mov eax, dword [ebp - 4]
mov ecx, dword [0x102a222c]
cmp byte [eax + 0xd], 0
jne 0x10063193
cmp edi, dword [eax + 0x10]
jge 0x10063195
mov eax, ecx
cmp eax, ecx
jne 0x100631a8
pop edi
mov dword [esi + 0x4c], 0xffffffff
pop esi
mov esp, ebp
pop ebp
ret 8
movups xmm0, xmmword [eax + 0x14]
movups xmmword [esi + 0x4c], xmm0
movups xmm0, xmmword [eax + 0x24]
movups xmmword [esi + 0x5c], xmm0
movq xmm0, qword [eax + 0x34]
movq qword [esi + 0x6c], xmm0
mov eax, dword [esi + 0x50]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x54]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x58]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x64]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x48], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
Function at 0x100643c0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
push 0x10064110
push 0x95e121
push 0xe9
call fcn.100bed50
push 0x10064190
push 0x95e1c4
push 0xe9
call fcn.100bed50
push 0x10064250
push 0x95f9b0
push 0xe9
call fcn.100bed50
push 0x892a88
push 0x892a5f
push 0xe9
call fcn.100bed50
push 0x892b04
push 0x892adb
push 0xe9
call fcn.100bed50
push 0x58811f
push 0x5880f0
push 0xe9
call fcn.100bed50
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 4]
add esp, 0x48
push eax
push 0x40
push 4
push 0x588447
call esi
lea eax, [ebp - 4]
mov dword [0x588447], 0xfff
push eax
push dword [ebp - 4]
push 4
push 0x588447
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x5c914e
call esi
lea eax, [ebp - 4]
mov byte [0x5c914e], 0
push eax
push dword [ebp - 4]
push 1
push 0x5c914e
call esi
push 0x644537
push 0x64452a
push 0xe9
call fcn.100bed50
add esp, 0xc
lea eax, [ebp - 4]
push eax
push 0x40
push 4
push 0x6505fb
call esi
mov eax, 0x6505fb
mov dword [eax], 0x90909090
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 4
push 0x6505fb
call esi
push 0x782ca0
push 0x782c1f
push 0xe9
call fcn.100bed50
push 0x5db408
push 0x5db322
push 0xe9
call fcn.100bed50
add esp, 0x18
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x597694
call esi
lea eax, [ebp - 4]
mov byte [0x597694], 0xdd
push eax
push dword [ebp - 4]
push 1
push 0x597694
call esi
push 0x10064010
push 0x62f69a
push 0xe9
call fcn.100bed50
add esp, 0xc
lea eax, [ebp - 4]
push eax
push 0x40
push 8
push 0xd2c8a0
call esi
movsd xmm0, qword [0x100f1c88]
lea eax, [ebp - 4]
push eax
movsd qword [0xd2c8a0], xmm0
push dword [ebp - 4]
push 8
push 0xd2c8a0
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 0x55
push 0x8553d0
call esi
push 0x55
push 0x90
push 0x8553d0
call fcn.100c2d20
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x55
push 0x8553d0
call esi
push 0x10064030
push 0x64bdcb
push 0xe8
call fcn.100bed50
push 0x10064060
push 0x40fac5
push 0xe8
call fcn.100bed50
add esp, 0x18
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x840989
call esi
lea eax, [ebp - 4]
mov byte [0x840989], 0x13
push eax
push dword [ebp - 4]
push 1
push 0x840989
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x842a12
call esi
lea eax, [ebp - 4]
mov byte [0x842a12], 0x12
push eax
push dword [ebp - 4]
push 1
push 0x842a12
call esi
push 0x10064290
push 0x819e66
push 0xe9
mov dword [0x1069940c], 0
mov dword [0x10699410], 0
mov dword [0x10699414], 0
call fcn.100bed50
push 0x10064300
push 0x81a9c6
push 0xe8
call fcn.100bed50
push 0x10064320
push 0x81aa1d
push 0xe8
call fcn.100bed50
push 0x10064340
push 0x81aa77
push 0xe8
call fcn.100bed50
push 0x10064360
push 0x8133c4
push 0xe8
call fcn.100bed50
push 0x10064390
push 0x508e7d
push 0xe8
call fcn.100bed50
add esp, 0x48
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x10064a50
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
cmp dword [0x102c7348], 0
je 0x10064bec
push esi
push edi
push 0xd
mov edi, 0x861110
call edi
mov esi, 0x85ec20
mov ecx, eax
call esi
test al, al
jne 0x10064bea
push 0x39
call edi
mov ecx, eax
call esi
test al, al
jne 0x10064bea
push 0xc
call edi
mov ecx, eax
call esi
test al, al
jne 0x10064bea
push 0x15
call edi
mov ecx, eax
call esi
test al, al
jne 0x10064bea
push 0x21
call edi
mov ecx, eax
call esi
test al, al
jne 0x10064bea
push 1
call edi
mov ecx, eax
call esi
test al, al
jne 0x10064bea
push 0x49
call edi
mov ecx, eax
call esi
test al, al
jne 0x10064bea
push 0x4f
call edi
mov ecx, eax
call esi
test al, al
jne 0x10064bea
push 0xe
call edi
mov ecx, eax
call esi
test al, al
jne 0x10064bea
push 8
call edi
mov ecx, eax
call esi
test al, al
jne 0x10064bea
push 7
call edi
mov ecx, eax
call esi
test al, al
jne 0x10064bea
push 0x41
call edi
mov ecx, eax
call esi
test al, al
jne 0x10064bea
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x102a2e18]
cmp eax, 0x5dc
jb 0x10064bea
call esi
cmp byte [0x102a2e1d], 1
mov dword [0x102a2e18], eax
jne 0x10064b6f
pop edi
mov byte [0x102a2e1d], 0
mov dword [0xe8cb3c], 0
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x102a22b0
call fcn.10071ab0
xorps xmm0, xmm0
mov dword [0x10887f4c], 0
movups xmmword [0x10887f3c], xmm0
mov eax, 0x32
mov ecx, 0xffff
nop word [eax + eax]
mov word [0x10887f9c], cx
mov word [0x1088925c], cx
sub eax, 1
jne 0x10064ba0
mov dword [ebp - 7], eax
lea edx, [eax + 5]
mov byte [0x102a2e1d], 1
lea ecx, [ebp - 8]
mov dword [0xe8cb3c], 1
mov dword [ebp - 8], 0xe8f305c1
mov byte [ebp - 4], 3
call fcn.100b5210
push 0xd
call edi
mov edx, 0x85ec50
mov ecx, eax
call edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x10066c30
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp byte [0x102a2e1d], 0
je 0x10066dfd
movss xmm1, dword [0xe7c3d4]
xor eax, eax
movss xmm0, dword [0x100f1590]
xorps xmm4, xmm4
comiss xmm0, xmm1
setae al
movd xmm5, eax
cvtdq2ps xmm5, xmm5
ucomiss xmm5, xmm4
lahf
test ah, 0x44
jnp 0x10066c71
movaps xmm0, xmm1
jmp 0x10066c79
movss xmm0, dword [0xe7c3d8]
mov eax, dword [0x107e7b70]
mulss xmm0, dword [0x100f2054]
add eax, 0x140
ucomiss xmm5, xmm4
movd xmm3, eax
cvtdq2ps xmm3, xmm3
lahf
mulss xmm3, xmm1
subss xmm3, xmm0
test ah, 0x44
jnp 0x10066ca8
movaps xmm2, xmm1
jmp 0x10066cb0
movss xmm2, dword [0xe7c3d8]
mulss xmm2, dword [0x100f1eb4]
ucomiss xmm5, xmm4
addss xmm2, xmm3
lahf
test ah, 0x44
jnp 0x10066cca
movaps xmm0, xmm1
jmp 0x10066cd2
movss xmm0, dword [0xe7c3d8]
ucomiss xmm5, xmm4
mulss xmm0, xmm4
lahf
addss xmm0, xmm2
divss xmm0, xmm1
test ah, 0x44
jnp 0x10066cec
movaps xmm3, xmm1
jmp 0x10066cf4
movss xmm3, dword [0xe7c3d8]
movss xmm6, dword [0x100f1f04]
mulss xmm3, xmm6
ucomiss xmm5, xmm4
addss xmm3, xmm2
lahf
divss xmm3, xmm1
movss dword [ebp - 4], xmm3
test ah, 0x44
jnp 0x10066d1b
movaps xmm2, xmm1
jmp 0x10066d23
movss xmm2, dword [0xe7c3d8]
mulss xmm2, xmm6
push ebx
push esi
push edi
divss xmm2, xmm1
push 0xd2
cvttss2si eax, xmm0
cvttss2si ebx, xmm2
push ebx
push 0x50
push eax
mov eax, 0x790b10
call eax
mov edi, dword [ebp + 8]
add esp, 0x10
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp al, 1
jne 0x10066d9a
cmp word [edi + 0x16], 0
jle 0x10066d76
call esi
sub eax, dword [0x10887f54]
cmp eax, 0x32
jbe 0x10066d9a
mov eax, dword [0x10887f48]
test eax, eax
jle 0x10066d9a
dec eax
jmp 0x10066d8e
call esi
sub eax, dword [0x10887f54]
cmp eax, 0x32
jbe 0x10066d9a
mov eax, dword [0x10887f48]
cmp eax, 0xc
jge 0x10066d9a
inc eax
mov dword [0x10887f48], eax
call esi
mov dword [0x10887f54], eax
cvttss2si eax, dword [ebp - 4]
push 0xd2
push ebx
push 0x50
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x10066dfa
cmp word [edi + 0x16], 0
jle 0x10066dd6
call esi
sub eax, dword [0x10887f54]
cmp eax, 0x32
jbe 0x10066dfa
mov eax, dword [0x10887f4c]
test eax, eax
jle 0x10066dfa
dec eax
jmp 0x10066dee
call esi
sub eax, dword [0x10887f54]
cmp eax, 0x32
jbe 0x10066dfa
mov eax, dword [0x10887f4c]
cmp eax, 0xc
jge 0x10066dfa
inc eax
mov dword [0x10887f4c], eax
call esi
mov dword [0x10887f54], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4