joyce8/EMBER2024-capa huggingface dataset:
Function at 0x52b280
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x6fd9e2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
push ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0xc], esi
call fcn.006d07a6
lea edi, [esi + 0x8c]
xor ebx, ebx
mov dword [esp + 0x28], ebx
mov dword [edi], ebx
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x34]
push eax
push ecx
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 1
mov dword [esi], vtable.t_script_event_properties_general_page.0
call fcn.0044d1d0
mov ecx, dword [esp + 0x30]
push edi
lea edx, [esp + 0x14]
mov byte [esp + 0x2c], 2
call fcn.004d8340
push 1
lea ecx, [esp + 0x14]
call fcn.00407e50
mov ecx, dword [esi + 0x60]
mov edi, dword [edi]
or ecx, 1
mov dword [esi + 0x68], edi
mov dword [esi + 0x60], ecx
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x28], 4
cmp edi, ebx
je 0x52b313
lea eax, [edi + 0x48]
jmp 0x52b315
xor eax, eax
lea ecx, [esi + 0x9c]
push ebx
mov dword [esi + 0x94], eax
mov byte [esi + 0x98], bl
call fcn.0052aec0
push fcn.006d1937
push fcn.0049d350
push 7
lea edx, [esi + 0xa4]
push 0x3c
push edx
mov dword [esi + 0xa0], ebx
call fcn.00660c33
push fcn.006d1937
push fcn.0049d350
push 2
lea eax, [esi + 0x248]
push 0x3c
push eax
mov byte [esp + 0x3c], 5
call fcn.00660c33
mov dword [esi], vtable.t_ownable_event_properties_general_page_class_t_script_event_properties_general_page_.0
mov ecx, dword [esp + 0x38]
cmp edi, ebx
mov dword [esp + 0x28], 6
mov dword [esi + 0x2c0], ecx
je 0x52b38d
lea eax, [edi + 0x30]
jmp 0x52b38f
xor eax, eax
mov dl, byte [esp + 0x34]
mov dword [esi + 0x2c4], eax
mov byte [esi + 0x2c8], bl
mov byte [esi + 0x2cc], dl
mov dword [esi + 0x2d0], ebx
mov dword [esi + 0x2d4], ebx
mov dword [esi + 0x2d8], ebx
lea edi, [esi + 0x2dc]
mov byte [esp + 0x28], 7
mov ecx, edi
call fcn.006bf10c
mov ecx, dword [esp + 0x20]
mov dword [edi], vtable.CEdit.0
mov dword [esi], vtable.t_named_event_properties_general_page_class_t_ownable_event_properties_general_page_class_t_script_event_properties_general_page__.0
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x20
ret 0x10
Function at 0x535f60
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x6ff5f6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
push ebp
push esi
mov ebp, ecx
push edi
mov dword [esp + 0xc], ebp
call fcn.006d07a6
mov eax, dword [esp + 0x30]
xor edi, edi
mov dword [ebp + 0x8c], eax
mov dword [esp + 0x28], edi
mov dword [ebp + 0x90], edi
mov byte [esp + 0x28], 1
mov byte [ebp + 0x94], 0
lea eax, [ebp + 0xac]
mov ecx, 6
mov dword [eax], edi
sub eax, 4
dec ecx
jne 0x535fb3
lea eax, [ebp + 0xc4]
mov ecx, 6
mov dword [eax], edi
sub eax, 4
dec ecx
jne 0x535fc6
lea esi, [ebp + 0xc8]
push ebx
mov ecx, esi
call fcn.006bf10c
mov dword [esi], vtable.CComboBox.0
lea esi, [ebp + 0x104]
mov byte [esp + 0x2c], 2
mov ecx, esi
call fcn.006bf10c
mov dword [esi], vtable.CComboBox.0
lea esi, [ebp + 0x140]
mov byte [esp + 0x2c], 3
mov ecx, esi
call fcn.006bf10c
mov dword [esi], vtable.CCheckListBox.0
mov dword [esi + 0x3c], edi
mov dword [esi + 0x40], edi
lea esi, [ebp + 0x184]
mov byte [esp + 0x2c], 4
mov ecx, esi
call fcn.006bf10c
mov dword [esi], vtable.CCheckListBox.0
mov dword [esi + 0x3c], edi
mov dword [esi + 0x40], edi
mov cl, byte [esp + 0x34]
push edi
mov byte [esp + 0x18], cl
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 5
mov dword [ebp], method.CPropertyPage.virtual_0
call fcn.00407e50
mov edi, str.town_properties_spells
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x18]
push ebx
call fcn.00402d20
test al, al
je 0x53609a
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov edx, ecx
mov esi, str.town_properties_spells
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov byte [eax + ebx], 0
lea esi, [ebp + 0x90]
lea edx, [esp + 0x14]
push esi
mov ecx, 0x119
mov byte [esp + 0x30], 6
call fcn.004d8340
mov eax, dword [esp + 0x18]
pop ebx
test eax, eax
je 0x5360da
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5360d1
cmp al, 0xff
je 0x5360d1
dec al
mov byte [ecx], al
jmp 0x5360da
push ecx
call fcn.00652870
add esp, 4
mov eax, dword [ebp + 0x60]
mov ecx, dword [esi]
or al, 1
mov dword [ebp + 0x68], ecx
mov ecx, dword [esp + 0x20]
mov dword [ebp + 0x60], eax
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x20
ret 4
Function at 0x53a100
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push 0xffffffffffffffff
push 0x6ffeb0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x14]
mov dword [esp + 0x10], esi
call fcn.005bf580
mov edi, eax
lea eax, [esp + 0xc]
xor ebx, ebx
push eax
mov ecx, esi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], 0x81e44c
call fcn.00660a1c
mov dl, byte [edi]
lea ecx, [esi + 0xc]
mov byte [esp + 0x2c], 1
mov byte [ecx], dl
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebx
mov eax, dword [0x71eb00]
push eax
push ebx
push edi
call fcn.00407c50
mov eax, dword [esp + 0x18]
mov dword [esi], vtable.std::runtime_error.0
cmp eax, ebx
je 0x53a193
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x53a18a
cmp al, 0xff
je 0x53a18a
dec al
mov byte [ecx], al
jmp 0x53a193
push ecx
call fcn.00652870
add esp, 4
mov ecx, dword [esp + 0x24]
mov dword [esi], vtable.t_constructor_failure_class_t_complex_scriptable_built_in_event_list_dialog_class_t_editor_town_base__4___class_std::runtime_error_.0
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x24
ret
Function at 0x53f630
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x7007cf
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
mov al, byte [esp + 0x38]
push ebx
push ebp
mov dword [esp + 0xc], ecx
mov cl, byte [esp + 0x40]
push esi
push edi
xor ebx, ebx
mov edi, edx
push 0x28
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x28], al
mov byte [esp + 0x29], cl
mov byte [esp + 0x30], bl
call fcn.00652710
mov esi, eax
add esp, 4
lea ecx, [esp + 0x10]
mov ebp, esi
mov dword [esi + 4], ebx
mov dword [esi + 0x24], 1
call fcn.006747e8
cmp dword [0x83a220], ebx
jne 0x53f6a8
mov dword [0x83a220], esi
mov dword [esi], ebx
mov edx, dword [0x83a220]
xor ebp, ebp
mov dword [edx + 8], ebx
mov ecx, dword [0x83a21c]
inc ecx
mov dword [0x83a21c], ecx
lea ecx, [esp + 0x10]
call fcn.00674884
cmp ebp, ebx
je 0x53f6cb
push ebp
call fcn.00652870
add esp, 4
mov esi, dword [0x83a220]
push 0x28
call fcn.00652710
mov dword [eax + 4], esi
mov dword [eax + 0x24], ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], ebx
mov dword [eax], eax
mov eax, dword [esp + 0x2c]
add esp, 4
mov dword [eax + 8], eax
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x24]
mov esi, 1
push eax
push ecx
push edx
mov edx, edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x48], esi
mov ecx, edi
call fcn.0053f480
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
cmp ecx, ebx
mov byte [esp + 0x3c], bl
mov eax, dword [esi]
mov dword [esp + 0x48], eax
je 0x53f78c
lea eax, [esp + 0x44]
lea ecx, [esp + 0x24]
push eax
call fcn.004f7b90
mov ecx, eax
mov eax, dword [esp + 0x48]
cmp eax, dword [ecx]
jne 0x53f78c
mov ecx, dword [esp + 0x28]
cmp esi, ecx
jne 0x53f78c
mov edx, dword [ecx + 4]
lea ecx, [esp + 0x24]
push edx
call fcn.0053ffe0
mov ecx, dword [0x83a220]
lea edx, [esp + 0x1c]
mov eax, dword [esp + 0x28]
push edx
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x34], ebx
lea ecx, [esp + 0x28]
mov dword [eax], eax
mov eax, dword [esp + 0x2c]
mov dword [eax + 8], eax
call fcn.004f7b90
jmp 0x53f7b6
cmp eax, esi
je 0x53f7b6
lea eax, [esp + 0x44]
push ebx
push eax
lea ecx, [esp + 0x50]
call fcn.00540290
mov ecx, dword [eax]
lea edx, [esp + 0x20]
push ecx
push edx
lea ecx, [esp + 0x2c]
call fcn.0053fbe0
cmp dword [esp + 0x48], esi
jne 0x53f790
mov eax, dword [esp + 0x28]
push eax
call fcn.00652870
add esp, 4
lea ecx, [esp + 0x48]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], ebx
xor esi, esi
call fcn.006747e8
mov eax, dword [0x83a21c]
dec eax
mov dword [0x83a21c], eax
jne 0x53f7ef
mov esi, dword [0x83a220]
mov dword [0x83a220], ebx
lea ecx, [esp + 0x48]
call fcn.00674884
cmp esi, ebx
je 0x53f805
push esi
call fcn.00652870
add esp, 4
mov ecx, dword [esp + 0x34]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x30
ret 8
Function at 0x5409d0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x700828
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x58
mov dword [esp + 8], ecx
lea eax, [esp + 8]
push esi
lea ecx, [esp + 8]
push eax
push ecx
mov ecx, dword [0x83a228]
mov esi, edx
call fcn.005418e0
mov edx, dword [0x83a228]
mov ecx, dword [esp + 8]
mov eax, dword [edx + 4]
cmp ecx, eax
jne 0x540ad6
lea eax, [esp + 6]
lea ecx, [esp + 7]
push eax
push 0
push ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x24], esi
call fcn.005413c0
lea edx, [esp + 0x18]
lea eax, [esp + 0xc]
push edx
lea ecx, [esp + 0x48]
push eax
push ecx
mov dword [esp + 0x70], 0
call fcn.005436f0
add esp, 0xc
mov edx, dword [eax]
add eax, 8
mov dword [esp + 0x2c], edx
mov ecx, dword [eax - 4]
mov dword [esp + 0x30], ecx
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x68], 1
call fcn.00543f50
mov ecx, dword [0x83a228]
lea edx, [esp + 0x2c]
lea eax, [esp + 0x10]
push edx
push eax
mov byte [esp + 0x6c], 2
call fcn.005416a0
mov byte [esp + 0x64], 1
mov ecx, dword [esp + 0x10]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x34]
call fcn.00541230
lea ecx, [esp + 0x4c]
mov byte [esp + 0x64], 0
call fcn.00541230
lea ecx, [esp + 0x1c]
mov dword [esp + 0x64], 0xffffffff
call fcn.00541230
mov edx, dword [esp + 8]
pop esi
lea eax, [edx + 0x10]
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
add esp, 0x64
ret
mov dword [ecx + 0x10], esi
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x5c]
add eax, 0x10
pop esi
mov dword fs:[0], ecx
add esp, 0x64
ret
Function at 0x54d150
Capabilities:
Access peb ldr_data
Get process heap flags
Get process heap force flags

Disassembly:
push 0xffffffffffffffff
push 0x7010e2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
push ebx
push ebp
push esi
push edi
mov ebx, ecx
mov dword [esp + 0x10], 0
mov eax, dword [ebx + 8]
mov dword [esp + 0x28], 1
cmp dword [eax], 1
jbe 0x54d1bf
push 0x34
call fcn.00652710
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov byte [esp + 0x28], 2
je 0x54d1ad
mov ecx, dword [ebx + 8]
add ecx, 4
push ecx
mov ecx, eax
call fcn.0055b700
jmp 0x54d1af
xor eax, eax
mov ecx, dword [ebx + 8]
mov byte [esp + 0x28], 1
mov edx, dword [ecx]
dec edx
mov dword [ecx], edx
mov dword [ebx + 8], eax
mov edi, dword [ebx + 8]
mov ebp, dword [esp + 0x34]
add edi, 4
push ebp
mov ecx, edi
call fcn.005471f0
push ebp
mov ecx, ebx
call fcn.004063a0
lea ecx, [edi + 0xc]
call fcn.00553980
mov eax, dword [eax + 4]
mov edx, ebp
sar edx, 0xc
mov esi, ebp
lea ecx, [eax + edx*4]
and esi, 0xfff
call fcn.00553960
mov eax, dword [eax + 4]
mov ecx, esi
sar ecx, 8
and esi, 0xff
lea ecx, [eax + ecx*4]
call fcn.00553910
mov eax, dword [eax + 4]
mov edx, esi
sar edx, 4
and esi, 0xf
lea ecx, [eax + edx*4]
call fcn.005538c0
mov eax, dword [eax + 4]
lea ecx, [esi*8]
sub ecx, esi
lea edx, [esp + 0x18]
push edx
lea eax, [eax + ecx*4]
lea esi, [eax + 0x18]
mov ecx, esi
call fcn.005535c0
mov cl, byte [esp + 0x38]
mov edx, dword [esp + 0x3c]
sub esp, 8
mov byte [esp + 0x30], 3
mov eax, esp
mov dword [esp + 0x3c], esp
mov byte [esp + 0x40], 0
mov byte [eax], cl
mov ecx, esi
mov dword [eax + 4], edx
call fcn.00553750
push ebp
mov ecx, ebx
call fcn.004062b0
push ebp
mov ecx, edi
call fcn.00546ea0
mov eax, dword [esp + 0x30]
mov cl, byte [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov byte [eax], cl
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x1c
ret 0x10
Function at 0x55f8b0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x7029c8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
push ebx
push esi
mov esi, ecx
xor ebx, ebx
mov ecx, dword [esp + 0x30]
push esi
mov dword [esp + 0xc], ebx
mov eax, dword [ecx]
call dword [eax + 4]
mov al, byte [esp + 0x30]
mov byte [esp + 0xc], al
mov ecx, dword [esi + 8]
mov dword [esi + 8], ebx
mov edx, dword [esi + 0xc]
mov dword [esp + 0x10], ecx
mov dword [esi + 0xc], ebx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x10], ebx
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov byte [esi], al
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov edx, dword [0x71eb00]
lea eax, [esp + 0xc]
push edx
push ebx
push eax
mov ecx, esi
mov dword [esp + 0x30], ebx
call fcn.00407c50
mov ecx, dword [esp + 0x10]
cmp ecx, ebx
je 0x55f94d
mov al, byte [ecx - 1]
cmp al, bl
je 0x55f943
cmp al, 0xff
je 0x55f943
dec al
mov byte [ecx - 1], al
jmp 0x55f94d
dec ecx
push ecx
call fcn.00652870
add esp, 4
mov ecx, dword [esp + 0x1c]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x20
ret 8
Function at 0x55fce0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x702a78
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebx
push esi
xor ebx, ebx
xor esi, esi
push edi
mov dword [esp + 0x10], ebx
mov edi, edx
mov dword [esp + 0xc], ecx
mov byte [esp + 0x10], bl
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x40]
mov dword [esp + 0x38], ebx
cmp eax, 5
jl 0x55fdc9
mov eax, dword [edi]
lea ecx, [esp + 0x40]
push 1
push ecx
mov ecx, edi
call dword [eax + 0x18]
cmp eax, 1
je 0x55fd55
lea ecx, [esp + 0x18]
call fcn.006609ef
lea edx, [esp + 0x18]
mov dword [esp + 0x18], vtable.t_streambuf_read_failure.0
push 0x7878c0
push edx
call fcn.006609b5
cmp byte [esp + 0x40], bl
je 0x55fe53
push 8
call fcn.00652710
add esp, 4
cmp eax, ebx
je 0x55fd78
mov dword [eax], ebx
mov dword [eax + 4], 5
jmp 0x55fd7a
xor eax, eax
cmp eax, ebx
setne cl
cmp eax, ebx
je 0x55fd89
mov byte [esp + 0x10], cl
jmp 0x55fd92
cmp cl, bl
je 0x55fd92
mov byte [esp + 0x10], 1
mov esi, eax
mov edx, eax
mov ecx, edi
mov dword [esp + 0x14], esi
call fcn.00582160
test al, al
jne 0x55fe53
lea ecx, [esp + 0x18]
call fcn.006609ef
lea eax, [esp + 0x18]
mov dword [esp + 0x18], vtable.t_streambuf_read_failure.0
push 0x7878c0
push eax
call fcn.006609b5
cmp eax, 4
jl 0x55fe53
lea edx, [esp + 0x18]
mov ecx, edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], 5
call fcn.00582160
test al, al
jne 0x55fe0d
lea ecx, [esp + 0x24]
call fcn.006609ef
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], vtable.t_streambuf_read_failure.0
push 0x7878c0
push ecx
call fcn.006609b5
cmp dword [esp + 0x18], ebx
jne 0x55fe1a
cmp dword [esp + 0x1c], 5
je 0x55fe53
push 8
call fcn.00652710
add esp, 4
cmp eax, ebx
je 0x55fe37
mov edx, dword [esp + 0x18]
mov dword [eax], edx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
jmp 0x55fe39
xor eax, eax
cmp eax, ebx
setne cl
cmp eax, ebx
je 0x55fe48
mov byte [esp + 0x10], cl
jmp 0x55fe51
cmp cl, bl
je 0x55fe51
mov byte [esp + 0x10], 1
mov esi, eax
mov eax, dword [esp + 0xc]
mov dl, byte [esp + 0x10]
mov ecx, dword [esp + 0x30]
pop edi
mov dword [eax + 4], esi
mov byte [eax], dl
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x30
ret 4
Function at 0x55fe80
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x702ae7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
mov eax, dword [esp + 0x24]
push ebx
push ebp
push esi
push edi
mov esi, ecx
push fcn.004222e0
push 0x4f4260
lea ebp, [esi + 4]
push 7
push 4
push ebp
mov dword [esp + 0x24], esi
mov dword [esi], eax
call fcn.00660c33
mov cl, byte [esp + 0x34]
lea edi, [esi + 0x20]
push 0
mov dword [esp + 0x30], 0
mov byte [edi], cl
mov ecx, edi
call fcn.00407e50
lea ebx, [esi + 0x30]
mov dword [esp + 0x34], ebx
mov dword [ebx], 0
xor ecx, ecx
mov byte [esp + 0x2c], 2
call fcn.00403170
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [esi + 0x38], eax
lea ecx, [esi + 0x3c]
mov byte [esp + 0x2c], 4
call fcn.0053a450
mov bl, 5
push 0x1c
mov byte [esp + 0x30], bl
mov dword [esi + 0x40], 0xffffffff
call fcn.00652710
xor edx, edx
add esp, 4
cmp eax, edx
je 0x55ff46
mov cl, byte [esp + 0x34]
mov dword [eax + 8], edx
mov byte [eax + 4], cl
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edx
mov dword [eax], vtable.t_editor_creature_stack.0
mov ecx, eax
jmp 0x55ff48
xor ecx, ecx
sub esp, 8
cmp ecx, edx
mov eax, esp
mov dword [esp + 0x3c], esp
setne dl
mov dword [eax + 4], ecx
push 0
mov ecx, ebp
mov byte [eax], dl
call fcn.004505d0
mov eax, dword [esi + 0x40]
mov edx, ebp
push eax
lea ecx, [esp + 0x18]
call fcn.00560010
mov edx, dword [edi + 4]
mov ecx, dword [eax + 4]
mov dword [eax + 4], edx
mov dword [edi + 4], ecx
mov edx, dword [edi + 8]
mov ecx, dword [eax + 8]
mov dword [eax + 8], edx
mov dword [edi + 8], ecx
mov edx, dword [edi + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [eax + 0xc], edx
mov dword [edi + 0xc], ecx
push 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], bl
call fcn.00407e50
mov edx, edi
lea ecx, [esp + 0x14]
call fcn.0055fb20
mov ecx, dword [eax + 4]
push eax
push ecx
lea ecx, [esi + 0x30]
mov byte [esp + 0x34], 8
call fcn.00562140
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x14]
push eax
mov byte [esp + 0x30], 9
call fcn.0040d2e0
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x2c], bl
call fcn.00403170
mov ecx, dword [esp + 0x24]
mov dword [esi + 0x44], 0
mov byte [esi + 0x48], 0
mov eax, esi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x20
ret 4
Function at 0x560010
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x702b08
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
push ebx
push ebp
push esi
mov esi, dword [esp + 0x30]
xor ebx, ebx
cmp esi, 0xffffffff
mov eax, edx
mov ebp, ecx
mov dword [esp + 0xc], ebx
je 0x5600b3
mov al, byte [esp + 0x30]
push edi
mov byte [esp + 0x14], al
mov edi, str.ships.
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x18], ebx
push ecx
push str.ships.
lea ecx, [esp + 0x1c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
call fcn.00415530
mov ecx, dword [esi*4 + 0x74b698]
lea edx, [esp + 0x14]
push ecx
push edx
push ebp
mov dword [esp + 0x38], ebx
call fcn.0046e7a0
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, ebx
pop edi
je 0x5600c5
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5600a8
cmp al, 0xff
je 0x5600a8
dec al
mov byte [ecx], al
jmp 0x5600c5
push ecx
call fcn.00652870
add esp, 4
jmp 0x5600c5
mov edx, dword [eax]
cmp edx, ebx
jne 0x5600be
add eax, 4
jmp 0x5600b3
mov ecx, ebp
call fcn.005600e0
mov ecx, dword [esp + 0x20]
mov eax, ebp
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x20
ret 4

Function at 0x5602d0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x702bff
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
mov eax, dword [esp + 0x24]
push ebx
push ebp
push esi
push edi
mov edi, ecx
push fcn.004222e0
push 0x4f4260
mov dword [edi], eax
lea eax, [edi + 4]
push 7
push 4
push eax
mov dword [esp + 0x24], edi
call fcn.00660c33
mov cl, byte [esp + 0x34]
lea esi, [edi + 0x20]
xor ebx, ebx
mov dword [esp + 0x2c], ebx
mov byte [esi], cl
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
lea ebp, [edi + 0x30]
mov dword [ebp], ebx
mov dword [ebp + 4], ebx
mov dword [edi + 0x38], ebx
lea ecx, [edi + 0x3c]
mov byte [esp + 0x2c], 4
call fcn.0053a450
mov eax, dword [esp + 0x38]
lea edx, [edi + 4]
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 5
mov dword [edi + 0x40], eax
call fcn.00560010
mov edx, dword [esi + 4]
mov ecx, dword [eax + 4]
mov dword [eax + 4], edx
mov dword [esi + 4], ecx
mov edx, dword [esi + 8]
mov ecx, dword [eax + 8]
mov dword [eax + 8], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [eax + 0xc], edx
mov dword [esi + 0xc], ecx
push 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x30], 5
call fcn.00407e50
mov edx, esi
lea ecx, [esp + 0x14]
call fcn.0055fb20
mov ecx, dword [eax + 4]
push eax
push ecx
mov ecx, ebp
mov byte [esp + 0x34], 8
call fcn.00562140
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], 5
call fcn.00419760
mov ecx, dword [esp + 0x24]
mov dword [edi + 0x44], ebx
mov byte [edi + 0x48], bl
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x20
ret 8
Function at 0x5607b0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x702caf
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push ebp
mov eax, dword [esp + 0x1c]
push esi
push edi
mov edi, dword [esp + 0x28]
mov esi, ecx
lea ecx, [edi + 4]
mov dword [esp + 0x10], esi
push ecx
lea ecx, [esi + 4]
mov dword [esi], eax
call fcn.00563290
mov dl, byte [edi + 0x20]
lea eax, [edi + 0x20]
lea ecx, [esi + 0x20]
xor ebp, ebp
mov dword [esp + 0x1c], ebp
mov byte [ecx], dl
mov dword [ecx + 4], ebp
mov dword [ecx + 8], ebp
mov dword [ecx + 0xc], ebp
mov edx, dword [0x71eb00]
push edx
push ebp
push eax
call fcn.00407c50
lea ebx, [esi + 0x30]
mov byte [esp + 0x1c], 1
mov ecx, ebx
mov dword [esp + 0x28], ebx
call fcn.004fa330
mov eax, dword [edi + 0x34]
mov ecx, ebx
mov dword [ebx + 4], eax
mov eax, dword [edi + 0x30]
push eax
mov byte [esp + 0x20], 2
call fcn.004011a0
mov ebx, dword [ebx]
cmp ebx, ebp
je 0x560859
lea ecx, [ebx + 8]
mov dword [esp + 0x24], ecx
call fcn.004d2360
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 8]
mov ecx, dword [esp + 0x24]
call fcn.004d2370
mov dword [esi + 0x38], ebp
lea ecx, [edi + 0x3c]
mov byte [esp + 0x1c], 4
push ecx
lea ecx, [esi + 0x3c]
call fcn.0053a590
mov edx, dword [edi + 0x40]
mov byte [esp + 0x1c], 5
mov dword [esi + 0x40], edx
mov eax, dword [edi + 0x44]
mov dword [esi + 0x44], eax
mov cl, byte [edi + 0x48]
mov byte [esi + 0x48], cl
mov eax, dword [edi + 0x38]
cmp eax, ebp
je 0x5608b9
push 8
call fcn.00652710
add esp, 4
cmp eax, ebp
je 0x5608a8
mov edx, dword [edi + 0x38]
mov ecx, dword [edx]
mov dword [eax], ecx
mov edx, dword [edx + 4]
mov dword [eax + 4], edx
jmp 0x5608aa
xor eax, eax
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x38], eax
push ecx
call fcn.00652870
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 8

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

Disassembly:
push 0xffffffffffffffff
push 0x703183
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
mov al, byte [esp + 0x24]
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov dword [esp + 0xc], esi
mov byte [esi + 4], al
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x28], ebx
mov dword [esi], vtable.t_editor_army_stack.0
lea edx, [ecx + 4]
lea ecx, [esp + 0x10]
call fcn.00562980
mov edx, dword [esi + 8]
mov ecx, dword [eax + 4]
mov dword [eax + 4], edx
mov dword [esi + 8], ecx
mov edx, dword [esi + 0xc]
mov ecx, dword [eax + 8]
mov dword [eax + 8], edx
mov dword [esi + 0xc], ecx
mov edx, dword [esi + 0x10]
mov ecx, dword [eax + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov byte [esp + 0x28], bl
cmp edi, eax
mov dword [esi + 0x10], ecx
mov ebx, eax
je 0x5624e5
mov ecx, edi
call fcn.005f0280
add edi, 0xc
cmp edi, ebx
jne 0x5624d3
mov edi, dword [esp + 0x14]
push edi
call fcn.00652870
mov ecx, dword [esp + 0x24]
add esp, 4
mov eax, esi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x20
ret 4