joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4d0e50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
mov ebx, ecx
mov dword [esp + 0x18], 0
push esi
push edi
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], 0
mov edx, dword [ebx + 0x70]
mov eax, dword [ebx + 0x6c]
add edx, 0xb0
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov edi, dword [edx + 4]
sub edi, dword [edx]
sar edi, 2
mov dword [esp + 0x1c], edi
call fcn.004990e0
mov esi, dword [esp + 0x20]
cmp esi, edi
je 0x4d0ec3
nop
mov ecx, dword [esp + 0x24]
call fcn.004d0e50
test al, al
jne 0x4d0eda
inc esi
lea ecx, [esp + 0x14]
mov dword [esp + 0x20], esi
call fcn.004990e0
mov esi, dword [esp + 0x20]
cmp esi, edi
jne 0x4d0ea0
mov eax, dword [ebx + 0x3c]
mov ecx, dword [ebx + 0x78]
mov dword [esp + 0xc], eax
test eax, eax
jg 0x4d0ee3
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ecx + 0x14]
lea eax, [esp + 0xc]
add ecx, 0x14
push eax
lea eax, [esp + 0x14]
push eax
call fcn.0042fc50
pop edi
cmp dword [eax], esi
pop esi
setne al
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x4d37f0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x69532b
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x71a00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov eax, dword [ebp + 8]
mov dword [edi + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [edi + 0xc], eax
lea eax, [edi + 0x10]
mov dword [edi], vtable.partsengine::CGUIComponentList.0
lea esi, [eax + 4]
mov dword [edi + 8], 0
mov dword [eax], vtable.partsengine::CAlphaClipperManager.0
mov dword [ebp + 8], eax
mov dword [ebp + 8], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.00421820
mov dword [esi], eax
lea esi, [edi + 0x1c]
mov dword [ebp - 4], 0
mov dword [ebp + 8], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.00421820
mov dword [esi], eax
mov eax, edi
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], vtable.common::CIDManager.0
mov dword [edi + 0x30], 0x3b9af110
mov dword [edi + 0x34], 0x3baa3350
mov dword [edi + 0x38], 0xf4240
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
Function at 0x4dbbc0
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 0x695b77
mov eax, dword fs:[0]
push eax
push ebx
push ecx
push esi
mov eax, dword [0x71a00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebx + 8]
lea ecx, [esi + 0x30]
mov dword [esi], vtable.partsengine::CGUIInputController.0
mov dword [esi + 4], eax
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov byte [esi + 0x2c], 0
mov dword [ecx], vtable.partsengine::CKey.0
mov dword [ecx + 0x194], 0
mov dword [ecx + 0x198], 0
mov dword [ecx + 0x19c], 0x50
mov dword [ecx + 0x1a0], 0x1f4
call fcn.00503f00
mov dword [ebp - 4], 0
lea eax, [esi + 0x1f4]
mov dword [esi + 0x1d4], 0
xorps xmm0, xmm0
mov dword [esi + 0x1d8], 0
mov dword [esi + 0x1dc], 0
mov byte [esi + 0x1e0], 0
mov dword [esi + 0x1e4], 0
mov dword [esi + 0x1e8], 0
mov dword [esi + 0x1ec], 0
mov byte [esi + 0x1f0], 0
mov dword [eax], vtable.partsengine::CEventSubject.0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov byte [eax + 0x14], 0
movups xmmword [eax + 0x15], xmm0
movq qword [eax + 0x25], xmm0
mov dword [eax + 0x2d], 0
mov word [eax + 0x31], 0
mov dword [esi + method.partsengine::CPartsDoubleClickWorker.virtual_0], vtable.partsengine::CPartsDoubleClickWorker.0
mov dword [esi + 0x22c], 0x1f5
mov dword [esi + 0x230], eax
mov byte [ebp - 4], 2
mov ecx, esi
mov byte [esi + 0x209], 1
mov byte [esi + 0x20b], 1
mov dword [esi + 0x20f], 0x1010101
mov dword [esi + 0x221], 0x1010101
mov byte [esi + 0x225], 1
mov dword [esi + 0x213], 0x1010101
mov dword [esi + 0x21b], 0x1010101
mov word [esi + 0x21f], 0x101
call fcn.004dbe90
mov ecx, esi
call fcn.004dbf40
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
Function at 0x4e4220
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x696274
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x71a00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov dword [edi], vtable.partsengine::CGUIModel.0
mov byte [edi + 4], 1
mov dword [edi + 8], 0xffffffff
mov word [edi + 0xc], 1
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 1
mov dword [edi + 0x28], 0x10000
mov byte [edi + 0x2c], 0
mov dword [edi + 0x30], 0xff
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0xff
mov dword [edi + 0x48], 0xff
mov dword [edi + 0x4c], 0xff
mov dword [edi + 0x50], 0
mov dword [edi + 0x54], 0x3f800000
mov dword [edi + 0x58], 0x3f800000
mov dword [edi + 0x5c], 0
mov dword [edi + 0x60], 0
mov dword [edi + 0x64], 0
mov dword [edi + 0x68], 0
mov dword [edi + 0x6c], 0
mov dword [edi + 0x70], 0
mov dword [edi + 0x74], 0
mov dword [edi + 0x78], 0
mov dword [edi + 0x7c], 0
mov dword [edi + 0x80], 0
mov dword [edi + 0x84], 0
mov dword [edi + 0x88], 0
mov dword [edi + 0x8c], 0
mov dword [edi + 0x90], 0
mov dword [edi + 0x94], 0
mov dword [edi + 0x98], 0
mov dword [edi + 0x9c], 0
mov dword [edi + 0xa0], 1
mov byte [edi + 0xa4], 0
mov dword [edi + 0xa8], 3
mov dword [edi + 0xac], 0
mov dword [edi + 0xb0], 0
mov dword [edi + 0xb4], 0
mov dword [edi + 0xb8], 0
mov dword [ebp - 4], 0
mov esi, dword [0x72ec1c]
test esi, esi
jne 0x4e43cd
xor ebx, ebx
xor eax, eax
jmp 0x4e4407
mov ecx, esi
call fcn.00608ee0
test al, al
jne 0x4e43dc
xor ebx, ebx
jmp 0x4e43e6
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x14]
mov ebx, eax
mov esi, dword [0x72ec1c]
test esi, esi
je 0x4e43fb
mov ecx, esi
call fcn.00608ee0
test al, al
jne 0x4e43ff
xor eax, eax
jmp 0x4e4407
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x10]
sub esp, 8
mov dword [edi + 0xbc], vtable.partsengine::CProjection.0
lea ecx, [edi + 0xbc]
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [esp + 4], 0x41f00000
push ebx
push eax
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00534cd0
push 0x60
lea esi, [edi + 0x11c]
mov word [edi + 0x10c], 0
push 0
push esi
mov byte [edi + 0x10e], 0
mov dword [edi + 0x110], 0
mov dword [edi + 0x114], 0
mov word [edi + 0x118], 0
call fcn.0066eb00
add esp, 0xc
push fcn.00402270
push 0x4035c0
push 4
push 0x18
push esi
mov byte [ebp - 4], 1
call fcn.0066c20d
movaps xmm0, xmmword [0x6dbbb0]
mov eax, edi
movups xmmword [edi + 0x17c], xmm0
mov byte [edi + 0x18c], 0
mov dword [edi + 0x190], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4fbfd0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x697cf6
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x71a00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x10], ebx
lea edi, [ebx + 8]
mov dword [ebx], vtable.partsengine::CGUIScene.0
mov dword [ebx + 4], 3
mov dword [edi], vtable.partsengine::CGUIMessageList.0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
lea esi, [ebx + 0x24]
mov dword [ebp - 4], 0
mov dword [ebp - 0x14], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.004f74a0
mov dword [esi], eax
mov dword [esi + 8], 0
push dword [ebp + 0xc]
lea ecx, [ebx + 0x30]
mov byte [ebp - 4], 1
push edi
call fcn.004d6540
mov eax, dword [ebp + 8]
mov dword [ebx + 0xb0], eax
mov dword [ebx + 0x2c], eax
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8

Function at 0x4fc100
Capabilities:
Access peb ldr_data
Get kernel32 base address
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x68d5b0
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x71a00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
lea ecx, [edi + 0x30]
mov dword [edi], vtable.partsengine::CGUIScene.0
call fcn.004d6710
lea eax, [edi + 0xc]
push eax
call fcn.004e3be0
lea eax, [edi + 0x18]
push eax
call fcn.004e3be0
lea ecx, [edi + 0x30]
call fcn.004d6660
mov eax, dword [edi + 0x24]
lea ecx, [edi + 0x24]
push eax
push dword [eax]
lea eax, [ebp - 0x10]
push eax
call fcn.004f73e0
mov ecx, dword [edi + 0x24]
mov edx, 1
push 0x84
call fcn.004020c0
add esp, 4
lea ecx, [edi + 8]
call fcn.004e3b60
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x5082e0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x698802
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0x71a00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
push 0xac
call fcn.0066bc56
add esp, 4
mov dword [ebp - 0x10], eax
mov ecx, eax
mov dword [ebp - 4], 0
call fcn.004a1060
mov dword [esi], eax
mov eax, esi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 1
mov dword [esi + 0x18], 0xff
mov dword [esi + 0x1c], 0xff
mov dword [esi + 0x20], 0xff
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 0xff
mov word [esi + 0x3c], 0x101
mov dword [esi + 0x40], 0x3f800000
mov dword [esi + 0x44], 0x3f800000
mov dword [esi + 0x48], 0
mov dword [esi + 0x4c], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x53c3e0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x699058
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push esi
push edi
mov eax, dword [0x71a00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
movups xmm1, xmmword [edi + 0x18]
mov ebx, dword [edi + 0x14]
movups xmm4, xmmword [edi + 0x30]
mov dword [ebp - 0x40], vtable.partsengine::CCharSpriteProperty.0
movss xmm2, dword [edi + 0x28]
movss xmm3, dword [edi + 0x2c]
mov dword [ebp - 0x38], ebx
movups xmmword [ebp - 0x34], xmm1
movss dword [ebp - 0x24], xmm2
movss dword [ebp - 0x20], xmm3
movups xmmword [ebp - 0x1c], xmm4
mov eax, dword [ebp + 8]
lea ecx, [edi + 0xc]
mov dword [ebp - 4], 0
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x40]
push eax
call fcn.005265d0
test al, al
jne 0x53c481
mov eax, dword [ebp + 8]
mov ecx, edi
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ebx
movups xmmword [edi + 0x18], xmm1
movss dword [edi + 0x28], xmm2
movss dword [edi + 0x2c], xmm3
movups xmmword [edi + 0x30], xmm4
call fcn.0053a040
mov byte [edi + 0xcc], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4

Function at 0x53c4a0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x69a7b8
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x71a00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
movups xmm1, xmmword [edi + 0x18]
mov ebx, dword [edi + 0x10]
movups xmm4, xmmword [edi + 0x30]
mov dword [ebp - 0x40], vtable.partsengine::CCharSpriteProperty.0
movss xmm2, dword [edi + 0x28]
movss xmm3, dword [edi + 0x2c]
mov dword [ebp - 0x3c], ebx
movups xmmword [ebp - 0x34], xmm1
movss dword [ebp - 0x24], xmm2
movss dword [ebp - 0x20], xmm3
movups xmmword [ebp - 0x1c], xmm4
mov eax, dword [ebp + 8]
lea ecx, [edi + 0xc]
mov dword [ebp - 4], 0
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x40]
push eax
call fcn.005265d0
test al, al
jne 0x53c541
mov eax, dword [ebp + 8]
mov ecx, edi
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], eax
movups xmmword [edi + 0x18], xmm1
movss dword [edi + 0x28], xmm2
movss dword [edi + 0x2c], xmm3
movups xmmword [edi + 0x30], xmm4
call fcn.0053a040
mov byte [edi + 0xcc], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x53c560
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x69a7e8
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push esi
push edi
mov eax, dword [0x71a00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
movups xmm3, xmmword [edi + 0x30]
mov eax, dword [edi + 0x14]
movss xmm1, dword [edi + 0x28]
movss xmm2, dword [edi + 0x2c]
mov ebx, dword [edi + 0x10]
mov dword [ebp - 0x54], vtable.partsengine::CCharSpriteProperty.0
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x4c], eax
movss dword [ebp - 0x38], xmm1
movss dword [ebp - 0x34], xmm2
movups xmmword [ebp - 0x30], xmm3
mov eax, dword [ebp + 8]
xor ecx, ecx
test eax, eax
mov dword [ebp - 4], 0
mov edx, 0xff
cmovg ecx, eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp + 0xc]
cmp ecx, edx
cmovg ecx, edx
mov dword [ebp - 0x20], ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
mov eax, dword [ebp + 0x10]
cmp ecx, edx
cmovg ecx, edx
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
lea eax, [ebp - 0x54]
cmp ecx, edx
push eax
cmovg ecx, edx
mov dword [ebp - 0x18], ecx
lea ecx, [edi + 0xc]
movups xmm4, xmmword [ebp - 0x20]
movups xmmword [ebp - 0x48], xmm4
call fcn.005265d0
test al, al
jne 0x53c642
mov eax, dword [ebp - 0x10]
mov ecx, edi
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], eax
movups xmmword [edi + 0x18], xmm4
movss dword [edi + 0x28], xmm1
movss dword [edi + 0x2c], xmm2
movups xmmword [edi + 0x30], xmm3
call fcn.0053a040
mov byte [edi + 0xcc], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x53c660
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x69a818
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x71a00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
movups xmm2, xmmword [edi + 0x18]
mov eax, dword [edi + 0x14]
movups xmm4, xmmword [edi + 0x30]
mov ebx, dword [edi + 0x10]
movss xmm3, dword [edi + 0x2c]
mov dword [ebp - 0x44], vtable.partsengine::CCharSpriteProperty.0
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x3c], eax
movups xmmword [ebp - 0x38], xmm2
movss dword [ebp - 0x24], xmm3
movups xmmword [ebp - 0x20], xmm4
lea eax, [ebp - 0x44]
mov dword [ebp - 4], 0
push eax
lea ecx, [edi + 0xc]
movss dword [ebp - 0x28], xmm1
call fcn.005265d0
test al, al
jne 0x53c6ff
mov eax, dword [ebp - 0x10]
mov ecx, edi
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], eax
movups xmmword [edi + 0x18], xmm2
movss dword [edi + 0x28], xmm1
movss dword [edi + 0x2c], xmm3
movups xmmword [edi + 0x30], xmm4
call fcn.0053a040
mov byte [edi + 0xcc], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x53c820
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x69a848
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
push ebx
push esi
push edi
mov eax, dword [0x71a00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
movups xmm2, xmmword [edi + 0x18]
mov eax, dword [edi + 0x14]
movups xmm4, xmmword [edi + 0x30]
mov ebx, dword [edi + 0x10]
movss xmm3, dword [edi + 0x28]
mov dword [ebp - 0x44], vtable.partsengine::CCharSpriteProperty.0
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x3c], eax
movups xmmword [ebp - 0x38], xmm2
movss dword [ebp - 0x28], xmm3
movups xmmword [ebp - 0x20], xmm4
lea eax, [ebp - 0x44]
mov dword [ebp - 4], 0
push eax
lea ecx, [edi + 0xc]
movss dword [ebp - 0x24], xmm1
call fcn.005265d0
test al, al
jne 0x53c8bf
mov eax, dword [ebp - 0x10]
mov ecx, edi
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], eax
movups xmmword [edi + 0x18], xmm2
movss dword [edi + 0x28], xmm3
movss dword [edi + 0x2c], xmm1
movups xmmword [edi + 0x30], xmm4
call fcn.0053a040
mov byte [edi + 0xcc], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x5486c0
Capabilities:
Hash data with crc32

Disassembly:
push esi
mov dword [ecx], vtable.sealengine::CCRC.0
lea esi, [ecx + 4]
xor edx, edx
nop dword [eax]
mov eax, edx
shr eax, 1
test dl, 1
je 0x5486de
xor eax, 0xedb88320
test al, 1
je 0x5486eb
shr eax, 1
xor eax, 0xedb88320
jmp 0x5486ed
shr eax, 1
test al, 1
je 0x5486fa
shr eax, 1
xor eax, 0xedb88320
jmp 0x5486fc
shr eax, 1
test al, 1
je 0x548709
shr eax, 1
xor eax, 0xedb88320
jmp 0x54870b
shr eax, 1
test al, 1
je 0x548718
shr eax, 1
xor eax, 0xedb88320
jmp 0x54871a
shr eax, 1
test al, 1
je 0x548727
shr eax, 1
xor eax, 0xedb88320
jmp 0x548729
shr eax, 1
test al, 1
je 0x548736
shr eax, 1
xor eax, 0xedb88320
jmp 0x548738
shr eax, 1
test al, 1
je 0x548745
shr eax, 1
xor eax, 0xedb88320
jmp 0x548747
shr eax, 1
mov dword [esi], eax
inc edx
add esi, 4
cmp edx, 0xff
jbe 0x5486d0
mov eax, ecx
pop esi
ret
Function at 0x551af0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x69bbeb
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x71a00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov dword [edi], vtable.sealengine::CFacePack.0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
lea esi, [edi + 0x10]
mov dword [ebp - 4], 0
mov dword [ebp - 0x14], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.00421820
mov dword [esi], eax
mov eax, edi
mov dword [edi + 0x18], vtable.sealengine::CMatrixIndexList.0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x5536a0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x410
mov eax, dword [0x71a00c]
xor eax, esp
mov dword [esp + 0x40c], eax
push ebp
mov ebp, ecx
mov dword [esp + 8], ebp
cmp dword [ebp + 0x28], 0
jne 0x5536de
mov dword [ebp + 0x30], 0
pop ebp
mov ecx, dword [esp + 0x40c]
xor ecx, esp
call fcn.0066bc45
add esp, 0x410
ret
cmp dword [ebp + 0x2c], 0x10
push ebx
lea ebx, [ebp + 0x18]
push edi
jb 0x5536eb
mov ebx, dword [ebx]
lea ecx, [esp + 0x14]
call fcn.005486c0
mov dword [esp + 0xc], eax
or ecx, 0xffffffff
mov eax, dword [ebp + 0x28]
xor edi, edi
test eax, eax
je 0x55372a
mov ebp, dword [esp + 0xc]
push esi
nop dword [eax]
movzx esi, byte [ebx + edi]
inc edi
movzx edx, cl
xor esi, edx
shr ecx, 8
xor ecx, dword [ebp + esi*4 + 4]
cmp edi, eax
jb 0x553710
mov ebp, dword [esp + 0x14]
pop esi
not ecx
pop edi
mov dword [ebp + 0x30], ecx
mov ecx, dword [esp + 0x414]
pop ebx
pop ebp
xor ecx, esp
call fcn.0066bc45
add esp, 0x410
ret
Function at 0x5625b0
Capabilities:
Check for peb ntglobalflag flag

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x69c813
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x71a00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x10], ebx
lea edi, [ebx + 8]
mov dword [ebx], vtable.sealengine::CMotionData.0
mov dword [ebx + 4], 1
push 0x1c
mov dword [ebp - 0x14], edi
mov dword [edi], vtable.thread::CCriticalSection.0
call fcn.0066bc56
mov esi, eax
add esp, 4
mov dword [ebp - 0x14], esi
lea ecx, [esi + 4]
mov dword [esi], vtable.thread::CCriticalSection::CImpl.0
push ecx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [edi + 4], esi
lea ecx, [ebx + 0x10]
mov dword [ebp - 4], 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x56263a
mov eax, dword [ecx]
jmp 0x56263c
mov eax, ecx
push 0xffffffffffffffff
push 0
push dword [ebp + 8]
mov byte [eax], 0
call fcn.004024e0
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], 0
mov dword [ebx + 0x4c], 0
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x58], 0
mov dword [ebx + 0x5c], 0
lea esi, [ebx + 0x60]
mov byte [ebp - 4], 5
mov dword [ebp + 8], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.00469dd0
mov dword [esi], eax
lea esi, [ebx + 0x68]
mov byte [ebp - 4], 6
mov dword [ebp + 8], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.00469dd0
mov dword [esi], eax
lea esi, [ebx + 0x70]
mov byte [ebp - 4], 7
mov dword [ebp + 8], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.00469dd0
mov dword [esi], eax
lea esi, [ebx + 0x78]
mov byte [ebp - 4], 8
mov dword [ebp + 8], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.00469dd0
mov dword [esi], eax
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x56bdf0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x69cd21
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
mov eax, dword [0x71a00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x14], esi
mov dword [esi], vtable.sealengine::CParticleBillboard.0
lea ecx, [esi + 0x24]
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov byte [esi + 0x20], 1
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [ebp - 4], 0
mov dword [esi + 0x30], 0x16
mov dword [esi + 0x34], 6
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
mov dword [esi + 0x48], 0
mov dword [esi + 0x4c], 0
mov byte [ebp - 4], 2
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esi + 0x30]
imul eax, dword [esi + 0x34]
mov dword [esi + 0x50], 0xffffffff
mov dword [esi + 0x54], 0
mov dword [esi + 0x58], 0
mov dword [ebp - 0x10], 0
push eax
call fcn.00422130
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret