joyce8/EMBER2024-capa huggingface dataset:
Function at 0x514cb0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov eax, dword [0x5b0514]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0x24], ecx
mov edx, dword [ebp + 0x14]
mov dword [eax + 0x28], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x6d0], ecx
mov edx, dword [ebp - 0x28]
mov dword [edx + 0x6d4], 0
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0x2c], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x6d8], eax
cmp dword [ebp + 8], 0
jne 0x514d3e
call fcn.005148d0
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x30]
mov edx, dword [eax + 0xc]
call edx
cmp dword [ebp + 0x1c], 0
je 0x514d3e
call fcn.005148d0
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x34]
mov eax, dword [edx + 0x14]
call eax
cmp dword [ebp - 0x28], 0
je 0x514d4f
mov ecx, dword [ebp - 0x28]
add ecx, 0x10
mov dword [ebp - 0x38], ecx
jmp 0x514d56
mov dword [ebp - 0x38], 0
call fcn.005148d0
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [edx]
call eax
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 0x6d0], 0
jne 0x514d87
mov ecx, dword [ebp + 0x18]
call fcn.004aaff0
mov dword [ebp - 0x40], eax
jmp 0x514daa
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x6d0]
mov ecx, dword [ebp - 0x28]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x6d0]
mov eax, dword [edx + 0x1c]
call eax
mov ecx, eax
call fcn.004aaff0
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x24]
call fcn.004a03e0
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x10], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 8], edx
push 0
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
mov edx, dword [ebp - 0x10]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xc]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 8]
mov dword [eax + 0xc], edx
push 0x88
push SysReAllocString
push 0
mov eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x28]
call fcn.004c8450
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
je 0x514e25
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.USER32.dll_GetParent]
mov dword [ebp - 0x2c], eax
jmp 0x514e08
push 5
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 1
push 0x86
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00497cb0
mov esp, ebp
pop ebp
ret 0x1c

Function at 0x51dad0
Capabilities:
Compute adler32 checksum

Disassembly:
push ebp
mov ebp, esp
pop ebp
jmp fcn.0051dae0
Function at 0x53c747
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.0053c5c6

Function at 0x53ef60
Capabilities:
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.0053ec20

Function at 0x547ad3
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.DLL_CreateThread]
pop ebp
ret
Function at 0x401000
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push esi
mov esi, dword [esp + 0xc]
test esi, esi
je 0x401090
push ebp
mov ebp, dword [esp + 0x14]
push edi
mov edi, dword [esp + 0x10]
push ebx
cmp byte [esi], 0
je 0x40108d
push 0x5c
push esi
call dword [sym.imp.MSVCRT.dll_strchr]
mov esi, eax
test esi, esi
pop ecx
pop ecx
je 0x40108d
push edi
mov byte [esi], 0
call dword [sym.imp.kernel32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x401066
push 0
push edi
call dword [sym.imp.kernel32.dll_CreateDirectoryA]
test eax, eax
jne 0x40105f
test ebp, ebp
je 0x40105f
push edi
push str.CreateDirectory___s_
push 5
call ebp
add esp, 0xc
jmp 0x401066
push edi
push 1
call ebp
pop ecx
pop ecx
test bl, 0x10
jne 0x401087
push 0xb7
call dword [sym.imp.kernel32.dll_SetLastError]
test ebp, ebp
je 0x401087
push edi
push str.CreateDirectory___s_
push 5
call ebp
add esp, 0xc
mov byte [esi], 0x5c
inc esi
jne 0x401018
pop ebx
pop edi
pop ebp
xor eax, eax
inc eax
pop esi
ret

Function at 0x402bf1
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
pushal
call 0x402c00
pop dword [ebp - 0x30]
mov eax, 0x135bf4bd
sub eax, 0x131bc8bd
sub dword [ebp - 0x30], eax
mov dword [ebp - 0x40], 0x2bf0827c
add dword [ebp - 0x40], 0x2261c2cf
mov dword [ebp - 0x3c], 0x334dea21
sub dword [ebp - 0x3c], 0x11a9ddc
mov dword [ebp - 0x38], 0x5ba3df88
add dword [ebp - 0x38], 0xf0a864a6
mov dword [ebp - 0x34], 0x49a5f072
sub dword [ebp - 0x34], 0x49a5f072
lea eax, [ebp - 0x40]
push eax
mov eax, 0xeeb05aed
sub eax, 0xee6fea89
add eax, dword [ebp - 0x30]
call dword [eax]
mov dword [ebp - 0x40], 0x3d463677
sub dword [ebp - 0x40], 0xc8d3cd21
mov dword [ebp - 0x3c], 0x6385135d
sub dword [ebp - 0x3c], 0x2218b1e8
mov dword [ebp - 0x38], 0x7ef3519d
add dword [ebp - 0x38], 0xe47c1acf
mov dword [ebp - 0x34], 0x5b9776a6
add dword [ebp - 0x34], 0xa468895a
lea ebx, [ebp - 0x40]
push ebx
push eax
mov eax, sym.imp.kernel32.dll_GetProcAddress
add eax, dword [ebp - 0x30]
call dword [eax]
push 0x40
push 0x1000
push 0x38cd2
push 0
call eax
mov ecx, 0x3ef091e3
add ecx, 0xc10fbe90
mov esi, eax
mov edi, 0x7e09267b
sub edi, 0x7dc8267b
add edi, dword [ebp - 0x30]
mov edx, 0x78bb745d
mov dword [ebp - 0x24], 0x5b9f58a
mov ebx, dword [edi]
xor dword [ebp - 0x10], edx
add ebx, edx
sub dword [ebp - 0x28], 0x2f4c0d99
mov dword [esi], ebx
xor dword [ebp - 4], eax
add esi, 4
add edi, 4
loop 0x402d17
add eax, 0xf1f4fc4b
sub eax, 0xf1f3c7ac
mov ebx, eax
add eax, 0xd30a5287
sub eax, 0xd30a5282
mov ecx, 0xd5556e07
sub ecx, 0xd5156e07
add ecx, dword [ebp - 0x30]
call ebx
leave
ret
Function at 0x10006330
Capabilities:
Hash data using crc32b

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, ecx
xor ecx, ecx
mov dword [ebp - 4], ecx
nop
xor eax, eax
test cl, 1
je 0x1000634b
bts eax, 7
shr ecx, 1
test cl, 1
je 0x10006356
bts eax, 6
shr ecx, 1
test cl, 1
je 0x10006361
bts eax, 5
shr ecx, 1
test cl, 1
je 0x1000636c
bts eax, 4
shr ecx, 1
test cl, 1
je 0x10006377
bts eax, 3
shr ecx, 1
test cl, 1
je 0x10006382
bts eax, 2
shr ecx, 1
test cl, 1
je 0x1000638d
bts eax, 1
test cl, 2
je 0x10006396
bts eax, 0
shl eax, 0x18
mov ecx, eax
add eax, eax
sar ecx, 0x1f
and ecx, 0x4c11db7
xor ecx, eax
mov edx, ecx
sar edx, 0x1f
and edx, 0x4c11db7
lea eax, [ecx + ecx]
xor edx, eax
mov ecx, edx
sar ecx, 0x1f
and ecx, 0x4c11db7
lea eax, [edx + edx]
xor ecx, eax
mov edx, ecx
sar edx, 0x1f
and edx, 0x4c11db7
lea eax, [ecx + ecx]
xor edx, eax
mov ecx, edx
sar ecx, 0x1f
and ecx, 0x4c11db7
lea eax, [edx + edx]
xor ecx, eax
mov edx, ecx
sar edx, 0x1f
and edx, 0x4c11db7
lea eax, [ecx + ecx]
xor edx, eax
mov ecx, edx
sar ecx, 0x1f
and ecx, 0x4c11db7
lea eax, [edx + edx]
xor ecx, eax
mov ebx, ecx
sar ebx, 0x1f
and ebx, 0x4c11db7
lea eax, [ecx + ecx]
xor ebx, eax
mov eax, dword [ebp - 4]
xor edx, edx
lea esi, [edi + eax*4]
lea ecx, [edx + 1]
test bl, 1
je 0x10006432
mov eax, 0x20
sub eax, ecx
bts edx, eax
inc ecx
shr ebx, 1
cmp ecx, 0x21
jl 0x10006423
mov ecx, dword [ebp - 4]
inc ecx
mov dword [esi], edx
mov dword [ebp - 4], ecx
cmp ecx, 0xff
jle 0x10006340
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x10006460
Capabilities:
Encode data using xor
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [0x1012f040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
push 0x10122074
push eax
lea eax, [ebp - 8]
mov dword [ebp - 0xc], ecx
push eax
mov dword [edi], 0xffffffff
mov dword [ebp - 8], 0
call fcn.100d7791
add esp, 0xc
test eax, eax
je 0x100064b0
xor al, al
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007fba4
mov esp, ebp
pop ebp
ret 0xc
push ebx
push 0x400
call fcn.100d77d8
add esp, 4
mov ebx, eax
mov dword [ebp - 0x10], ebx
push dword [ebp - 8]
test ebx, ebx
jne 0x100064e6
call fcn.100d7a1f
add esp, 4
xor al, al
pop ebx
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007fba4
mov esp, ebp
pop ebp
ret 0xc
push 0x400
push 1
push ebx
call fcn.100d7c28
add esp, 0x10
test eax, eax
je 0x1000653b
push esi
nop dword [eax + eax]
mov esi, ebx
mov ebx, dword [edi]
lea esi, [esi + 1]
movzx ecx, byte [esi - 1]
movzx edx, bl
xor edx, ecx
shr ebx, 8
mov ecx, dword [ebp - 0xc]
xor ebx, dword [ecx + edx*4]
mov dword [edi], ebx
sub eax, 1
jne 0x10006502
push dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
push 0x400
push 1
push ebx
call fcn.100d7c28
add esp, 0x10
test eax, eax
jne 0x10006500
pop esi
push ebx
call fcn.100d7d63
push dword [ebp - 8]
call fcn.100d7a1f
mov ecx, dword [ebp - 4]
add esp, 8
not dword [edi]
xor ecx, ebp
mov al, 1
pop ebx
pop edi
call fcn.1007fba4
mov esp, ebp
pop ebp
ret 0xc
Function at 0x10006570
Capabilities:
Terminate thread

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, ecx
mov eax, dword [esi + 0x60]
mov dword [esi], vtable.CAntiHack.0
test eax, eax
je 0x1000659c
push 0
push eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push dword [esi + 0x60]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x60], 0
test byte [ebp + 8], 1
je 0x100065ad
push 0x64
push esi
call fcn.1007fecc
add esp, 8
mov eax, esi
pop esi
pop ebp
ret 4

Function at 0x10006680
Capabilities:
Get disk information
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
mov eax, dword [0x1012f040]
xor eax, esp
mov dword [esp + 0x38], eax
push esi
push 0
push 0
push 0
push 0
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x5045454
push eax
push 0
push 0
push 0x10122084
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
lea eax, [esp + 8]
push eax
call dword [sym.imp.RPCRT4.dll_UuidCreateSequential]
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
movzx ecx, word [esp + 0x3a]
movzx eax, word [esp + 0x38]
shl ecx, 0x10
or ecx, eax
movzx eax, word [esp + 0x16]
xor ecx, 0xb542d8e1
push ecx
movzx ecx, word [esp + 0x1c]
shl ecx, 0x10
or ecx, eax
mov eax, dword [esp + 0x16]
xor eax, 0x5d78a569
xor ecx, 0xf45bc123
push ecx
push eax
mov eax, dword [esp + 0x10]
xor eax, 0x12b586fe
push eax
lea eax, [esi + 4]
push str._08X__08X__08X__08X
push eax
call fcn.100067c0
mov ecx, dword [esp + 0x54]
add esp, 0x18
pop esi
xor ecx, esp
call fcn.1007fba4
mov esp, ebp
pop ebp
ret

Function at 0x10006880
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 0x10]
xor ecx, ecx
test ebx, ebx
jle 0x100068c8
mov eax, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0xc]
sub edi, eax
nop word [eax + eax]
lea esi, [ecx + eax]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [edx + edx*2]
mov edx, ecx
sub edx, eax
inc ecx
mov al, byte [edx + 0x1012211c]
xor al, byte [edi + esi]
mov byte [esi], al
mov eax, dword [ebp + 8]
cmp ecx, ebx
jl 0x100068a0
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
Function at 0x10007200
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x1012f040]
xor eax, ebp
mov dword [ebp - 8], eax
cmp dword [0x1012ff0c], 0
push ebx
push esi
push edi
je 0x1000740b
cmp dword [0x1012ff10], 0
je 0x1000740b
cmp dword [0xe609e8], 5
jne 0x1000740b
mov ebx, dword [ebp + 8]
mov eax, dword [0x1012ff14]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, dword [ebx]
jge 0x10007296
mov esi, dword [0x1012ff34]
lea eax, [ebp - 0xc]
push eax
push 0x40
push 4
movss xmm0, dword [esi]
comiss xmm0, dword [0x10124a88]
push esi
movss dword [ebp - 0x10], xmm0
jbe 0x10007277
call edi
mov dword [esi], 0xc2340000
jmp 0x1000728a
call edi
movss xmm0, dword [ebp - 0x10]
addss xmm0, dword [0x101249e0]
movss dword [esi], xmm0
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0xc]
push 4
push esi
call edi
mov eax, dword [0x1012ff14]
cmp eax, dword [ebx]
jle 0x100072ed
mov esi, dword [0x1012ff34]
lea eax, [ebp - 0xc]
movss xmm0, dword [0x10124af8]
push eax
push 0x40
movss xmm1, dword [esi]
comiss xmm0, xmm1
push 4
push esi
movss dword [ebp - 0x10], xmm1
jbe 0x100072ce
call edi
mov dword [esi], 0xc2340000
jmp 0x100072e1
call edi
movss xmm0, dword [ebp - 0x10]
subss xmm0, dword [0x101249e0]
movss dword [esi], xmm0
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0xc]
push 4
push esi
call edi
mov eax, dword [0x1012ff18]
cmp eax, dword [ebx + 4]
jge 0x1000737e
mov esi, dword [0x1012ff38]
movss xmm1, dword [0x10124af0]
movss xmm0, dword [esi]
comiss xmm1, xmm0
movss dword [ebp - 0x10], xmm0
jbe 0x1000737b
lea eax, [ebp - 0xc]
push eax
push 0x40
push 4
push esi
call edi
movss xmm0, dword [ebp - 0x10]
lea eax, [ebp - 0xc]
addss xmm0, dword [0x10124980]
push eax
push dword [ebp - 0xc]
push 4
push esi
movss dword [esi], xmm0
call edi
mov esi, dword [0x1012ff3c]
lea eax, [ebp - 0xc]
push eax
push 0x40
push 8
movsd xmm0, qword [esi]
subsd xmm0, qword [0x101249a0]
push esi
movsd qword [ebp - 0x14], xmm0
call edi
movsd xmm0, qword [ebp - 0x14]
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0xc]
movsd qword [esi], xmm0
push 8
push esi
call edi
mov eax, dword [0x1012ff18]
cmp eax, dword [ebx + 4]
jle 0x100073f7
mov esi, dword [0x1012ff38]
movss xmm0, dword [esi]
comiss xmm0, dword [0x10124af4]
movss dword [ebp - 0x10], xmm0
jbe 0x100073f7
lea eax, [ebp - 0xc]
push eax
push 0x40
push 4
push esi
call edi
movss xmm0, dword [ebp - 0x10]
lea eax, [ebp - 0xc]
subss xmm0, dword [0x10124980]
push eax
push dword [ebp - 0xc]
push 4
push esi
movss dword [esi], xmm0
call edi
mov esi, dword [0x1012ff3c]
lea eax, [ebp - 0xc]
push eax
push 0x40
push 8
movsd xmm0, qword [esi]
addsd xmm0, qword [0x101249a0]
push esi
movsd qword [ebp - 0x14], xmm0
call edi
movsd xmm0, qword [ebp - 0x14]
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0xc]
movsd qword [esi], xmm0
push 8
push esi
call edi
mov eax, dword [ebx]
mov dword [0x1012ff14], eax
mov eax, dword [ebx + 4]
mov dword [0x1012ff18], eax
call fcn.10007420
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1007fba4
mov esp, ebp
pop ebp
ret 4
Function at 0x10007420
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 [0x1012f040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x1012ff3c]
push esi
mov esi, dword [0x1012ff40]
push edi
movsd xmm0, qword [eax]
lea eax, [ebp - 8]
subsd xmm0, qword [0x101249b0]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
push eax
push 0x40
push 8
andps xmm0, xmmword [0x10124c20]
mulsd xmm0, qword [0x10124968]
push esi
addsd xmm0, qword [0x101249d8]
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 [0x1012ff3c]
mov esi, dword [0x1012ff44]
movsd xmm0, qword [eax]
lea eax, [ebp - 8]
subsd xmm0, qword [0x101249b0]
push eax
push 0x40
push 8
push esi
andps xmm0, xmmword [0x10124c20]
mulsd xmm0, qword [0x10124968]
addsd xmm0, qword [0x101249d8]
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 [0x1012ff3c]
mov esi, dword [0x1012ff48]
movsd xmm0, qword [eax]
lea eax, [ebp - 8]
subsd xmm0, qword [0x101249b0]
push eax
push 0x40
push 4
push esi
andps xmm0, xmmword [0x10124c20]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x10124998]
addss xmm0, dword [0x10124aac]
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 [0x1012ff3c]
mov esi, dword [0x1012ff4c]
movsd xmm0, qword [eax]
lea eax, [ebp - 8]
subsd xmm0, qword [0x101249b0]
push eax
andps xmm0, xmmword [0x10124c20]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x10124998]
addss xmm0, dword [0x10124aac]
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 [0x1012ff3c]
mov esi, dword [0x1012ff50]
movsd xmm0, qword [eax]
lea eax, [ebp - 8]
subsd xmm0, qword [0x101249b0]
push eax
push 0x40
push 4
push esi
andps xmm0, xmmword [0x10124c20]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x10124998]
addss xmm0, dword [0x10124aa8]
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.1007fba4
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
Function at 0x10007610
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 [0x1012f040]
xor eax, esp
mov dword [esp + 0x10], eax
push ebx
mov ebx, ecx
push esi
push edi
cmp dword [ebx + 0x58], 0
je 0x10007804
movss xmm0, dword [ebx + 0x5c]
lea eax, [esp + 0x18]
mov esi, dword [ebx + 0x30]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
push eax
push 0x40
push 4
push esi
movss dword [esp + 0x20], xmm0
call edi
movss xmm0, dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x1c]
movss dword [esi], xmm0
push 4
push esi
call edi
movss xmm0, dword [ebx + 0x60]
lea eax, [esp + 0x18]
mov esi, dword [ebx + 0x34]
push eax
push 0x40
push 4
push esi
movss dword [esp + 0x20], xmm0
call edi
movss xmm0, dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x1c]
movss dword [esi], xmm0
push 4
push esi
call edi
movss xmm0, dword [ebx + 0x64]
lea eax, [esp + 0x18]
mov esi, dword [ebx + 0x38]
push eax
push 0x40
push 4
push esi
movss dword [esp + 0x20], xmm0
call edi
movss xmm0, dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x1c]
movss dword [esi], xmm0
push 4
push esi
call edi
movsd xmm0, qword [ebx + 0x68]
lea eax, [esp + 0x18]
mov esi, dword [ebx + 0x3c]
push eax
push 0x40
push 8
push esi
movsd qword [esp + 0x20], xmm0
call edi
movsd xmm0, qword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x1c]
movsd qword [esi], xmm0
push 8
push esi
call edi
movsd xmm0, qword [ebx + 0x70]
lea eax, [esp + 0x18]
mov esi, dword [ebx + 0x40]
push eax
push 0x40
push 8
push esi
movsd qword [esp + 0x20], xmm0
call edi
movsd xmm0, qword [esp + 0x10]
lea eax, [esp + 0x18]
movsd qword [esi], xmm0
push eax
push dword [esp + 0x1c]
push 8
push esi
call edi
movsd xmm0, qword [ebx + 0x78]
lea eax, [esp + 0x18]
mov esi, dword [ebx + 0x44]
push eax
push 0x40
push 8
push esi
movsd qword [esp + 0x20], xmm0
call edi
movsd xmm0, qword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x1c]
movsd qword [esi], xmm0
push 8
push esi
call edi
movss xmm0, dword [ebx + 0x80]
lea eax, [esp + 0x18]
mov esi, dword [ebx + 0x48]
push eax
push 0x40
push 4
push esi
movss dword [esp + 0x20], xmm0
call edi
movss xmm0, dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x1c]
movss dword [esi], xmm0
push 4
push esi
call edi
movss xmm0, dword [ebx + 0x84]
lea eax, [esp + 0x18]
mov esi, dword [ebx + 0x4c]
push eax
push 0x40
push 4
push esi
movss dword [esp + 0x20], xmm0
call edi
movss xmm0, dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x1c]
movss dword [esi], xmm0
push 4
push esi
call edi
movss xmm0, dword [ebx + 0x88]
lea eax, [esp + 0x18]
mov esi, dword [ebx + 0x50]
push eax
push 0x40
push 4
push esi
movss dword [esp + 0x20], xmm0
call edi
movss xmm0, dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x1c]
movss dword [esi], xmm0
push 4
push esi
call edi
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1007fba4
mov esp, ebp
pop ebp
ret
Function at 0x10012c50
Capabilities:
Allocate or change rwx memory

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 0x1010edf5
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x40
mov eax, dword [0x1012f040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push dword [0x10130154]
call fcn.1004bec0
push str.Data__Files__Lua__CharacterSystem__CharacterCreateCape.lua
mov ecx, 0x10130150
call fcn.10039960
push dword [0x10130154]
call fcn.10012ef0
push dword [0x10130154]
call fcn.1003a710
mov ecx, dword [0x10130154]
call fcn.1004e320
push 2
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push 0x10122180
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.1000c820
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0
push eax
push dword [0x10130154]
lea ecx, [ebp - 0x4c]
call fcn.10007880
sub esp, 8
mov byte [ebp - 4], 1
mov ecx, eax
call fcn.100136b0
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xf
jbe 0x10012d46
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10012d3c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10012edc
push ecx
push edx
call fcn.1007fecc
add esp, 8
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
cmp ecx, 0xf
jbe 0x10012d8c
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10012d82
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10012edc
push ecx
push edx
call fcn.1007fecc
add esp, 8
push 0x100124b0
push 0x57232e
push 0xe9
call fcn.100654c0
add esp, 0xc
push 0x10012560
push 0x5757d4
push 0xe9
call fcn.100654c0
add esp, 0xc
push 0x100125d0
push 0x574667
push 0xe9
call fcn.100654c0
add esp, 0xc
push 0x10012640
push 0x5750fb
push 0xe9
call fcn.100654c0
add esp, 0xc
push 0x10012720
push 0x5fa844
push 0xe9
call fcn.100654c0
add esp, 0xc
push 0x10012880
push 0x5658b6
push 0xe9
call fcn.100654c0
add esp, 0xc
push 0x10012950
push 0x8362a2
push 0xe9
call fcn.100654c0
add esp, 0xc
push 0x100129a0
push 0x83640e
push 0xe9
call fcn.100654c0
add esp, 0xc
push 0x100129f0
push 0x57605b
push 0xe9
call fcn.100654c0
add esp, 0xc
push 0x10012a30
push 0x576144
push 0xe9
call fcn.100654c0
add esp, 0xc
lea eax, [ebp - 0x18]
push eax
push 0x40
push 6
push 0x51ec76
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, 0x51ec76
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 6
push 0x51ec76
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0x10012aa0
push 0x51ec76
push 0xe9
call fcn.100654c0
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1007fba4
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.100e335d
int3