joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1001fd70
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
mov eax, dword [0x1013e00c]
xor eax, esp
mov dword [esp + 0x10], eax
cmp dword [0x101eb0a8], 2
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
jne 0x1001fdb6
push 0x10
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x1001fdb6
call fcn.10079140
cmp al, 1
je 0x1001fff0
mov esi, dword [0x81f6b6c]
mov eax, 0x5c6e80
call eax
xor ecx, ecx
cmp ecx, esi
mov esi, dword [ebp + 0xc]
sbb ecx, ecx
and ecx, 0xffffffb0
add ecx, 0xffffffc1
lea ebx, [eax + ecx]
cmp esi, 0x32
jne 0x1001fe57
mov eax, dword [0x7bc4f04]
mov esi, 0x1c
cmp dword [eax + 0x2a4], 0
je 0x1001fe57
push ecx
mov dword [esp], 0
mov eax, 0x637c60
push 1
movd xmm0, ebx
push 1
sub esp, 0x20
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1c], 0x3ddd2f1c
mov dword [esp + 0x18], 0x3d9df3ba
mov dword [esp + 0x14], 0
subss xmm0, dword [0x10135b0c]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41b00000
mov dword [esp + 8], 0x41800000
mov dword [esp + 4], 0x41d80000
movss dword [esp], xmm0
push 0x7a4e
call eax
add esp, 0x30
push 1
mov eax, 0x635fd0
call eax
add esp, 4
mov eax, 0x41fe10
push 0xff
push 0xff
push 0xff
push 0xff
call eax
mov edx, 0x420040
mov ecx, eax
call edx
push 0xc8
push 0
push 0
push 0
mov eax, 0x41fe10
call eax
mov edx, 0x4200b0
mov ecx, eax
call edx
push 0
push 3
push 0
push 0x32
push edi
lea eax, [esi + 5]
push eax
push ebx
mov eax, 0x41fe10
call eax
mov edx, 0x420150
mov ecx, eax
call edx
movd xmm1, dword [ebp + 0x14]
add esi, 0x10
cmp dword [0x102b79e0], 0
movd xmm0, dword [ebp + 0x18]
cvtdq2pd xmm1, xmm1
mov dword [esp + 0x10], 0x280
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
mulsd xmm1, qword [0x10135650]
cvtpd2ps xmm0, xmm1
movss dword [esp + 0x14], xmm0
je 0x1001ff17
movd xmm0, dword [0xe61e58]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0xe7c3d8]
cvttss2si eax, xmm0
mov dword [esp + 0x10], eax
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [esp + 0x18]
push eax
push 0x40
push 8
push 0xd23ab8
call edi
movd xmm0, dword [esp + 0x10]
lea eax, [esp + 0x18]
cvtdq2pd xmm0, xmm0
push eax
movsd qword [0xd23ab8], xmm0
push dword [esp + 0x1c]
push 8
push 0xd23ab8
call edi
movss xmm0, dword [esp + 0x14]
mov eax, 0x5b9260
push 1
push 0
sub esp, 0x14
movss dword [esp + 0x10], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0xc], 0x40800000
mov dword [esp + 8], 0x42480000
movss dword [esp + 4], xmm0
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call eax
add esp, 0x1c
lea eax, [esp + 0x18]
push eax
push 0x40
push 8
push 0xd23ab8
call edi
movsd xmm0, qword [0x10135a60]
lea eax, [esp + 0x18]
push eax
movsd qword [0xd23ab8], xmm0
push dword [esp + 0x1c]
push 8
push 0xd23ab8
call edi
mov eax, 0x635f50
call eax
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [sym.imp.OPENGL32.dll_glColor3f]
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100d7712
mov esp, ebp
pop ebp
ret
Function at 0x1002b8a0
Capabilities:
Check for time delay via gettickcount

Disassembly:
cmp byte [0x1018b7bd], 1
je 0x1002b8cf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x1018b7b8]
cmp eax, 0x5dc
jb 0x1002b8cf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x1018b7b8], eax
mov byte [0x1018b7bd], 1
ret
mov byte [0x1018b7bd], 0
ret

Function at 0x1002cc10
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

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
sub esp, 0x10
mov eax, dword [0x1013e00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x1013f820]
push esi
mov esi, dword [0x1013f824]
push edi
movsd xmm0, qword [eax]
lea eax, [ebp - 8]
subsd xmm0, qword [0x101357c8]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
push eax
push 0x40
push 8
andps xmm0, xmmword [0x10136580]
mulsd xmm0, qword [0x10135448]
push esi
addsd xmm0, qword [0x10135a98]
movsd qword [ebp - 0x10], xmm0
call edi
movsd xmm0, qword [ebp - 0x10]
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
movsd qword [esi], xmm0
push 8
push esi
call edi
mov eax, dword [0x1013f820]
mov esi, dword [0x1013f828]
movsd xmm0, qword [eax]
lea eax, [ebp - 8]
subsd xmm0, qword [0x101357c8]
push eax
push 0x40
push 8
push esi
andps xmm0, xmmword [0x10136580]
mulsd xmm0, qword [0x10135448]
addsd xmm0, qword [0x10135a98]
movsd qword [ebp - 0x10], xmm0
call edi
movsd xmm0, qword [ebp - 0x10]
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
movsd qword [esi], xmm0
push 8
push esi
call edi
mov eax, dword [0x1013f820]
mov esi, dword [0x1013f82c]
movsd xmm0, qword [eax]
lea eax, [ebp - 8]
subsd xmm0, qword [0x101357c8]
push eax
push 0x40
push 4
push esi
andps xmm0, xmmword [0x10136580]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x101355c8]
addss xmm0, dword [0x101360e0]
movss dword [ebp - 0xc], xmm0
call edi
movss xmm0, dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
movss dword [esi], xmm0
push 4
push esi
call edi
mov eax, dword [0x1013f820]
mov esi, dword [0x1013f830]
movsd xmm0, qword [eax]
lea eax, [ebp - 8]
subsd xmm0, qword [0x101357c8]
push eax
andps xmm0, xmmword [0x10136580]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x101355c8]
addss xmm0, dword [0x101360e0]
movss dword [ebp - 0xc], xmm0
push 0x40
push 4
push esi
call edi
movss xmm0, dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
movss dword [esi], xmm0
push 4
push esi
call edi
mov eax, dword [0x1013f820]
mov esi, dword [0x1013f834]
movsd xmm0, qword [eax]
lea eax, [ebp - 8]
subsd xmm0, qword [0x101357c8]
push eax
push 0x40
push 4
push esi
andps xmm0, xmmword [0x10136580]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x101355c8]
addss xmm0, dword [0x101360d4]
movss dword [ebp - 0xc], xmm0
call edi
movss xmm0, dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
movss dword [esi], xmm0
push 4
push esi
call edi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.100d7712
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
Function at 0x1002ce00
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x1013e00c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
push esi
push edi
cmp dword [ebx + 0x58], 0
je 0x1002cfc3
movss xmm0, dword [ebx + 0x5c]
lea eax, [ebp - 8]
mov esi, dword [ebx + 0xc]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
push eax
push 0x40
push 4
push esi
movss dword [ebp - 0xc], xmm0
call edi
movss xmm0, dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
movss dword [esi], xmm0
push 4
push esi
call edi
movss xmm0, dword [ebx + 0x60]
lea eax, [ebp - 8]
mov esi, dword [ebx + 0x10]
push eax
push 0x40
push 4
push esi
movss dword [ebp - 0xc], xmm0
call edi
movss xmm0, dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
movss dword [esi], xmm0
push 4
push esi
call edi
movss xmm0, dword [ebx + 0x64]
lea eax, [ebp - 8]
mov esi, dword [ebx + 0x14]
push eax
push 0x40
push 4
push esi
movss dword [ebp - 0xc], xmm0
call edi
movss xmm0, dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
movss dword [esi], xmm0
push 4
push esi
call edi
movsd xmm0, qword [ebx + 0x68]
lea eax, [ebp - 8]
mov esi, dword [ebx + 0x18]
push eax
push 0x40
push 8
push esi
movsd qword [ebp - 0x10], xmm0
call edi
movsd xmm0, qword [ebp - 0x10]
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
movsd qword [esi], xmm0
push 8
push esi
call edi
movsd xmm0, qword [ebx + 0x70]
lea eax, [ebp - 8]
mov esi, dword [ebx + 0x1c]
push eax
push 0x40
push 8
push esi
movsd qword [ebp - 0x10], xmm0
call edi
movsd xmm0, qword [ebp - 0x10]
lea eax, [ebp - 8]
movsd qword [esi], xmm0
push eax
push dword [ebp - 8]
push 8
push esi
call edi
movsd xmm0, qword [ebx + 0x78]
lea eax, [ebp - 8]
mov esi, dword [ebx + 0x20]
push eax
push 0x40
push 8
push esi
movsd qword [ebp - 0x10], xmm0
call edi
movsd xmm0, qword [ebp - 0x10]
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
movsd qword [esi], xmm0
push 8
push esi
call edi
movss xmm0, dword [ebx + 0x80]
lea eax, [ebp - 8]
mov esi, dword [ebx + 0x24]
push eax
push 0x40
push 4
push esi
movss dword [ebp - 0xc], xmm0
call edi
movss xmm0, dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
movss dword [esi], xmm0
push 4
push esi
call edi
movss xmm0, dword [ebx + 0x84]
lea eax, [ebp - 8]
mov esi, dword [ebx + 0x28]
push eax
push 0x40
push 4
push esi
movss dword [ebp - 0xc], xmm0
call edi
movss xmm0, dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
movss dword [esi], xmm0
push 4
push esi
call edi
movss xmm0, dword [ebx + 0x88]
lea eax, [ebp - 8]
mov esi, dword [ebx + 0x2c]
push eax
push 0x40
push 4
push esi
movss dword [ebp - 0xc], xmm0
call edi
movss xmm0, dword [ebp - 0xc]
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
movss dword [esi], xmm0
push 4
push esi
call edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100d7712
mov esp, ebp
pop ebp
ret
Function at 0x1002e600
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x1013e00c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 1
push 0x5de2b2
mov bl, 1
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x1002e657
mov eax, 0x5de2b2
mov byte [eax], bl
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 1
push 0x5de2b2
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1002e65d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.100d7712
mov esp, ebp
pop ebp
ret

Function at 0x1002e670
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x1013e00c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 1
push 0x5de2b2
xor bl, bl
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x1002e6c7
mov eax, 0x5de2b2
mov byte [eax], bl
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 1
push 0x5de2b2
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1002e6cd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.100d7712
mov esp, ebp
pop ebp
ret

Function at 0x1002e8f0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x1013e00c]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0xa
call fcn.100d7d9e
mov esi, eax
mov dword [ebp - 8], 0
mov eax, 0x90909090
add esp, 4
mov dword [esi], eax
mov dword [esi + 4], eax
mov word [esi + 8], ax
lea eax, [ebp - 8]
push eax
push 0x40
push 0xa
push 0x60b36a
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x1002e96b
mov eax, dword [esi]
mov ecx, 0x60b36a
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov ax, word [esi + 8]
mov word [ecx + 8], ax
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 0xa
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1002e971
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x1002e850
push 0x60b36a
push 0xe9
call fcn.100c88d0
mov ecx, dword [ebp - 4]
add esp, 0xc
xor ecx, ebp
pop esi
call fcn.100d7712
mov esp, ebp
pop ebp
ret
Function at 0x1002e9a0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x1013e00c]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x576ddb
call esi
mov eax, 0x576ddb
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x576ddb
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x5883f4
call esi
mov eax, 0x5883f4
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x5883f4
call esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.100d7712
mov esp, ebp
pop ebp
ret

Function at 0x1002ea60
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x1013e00c]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x588661
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, 0x588661
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x588661
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100d7712
mov esp, ebp
pop ebp
ret

Function at 0x1002eb80
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x1013e00c]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x54a270
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 8]
mov byte [0x54a270], 0xc3
push eax
push dword [ebp - 8]
push 1
push 0x54a270
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100d7712
mov esp, ebp
pop ebp
ret

Function at 0x1002ebd0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x1013e00c]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x54a270
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 8]
mov byte [0x54a270], 0x55
push eax
push dword [ebp - 8]
push 1
push 0x54a270
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100d7712
mov esp, ebp
pop ebp
ret

Function at 0x1002ec20
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x1013e00c]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x59af55
call esi
lea eax, [ebp - 8]
mov byte [0x59af55], 0
push eax
push dword [ebp - 8]
push 1
push 0x59af55
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x59b24a
call esi
lea eax, [ebp - 8]
mov byte [0x59b24a], 0
push eax
push dword [ebp - 8]
push 1
push 0x59b24a
call esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.100d7712
mov esp, ebp
pop ebp
ret
Function at 0x1002eca0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x1013e00c]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x59af55
call esi
lea eax, [ebp - 8]
mov byte [0x59af55], 1
push eax
push dword [ebp - 8]
push 1
push 0x59af55
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x59b24a
call esi
lea eax, [ebp - 8]
mov byte [0x59b24a], 1
push eax
push dword [ebp - 8]
push 1
push 0x59b24a
call esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.100d7712
mov esp, ebp
pop ebp
ret
Function at 0x10030500
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebx
push esi
push edi
push ecx
mov dword [esp], 0
lea edi, [edx - 0xf]
push 1
mov esi, ecx
movd xmm1, edi
push 1
sub esp, 0x20
mov ebx, 0x637c60
cvtdq2ps xmm1, xmm1
lea eax, [esi - 8]
mov dword [esp + 0x1c], 0x3e2bedf6
mov dword [esp + 0x18], 0x3f400000
mov dword [esp + 0x14], 0
movd xmm0, eax
mov dword [esp + 0x10], 0
cvtdq2ps xmm0, xmm0
mov dword [esp + 0xc], 0x41700000
mov dword [esp + 8], 0x42ac0000
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push 0xf069
call ebx
add esp, 0x30
add esi, 0x42
cmp dword [0x102b7844], 0
mov eax, 0x790b10
push 0xb
push 0xb
push edi
push esi
jne 0x10030689
call eax
add esp, 0x10
test al, al
je 0x10030655
push 1
mov eax, 0x791070
call eax
add esp, 4
test eax, eax
je 0x10030655
cmp byte [0x8793386], 0
je 0x10030655
mov eax, 0x83c080
call eax
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1c], 0x3dc84620
mov dword [esp + 0x18], 0x3ddf6fce
mov dword [esp + 0x14], 0x3ed38c54
mov dword [esp + 0x10], 0x3f19999a
mov dword [esp + 0xc], 0x41300000
mov dword [esp + 8], 0x41300000
movss dword [esp + 4], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0xf069
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
add esp, 0x30
call esi
mov ecx, dword [0x102b7848]
add ecx, 0xc8
cmp eax, ecx
jb 0x100307af
mov dword [0x102b7844], 1
call esi
pop edi
pop esi
mov dword [0x102b7848], eax
pop ebx
ret
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3dc84620
mov dword [esp + 0x18], 0x3ddf6fce
mov dword [esp + 0x14], 0x3ed38c54
mov dword [esp + 0x10], 0x3ef74bc6
jmp 0x1003077c
call eax
add esp, 0x10
test al, al
je 0x1003074d
push 1
mov eax, 0x791070
call eax
add esp, 4
test eax, eax
je 0x1003074d
cmp byte [0x8793386], 0
je 0x1003074d
mov eax, 0x83c080
call eax
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1c], 0x3dc84620
mov dword [esp + 0x18], 0x3ddf6fce
mov dword [esp + 0x14], 0x3ed38c54
mov dword [esp + 0x10], 0x3e041892
mov dword [esp + 0xc], 0x41300000
mov dword [esp + 8], 0x41300000
movss dword [esp + 4], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0xf069
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
add esp, 0x30
call esi
mov ecx, dword [0x102b7848]
add ecx, 0xc8
cmp eax, ecx
jb 0x100307af
mov dword [0x102b7844], 0
call esi
pop edi
pop esi
mov dword [0x102b7848], eax
pop ebx
ret
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3dc84620
mov dword [esp + 0x18], 0x3ddf6fce
mov dword [esp + 0x14], 0x3ed38c54
mov dword [esp + 0x10], 0x3c54fdf3
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0xc], 0x41300000
mov dword [esp + 8], 0x41300000
movss dword [esp + 4], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0xf069
call ebx
add esp, 0x30
pop edi
pop esi
pop ebx
ret
Function at 0x1003aff0
Capabilities:
Terminate thread

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x4034]
test eax, eax
je 0x1003b01c
push 0
push eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push dword [esi + 0x4034]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x4034], 0
mov eax, dword [esi + 4]
cmp eax, 0xffffffff
je 0x1003b032
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [esi + 4], 0xffffffff
mov eax, dword [esi + 8]
test eax, eax
je 0x1003b047
push eax
call dword [sym.imp.WS2_32.dll_WSACloseEvent]
mov dword [esi + 8], 0
mov byte [esi + 0x4038], 0
pop esi
ret

Function at 0x1003b050
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2008
call fcn.101252e0
mov eax, dword [0x1013e00c]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
mov edi, dword [ebp + 8]
push 0x10143b3c
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x1013fb24], 0xffffffff
je 0x1003b17e
cmp byte [0x10143b58], 0
je 0x1003b17e
push esi
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x2004]
push esi
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [0x10143b30]
add esp, 0xc
test ecx, ecx
jle 0x1003b0c7
lea eax, [ecx + esi]
cmp eax, 0x2000
jg 0x1003b155
push esi
lea eax, [ebp - 0x2004]
push eax
jmp 0x1003b121
xor edi, edi
test esi, esi
jle 0x1003b136
nop dword [eax]
push 0
lea eax, [ebp - 0x2004]
add eax, edi
push esi
push eax
push dword [0x1013fb24]
mov dword [ebp - 0x2008], eax
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x1003b0fd
sub esi, eax
add edi, eax
test esi, esi
jg 0x1003b0d0
jmp 0x1003b136
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x1003b155
mov ecx, dword [0x10143b30]
lea eax, [ecx + esi]
cmp eax, 0x2000
jg 0x1003b155
push esi
push dword [ebp - 0x2008]
lea eax, [ecx + 0x10141b30]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [0x10143b30], esi
push 0x10143b3c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop esi
mov al, 1
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100d7712
mov esp, ebp
pop ebp
ret 8
mov ecx, 0x1013fb20
call fcn.1003aff0
push 0x10143b3c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop esi
xor al, al
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100d7712
mov esp, ebp
pop ebp
ret 8
push 0x10143b3c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 4]
xor al, al
xor ecx, ebp
pop edi
call fcn.100d7712
mov esp, ebp
pop ebp
ret 8
Function at 0x100411f0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
movd xmm1, dword [0x102c0918]
mov edx, ecx
movss xmm0, dword [0x10189628]
mov eax, dword [0x102c0920]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x10041275
comiss xmm1, dword [0x10189630]
ja 0x10041275
movss xmm0, dword [0x1018962c]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm0, xmm2
ja 0x10041275
comiss xmm2, dword [0x10189634]
ja 0x10041275
cmp edx, 0x201
jne 0x1004124b
mov byte [0x1018963c], 1
pop ebp
ret 4
mov eax, dword [ebp + 8]
sub eax, dword [0x10189638]
mov byte [0x1018963c], 0
cmp eax, 0x1f4
jb 0x100413e3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x10189638], eax
pop ebp
ret 4
movss xmm0, dword [0x10189668]
comiss xmm0, xmm1
ja 0x100412e5
comiss xmm1, dword [0x10189670]
ja 0x100412e5
movss xmm0, dword [0x1018966c]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm0, xmm2
ja 0x100412e5
comiss xmm2, dword [0x10189674]
ja 0x100412e5
cmp edx, 0x201
jne 0x100412bb
mov byte [0x1018967c], 1
pop ebp
ret 4
mov eax, dword [ebp + 8]
sub eax, dword [0x10189678]
mov byte [0x1018967c], 0
cmp eax, 0x1f4
jb 0x100413e3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x10189678], eax
pop ebp
ret 4
movss xmm0, dword [0x101896a8]
comiss xmm0, xmm1
ja 0x10041355
comiss xmm1, dword [0x101896b0]
ja 0x10041355
movss xmm0, dword [0x101896ac]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x10041355
comiss xmm1, dword [0x101896b4]
ja 0x10041355
cmp edx, 0x201
jne 0x1004132b
mov byte [0x101896bc], 1
pop ebp
ret 4
mov eax, dword [ebp + 8]
sub eax, dword [0x101896b8]
mov byte [0x101896bc], 0
cmp eax, 0x1f4
jb 0x100413e3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x101896b8], eax
pop ebp
ret 4
push 0x43
mov ecx, 0x10188580
call fcn.10077260
test al, al
je 0x1004139e
cmp edx, 0x201
jne 0x10041378
mov byte [0x101896fc], 1
pop ebp
ret 4
mov eax, dword [ebp + 8]
sub eax, dword [0x101896f8]
mov byte [0x101896fc], 0
cmp eax, 0x1f4
jb 0x100413e3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x101896f8], eax
pop ebp
ret 4
push 0x44
mov ecx, 0x10188580
call fcn.10077260
test al, al
je 0x100413e3
cmp edx, 0x201
jne 0x100413c1
mov byte [0x1018973c], 1
pop ebp
ret 4
mov eax, dword [ebp + 8]
sub eax, dword [0x10189738]
mov byte [0x1018973c], 0
cmp eax, 0x1f4
jb 0x100413e3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x10189738], eax
pop ebp
ret 4
Function at 0x10041f60
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x10188db8]
cmp eax, 0x5dc
jb 0x10041fff
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp byte [0x10188dbd], 1
mov dword [0x10188db8], eax
jne 0x10041f9a
mov byte [0x10188dbd], 0
mov esp, ebp
pop ebp
ret
mov eax, 0x102f9344
nop
mov dword [eax], 0xffffffff
add eax, 8
cmp eax, 0x102f9494
jl 0x10041fa0
mov edx, 4
mov dword [0x102f8c04], 0
lea ecx, [ebp - 4]
mov dword [0x102f8bfc], 0
mov dword [ebp - 4], 0xe8f304c1
call fcn.100c3740
cmp dword [0x101eb0a0], 2
jne 0x10041fee
mov eax, dword [0x1051c5f0]
mov byte [eax + 0x29], 1
mov esp, ebp
pop ebp
ret
mov byte [0x10188dbd], 1
mov dword [0x101791d0], 1
mov esp, ebp
pop ebp
ret