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

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x70
push ebp
mov ebp, dword [esp + 0x78]
push eax
push ebp
call fcn.004c0d60
push str.loadBaseHumanStats
push 0x52e
push str.Stats.cpp
mov dword [0x635520], eax
call fcn.004bdd70
mov ecx, dword [0x635520]
imul ecx, ecx, 0x5c
push 0x27
push ecx
call fcn.004be320
add esp, 0x1c
test eax, eax
mov dword [0x635f80], eax
jne 0x44fadd
push str.loadBaseHumanStats___Out_of_memory
call fcn.004cd600
add esp, 4
xor eax, eax
pop ebp
add esp, 0x70
ret
push esi
mov esi, eax
mov eax, dword [0x635520]
test eax, eax
mov dword [esp + 8], 0
jbe 0x44fc51
push ebx
mov ebx, esi
lea edx, [esp + 0x54]
push edi
sub ebx, edx
nop
xor eax, eax
mov ecx, 0x17
mov edi, esi
rep stosd dword es:[edi], eax
mov byte [esp + 0x58], al
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x9c]
push edx
push str.______d__d__d__d__d__d__f__d__f__f__f__f__d__f__d__f__f
push ebp
call fcn.0058cfe8
add esp, 0x50
lea eax, [esp + 0x58]
mov edi, edi
mov cl, byte [eax]
mov byte [ebx + eax], cl
inc eax
test cl, cl
jne 0x44fb80
mov ax, word [esp + 0x14]
mov word [esi + 0x24], ax
mov cx, word [esp + 0x18]
mov word [esi + 0x26], cx
mov dx, word [esp + 0x1c]
mov word [esi + 0x28], dx
mov ax, word [esp + 0x20]
mov word [esi + 0x2c], ax
mov cx, word [esp + 0x24]
mov word [esi + 0x2a], cx
mov dx, word [esp + 0x28]
mov word [esi + 0x2e], dx
fld dword [esp + 0x2c]
fmul dword [0x5da2d4]
fstp dword [esi + 0x30]
mov ax, word [esp + 0x30]
mov word [esi + 0x34], ax
mov ecx, dword [esp + 0x34]
mov dword [esi + 0x38], ecx
mov edx, dword [esp + 0x38]
mov dword [esi + 0x3c], edx
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x40], eax
mov ecx, dword [esp + 0x40]
mov dword [esi + 0x44], ecx
mov dx, word [esp + 0x44]
mov word [esi + 0x48], dx
mov eax, dword [esp + 0x48]
mov dword [esi + 0x4c], eax
mov cx, word [esp + 0x4c]
mov word [esi + 0x50], cx
mov edx, dword [esp + 0x50]
mov dword [esi + 0x54], edx
fld dword [esp + 0x54]
fmul dword [0x5da6e8]
call fcn.0058c3f0
push 0xa
push ebp
mov dword [esi + 0x58], eax
call fcn.0058cb50
mov ecx, dword [0x635520]
add esp, 8
inc eax
mov ebp, eax
mov eax, dword [esp + 0x10]
add esi, 0x5c
add ebx, 0x5c
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jb 0x44fb00
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 0x70
ret
Function at 0x456020
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x6c
push ebp
push esi
mov esi, dword [esp + 0x78]
push edi
push eax
push esi
call fcn.004c0d60
mov ebp, eax
add esp, 8
xor edi, edi
test ebp, ebp
jbe 0x45619f
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x98]
push eax
push str.______d__f__f__f__f__f__f__f__f__t_t_t_f__f__f__f__f__f__f__f
push esi
mov byte [esp + 0xa4], 0
call fcn.0058cfe8
lea ecx, [esp + 0xa4]
push ecx
call fcn.00450b80
add esp, 0x54
cmp eax, 0xf
je 0x4561ab
mov edx, dword [esp + 0xc]
fild dword [esp + 0xc]
imul eax, eax, 0x44
test edx, edx
jge 0x4560e2
fadd dword [0x5da2fc]
mov ecx, dword [esp + 0x10]
fstp dword [eax + 0x6350b8]
mov edx, dword [esp + 0x14]
mov dword [eax + 0x6350bc], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x6350c0], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + 0x6350c4], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x6350c8], edx
mov edx, dword [esp + 0x24]
mov dword [eax + 0x6350cc], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x6350d0], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + 0x6350d4], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x6350d8], edx
mov edx, dword [esp + 0x34]
mov dword [eax + 0x6350dc], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x6350e0], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 0x6350e4], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x6350e8], edx
mov edx, dword [esp + 0x44]
mov dword [eax + 0x6350ec], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x6350f0], edx
mov edx, dword [esp + 0x4c]
push 0xa
push esi
mov dword [eax + 0x6350f4], ecx
mov dword [eax + 0x6350f8], edx
call fcn.0058cb50
add esp, 8
inc eax
inc edi
cmp edi, ebp
mov esi, eax
jb 0x456044
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0x6c
ret
lea eax, [esp + 0x54]
push eax
push str.loadExperienceModifiers:Invalid_Experience_Level__s
call fcn.004cd600
add esp, 8
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x6c
ret
Function at 0x4a4d20
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
and dword [ebp - 4], 0
lea eax, [ebp - 4]
push eax
push 0x5ead08
push 0x80000002
call dword [sym.imp.advapi32.dll_RegOpenKeyA]
test eax, eax
jne 0x4a4d77
push esi
lea eax, [ebp + 0x14]
push eax
push dword [ebp + 0x10]
lea eax, [ebp + 0x10]
push eax
push 0
push dword [ebp + 0xc]
push dword [ebp - 4]
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
push dword [ebp - 4]
mov esi, eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
test esi, esi
pop esi
jne 0x4a4d77
mov eax, dword [ebp + 0x10]
cmp eax, dword [ebp + 8]
jne 0x4a4d77
xor eax, eax
inc eax
jmp 0x4a4d79
xor eax, eax
leave
ret 0x10

Function at 0x4a4da2
Capabilities:
Get system information on windows
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push edi
lea eax, [ebp - 4]
push eax
push 0x5ead08
push 0x80000002
call dword [sym.imp.advapi32.dll_RegOpenKeyA]
xor edi, edi
test eax, eax
jne 0x4a4e10
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push edi
push str.DisableMMX
push dword [ebp - 4]
mov dword [ebp - 8], 4
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
test eax, eax
jne 0x4a4e07
cmp dword [ebp - 0xc], 4
jne 0x4a4e07
cmp dword [ebp - 0x10], edi
je 0x4a4e07
push dword [ebp - 4]
call dword [sym.imp.advapi32.dll_RegCloseKey]
mov dword [0x617d54], edi
xor eax, eax
jmp 0x4a4e4f
push dword [ebp - 4]
call dword [sym.imp.advapi32.dll_RegCloseKey]
cmp dword [0x617d54], edi
jge 0x4a4e4a
lea eax, [ebp - 0x34]
push eax
mov dword [0x617d54], edi
call dword [sym.imp.kernel32.dll_GetSystemInfo]
cmp word [ebp - 0x34], di
jne 0x4a4e4a
cmp word [ebp - 0x14], 5
jb 0x4a4e4a
call fcn.004a4d7d
test eax, eax
je 0x4a4e4a
emms
mov dword [0x617d54], 1
mov eax, dword [0x617d54]
pop edi
leave
ret

Function at 0x4b5a20
Capabilities:
Create thread

Disassembly:
push ecx
push 0x5eb2f0
push 1
push 0
mov dword [esp + 0xc], 0
mov dword [0x641708], 0
mov dword [0x64170c], 0
call dword [sym.imp.kernel32.dll_CreateMutexA]
mov dword [0x641714], eax
lea eax, [esp]
push eax
push 0
push 0
push 0x4b5980
push 0
push 0
call dword [sym.imp.kernel32.dll_CreateThread]
push 0xf
push eax
mov dword [0x641710], eax
call dword [sym.imp.kernel32.dll_SetThreadPriority]
mov eax, dword [0x641714]
test eax, eax
je 0x4b5a87
push eax
call dword [sym.imp.kernel32.dll_ReleaseMutex]
mov eax, 1
pop ecx
ret
Function at 0x4c1200
Capabilities:
Get session user name

Disassembly:
sub esp, 0x108
push esi
push edi
lea eax, [esp + 8]
push eax
lea ecx, [esp + 0x10]
push ecx
mov dword [esp + 0x10], 0x101
call dword [sym.imp.advapi32.dll_GetUserNameA]
mov edx, dword [str.alex]
push str.NOMORE
push edx
call fcn.0058f295
add esp, 8
test eax, eax
je 0x4c126e
mov edi, 0x6197d0
mov esi, edi
nop
mov eax, dword [edi]
push eax
lea ecx, [esp + 0x10]
push ecx
call fcn.0058f295
add esp, 8
test eax, eax
je 0x4c1279
mov edx, dword [esi + 4]
add esi, 4
push str.NOMORE
push edx
mov edi, esi
call fcn.0058f295
add esp, 8
test eax, eax
jne 0x4c1240
pop edi
xor eax, eax
pop esi
add esp, 0x108
ret
pop edi
mov eax, 1
pop esi
add esp, 0x108
ret

Function at 0x4c19b0
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 8
push esi
mov esi, ecx
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4c1a0f
lea ecx, [esp + 4]
push ecx
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push ecx
push 0
push edx
push eax
mov dword [esp + 0x1c], 4
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
test eax, eax
je 0x4c19f6
mov dword [esi + 0x10], 0xfffffffc
xor eax, eax
pop esi
add esp, 8
ret 8
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [eax], ecx
mov eax, 1
mov dword [esi + 0x10], eax
pop esi
add esp, 8
ret 8
mov dword [esi + 0x10], 0xffffffff
xor eax, eax
pop esi
add esp, 8
ret 8

Function at 0x4c1a20
Capabilities:
Set registry value

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4c1a5e
mov edx, dword [esp + 8]
push 4
lea ecx, [esp + 0x10]
push ecx
push 4
push 0
push edx
push eax
call dword [sym.imp.advapi32.dll_RegSetValueExA]
test eax, eax
je 0x4c1a52
mov dword [esi + 0x10], 0xfffffffb
xor eax, eax
pop esi
ret 8
mov eax, 1
mov dword [esi + 0x10], eax
pop esi
ret 8
mov dword [esi + 0x10], 0xffffffff
xor eax, eax
pop esi
ret 8

Function at 0x4c1c30
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
sub esp, 8
push esi
mov esi, dword [sym.imp.kernel32.dll_QueryPerformanceCounter]
lea eax, [esp + 4]
push eax
call esi
test eax, eax
je 0x4c1c6d
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
mov ecx, eax
or ecx, edx
jne 0x4c1c75
lea edx, [esp + 4]
push edx
call esi
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
mov ecx, eax
or ecx, edx
je 0x4c1c53
pop esi
add esp, 8
ret
call dword [sym.imp.winmm.dll_timeGetTime]
xor edx, edx
pop esi
add esp, 8
ret
Function at 0x4c2390
Capabilities:
Create directory

Disassembly:
sub esp, 0x100
push ebx
push ebp
push edi
call fcn.004031a0
mov ebx, dword [esp + 0x110]
mov eax, ebx
xor edi, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c23b0
sub eax, edx
mov ebp, eax
test ebp, ebp
jle 0x4c23f3
lea eax, [esp + 0xc]
sub ebx, eax
push esi
lea esi, [esp + edi + 0x10]
mov al, byte [ebx + esi]
cmp al, 0x5c
mov byte [esi], al
jne 0x4c23e6
push 0
lea ecx, [esp + 0x14]
push ecx
mov byte [esi], 0
call dword [sym.imp.kernel32.dll_CreateDirectoryA]
mov byte [esi], 0x5c
inc edi
cmp edi, ebp
jl 0x4c23c6
mov ebx, dword [esp + 0x114]
pop esi
push 0
push ebx
call dword [sym.imp.kernel32.dll_CreateDirectoryA]
neg eax
pop edi
sbb eax, eax
pop ebp
neg eax
pop ebx
add esp, 0x100
ret
Function at 0x4c32f0
Capabilities:
Terminate process

Disassembly:
call fcn.004031a0
push 0x61
call fcn.004c0ce0
add esp, 4
cmp eax, 1
jne 0x4c332b
mov ecx, dword [0x665e4c]
or ecx, 4
push 0x61
mov dword [0x665e4c], ecx
call fcn.004c0d50
add esp, 4
cmp al, 0x68
jne 0x4c332b
or dword [0x665e4c], 0x80
push 0x63
call fcn.004c0ce0
add esp, 4
cmp eax, 1
jne 0x4c3341
or dword [0x665e4c], 2
push 0x64
call fcn.004c0ce0
add esp, 4
cmp eax, 1
jne 0x4c3357
or dword [0x665e4c], 1
push 0x65
call fcn.004c0ce0
add esp, 4
cmp eax, 1
jne 0x4c336d
and dword [0x665e4c], 0xfffffffe
push 0x6c
call fcn.004c0ce0
add esp, 4
cmp eax, 1
jne 0x4c3383
or dword [0x665e4c], 8
push 0x619a60
call fcn.004c0a90
mov ecx, dword [0x619b70]
add esp, 4
cmp ecx, eax
je 0x4c33a1
push 0
call fcn.0058cfa8
call fcn.004031a0
push str.InitialiseFileCaches
push 0x6af
push str.Catalog.cpp
call fcn.004bdd70
push 0xb
push 0x144
call fcn.004be2d0
add esp, 0x14
test eax, eax
je 0x4c33df
push 0x8000
mov ecx, eax
call fcn.004c2870
mov dword [0x665e48], eax
ret
xor eax, eax
mov dword [0x665e48], eax
ret
Function at 0x4c4820
Capabilities:
Get common file path

Disassembly:
sub esp, 0x204
push ebx
push edi
call fcn.004c38c0
push str.LoadPathList
push 0x8c
push str.Files.cpp
call fcn.004bdd70
push 0xa
push 0x400
call fcn.004be320
mov ebx, dword [esp + 0x224]
mov edi, eax
xor eax, eax
push 0x5dee04
mov dword [0x67d3b4], edi
mov ecx, 0x100
push ebx
rep stosd dword es:[edi], eax
call fcn.0058c6c3
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4c4967
lea eax, [esp + 8]
push eax
push 0
push edi
call fcn.004c4450
lea ecx, [esp + 0x14]
push 0x5e059c
push ecx
call fcn.0058f295
add esp, 0x14
test eax, eax
je 0x4c493a
push esi
xor esi, esi
cmp esi, 0x400
jge 0x4c4926
push str.LoadPathList
push 0xd2
push str.Files.cpp
call fcn.004bdd70
lea eax, [esp + 0x18]
add esp, 0xc
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c48d0
sub eax, edx
inc eax
push 0x2a
push eax
call fcn.004be320
mov edx, dword [0x67d3b4]
mov dword [esi + edx], eax
add esp, 8
lea ecx, [esp + 0xc]
mov edx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4c48f4
lea eax, [esp + 0xc]
push eax
push 0
push edi
add esi, 4
call fcn.004c4450
lea ecx, [esp + 0x18]
push 0x5e059c
push ecx
call fcn.0058f295
add esp, 0x14
test eax, eax
jne 0x4c48a7
jmp 0x4c4939
push 0x100
push ebx
push str.Number_of_paths_in_path_list_file___s__exceeds__d_nExcess_paths_will_be_ignored
call fcn.004cd600
add esp, 0xc
pop esi
push edi
call fcn.0058c643
mov edx, dword [0x67d3b4]
add esp, 4
pop edi
mov dword [0x67d3ac], edx
mov dword [0x619c8c], 0xffffffff
mov eax, 1
pop ebx
add esp, 0x204
ret
lea eax, [esp + 0x10c]
push eax
push 0x100
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryA]
lea ecx, [esp + 0x10c]
push ecx
push ebx
push str.Failed_to_load_path_list_file___s__in___s_
call fcn.004cd600
add esp, 0xc
pop edi
xor eax, eax
pop ebx
add esp, 0x204
ret
Function at 0x4c60b0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x4c60bb
xor eax, eax
ret
mov eax, dword [esp + 4]
push ebx
push esi
mov esi, dword [esp + 0x14]
cmp esi, 8
not eax
jb 0x4c61be
push edi
mov edi, esi
shr edi, 3
mov edx, eax
xor ebx, ebx
mov bl, byte [ecx]
and edx, 0xff
xor edx, ebx
mov ebx, eax
shr ebx, 8
mov eax, dword [edx*4 + 0x5ec344]
sub esi, 8
xor eax, ebx
inc ecx
mov edx, eax
xor ebx, ebx
mov bl, byte [ecx]
and edx, 0xff
xor edx, ebx
xor ebx, ebx
mov bl, byte [ecx + 1]
mov edx, dword [edx*4 + 0x5ec344]
shr eax, 8
xor edx, eax
inc ecx
mov eax, edx
and eax, 0xff
xor eax, ebx
xor ebx, ebx
mov bl, byte [ecx + 1]
mov eax, dword [eax*4 + 0x5ec344]
shr edx, 8
xor eax, edx
inc ecx
mov edx, eax
and edx, 0xff
xor edx, ebx
xor ebx, ebx
mov bl, byte [ecx + 1]
mov edx, dword [edx*4 + 0x5ec344]
shr eax, 8
xor edx, eax
inc ecx
mov eax, edx
and eax, 0xff
xor eax, ebx
xor ebx, ebx
mov bl, byte [ecx + 1]
mov eax, dword [eax*4 + 0x5ec344]
shr edx, 8
xor eax, edx
inc ecx
mov edx, eax
and edx, 0xff
xor edx, ebx
xor ebx, ebx
mov bl, byte [ecx + 1]
mov edx, dword [edx*4 + 0x5ec344]
shr eax, 8
xor edx, eax
inc ecx
mov eax, edx
and eax, 0xff
xor eax, ebx
xor ebx, ebx
mov bl, byte [ecx + 1]
mov eax, dword [eax*4 + 0x5ec344]
shr edx, 8
xor eax, edx
inc ecx
mov edx, eax
and edx, 0xff
xor edx, ebx
shr eax, 8
mov edx, dword [edx*4 + 0x5ec344]
xor eax, edx
inc ecx
dec edi
jne 0x4c60d6
pop edi
test esi, esi
je 0x4c61e0
mov edx, eax
xor ebx, ebx
mov bl, byte [ecx]
and edx, 0xff
xor edx, ebx
shr eax, 8
mov edx, dword [edx*4 + 0x5ec344]
xor eax, edx
inc ecx
dec esi
jne 0x4c61c2
pop esi
pop ebx
not eax
ret
Function at 0x4dafa0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [esp + 0xc]
sub esp, 0x98
test eax, eax
je 0x4db1de
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x4db1de
mov ecx, dword [0x680038]
push esi
push edi
push 0
call fcn.00537c00
push fcn.005b6bc0
push 5
mov esi, eax
push 0x1c
lea eax, [esp + 0x20]
push eax
call fcn.0059ee00
fild dword [esp + 0xa4]
fild dword [esp + 0xa8]
mov ecx, dword [0x68b180]
fild dword [esp + 0xac]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], ecx
fadd st(2)
fild dword [esp + 0xb0]
fadd st(2)
fld st(3)
fstp dword [esp + 8]
mov edx, dword [esp + 8]
fld st(2)
mov dword [esp + 0x14], edx
fstp dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], eax
fld st(1)
fstp dword [esp + 8]
mov eax, dword [esp + 8]
mov edx, ecx
fld st(2)
fstp dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
fxch st(1)
mov dword [esp + 0x30], eax
fstp dword [esp + 8]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 8]
fst dword [esp + 0xc]
mov eax, edx
mov dword [esp + 0x10], edx
fld st(2)
fstp dword [esp + 8]
mov dword [esp + 0x10], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0xc]
fstp dword [esp + 0xc]
mov dword [esp + 0x4c], ecx
fxch st(1)
mov ecx, eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x50], edx
mov edx, dword [esp + 8]
fstp dword [esp + 8]
mov eax, dword [esp + 8]
mov dword [esp + 0x84], eax
fstp dword [esp + 0xc]
fld dword [0x61c350]
xor eax, eax
mov ah, byte [esp + 0xc0]
fst dword [esp + 0x90]
mov dword [esp + 0x10], ecx
fst dword [esp + 0x74]
mov dword [esp + 0x68], edx
fst dword [esp + 0x58]
mov edx, ecx
fst dword [esp + 0x3c]
mov dword [esp + 0x70], ecx
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x88], ecx
mov al, byte [esp + 0xb4]
movzx ecx, byte [esp + 0xb8]
mov dword [esp + 0x10], edx
mov dword [esp + 0x8c], edx
shl eax, 8
movzx edx, byte [esp + 0xbc]
or eax, ecx
mov ecx, dword [0x680038]
shl eax, 8
or eax, edx
mov dword [esp + 0x94], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x4db13d
push 4
jmp 0x4db13f
push 1
call fcn.00539300
mov ecx, dword [0x680038]
push 0
mov edi, eax
call fcn.00537aa0
mov ecx, dword [0x680038]
push 0
call fcn.00537970
mov ecx, dword [0x680038]
push 0
call fcn.00537b10
mov ecx, dword [0x680038]
push 0
call fcn.00537b40
mov eax, dword [esp + 0xc4]
test eax, eax
mov ecx, dword [0x680038]
push 0x144
je 0x4db1ab
call fcn.00536970
mov ecx, dword [0x680038]
push 0x1c
lea eax, [esp + 0x18]
push eax
push 2
call fcn.0053d650
jmp 0x4db1c4
call fcn.00536970
push 0x1c
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [0x680038]
push 4
call fcn.0053bd70
mov ecx, dword [0x680038]
push edi
call fcn.00539300
mov ecx, dword [0x680038]
push esi
call fcn.00537c00
pop edi
pop esi
add esp, 0x98
ret 0x28
Function at 0x4fdf30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x4c
push esi
mov esi, ecx
jmp 0x4fdf40
fld dword [esi + 8]
mov ecx, dword [0x680564]
fld dword [esi + 0xc]
mov eax, dword [ecx + 0xc]
fsub st(1)
mov dword [esp + 4], eax
fld dword [esi + 0x10]
fsub st(2)
fstp dword [esp + 0x18]
fld dword [esi + 0x14]
fsub st(2)
fstp dword [esp + 0x1c]
fld dword [esi + 8]
fld st(0)
fadd dword [esi + 0xc]
fstp dword [esp + 8]
fld st(0)
fadd dword [esi + 0x10]
fstp dword [esp + 0xc]
fadd dword [esi + 0x14]
fstp dword [esp + 0x10]
fsub dword [esp + 4]
fstp st(1)
fld dword [esp + 0x18]
fsub dword [esp + 4]
fld dword [esp + 0x1c]
fsub dword [esp + 4]
fstp dword [esp + 0x4c]
fxch st(1)
fadd dword [0x5e1158]
fstp dword [esp + 0x20]
fadd dword [0x5e1158]
fld dword [esp + 0x4c]
fadd dword [0x5e1158]
fstp dword [esp + 0x28]
fld dword [ecx]
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 1
jne 0x4fe0cf
fcomp dword [ecx + 4]
fnstsw ax
test ah, 0x41
jp 0x4fe0d1
fld dword [ecx + 8]
fcomp dword [esp + 0x28]
fnstsw ax
test ah, 1
jne 0x4fe0d1
fld dword [ecx + 0xc]
fld dword [esp + 8]
fadd st(1)
fld dword [esp + 0xc]
fadd st(2)
fstp dword [esp + 0x30]
fld dword [esp + 0x10]
fadd st(2)
fstp dword [esp + 0x34]
fadd dword [0x5e1158]
fstp st(1)
fld dword [esp + 0x30]
fadd dword [0x5e1158]
fstp dword [esp + 0x3c]
fld dword [esp + 0x34]
fadd dword [0x5e1158]
fstp dword [esp + 0x40]
fcomp dword [ecx]
fnstsw ax
test ah, 1
jne 0x4fe0d1
fld dword [ecx + 4]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jp 0x4fe0d1
fld dword [ecx + 8]
fcomp dword [esp + 0x40]
fnstsw ax
test ah, 0x41
jp 0x4fe0d1
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4fe0bb
call fcn.004fdf30
mov ecx, dword [esi + 4]
add ecx, 0x18
call fcn.004fdf30
mov ecx, dword [esi + 4]
add ecx, 0x30
call fcn.004fdf30
mov ecx, dword [esi + 4]
add ecx, 0x48
call fcn.004fdf30
mov ecx, dword [esi + 4]
add ecx, 0x60
call fcn.004fdf30
mov ecx, dword [esi + 4]
add ecx, 0x78
call fcn.004fdf30
mov ecx, dword [esi + 4]
add ecx, 0x90
call fcn.004fdf30
mov esi, dword [esi + 4]
add esi, 0xa8
jmp 0x4fdf40
mov eax, dword [0x68050c]
test eax, eax
je 0x4fe0d1
push esi
call eax
add esp, 4
pop esi
add esp, 0x4c
ret
fstp st(0)
pop esi
add esp, 0x4c
ret
Function at 0x562b00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x58
push ebx
push esi
mov esi, dword [esp + 0x64]
push esi
mov ebx, ecx
call fcn.004c4ae0
add esp, 4
cmp eax, 1
jne 0x562caf
push 0xf
push 0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x14]
push ecx
push esi
mov dword [esp + 0x1c], 0
call fcn.004c49e0
add esp, 0x14
test eax, eax
jne 0x562b48
pop esi
pop ebx
add esp, 0x58
ret 4
mov esi, dword [ebx + 0x34]
test esi, esi
push edi
je 0x562b76
mov edi, dword [esi + 0x24]
push str.CAnim::ReadAnimEvents
push 0xc2
push str.AnimManager.cpp
call fcn.004bdd70
push esi
call fcn.004be370
add esp, 0x10
test edi, edi
mov esi, edi
jne 0x562b50
mov edx, dword [esp + 0xc]
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x6c]
push 0x5db08c
push ecx
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x2c], 0
mov dword [esp + 0x74], edx
call fcn.004c0e10
lea edx, [ebx + 0x30]
push edx
lea eax, [esp + 0x78]
push 0x5db08c
push eax
call fcn.004c0e10
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x84]
push 0x5db08c
push edx
call fcn.004c0e10
mov eax, dword [esp + 0x38]
add esp, 0x24
xor esi, esi
test eax, eax
jle 0x562c8d
jmp 0x562be0
xor eax, eax
mov ecx, 0xa
lea edi, [esp + 0x3c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x6c]
push 0x5db08c
push ecx
call fcn.004c0e10
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x78]
push 0x5eb3ac
push eax
call fcn.004c0e10
mov eax, dword [esp + 0x28]
add esp, 0x18
dec eax
jne 0x562c64
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x74]
push str._f_f_f
push ecx
call fcn.004c0e10
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
add esp, 0x14
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x3c]
push ecx
mov ecx, ebx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
call fcn.00562a80
mov eax, dword [esp + 0x14]
inc esi
cmp esi, eax
jl 0x562be0
push str.CAnim::ReadAnimEvents
push 0xed
push str.AnimManager.cpp
call fcn.004bdd70
mov edx, dword [esp + 0x18]
push edx
call fcn.004be3b0
add esp, 0x10
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x58
ret 4