joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4087f0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
je 0x40891a
push 0x46e280
push dword [ebp + 8]
lea eax, [ebp - 8]
push eax
call fcn.0043649b
add esp, 0xc
test eax, eax
je 0x40883a
push 0
push str.ERROR_
push str.Could_not_open_save_file_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 4]
mov eax, 0x1a6d01a7
sub ecx, dword [ebx]
imul ecx
xor ecx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, 0x26c
mov dword [ebp - 4], eax
mul edx
push esi
push edi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00423c85
mov edx, dword [ebx]
mov esi, eax
add esp, 4
mov dword [ebp - 0xc], esi
xor eax, eax
cmp edx, dword [ebx + 4]
je 0x4088ac
mov ebx, esi
nop
cmp eax, dword [ebp - 4]
jge 0x40891f
mov esi, edx
mov edi, ebx
mov ecx, 0x9b
add edx, 0x26c
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0xc]
inc eax
add ebx, 0x26c
cmp edx, dword [ecx + 4]
jne 0x408880
mov esi, dword [ebp - 0xc]
imul eax, dword [ebp - 4], 0x26c
push 0xe2f1
push eax
push esi
call fcn.00422bb0
push dword [ebp - 8]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 4]
push 1
push 4
push eax
call fcn.00436e0a
push dword [ebp - 8]
imul eax, dword [ebp - 4], 0x26c
push 1
push eax
push esi
call fcn.00436e0a
push dword [ebp - 8]
lea eax, [ebp - 0x10]
push 1
push 4
push eax
call fcn.00436e0a
push dword [ebp - 8]
call fcn.004365a5
add esp, 0x40
push 0
push str.NOTICE_
push str.File_saved_successfully_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push str.ERROR_
push str.Error_in_itemdata_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x40a1c0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46d1cb
mov eax, dword fs:[0]
push eax
sub esp, 0x220
mov eax, dword [0x485310]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x21c]
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x218], 0
call fcn.0040bb10
mov dword [ebp - 0x21c], eax
lea ecx, [ebp - 0x21c]
mov dword [ebp - 4], 0
call fcn.0040be10
push edi
push 1
lea eax, [ebp - 0x220]
mov dword [ebp - 0x220], 0
push 4
push eax
call fcn.004369f9
mov eax, dword [ebp - 0x220]
add esp, 0x10
test eax, eax
jne 0x40a26b
push eax
push str.ERROR_
push str.ItemData_count___0_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x40a352
xor ecx, ecx
mov edx, 0x274
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00423c85
imul ecx, dword [ebp - 0x220], 0x274
mov esi, eax
push ecx
push 0
push esi
call fcn.00425630
imul ecx, dword [ebp - 0x220], 0x274
push edi
push 1
push ecx
push esi
call fcn.004369f9
push edi
push 1
lea eax, [ebp - 0x22c]
push 4
push eax
call fcn.004369f9
xor edi, edi
add esp, 0x30
cmp dword [ebp - 0x220], edi
jle 0x40a309
nop dword [eax + eax]
push 0x274
push esi
call fcn.004234c0
add esp, 8
lea eax, [ebp - 0x228]
lea ecx, [ebp - 0x21c]
push esi
push eax
call fcn.0040a010
mov eax, dword [ebp - 0x228]
inc edi
mov dword [eax + 0x14], esi
add esi, 0x274
cmp edi, dword [ebp - 0x220]
jl 0x40a2d0
lea eax, [ebp - 0x214]
mov byte [ebp - 0x14], 0
push eax
call fcn.00404e40
add esp, 4
test eax, eax
jne 0x40a339
push eax
push str.ERROR_
push str.Failed_to_save_the_file_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x40a352
push dword [ebp + 0xc]
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x214]
push eax
call fcn.0040b2b0
add esp, 0xc
mov eax, dword [ebp - 0x21c]
lea ecx, [ebp - 0x21c]
push eax
push dword [eax]
lea eax, [ebp - 0x224]
push eax
call fcn.0040bef0
push dword [ebp - 0x21c]
call fcn.00423c72
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00424075
mov esp, ebp
pop ebp
ret
Function at 0x40b760
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
je 0x40b88a
push 0x46e280
push dword [ebp + 8]
lea eax, [ebp - 8]
push eax
call fcn.0043649b
add esp, 0xc
test eax, eax
je 0x40b7aa
push 0
push str.ERROR_
push str.Could_not_open_save_file_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 4]
mov eax, 0x342da7f3
sub ecx, dword [ebx]
imul ecx
xor ecx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, 0x274
mov dword [ebp - 4], eax
mul edx
push esi
push edi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00423c85
mov edx, dword [ebx]
mov esi, eax
add esp, 4
mov dword [ebp - 0xc], esi
xor eax, eax
cmp edx, dword [ebx + 4]
je 0x40b81c
mov ebx, esi
nop
cmp eax, dword [ebp - 4]
jge 0x40b88f
mov esi, edx
mov edi, ebx
mov ecx, 0x9d
add edx, 0x274
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0xc]
inc eax
add ebx, 0x274
cmp edx, dword [ecx + 4]
jne 0x40b7f0
mov esi, dword [ebp - 0xc]
imul eax, dword [ebp - 4], 0x274
push 0xe2f1
push eax
push esi
call fcn.00422bb0
push dword [ebp - 8]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 4]
push 1
push 4
push eax
call fcn.00436e0a
push dword [ebp - 8]
imul eax, dword [ebp - 4], 0x274
push 1
push eax
push esi
call fcn.00436e0a
push dword [ebp - 8]
lea eax, [ebp - 0x10]
push 1
push 4
push eax
call fcn.00436e0a
push dword [ebp - 8]
call fcn.004365a5
add esp, 0x40
push 0
push str.NOTICE_
push str.File_saved_successfully_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push str.ERROR_
push str.Error_in_itemdata_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x40c250
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46d26b
mov eax, dword fs:[0]
push eax
sub esp, 0x65c
mov eax, dword [0x485310]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor esi, esi
xor edi, edi
mov dword [ebp - 0x664], eax
mov dword [ebp - 0x65c], edi
mov dword [ebp - 0x660], esi
mov dword [ebp - 0x654], esi
push eax
push 1
lea eax, [ebp - 0x650]
mov dword [ebp - 4], esi
push 0x3b
xor ebx, ebx
push eax
mov dword [ebp - 0x658], ebx
call fcn.004369f9
add esp, 0x10
test eax, eax
je 0x40c3f0
lea eax, [ebp - 0x650]
push 0x3b
push eax
call fcn.004234c0
push 0x400
lea eax, [ebp - 0x615]
push 0
push eax
call fcn.00425630
push dword [ebp - 0x664]
movzx eax, word [ebp - 0x617]
push 1
push eax
lea eax, [ebp - 0x615]
push eax
call fcn.004369f9
movzx eax, word [ebp - 0x617]
push eax
lea eax, [ebp - 0x615]
push eax
call fcn.004234c0
lea eax, [ebp - 0x650]
add esp, 0x2c
cmp eax, ebx
jae 0x40c37e
cmp edi, eax
ja 0x40c37e
mov ecx, eax
mov eax, 0x1e41b6b9
sub ecx, edi
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x668], eax
cmp ebx, esi
jne 0x40c370
push 1
lea ecx, [ebp - 0x65c]
call fcn.0040cd80
mov eax, dword [ebp - 0x654]
mov ebx, dword [ebp - 0x658]
mov edi, dword [ebp - 0x65c]
mov dword [ebp - 0x660], eax
mov eax, dword [ebp - 0x668]
test ebx, ebx
je 0x40c3b7
imul esi, eax, 0x43b
add esi, edi
jmp 0x40c3ab
cmp ebx, esi
jne 0x40c3a1
push 1
lea ecx, [ebp - 0x65c]
call fcn.0040cd80
mov eax, dword [ebp - 0x654]
mov ebx, dword [ebp - 0x658]
mov dword [ebp - 0x660], eax
test ebx, ebx
je 0x40c3b7
lea esi, [ebp - 0x650]
mov ecx, 0x10e
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
push dword [ebp - 0x664]
lea eax, [ebp - 0x650]
add ebx, 0x43b
push 1
push 0x3b
push eax
mov dword [ebp - 0x658], ebx
call fcn.004369f9
mov edi, dword [ebp - 0x65c]
add esp, 0x10
mov esi, dword [ebp - 0x660]
test eax, eax
jne 0x40c2c4
lea eax, [ebp - 0x214]
mov byte [ebp - 0x14], 0
push eax
call fcn.00404e40
add esp, 4
test eax, eax
jne 0x40c439
push eax
push str.ERROR_
push str.Failed_to_save_the_file_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
test edi, edi
je 0x40c47f
sub esi, edi
mov eax, 0x1e41b6b9
imul esi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push edi
jmp 0x40c474
lea eax, [ebp - 0x65c]
push eax
lea eax, [ebp - 0x214]
push eax
call fcn.0040cb40
mov esi, dword [ebp - 0x65c]
add esp, 8
test esi, esi
je 0x40c47f
mov ecx, dword [ebp - 0x654]
mov eax, 0x1e41b6b9
sub ecx, esi
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
lea ecx, [ebp - 0x65c]
call fcn.0040ce90
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00424075
mov esp, ebp
pop ebp
ret
Function at 0x40cc30
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
je 0x40ccec
push 0x46e280
push dword [ebp + 8]
lea eax, [ebp - 4]
push eax
call fcn.0043649b
add esp, 0xc
test eax, eax
je 0x40cc78
push 0
push str.ERROR_
push str.Could_not_open_save_file_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
pop ebx
mov esp, ebp
pop ebp
ret
push esi
mov esi, dword [ebx]
cmp esi, dword [ebx + 4]
je 0x40ccc8
lea ebx, [esi + 0x3b]
push edi
movzx edi, word [ebx - 2]
push 0x3b
push esi
call fcn.004234c0
push edi
push ebx
call fcn.004234c0
push dword [ebp - 4]
push 0x3b
push 1
push esi
call fcn.00436e0a
push dword [ebp - 4]
push edi
push 1
push ebx
call fcn.00436e0a
mov eax, dword [ebp + 0xc]
add esi, 0x43b
add esp, 0x30
add ebx, 0x43b
cmp esi, dword [eax + 4]
jne 0x40cc84
pop edi
push dword [ebp - 4]
call fcn.004365a5
add esp, 4
push 0
push str.NOTICE_
push str.File_saved_successfully_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x40cf30
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46d2eb
mov eax, dword fs:[0]
push eax
sub esp, 0x65c
mov eax, dword [0x485310]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor esi, esi
xor edi, edi
mov dword [ebp - 0x664], eax
mov dword [ebp - 0x65c], edi
mov dword [ebp - 0x660], esi
mov dword [ebp - 0x654], esi
push eax
push 1
lea eax, [ebp - 0x650]
mov dword [ebp - 4], esi
push 0x35
xor ebx, ebx
push eax
mov dword [ebp - 0x658], ebx
call fcn.004369f9
add esp, 0x10
test eax, eax
je 0x40d0ce
lea eax, [ebp - 0x650]
push 0x35
push eax
call fcn.004234c0
push 0x404
lea eax, [ebp - 0x61b]
push 0
push eax
call fcn.00425630
push dword [ebp - 0x664]
movzx eax, word [ebp - 0x61d]
push 1
push eax
lea eax, [ebp - 0x61b]
push eax
call fcn.004369f9
movzx eax, word [ebp - 0x61d]
push eax
lea eax, [ebp - 0x61b]
push eax
call fcn.004234c0
lea eax, [ebp - 0x650]
add esp, 0x2c
cmp eax, ebx
jae 0x40d05e
cmp edi, eax
ja 0x40d05e
mov ecx, eax
mov eax, 0x79402d79
sub ecx, edi
imul ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x668], eax
cmp ebx, esi
jne 0x40d050
push 1
lea ecx, [ebp - 0x65c]
call fcn.0040da60
mov eax, dword [ebp - 0x654]
mov ebx, dword [ebp - 0x658]
mov edi, dword [ebp - 0x65c]
mov dword [ebp - 0x660], eax
mov eax, dword [ebp - 0x668]
test ebx, ebx
je 0x40d095
imul esi, eax, 0x439
add esi, edi
jmp 0x40d08b
cmp ebx, esi
jne 0x40d081
push 1
lea ecx, [ebp - 0x65c]
call fcn.0040da60
mov eax, dword [ebp - 0x654]
mov ebx, dword [ebp - 0x658]
mov dword [ebp - 0x660], eax
test ebx, ebx
je 0x40d095
lea esi, [ebp - 0x650]
mov ecx, 0x10e
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push dword [ebp - 0x664]
lea eax, [ebp - 0x650]
add ebx, 0x439
push 1
push 0x35
push eax
mov dword [ebp - 0x658], ebx
call fcn.004369f9
mov edi, dword [ebp - 0x65c]
add esp, 0x10
mov esi, dword [ebp - 0x660]
test eax, eax
jne 0x40cfa4
lea eax, [ebp - 0x214]
mov byte [ebp - 0x14], 0
push eax
call fcn.00404e40
add esp, 4
test eax, eax
jne 0x40d117
push eax
push str.ERROR_
push str.Failed_to_save_the_file_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
test edi, edi
je 0x40d15d
sub esi, edi
mov eax, 0x79402d79
imul esi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push edi
jmp 0x40d152
lea eax, [ebp - 0x65c]
push eax
lea eax, [ebp - 0x214]
push eax
call fcn.0040d820
mov esi, dword [ebp - 0x65c]
add esp, 8
test esi, esi
je 0x40d15d
mov ecx, dword [ebp - 0x654]
mov eax, 0x79402d79
sub ecx, esi
imul ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
lea ecx, [ebp - 0x65c]
call fcn.0040db70
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00424075
mov esp, ebp
pop ebp
ret
Function at 0x40d910
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
je 0x40d9cc
push 0x46e280
push dword [ebp + 8]
lea eax, [ebp - 4]
push eax
call fcn.0043649b
add esp, 0xc
test eax, eax
je 0x40d958
push 0
push str.ERROR_
push str.Could_not_open_save_file_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
pop ebx
mov esp, ebp
pop ebp
ret
push esi
mov esi, dword [ebx]
cmp esi, dword [ebx + 4]
je 0x40d9a8
lea ebx, [esi + 0x35]
push edi
movzx edi, word [ebx - 2]
push 0x35
push esi
call fcn.004234c0
push edi
push ebx
call fcn.004234c0
push dword [ebp - 4]
push 0x35
push 1
push esi
call fcn.00436e0a
push dword [ebp - 4]
push edi
push 1
push ebx
call fcn.00436e0a
mov eax, dword [ebp + 0xc]
add esi, 0x439
add esp, 0x30
add ebx, 0x439
cmp esi, dword [eax + 4]
jne 0x40d964
pop edi
push dword [ebp - 4]
call fcn.004365a5
add esp, 4
push 0
push str.NOTICE_
push str.File_saved_successfully_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x40dbe0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46d36b
mov eax, dword fs:[0]
push eax
sub esp, 0x228
mov eax, dword [0x485310]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x234]
push esi
push 1
push 6
push eax
mov dword [ebp - 0x21c], esi
call fcn.004369f9
mov ebx, dword [ebp - 0x232]
add esp, 0x10
cmp ebx, 0x270f
ja 0x40dd68
xor ecx, ecx
mov eax, ebx
mov edx, 0x204
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00423c85
mov edi, eax
mov dword [ebp - 0x22c], ebx
add esp, 4
mov dword [ebp - 0x228], edi
mov dword [ebp - 4], 0
test ebx, ebx
jle 0x40dd15
lea eax, [edi + 4]
mov dword [ebp - 0x218], eax
mov eax, edi
mov edi, dword [ebp - 0x218]
sub eax, edi
mov dword [ebp - 0x218], eax
nop
push esi
push 1
lea eax, [ebp - 0x224]
push 8
push eax
call fcn.004369f9
mov eax, dword [ebp - 0x220]
inc eax
push eax
call fcn.00423c85
mov ecx, dword [ebp - 0x220]
mov esi, eax
push dword [ebp - 0x21c]
mov byte [ecx + esi], 0
push dword [ebp - 0x220]
push 1
push esi
call fcn.004369f9
push dword [ebp - 0x220]
push esi
call fcn.004234c0
mov ecx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x224]
push esi
push 0x200
push edi
mov dword [ecx + edi], eax
call fcn.0042fb75
push esi
call fcn.00424407
mov esi, dword [ebp - 0x21c]
add esp, 0x3c
add edi, 0x204
sub ebx, 1
jne 0x40dc90
mov edi, dword [ebp - 0x228]
lea eax, [ebp - 0x214]
mov byte [ebp - 0x14], 0
push eax
call fcn.00404e40
add esp, 4
test eax, eax
jne 0x40dd45
push eax
push str.ERROR_
push str.Failed_to_save_the_file_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x40dd5b
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x214]
push eax
call fcn.0040e250
add esp, 8
test edi, edi
je 0x40dd68
push edi
call fcn.00424407
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00424075
mov esp, ebp
pop ebp
ret
Function at 0x40e310
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jne 0x40e33a
push ebx
push str.ERROR_
push str.Error_on_processing_the_text_class
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
pop ebx
mov esp, ebp
pop ebp
ret
push 0x46e280
push dword [ebp + 8]
lea eax, [ebp - 4]
push eax
call fcn.0043649b
add esp, 0xc
test eax, eax
je 0x40e36f
push 0
push str.ERROR_
push str.Could_not_open_save_file_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp - 4]
mov eax, 0x5447
mov word [ebp - 0x14], ax
mov eax, dword [ebx]
push 1
mov dword [ebp - 0x12], eax
lea eax, [ebp - 0x14]
push 6
push eax
call fcn.00436e0a
add esp, 0x10
mov dword [ebp - 0xc], 0
cmp dword [ebx], 0
jle 0x40e447
xor ecx, ecx
push esi
mov dword [ebp - 8], ecx
push edi
nop word [eax + eax]
mov esi, dword [ebx + 4]
add esi, ecx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, dword [esi]
add esi, 4
mov dword [ebp - 0x1c], eax
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x40e3d0
push dword [ebp - 4]
lea eax, [ebp - 0x1c]
sub esi, ecx
push 1
push 8
push eax
mov dword [ebp - 0x18], esi
call fcn.00436e0a
lea edi, [esi + 1]
push edi
call fcn.00423c85
mov ecx, dword [ebp + 0xc]
mov ebx, eax
mov eax, dword [ebp - 8]
add eax, 4
mov byte [ebx + esi], 0
mov ecx, dword [ecx + 4]
add ecx, eax
push ecx
push edi
push ebx
call fcn.0042fb75
push esi
push ebx
call fcn.004234c0
push dword [ebp - 4]
push esi
push 1
push ebx
call fcn.00436e0a
mov edx, dword [ebp - 0xc]
add esp, 0x38
mov ebx, dword [ebp + 0xc]
inc edx
mov ecx, dword [ebp - 8]
add ecx, 0x204
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebx]
jl 0x40e3b0
pop edi
pop esi
push dword [ebp - 4]
call fcn.004365a5
add esp, 4
push 0
push str.NOTICE_
push str.File_saved_successfully_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x40e470
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x320c
call fcn.00424410
mov eax, dword [0x485310]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x3208]
push edi
push esi
push 1
push 0x3000
push eax
call fcn.004369f9
push esi
push 1
lea eax, [ebp - 0x320c]
push 4
push eax
call fcn.004369f9
add esp, 0x20
lea esi, [ebp - 0x3208]
mov edi, 0x200
nop
push 0x18
push esi
call fcn.004234c0
add esp, 8
add esi, 0x18
sub edi, 1
jne 0x40e4c0
lea eax, [ebp - 0x208]
mov byte [ebp - 8], 0
push eax
call fcn.00404e40
add esp, 4
pop edi
pop esi
test eax, eax
jne 0x40e511
push eax
push str.ERROR_
push str.Failed_to_save_the_file_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424075
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x3208]
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.0040e550
mov ecx, dword [ebp - 4]
add esp, 8
xor ecx, ebp
call fcn.00424075
mov esp, ebp
pop ebp
ret
Function at 0x40e640
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x4d20c
call fcn.00424410
mov eax, dword [0x485310]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x4d208]
push edi
push esi
push 1
push 0x4d000
push eax
call fcn.004369f9
push esi
push 1
lea eax, [ebp - 0x4d20c]
push 4
push eax
call fcn.004369f9
add esp, 0x20
lea esi, [ebp - 0x4d208]
mov edi, 0x200
nop
push 0x268
push esi
call fcn.004234c0
add esp, 8
add esi, 0x268
sub edi, 1
jne 0x40e690
lea eax, [ebp - 0x208]
mov byte [ebp - 8], 0
push eax
call fcn.00404e40
add esp, 4
pop edi
pop esi
test eax, eax
jne 0x40e6e7
push eax
push str.ERROR_
push str.Failed_to_save_the_file_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00424075
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x4d208]
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.0040ebf0
mov ecx, dword [ebp - 4]
add esp, 8
xor ecx, ebp
call fcn.00424075
mov esp, ebp
pop ebp
ret

Function at 0x40ecc0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x40ed80
push 0x46e280
push dword [ebp + 8]
lea eax, [ebp + 0xc]
push eax
call fcn.0043649b
add esp, 0xc
test eax, eax
je 0x40ed05
push 0
push str.ERROR_
push str.Could_not_open_save_file_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push edi
mov esi, ebx
mov edi, 0x200
nop
push 0x268
push esi
call fcn.004234c0
push dword [ebp + 0xc]
push 1
push 0x268
push esi
call fcn.00436e0a
add esp, 0x18
add esi, 0x268
sub edi, 1
jne 0x40ed10
push 0x2bc1
push 0x4d000
push ebx
call fcn.00422bb0
push dword [ebp + 0xc]
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push 1
push 4
push eax
call fcn.00436e0a
push dword [ebp + 0xc]
call fcn.004365a5
add esp, 0x20
push edi
push str.NOTICE_
push str.File_saved_successfully_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x40eda0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46d3eb
mov eax, dword fs:[0]
push eax
sub esp, 0x210
mov eax, dword [0x485310]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
push 0xce40
call fcn.00423c85
push 0xce40
mov esi, eax
push 0
push esi
mov dword [ebp - 0x218], esi
call fcn.00425630
push edi
push 1
push 0xce40
push esi
mov dword [ebp - 4], 0
call fcn.004369f9
push edi
push 1
lea eax, [ebp - 0x21c]
push 4
push eax
call fcn.004369f9
add esp, 0x30
mov edi, esi
mov ebx, 0x258
push 0x58
push edi
call fcn.004234c0
add esp, 8
add edi, 0x58
sub ebx, 1
jne 0x40ee20
lea eax, [ebp - 0x214]
mov byte [ebp - 0x14], bl
push eax
call fcn.00404e40
add esp, 4
test eax, eax
jne 0x40ee62
push eax
push str.ERROR_
push str.Failed_to_save_the_file_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x40ee78
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x214]
push eax
call fcn.0040f500
add esp, 8
test esi, esi
je 0x40ee85
push esi
call fcn.00424407
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00424075
mov esp, ebp
pop ebp
ret

Function at 0x40f690
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push edi
mov edi, dword [ebp + 0xc]
test edi, edi
jne 0x40f6b8
push edi
push str.ERROR_
push str.Error_on_processing_the_skill_class
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
mov esp, ebp
pop ebp
ret
push 0x46e280
push dword [ebp + 8]
lea eax, [ebp + 0xc]
push eax
call fcn.0043649b
add esp, 0xc
test eax, eax
je 0x40f6ed
push 0
push str.ERROR_
push str.Could_not_open_save_file_
push dword [0x48f0a0]
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
mov esp, ebp
pop ebp
ret
push esi
xor esi, esi
mov eax, dword [edi]
add eax, esi
push 0x58
push eax
call fcn.004234c0
push dword [ebp + 0xc]
mov eax, dword [edi]
push 1
add eax, esi
push 0x58
push eax
call fcn.00436e0a
add esi, 0x58
add esp, 0x18
cmp esi, 0xce40
jl 0x40f6f0
push 0x5a18
push 0xce40
push dword [edi]
call fcn.00422bb0
push dword [ebp + 0xc]
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push 1
push 4
push eax
call fcn.00436e0a
push dword [ebp + 0xc]
call fcn.004365a5
add esp, 0x20
pop esi
pop edi
mov esp, ebp
pop ebp
ret