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

Disassembly:
push 0xffffffffffffffff
push 0x6f5bee
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x24]
mov esi, ecx
xor ebx, ebx
mov dword [esp + 0x10], esi
mov al, byte [edi]
mov dword [esi + 4], ebx
mov byte [esi], al
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov ecx, dword [0x71eb00]
push ecx
push ebx
push edi
mov ecx, esi
call fcn.00407c50
mov edx, dword [edi + 0x10]
lea ebp, [edi + 0x1c]
mov dword [esi + 0x10], edx
mov eax, dword [edi + 0x14]
mov dword [esi + 0x14], eax
mov cl, byte [edi + 0x18]
mov byte [esi + 0x18], cl
mov dl, byte [ebp]
lea ecx, [esi + 0x1c]
mov dword [esp + 0x1c], ebx
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 ebp
call fcn.00407c50
mov ecx, dword [edi + 0x2c]
lea ebp, [edi + 0x30]
mov dword [esi + 0x2c], ecx
lea ecx, [esi + 0x30]
mov dl, byte [ebp]
mov byte [esp + 0x1c], 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 ebp
call fcn.00407c50
mov dl, byte [edi + 0x40]
add edi, 0x40
lea ecx, [esi + 0x40]
mov byte [esp + 0x1c], 2
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 ecx, dword [esp + 0x14]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 4
Function at 0x4d8520
Capabilities:
Check for peb beingdebugged flag

Disassembly:
push 0xffffffffffffffff
push 0x6f5fe8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x30
mov al, byte [esp + 3]
push ebx
push esi
mov esi, ecx
xor ebx, ebx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], ebx
mov byte [esp + 0x28], al
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov eax, dword [edx]
mov dword [esp + 0x40], ebx
cmp word [eax + 2], 0xffff
jne 0x4d8572
mov ax, word [eax + 0x10]
jmp 0x4d8576
mov ax, word [eax + 8]
and eax, 0xffff
jle 0x4d86d0
push ebp
push edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], eax
jmp 0x4d8591
mov edx, dword [esp + 0x20]
mov ecx, dword [edx]
mov eax, dword [esp + 0x14]
mov edx, dword [ecx + 0x70]
mov eax, dword [edx + eax + 8]
cmp byte [eax + 0x2c], bl
je 0x4d86b0
mov ebp, dword [eax + 0x38]
push 1
lea ecx, [esp + 0x15]
lea edi, [eax + 0x30]
push ebx
push ecx
mov ecx, edi
mov byte [esp + 0x1d], 0x26
call fcn.004506e0
mov esi, eax
mov eax, dword [0x71eb00]
cmp esi, eax
je 0x4d8611
dec ebp
cmp esi, ebp
je 0x4d8611
mov eax, dword [edi + 4]
inc esi
cmp eax, ebx
jne 0x4d85e0
mov eax, 0x71eb04
jmp 0x4d85e2
add eax, esi
movsx edx, byte [eax]
push edx
call fcn.00661a25
add esp, 4
test eax, eax
jne 0x4d866e
push 1
lea eax, [esp + 0x15]
push esi
push eax
mov ecx, edi
mov byte [esp + 0x1d], 0x26
call fcn.004506e0
mov esi, eax
mov eax, dword [0x71eb00]
cmp esi, eax
jne 0x4d85cd
mov esi, eax
cmp esi, eax
je 0x4d86b0
mov edi, dword [edi + 4]
mov eax, 0x71eb04
cmp edi, ebx
je 0x4d862a
lea eax, [edi + esi]
movsx ecx, byte [eax]
push ecx
call fcn.00661c89
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
add esp, 4
mov byte [esp + 0x12], al
lea eax, [esp + 0x12]
push ebx
push edx
mov edx, dword [esp + 0x40]
push eax
call fcn.004d9ae0
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x18], eax
cmp eax, ecx
je 0x4d8675
mov cl, byte [esp + 0x12]
mov dl, byte [eax]
cmp cl, dl
jl 0x4d8675
mov byte [esp + 0x13], bl
jmp 0x4d869d
mov eax, dword [0x71eb00]
jmp 0x4d8613
mov edi, dword [esp + 0x34]
lea edx, [esp + 0x12]
push edx
push 1
push eax
lea ecx, [esp + 0x3c]
mov esi, eax
call fcn.00424260
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x34]
sub eax, edi
add eax, esi
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x13]
lea edx, [esp + 0x18]
push ecx
push edx
lea ecx, [esp + 0x30]
call fcn.005ca5a0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0xc
dec eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
jne 0x4d858d
mov esi, dword [esp + 0x24]
pop edi
pop ebp
mov al, byte [esp + 0x28]
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esi], al
call fcn.004d8bd0
mov edx, dword [esp + 0x2c]
push edx
call fcn.00652870
mov ecx, dword [esp + 0x3c]
add esp, 4
mov eax, esi
mov dword fs:[0], ecx
pop esi
pop ebx
add esp, 0x3c
ret
Function at 0x4e7818
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x6f64fb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push esi
mov esi, ecx
mov dword [esp + 4], esi
mov dword [esp + 0x14], 0
call fcn.006dcb22
mov cl, byte [esp + 0x1c]
mov edx, dword [esp + 0x20]
sub esp, 8
mov byte [esp + 0x1c], 1
mov eax, esp
mov dword [esp + 0x10], esp
mov byte [esp + 0x24], 0
mov byte [eax], cl
lea ecx, [esi + 0x30]
mov dword [eax + 4], edx
call fcn.004222f0
push 0
mov byte [esp + 0x18], 2
mov dword [esi], vtable.t_adv_object_data_source.1.0
call fcn.0041f140
push eax
mov ecx, esi
call fcn.006dcd35
mov ecx, dword [esp + 0xc]
mov eax, esi
mov dword fs:[0], ecx
pop esi
add esp, 0x14
ret 8
Function at 0x4f4960
Capabilities:
Get process heap flags

Disassembly:
push 0xffffffffffffffff
push 0x6f7b24
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x14], esi
call fcn.006d07a6
mov eax, dword [esp + 0x38]
lea ebp, [esi + 0x90]
xor ebx, ebx
mov dword [esi + 0x8c], eax
mov dword [esp + 0x30], ebx
mov dword [ebp], ebx
lea edi, [esi + 0x98]
mov byte [esp + 0x30], 1
mov ecx, edi
mov byte [esi + 0x94], bl
call fcn.006bf10c
mov dword [edi], vtable.CButton.0
lea edi, [esi + 0xd4]
mov byte [esp + 0x30], 2
mov ecx, edi
call fcn.006bf10c
mov dword [edi], vtable.CListBox.0
lea edi, [esi + 0x110]
mov byte [esp + 0x30], 3
mov ecx, edi
mov dword [esp + 0x38], edi
call fcn.006bf10c
mov dword [edi], vtable.CStatic.0
lea ecx, [edi + 0x40]
mov byte [esp + 0x30], 4
mov dword [edi + 0x3c], 0x4a
call fcn.004fca90
mov dword [edi], vtable.t_cut_scene_image_static.0
lea edi, [esi + 0x278]
mov byte [esp + 0x30], 5
mov ecx, edi
call fcn.006bf10c
mov dword [edi], vtable.CComboBox.0
lea edi, [esi + 0x2b4]
mov byte [esp + 0x30], 6
mov ecx, edi
call fcn.006bf10c
mov dword [edi], vtable.CEdit.0
push 0x195
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], 7
mov dword [esi], vtable.t_cut_scene_info_page_base.0
call fcn.004d7180
mov cl, byte [esp + 0x38]
mov edi, str.map_properties_cut_scene
mov byte [esp + 0x18], cl
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x30], 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x1c], ebx
push ecx
push str.map_properties_cut_scene
lea ecx, [esp + 0x20]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
call fcn.00415530
lea edx, [esp + 0x18]
lea ecx, [esp + 0x10]
mov byte [esp + 0x30], 9
call fcn.004d8140
mov byte [esp + 0x30], 8
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x4f4ac8
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4f4abf
cmp al, 0xff
je 0x4f4abf
dec al
mov byte [ecx], al
jmp 0x4f4ac8
push ecx
call fcn.00652870
add esp, 4
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x10]
push edx
call fcn.004d7e70
push ebp
lea ecx, [esp + 0x14]
call fcn.004d7880
mov eax, dword [esi + 0x60]
mov ebp, dword [ebp]
or al, 1
lea ecx, [esp + 0x10]
mov dword [esi + 0x60], eax
mov dword [esi + 0x68], ebp
mov byte [esp + 0x30], 7
call fcn.004d7740
mov ecx, dword [esp + 0x28]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x24
ret 8
Function at 0x4fda10
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push 0xffffffffffffffff
push 0x6f8690
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 0x4fdaa3
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4fda9a
cmp al, 0xff
je 0x4fda9a
dec al
mov byte [ecx], al
jmp 0x4fdaa3
push ecx
call fcn.00652870
add esp, 4
mov ecx, dword [esp + 0x24]
mov dword [esi], vtable.t_constructor_failure_class_t_timed_event_list_dialog_class_t_editor_global_event_class_t_editor_global_timed_event_base__struct_t_editor_global_timed_event_traits____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 0x4fdac0
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push 0xffffffffffffffff
push 0x6f86b0
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 0x4fdb53
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4fdb4a
cmp al, 0xff
je 0x4fdb4a
dec al
mov byte [ecx], al
jmp 0x4fdb53
push ecx
call fcn.00652870
add esp, 4
mov ecx, dword [esp + 0x24]
mov dword [esi], vtable.t_constructor_failure_class_t_named_event_list_dialog_class_t_editor_global_event_class_t_editor_triggerable_event__struct_t_editor_global_triggerable_event_traits____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 0x4fdb70
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push 0xffffffffffffffff
push 0x6f86d0
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 0x4fdc03
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4fdbfa
cmp al, 0xff
je 0x4fdbfa
dec al
mov byte [ecx], al
jmp 0x4fdc03
push ecx
call fcn.00652870
add esp, 4
mov ecx, dword [esp + 0x24]
mov dword [esi], vtable.t_constructor_failure_class_t_named_event_list_dialog_class_t_editor_global_event_class_t_editor_continuous_event__struct_t_editor_global_continuous_event_traits____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 0x507670
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x6f9370
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov edx, 6
lea ecx, [esp + 0x20]
call fcn.00582b20
lea edi, [ebp + 0xe0]
xor ebx, ebx
push 6
mov edx, eax
mov ecx, edi
mov dword [esp + 0x3c], ebx
call fcn.005f9c00
mov eax, dword [esp + 0x24]
mov dword [esp + 0x38], 0xffffffff
cmp eax, ebx
je 0x5076e0
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5076d7
cmp al, 0xff
je 0x5076d7
dec al
mov byte [ecx], al
jmp 0x5076e0
push ecx
call fcn.00652870
add esp, 4
xor esi, esi
mov edx, esi
lea ecx, [esp + 0x10]
call fcn.00582b20
push esi
mov edx, eax
mov ecx, edi
mov dword [esp + 0x3c], 1
call fcn.005f9c00
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], 0xffffffff
cmp eax, ebx
je 0x50772c
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x507723
cmp al, 0xff
je 0x507723
dec al
mov byte [ecx], al
jmp 0x50772c
push ecx
call fcn.00652870
add esp, 4
inc esi
mov dword [esp + 0x14], ebx
cmp esi, 6
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
jl 0x5076e2
mov eax, dword [ebp + 0x94]
lea ecx, [eax + 0x1c]
mov eax, dword [eax + 0x1c]
call dword [eax + 0xc]
mov edx, eax
mov ecx, edi
call fcn.005fa140
mov ecx, dword [ebp + 0x98]
mov edx, dword [ecx]
call dword [edx + 0x2c]
and eax, 0xff
mov ecx, edi
push eax
call fcn.006c2a7c
mov ecx, dword [esp + 0x30]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x2c
ret
Function at 0x50bd40
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push 0xffffffffffffffff
push 0x6f9bf0
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 0x50bdd3
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x50bdca
cmp al, 0xff
je 0x50bdca
dec al
mov byte [ecx], al
jmp 0x50bdd3
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_abstract_scriptable_army__3___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 0x50bdf0
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push 0xffffffffffffffff
push 0x6f9c10
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 0x50be83
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x50be7a
cmp al, 0xff
je 0x50be7a
dec al
mov byte [ecx], al
jmp 0x50be83
push ecx
call fcn.00652870
add esp, 4
mov ecx, dword [esp + 0x24]
mov dword [esi], vtable.t_constructor_failure_class_t_timed_event_list_dialog_class_t_editor_ownable_event_class_t_editor_timed_event__struct_t_editor_ownable_timed_event_traits____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 0x50bea0
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push 0xffffffffffffffff
push 0x6f9c30
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 0x50bf33
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x50bf2a
cmp al, 0xff
je 0x50bf2a
dec al
mov byte [ecx], al
jmp 0x50bf33
push ecx
call fcn.00652870
add esp, 4
mov ecx, dword [esp + 0x24]
mov dword [esi], vtable.t_constructor_failure_class_t_named_event_list_dialog_class_t_editor_ownable_event_class_t_editor_triggerable_event__struct_t_editor_ownable_triggerable_event_traits____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 0x517820
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push 0xffffffffffffffff
push 0x6fae70
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 0x5178b3
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5178aa
cmp al, 0xff
je 0x5178aa
dec al
mov byte [ecx], al
jmp 0x5178b3
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_abstract_scriptable_hero__3___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 0x51d720
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push 0xffffffffffffffff
push 0x6fbc20
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 0x51d7b3
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x51d7aa
cmp al, 0xff
je 0x51d7aa
dec al
mov byte [ecx], al
jmp 0x51d7b3
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_garrisoned_adv_object__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 0x523740
Capabilities:
Get graphical window text

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x6fc920
push eax
mov dword fs:[0], esp
sub esp, 0x20
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esi + 0x10c]
push 0
push 0
push 0x188
push eax
call edi
mov ecx, dword [esi + 0x10c]
push 0
push eax
push 0x199
push ecx
call edi
mov edi, eax
cmp edi, 0xd
lea ebx, [esi + edi*4 + 0x98]
jne 0x5237a4
mov eax, dword [esi + 0xc0]
mov byte [esp + 0x18], 1
test eax, eax
jne 0x5237a9
mov byte [esp + 0x18], 0
mov ecx, ebx
call fcn.00432fa0
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x14]
sub esp, 8
mov edx, esi
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
mov eax, dword [esp + 0x24]
push eax
push edi
call fcn.00499a10
lea ecx, [esp + 0x1c]
call fcn.004222f0
mov edx, dword [esp + 0x14]
mov dword [esp + 0x38], 0
test edx, edx
je 0x5238bf
mov ecx, dword [ebx]
call fcn.00564340
test al, al
jne 0x5238bb
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx]
mov dword [ebx], ecx
lea ecx, [esi + 0xf0]
mov edx, edi
mov dword [esp + 0x14], eax
call fcn.005fa590
mov edx, dword [esi + 0x10c]
push 0
push 0
push 0x188
push edx
mov ebp, eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp ebp, eax
mov eax, dword [esi + 0x10c]
push 0
push ebp
push 0x182
push eax
sete byte [esp + 0x23]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ebx, dword [ebx]
mov edx, edi
push ebx
lea ecx, [esp + 0x24]
call fcn.00522e20
push edi
push eax
mov edx, ebp
lea ecx, [esi + 0xf0]
mov byte [esp + 0x40], 1
call fcn.005fa440
mov edi, eax
mov eax, dword [esp + 0x24]
xor ebx, ebx
cmp eax, ebx
je 0x523892
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x523889
cmp al, 0xff
je 0x523889
dec al
mov byte [ecx], al
jmp 0x523892
push ecx
call fcn.00652870
add esp, 4
mov al, byte [esp + 0x13]
mov dword [esp + 0x24], ebx
test al, al
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
je 0x5238bb
mov ecx, dword [esi + 0x10c]
push 0
push edi
push 0x186
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [esp + 0x14]
test edx, edx
mov dword [esp + 0x38], 0xffffffff
je 0x5238d3
mov eax, dword [edx]
push 1
mov ecx, edx
call dword [eax]
mov ecx, dword [esp + 0x30]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x2c
ret
Function at 0x5238f0
Capabilities:
Get graphical window text

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x6fc938
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esi + 0x10c]
push 0
push 0
push 0x188
push eax
call edi
mov ecx, dword [esi + 0x10c]
push 0
push eax
push 0x199
push ecx
call edi
mov edi, eax
cmp edi, 0xd
lea ebx, [esi + edi*4 + 0x98]
jne 0x523954
mov eax, dword [esi + 0xc0]
mov byte [esp + 0x14], 1
test eax, eax
jne 0x523959
mov byte [esp + 0x14], 0
mov edx, dword [esp + 0x14]
sub esp, 8
mov ecx, esp
mov dword [esp + 0x20], esp
push 0xffffffffffffffff
push edx
push edi
mov edx, esi
call fcn.00499a10
mov ecx, ebx
call fcn.00527790
cmp dword [ebx], 0
je 0x523a6e
lea ebx, [esi + 0xf0]
mov edx, edi
mov ecx, ebx
call fcn.005fa590
mov ebp, eax
mov eax, dword [esi + 0x10c]
push 0
push 0
push 0x188
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esi + 0x10c]
push 0
push ebp
cmp ebp, eax
push 0x182
push ecx
sete byte [esp + 0x23]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esi + edi*4 + 0x98]
mov edx, edi
push eax
lea ecx, [esp + 0x20]
call fcn.00522e20
push edi
push eax
mov edx, ebp
mov ecx, ebx
mov dword [esp + 0x3c], 0
call fcn.005fa440
mov edi, eax
mov eax, dword [esp + 0x20]
xor ebx, ebx
mov dword [esp + 0x34], 0xffffffff
cmp eax, ebx
je 0x523a1b
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x523a12
cmp al, 0xff
je 0x523a12
dec al
mov byte [ecx], al
jmp 0x523a1b
push ecx
call fcn.00652870
add esp, 4
mov al, byte [esp + 0x13]
mov dword [esp + 0x20], ebx
test al, al
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
je 0x523a43
mov edx, dword [esi + 0x10c]
push ebx
push edi
push 0x186
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
lea edx, [esi + 0xe0]
lea ecx, [esi + 0x12c]
call fcn.005fa770
push 1
lea ecx, [esi + 0x168]
call fcn.006c2a7c
push 1
lea ecx, [esi + 0x1a4]
call fcn.006c2a7c
mov ecx, dword [esp + 0x2c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x28
ret