joyce8/EMBER2024-capa huggingface dataset:
Function at 0x404090
Capabilities:
Create thread

Disassembly:
push esi
push edi
mov edi, dword [esp + 0x10]
mov esi, ecx
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push edi
call edx
test eax, eax
mov dword [esi + 0xd0], eax
jne 0x4040b8
mov dword [esi + 0x4c], 0x18
pop edi
xor eax, eax
pop esi
ret 8
mov ecx, dword [esp + 0xc]
mov eax, dword [esi]
mov edx, dword [eax + 0x58]
push 0x80c8
push ecx
mov ecx, esi
mov dword [esi + 0xd4], edi
call edx
test eax, eax
je 0x4040b1
push 0
push 0
push 1
push 0
call dword [0x4c9200]
mov dword [esi + 0x2c], eax
lea eax, [esi + 8]
push eax
push 0
push esi
push 0x403cd0
push 0
push 0
call fcn.004aec05
add esp, 0x18
test eax, eax
mov dword [esi + 4], eax
jne 0x40411c
mov edx, dword [esi]
mov eax, dword [edx + 0x1c]
mov ecx, esi
call eax
pop edi
mov dword [esi + 0x4c], 0x12
xor eax, eax
pop esi
ret 8
push 1
push eax
call dword [0x4c91e8]
pop edi
mov dword [esi + 0x4c], 0
mov eax, 1
pop esi
ret 8

Function at 0x4054e4
Capabilities:
Create thread

Disassembly:
mov eax, dword [esp + 8]
push esi
mov esi, ecx
mov ecx, dword [esp + 8]
push eax
push ecx
mov ecx, esi
call fcn.00404090
test eax, eax
je 0x405541
push 0
push 0
push 0
push 0
call dword [0x4c9200]
lea edx, [esi + 0x118]
push edx
push 0
push esi
push 0x405c10
push 0
push 0
mov dword [esi + 0x110], eax
call fcn.004aec05
add esp, 0x18
test eax, eax
mov dword [esi + 0x114], eax
jne 0x405547
mov eax, dword [esi]
mov edx, dword [eax + 0x1c]
mov ecx, esi
call edx
mov dword [esi + 0x4c], 0x12
xor eax, eax
pop esi
ret 8
push 1
push eax
call dword [0x4c91e8]
mov dword [esi + 0x4c], 0
mov eax, 1
pop esi
ret 8

Function at 0x405e70
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c4102
mov eax, dword fs:[0]
push eax
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 4]
mov dword fs:[0], eax
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], ecx
mov dword [eax + 0x4c], ecx
mov dword [eax + 0x50], ecx
mov dword [eax + 0x54], ecx
mov dword [eax + 0x5c], ecx
mov dword [eax + 0x60], ecx
mov dword [eax + 0x64], ecx
mov dword [eax + 0x6c], ecx
mov dword [eax + 0x70], ecx
mov dword [eax + 0x74], ecx
mov dword [eax + 0x7c], ecx
mov dword [eax + 0x80], ecx
mov dword [eax + 0x84], ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 0x38], ecx
mov dword [eax + 0x3c], ecx
mov dword [eax + 0x40], ecx
mov dword [eax + 0x44], ecx
mov dword [eax + 0x8c], ecx
mov dword [eax + 0x94], ecx
mov dword [eax + 0x98], ecx
mov dword [eax + 0x9c], ecx
mov dword [eax + 0xa0], ecx
mov dword [eax + 0xac], ecx
mov dword [eax + 0x88], ecx
mov ecx, dword [esp + 4]
mov dword fs:[0], ecx
pop ecx
add esp, 0xc
ret 4
Function at 0x40ad90
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c3fbc
mov eax, dword fs:[0]
push eax
push ebx
push esi
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 0xc]
mov dword fs:[0], eax
mov esi, dword [esp + 0x1c]
xor ebx, ebx
mov eax, 0xf
mov dword [esi + 4], ebx
mov dword [esi + 8], eax
mov dword [esp + 0x14], ebx
mov dword [esi], vtable.CAnimeBase.0
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ebx
mov byte [esi + 0x10], bl
push method.CBaseRenderer.2.virtual_80
push 0x40ad60
push 0x140
push 0x2c
lea eax, [esi + 0x34]
mov byte [esp + 0x24], 1
push eax
mov dword [esi + 0x30], ebx
call fcn.004aecb3
mov byte [esp + 0x14], 2
mov dword [esi + 8], 0x14
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov ecx, dword [0x514f64]
mov edx, dword [ecx]
mov eax, dword [edx]
push esi
call eax
mov eax, esi
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
add esp, 0xc
ret 4
Function at 0x4150a0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c6fd8
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x4fbbfc]
xor eax, esp
mov dword [esp + 0x30], eax
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 0x3c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x4c]
push esi
call fcn.00489050
xor ecx, ecx
mov dword [esp + 0xc], vtable.IFlag.0
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x1c], cl
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
sub esp, 0x28
mov dword [esp + 0x6c], ecx
mov eax, esp
mov dword [esp + 0x30], esp
lea ecx, [esp + 0x34]
push ecx
push eax
call fcn.00405cd0
mov ecx, esi
call fcn.00488540
cmp dword [esp + 0x30], 0x10
mov dword [esp + 0xc], vtable.IFlag.0
jb 0x415135
mov edx, dword [esp + 0x1c]
push edx
call fcn.004ae4d1
add esp, 4
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.004ae38c
add esp, 0x44
ret 4

Function at 0x415370
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c65e0
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x4fbbfc]
xor eax, esp
mov dword [esp + 0x54], eax
push esi
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
lea eax, [esp + 0x34]
push eax
mov esi, ecx
call fcn.004885b0
lea ecx, [esp + 0xc]
push ecx
mov ecx, esi
mov dword [esp + 0x6c], 0
call fcn.004885b0
sub esp, 0x28
mov edx, esp
mov dword [esp + 0x30], esp
lea eax, [esp + 0x5c]
push eax
push edx
lea edx, [esp + 0x3c]
mov byte [esp + 0x98], 1
call fcn.00414f40
mov ecx, esi
call fcn.00488540
mov esi, 0x10
cmp dword [esp + 0x30], esi
mov dword [esp + 0xc], vtable.IFlag.0
jb 0x415406
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.004ae4d1
add esp, 4
cmp dword [esp + 0x58], esi
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], 0
mov byte [esp + 0x1c], 0
mov dword [esp + 0x34], vtable.IFlag.0
jb 0x415436
mov edx, dword [esp + 0x44]
push edx
call fcn.004ae4d1
add esp, 4
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.004ae38c
add esp, 0x64
ret
Function at 0x415460
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c65e0
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x4fbbfc]
xor eax, esp
mov dword [esp + 0x54], eax
push esi
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
lea eax, [esp + 0x34]
push eax
mov esi, ecx
call fcn.004885b0
lea ecx, [esp + 0xc]
push ecx
mov ecx, esi
mov dword [esp + 0x6c], 0
call fcn.004885b0
sub esp, 0x28
mov edx, esp
mov dword [esp + 0x30], esp
lea eax, [esp + 0x5c]
push eax
push edx
lea edx, [esp + 0x3c]
mov byte [esp + 0x98], 1
call fcn.00414f80
mov ecx, esi
call fcn.00488540
mov esi, 0x10
cmp dword [esp + 0x30], esi
mov dword [esp + 0xc], vtable.IFlag.0
jb 0x4154f6
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.004ae4d1
add esp, 4
cmp dword [esp + 0x58], esi
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], 0
mov byte [esp + 0x1c], 0
mov dword [esp + 0x34], vtable.IFlag.0
jb 0x415526
mov edx, dword [esp + 0x44]
push edx
call fcn.004ae4d1
add esp, 4
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.004ae38c
add esp, 0x64
ret
Function at 0x4184f0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c5328
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x4fbbfc]
xor eax, esp
mov dword [esp + 0x2c], eax
push esi
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 0x38]
mov dword fs:[0], eax
mov dword [esp + 8], vtable.CFile.0
mov dword [esp + 0xc], 0
lea esi, [esp + 0x14]
mov dword [esp + 0x40], 0
call fcn.0048fb30
cmp dword [esp + 0x30], 0x10
mov eax, dword [esp + 0x1c]
jae 0x41854f
lea eax, [esp + 0x1c]
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push eax
call dword [0x4c918c]
cmp eax, 0xffffffff
mov dword [esp + 0xc], eax
jne 0x41857b
mov dword [esp + 0xc], 0
jmp 0x418593
push 0
lea ecx, [esp + 0x14]
push ecx
push 0x539
push 0x4ff528
push eax
call dword [0x4c90fc]
lea ecx, [esp + 0x14]
call fcn.0048c410
lea edx, [esp + 0xc]
mov dword [esp + 0x40], 0xffffffff
push edx
lea ecx, [esp + 0xc]
mov dword [esp + 0xc], vtable.CFile.0
call dword [0x4db8c8]
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.004ae38c
add esp, 0x3c
ret
Function at 0x41bf10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4c6510
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x4fbbfc]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov edi, ecx
call fcn.00406030
mov esi, dword [eax + 0x38]
lea eax, [esp + 0x44]
push eax
mov ecx, edi
call fcn.004885b0
xor ebx, ebx
mov dword [esp + 0x78], ebx
mov eax, dword [esi + 0x20]
cmp eax, ebx
mov ebp, dword [esp + 0x4c]
je 0x41bf72
mov ecx, dword [esi + 0x24]
sub ecx, eax
cmp ebp, ecx
jb 0x41bf77
call fcn.004af167
mov eax, dword [esi + 0x20]
add eax, ebp
movzx eax, byte [eax]
mov esi, vtable.IFlag.0
mov ebp, 0xf
mov dword [esp + 0x1c], esi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], eax
sub esp, 0x28
mov ecx, esp
mov dword [esp + 0x40], esp
lea edx, [esp + 0x44]
push edx
push ecx
mov byte [esp + 0xa8], 1
call fcn.00405cd0
mov ecx, edi
call fcn.00488540
mov edi, 0x10
cmp dword [esp + 0x40], edi
mov dword [esp + 0x1c], esi
jb 0x41bfe0
mov eax, dword [esp + 0x2c]
push eax
call fcn.004ae4d1
add esp, 4
cmp dword [esp + 0x68], edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
mov dword [esp + 0x44], esi
jb 0x41c003
mov ecx, dword [esp + 0x54]
push ecx
call fcn.004ae4d1
add esp, 4
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.004ae38c
add esp, 0x68
ret
Function at 0x41c030
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4c6510
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x4fbbfc]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov edi, ecx
call fcn.00406030
mov esi, dword [eax + 0x38]
lea eax, [esp + 0x44]
push eax
mov ecx, edi
call fcn.004885b0
xor ebx, ebx
mov dword [esp + 0x78], ebx
mov ecx, dword [esi + 0x30]
cmp ecx, ebx
mov ebp, dword [esp + 0x4c]
je 0x41c094
mov eax, dword [esi + 0x34]
sub eax, ecx
sar eax, 1
cmp ebp, eax
jb 0x41c099
call fcn.004af167
mov ecx, dword [esi + 0x30]
lea eax, [ecx + ebp*2]
movzx eax, word [eax]
mov esi, vtable.IFlag.0
mov ebp, 0xf
mov dword [esp + 0x1c], esi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], eax
sub esp, 0x28
mov edx, esp
mov dword [esp + 0x40], esp
lea eax, [esp + 0x44]
push eax
push edx
mov byte [esp + 0xa8], 1
call fcn.00405cd0
mov ecx, edi
call fcn.00488540
mov edi, 0x10
cmp dword [esp + 0x40], edi
mov dword [esp + 0x1c], esi
jb 0x41c103
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004ae4d1
add esp, 4
cmp dword [esp + 0x68], edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
mov dword [esp + 0x44], esi
jb 0x41c126
mov edx, dword [esp + 0x54]
push edx
call fcn.004ae4d1
add esp, 4
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.004ae38c
add esp, 0x68
ret
Function at 0x41c4e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4c6510
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x4fbbfc]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov edi, ecx
call fcn.00406030
mov esi, dword [eax + 0x38]
lea eax, [esp + 0x44]
push eax
mov ecx, edi
call fcn.004885b0
xor ebx, ebx
mov dword [esp + 0x78], ebx
mov eax, dword [esi + 0x40]
cmp eax, ebx
mov ebp, dword [esp + 0x4c]
je 0x41c542
mov ecx, dword [esi + 0x44]
sub ecx, eax
cmp ebp, ecx
jb 0x41c547
call fcn.004af167
mov eax, dword [esi + 0x40]
add eax, ebp
movzx eax, byte [eax]
mov esi, vtable.IFlag.0
mov ebp, 0xf
mov dword [esp + 0x1c], esi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], eax
sub esp, 0x28
mov ecx, esp
mov dword [esp + 0x40], esp
lea edx, [esp + 0x44]
push edx
push ecx
mov byte [esp + 0xa8], 1
call fcn.00405cd0
mov ecx, edi
call fcn.00488540
mov edi, 0x10
cmp dword [esp + 0x40], edi
mov dword [esp + 0x1c], esi
jb 0x41c5b0
mov eax, dword [esp + 0x2c]
push eax
call fcn.004ae4d1
add esp, 4
cmp dword [esp + 0x68], edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
mov dword [esp + 0x44], esi
jb 0x41c5d3
mov ecx, dword [esp + 0x54]
push ecx
call fcn.004ae4d1
add esp, 4
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.004ae38c
add esp, 0x68
ret

Function at 0x41d5a0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c6fa8
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x4fbbfc]
xor eax, esp
mov dword [esp + 0x28], eax
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
lea eax, [esp + 4]
push eax
mov ecx, esi
call fcn.004885b0
push esi
mov eax, edi
mov dword [esp + 0x3c], 0
call fcn.00489050
cmp dword [esp + 0xc], 0
jne 0x41d5fb
mov edx, dword [edi]
push eax
mov eax, dword [edx + 0x14]
mov ecx, edi
call eax
cmp dword [esp + 0x28], 0x10
mov dword [esp + 4], vtable.IFlag.0
jb 0x41d617
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004ae4d1
add esp, 4
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.004ae38c
add esp, 0x38
ret
Function at 0x41d920
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c6188
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push esi
push edi
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
call fcn.00406030
mov esi, dword [eax + 0x38]
mov eax, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x40]
call fcn.00489050
mov edi, eax
mov eax, dword [esi + 0x50]
test eax, eax
je 0x41d97f
mov ecx, dword [esi + 0x54]
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0x30
ja 0x41d984
call fcn.004af167
mov eax, dword [esi + 0x50]
add eax, 0x780
lea esi, [esp + 0xc]
mov dword [eax + 4], 0
mov dword [eax + 8], edi
call fcn.0042a420
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x3c]
mov ecx, dword [ecx + 0x40]
mov dword [esp + 0xc], vtable.CFuncSave.0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], 0
call fcn.00435410
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x28
ret 8

Function at 0x422400
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4c80a8
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov esi, ecx
xor edi, edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x30], edi
mov ecx, dword [esi + 0x88]
mov eax, dword [ecx]
mov edx, dword [eax + 0xac]
push edi
push 0xff
call edx
mov ecx, dword [esi + 0x88]
mov eax, dword [ecx]
mov edx, dword [eax + 0xb8]
push 0xc
call edx
mov eax, dword [esi + 0x88]
lea ebx, [esp + 0x10]
lea esi, [esp + 0x14]
mov dword [esp + 0x10], eax
call fcn.0040a920
mov ecx, esi
push ecx
call fcn.0048b2e0
mov eax, esi
call fcn.004408e0
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x42249f
push eax
call fcn.004ae4d1
add esp, 4
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4290c0
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4c80a8
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov edi, ecx
xor esi, esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], esi
mov ecx, dword [edi + 0x88]
mov eax, dword [ecx]
mov edx, dword [eax + 0x98]
push 1
call edx
mov ecx, dword [edi + 0x88]
mov eax, dword [ecx]
mov edx, dword [eax + 0xac]
push 0xff
push esi
call edx
mov ecx, dword [edi + 0x88]
mov eax, dword [ecx]
mov edx, dword [eax + 0xb8]
push 0xc
call edx
mov eax, dword [edi + 0x88]
lea ebx, [esp + 0x10]
lea esi, [esp + 0x14]
mov dword [esp + 0x10], eax
call fcn.0040a920
mov ecx, esi
push ecx
call fcn.0048b2e0
mov edi, dword [edi + 0x88]
mov edx, dword [edi]
mov eax, dword [edx + 0xe8]
push 0xff
mov ecx, edi
call eax
call fcn.00425210
test eax, eax
je 0x429190
mov edx, dword [eax]
push 0x258
push 0x320
push 0
mov ecx, eax
mov eax, dword [edx + 8]
push 0
call eax
lea eax, [esp + 0x14]
call fcn.004408e0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4291aa
push eax
call fcn.004ae4d1
add esp, 4
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x42a620
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c5cb8
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x4fbbfc]
xor eax, esp
mov dword [esp + 0x2c], eax
push esi
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 0x3c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x4c]
lea esi, [esp + 0xc]
call fcn.0042a480
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x1c]
mov esi, 0x10
cmp dword [esp + 0x30], esi
jae 0x42a677
lea eax, [esp + 0x1c]
mov ecx, dword [0x514f68]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0xc]
call eax
cmp dword [esp + 0x30], esi
mov dword [esp + 0xc], vtable.IFlag.0
jb 0x42a6a0
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.004ae4d1
add esp, 4
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.004ae38c
add esp, 0x40
ret 4
Function at 0x42ad60
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c6ec8
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x4fbbfc]
xor eax, esp
mov dword [esp + 0x2c], eax
push esi
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 0x38]
mov dword fs:[0], eax
mov eax, dword [edi + 8]
mov esi, dword [eax + 0x3c]
call fcn.00414c70
xor ecx, ecx
mov esi, vtable.IFlag.0
mov dword [esp + 0xc], esi
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x1c], cl
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
sub esp, 0x28
mov dword [esp + 0x68], ecx
mov ecx, esp
mov dword [esp + 0x30], esp
lea edx, [esp + 0x34]
push edx
push ecx
call fcn.00405cd0
mov ecx, dword [edi + 8]
call fcn.00488540
cmp dword [esp + 0x30], 0x10
mov dword [esp + 0xc], esi
jb 0x42adf5
mov eax, dword [esp + 0x1c]
push eax
call fcn.004ae4d1
add esp, 4
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.004ae38c
add esp, 0x3c
ret

Function at 0x42bc00
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c7616
mov eax, dword fs:[0]
push eax
sub esp, 0x144
mov eax, dword [0x4fbbfc]
xor eax, esp
mov dword [esp + 0x13c], eax
push ebx
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 0x14c]
mov dword fs:[0], eax
lea eax, [esp + 0x34]
push eax
call fcn.0048a1f0
xor ebx, ebx
mov dword [esp + 0x34], vtable.CTitle.0
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0x140], ebx
mov dword [esp + 0x13c], ebx
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x158], ebx
call fcn.0048a3e0
sub esp, 0x28
mov edx, esp
mov dword [esp + 0x30], esp
push eax
push edx
mov byte [esp + 0x184], 1
call fcn.00405cd0
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 8]
call fcn.00488540
cmp dword [esp + 0x30], 0x10
mov dword [esp + 0xc], vtable.IFlag.0
jb 0x42bcc7
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.004ae4d1
add esp, 4
lea ecx, [esp + 0x34]
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
mov dword [esp + 0x154], 0xffffffff
call fcn.00490c00
mov ecx, dword [esp + 0x14c]
mov dword fs:[0], ecx
pop ecx
pop ebx
mov ecx, dword [esp + 0x13c]
xor ecx, esp
call fcn.004ae38c
add esp, 0x150
ret 4
Function at 0x42d0f0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c6dc6
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
mov eax, dword [0x4fbbfc]
xor eax, esp
mov dword [esp + 0xc0], eax
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 0xcc]
mov dword fs:[0], eax
lea eax, [esp + 0x34]
push eax
call fcn.0048a1f0
mov dword [esp + 0x34], vtable.CMusicMode.0
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0xd8], 0
call fcn.0048a3e0
sub esp, 0x28
mov edx, esp
mov dword [esp + 0x30], esp
push eax
push edx
mov byte [esp + 0x104], 1
call fcn.00405cd0
mov eax, dword [esp + 0x104]
mov ecx, dword [eax + 8]
call fcn.00488540
cmp dword [esp + 0x30], 0x10
mov dword [esp + 0xc], vtable.IFlag.0
jb 0x42d195
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.004ae4d1
add esp, 4
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], vtable.CMusicMode.0
call fcn.0048a360
mov ecx, dword [esp + 0xcc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.004ae38c
add esp, 0xd4
ret 4

Function at 0x42d450
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c6d28
mov eax, dword fs:[0]
push eax
sub esp, 0x11c
mov eax, dword [0x4fbbfc]
xor eax, esp
mov dword [esp + 0x114], eax
push esi
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 0x124]
mov dword fs:[0], eax
lea esi, [esp + 0x34]
call fcn.0047c2c0
lea eax, [esp + 0xc]
push eax
mov ecx, esi
mov dword [esp + 0x130], 0
call fcn.0047c4b0
sub esp, 0x28
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
push ecx
mov byte [esp + 0x15c], 1
call fcn.00405cd0
mov edx, dword [esp + 0x15c]
mov ecx, dword [edx + 8]
call fcn.00488540
cmp dword [esp + 0x30], 0x10
mov dword [esp + 0xc], vtable.IFlag.0
jb 0x42d4eb
mov eax, dword [esp + 0x1c]
push eax
call fcn.004ae4d1
add esp, 4
lea ecx, [esp + 0x34]
push ecx
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], 0
mov byte [esp + 0x20], 0
mov dword [esp + 0x130], 0xffffffff
call fcn.0047c340
mov ecx, dword [esp + 0x124]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [esp + 0x114]
xor ecx, esp
call fcn.004ae38c
add esp, 0x128
ret 4

Function at 0x42ea10
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4c6bf8
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x4fbbfc]
xor eax, esp
mov dword [esp + 0x54], eax
push esi
mov eax, dword [0x4fbbfc]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
lea esi, [esp + 0x34]
mov eax, edi
call fcn.0042a480
lea esi, [esp + 0xc]
mov eax, edi
mov dword [esp + 0x68], 0
call fcn.0042a480
cmp dword [esp + 0x30], 0x10
mov esi, dword [eax + 8]
mov dword [esp + 0xc], vtable.IFlag.0
jb 0x42ea7c
mov eax, dword [esp + 0x1c]
push eax
call fcn.004ae4d1
add esp, 4
cmp dword [esp + 0x58], 0x10
mov edx, dword [esp + 0x44]
jae 0x42ea8b
lea edx, [esp + 0x44]
push esi
mov ecx, edi
call fcn.0042ead0
cmp dword [esp + 0x58], 0x10
mov dword [esp + 0x34], vtable.IFlag.0
jb 0x42eaaf
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004ae4d1
add esp, 4
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.004ae38c
add esp, 0x64
ret