Function at 0x4b4020
Capabilities:
Write file on windows

Disassembly:
push 0x5b4
mov eax, 0x60b1ad
call fcn.005cb937
mov edi, ecx
mov dword [ebp - 0x558], edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x568], esp
xor ebx, ebx
push str.IniReader::SaveFile
mov dword [ebp - 4], ebx
call fcn.0040518c
lea ecx, [edi + 8]
mov dword [ebp - 0x568], ecx
call fcn.00525fdb
cmp dword [ebp + 0x24], ebx
jne 0x4b4071
push 0x641040
lea ecx, [edi + 0x58]
call fcn.0040556d
cmp dword [ebp + 0x1c], ebx
jne 0x4b407e
lea eax, [edi + 0x3c]
lea ecx, [ebp + 8]
jmp 0x4b4089
cmp dword [ebp + 0x24], ebx
jne 0x4b4092
lea eax, [ebp + 8]
lea ecx, [edi + 0x3c]
push 0xffffffffffffffff
push ebx
push eax
call fcn.0040529a
lea eax, [ebp + 8]
push eax
lea esi, [ebp - 0x3f0]
call fcn.0054ae6f
pop ecx
mov eax, esi
push ebx
push eax
mov byte [ebp - 4], 1
call fcn.00548f1f
pop ecx
pop ecx
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x560], esp
push 0x652cf0
call fcn.0040518c
lea eax, [ebp - 0x32c]
push eax
mov ecx, esi
call fcn.005300b3
add esp, 0x24
mov byte [ebp - 4], 2
push 0x653fec
lea ecx, [ebp - 0x3b8]
mov dword [ebp - 0x55c], ebx
call fcn.0040518c
mov byte [ebp - 4], 3
cmp dword [edi + 0x88], ebx
je 0x4b4117
mov esi, 0x653b08
push esi
call fcn.005c3140
pop ecx
push eax
push esi
lea esi, [ebp - 0x3b8]
call fcn.00403f16
mov ecx, dword [ebp - 0x3b4]
push 0x10
pop esi
cmp dword [ebp - 0x3a0], esi
jae 0x4b412e
lea ecx, [ebp - 0x3b4]
mov eax, dword [ebp - 0x328]
cmp dword [ebp - 0x314], esi
jae 0x4b4142
lea eax, [ebp - 0x328]
push ecx
push eax
lea eax, [ebp - 0x55c]
push eax
call fcn.005c8fa1
add esp, 0xc
cmp dword [ebp - 0x55c], ebx
jne 0x4b422d
cmp dword [ebp + 0x24], ebx
jne 0x4b41b4
mov ecx, dword [ebp - 0x328]
cmp dword [ebp - 0x314], esi
jae 0x4b4178
lea ecx, [ebp - 0x328]
push ecx
push eax
push str.Failed_to_save_temp_file___d_:__s____Ini_file_not_saved_
mov ecx, 0x400
lea edx, [ebp - 0x364]
call fcn.0054aa9f
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [edi + 0x58]
mov byte [ebp - 4], 4
call fcn.0040529a
push ebx
push 1
lea ecx, [ebp - 0x364]
mov byte [ebp - 4], 3
call fcn.004055c2
mov eax, dword [ebp - 0x328]
cmp dword [ebp - 0x314], esi
jae 0x4b41c8
lea eax, [ebp - 0x328]
push eax
call dword [0x634478]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x558], esp
push str.IniReader::SaveFile
call fcn.0040518c
mov ecx, dword [ebp - 0x568]
call fcn.005266dc
xor esi, esi
inc esi
push ebx
push esi
lea ecx, [ebp - 0x3b8]
call fcn.004055c2
push ebx
push esi
lea ecx, [ebp - 0x32c]
call fcn.004055c2
push ebx
push esi
lea ecx, [ebp - 0x3f0]
call fcn.004055c2
push ebx
push esi
lea ecx, [ebp + 8]
call fcn.004055c2
xor eax, eax
call fcn.005cb9ba
ret 0x20
push 0x641040
lea ecx, [ebp - 0x380]
call fcn.0040518c
lea ecx, [ebp - 0x40c]
mov edx, edi
mov byte [ebp - 4], 5
call fcn.004b3992
mov byte [ebp - 4], 6
cmp dword [edi + 0xac], ebx
je 0x4b432d
lea eax, [edi + 0x98]
push eax
lea eax, [ebp - 0x3d4]
push 0x653fcc
push eax
call fcn.004049b4
add esp, 0xc
push 0x653fd0
push eax
lea eax, [ebp - 0x364]
push eax
mov byte [ebp - 4], 7
call fcn.00404922
add esp, 0xc
push ebx
lea ecx, [ebp - 0x40c]
push ecx
call fcn.0040b885
cmp eax, 0xffffffff
sete byte [ebp - 0x551]
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x364]
call fcn.004055c2
push ebx
push esi
lea ecx, [ebp - 0x3d4]
mov byte [ebp - 4], 6
call fcn.004055c2
cmp byte [ebp - 0x551], bl
je 0x4b4330
cmp dword [ebp - 0x314], 0x10
mov eax, dword [ebp - 0x328]
jae 0x4b42e7
lea eax, [ebp - 0x328]
push eax
call dword [0x634478]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x558], esp
push str.IniReader::SaveFile
call fcn.0040518c
mov ecx, dword [ebp - 0x568]
call fcn.005266dc
push ebx
push esi
lea ecx, [ebp - 0x40c]
call fcn.004055c2
push ebx
push esi
lea ecx, [ebp - 0x380]
call fcn.004055c2
jmp 0x4b41f2
xor esi, esi
inc esi
cmp dword [edi + 0x88], ebx
je 0x4b45e1
push ebx
lea ecx, [ebp - 0x39c]
mov dword [ebp - 0x384], 0xf
call fcn.004055a6
push ebx
lea ecx, [ebp - 0x348]
mov dword [ebp - 0x330], 0xf
call fcn.004055a6
lea eax, [ebp - 0x348]
push eax
sub esp, 0x1c
mov byte [ebp - 4], 9
lea eax, [ebp - 0x40c]
mov ecx, esp
mov dword [ebp - 0x560], esp
push eax
call fcn.004051ae
lea eax, [edi + 0x74]
push eax
call fcn.00584afd
cmp eax, ebx
je 0x4b43c4
cmp dword [ebp - 0x330], 0x10
mov eax, dword [ebp - 0x344]
jae 0x4b43ac
lea eax, [ebp - 0x344]
push dword [ebp - 0x55c]
push dword [ebp - 0x334]
push esi
push eax
call fcn.005c9156
add esp, 0x10
jmp 0x4b43f7
push str.Failed_to_encrypt
mov ecx, 0x400
lea edx, [ebp - 0x364]
call fcn.0054aa9f
pop ecx
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [edi + 0x58]
mov byte [ebp - 4], 0xa
call fcn.0040529a
push ebx
push esi
lea ecx, [ebp - 0x364]
call fcn.004055c2
push ebx
push esi
lea ecx, [ebp - 0x348]
call fcn.004055c2
push ebx
push esi
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 6
call fcn.004055c2
push dword [ebp - 0x55c]
call fcn.005c924f
pop ecx
cmp dword [ebp - 0x318], ebx
je 0x4b4a5d
cmp dword [ebp - 0x36c], ebx
je 0x4b487e
sub esp, 0x1c
lea eax, [ebp - 0x380]
mov ecx, esp
mov dword [ebp - 0x560], esp
push eax
call fcn.004051ae
call fcn.004b3fea
mov esi, eax
push 1
lea eax, [ebp - 0x380]
push 0x4000
push eax
lea eax, [ebp - 0x32c]
call fcn.005482fb
add esp, 0xc
push 0x641b00
lea ecx, [ebp - 0x3d4]
call fcn.0040518c
push 0x640fbc
lea ecx, [ebp - 0x364]
mov byte [ebp - 4], 0x13
call fcn.0040518c
lea eax, [ebp - 0x380]
push eax
lea ebx, [ebp - 0x3d4]
lea edi, [ebp - 0x364]
mov byte [ebp - 4], 0x14
call fcn.0054aba1
pop ecx
push 0
push 1
mov ecx, edi
call fcn.004055c2
push 0
push 1
mov ecx, ebx
mov byte [ebp - 4], 6
call fcn.004055c2
sub esp, 0x1c
lea eax, [ebp - 0x380]
mov ecx, esp
mov dword [ebp - 0x56c], esp
push eax
call fcn.004051ae
call fcn.004b3fea
cmp esi, eax
je 0x4b487c
xor esi, esi
cmp dword [ebp + 0x24], esi
jne 0x4b454e
cmp dword [ebp - 0x314], 0x10
mov eax, dword [ebp - 0x328]
jae 0x4b450e
lea eax, [ebp - 0x328]
push eax
push str.Failed_CRC:__s
mov ecx, 0x400
lea edx, [ebp - 0x5a4]
call fcn.0054aa9f
pop ecx
pop ecx
mov ecx, dword [ebp - 0x558]
push 0xffffffffffffffff
push esi
push eax
add ecx, 0x58
mov byte [ebp - 4], 0x15
call fcn.0040529a
push esi
push 1
lea ecx, [ebp - 0x5a4]
mov byte [ebp - 4], 6
call fcn.004055c2
cmp dword [ebp - 0x314], 0x10
mov eax, dword [ebp - 0x328]
jae 0x4b4563
lea eax, [ebp - 0x328]
push eax
call dword [0x634478]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x56c], esp
push str.IniReader::SaveFile
call fcn.0040518c
mov ecx, dword [ebp - 0x568]
call fcn.005266dc
xor ebx, ebx
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0x40c]
call fcn.004055c2
push ebx
push edi
lea ecx, [ebp - 0x380]
call fcn.004055c2
push ebx
push edi
lea ecx, [ebp - 0x3b8]
call fcn.004055c2
push ebx
push edi
lea ecx, [ebp - 0x32c]
call fcn.004055c2
push ebx
push edi
lea ecx, [ebp - 0x3f0]
call fcn.004055c2
push ebx
push edi
lea ecx, [ebp + 8]
call fcn.004055c2
mov eax, esi
jmp 0x4b4225
mov eax, dword [edi + 0xcc]
mov eax, dword [eax]
mov edi, dword [edi + 0xb4]
mov dword [ebp - 0x570], edi
mov dword [ebp - 0x56c], eax
mov eax, dword [ebp - 0x558]
mov ecx, dword [eax + 0xcc]
mov eax, dword [eax + 0xb4]
lea edi, [ebp - 0x580]
lea esi, [ebp - 0x570]
mov dword [ebp - 0x57c], ecx
mov dword [ebp - 0x580], eax
call fcn.00584150
test al, al
jne 0x4b4415
call fcn.005469a8
push eax
lea ecx, [ebp - 0x348]
call fcn.004051ae
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x334], ebx
jne 0x4b4657
push ebx
push 1
jmp 0x4b485d
mov esi, 0x653fcc
push esi
call fcn.005c3140
pop ecx
push eax
push esi
xor eax, eax
lea ecx, [ebp - 0x348]
call fcn.004131a9
mov esi, 0x653fd0
push esi
call fcn.005c3140
pop ecx
push eax
push esi
lea esi, [ebp - 0x348]
call fcn.00403f16
push 0xffffffffffffffff
push ebx
mov eax, esi
push eax
lea ecx, [ebp - 0x380]
call fcn.00403e6f
cmp dword [ebp - 0x330], 0x10
mov eax, dword [ebp - 0x344]
jae 0x4b46b1
lea eax, [ebp - 0x344]
push dword [ebp - 0x55c]
xor edi, edi
push dword [ebp - 0x334]
inc edi
push edi
push eax
call fcn.005c9156
add esp, 0x10
lea esi, [ebp - 0x570]
call fcn.005469a8
mov ecx, dword [eax + 0x34]
mov ecx, dword [ecx]
add eax, 0x1c
push eax
push ecx
lea ecx, [ebp - 0x588]
call fcn.004b2299
mov eax, dword [ebp - 0x588]
mov dword [ebp - 0x564], eax
mov eax, dword [ebp - 0x584]
mov dword [ebp - 0x560], eax
jmp 0x4b4823
lea ecx, [ebp - 0x564]
call fcn.004b22bf
push eax
lea ecx, [ebp - 0x364]
call fcn.004051ae
lea ecx, [ebp - 0x564]
mov byte [ebp - 4], 0xc
call fcn.004b22bf
add eax, 0x1c
push eax
lea ecx, [ebp - 0x3d4]
call fcn.004051ae
push 0x653fd4
lea eax, [ebp - 0x364]
push eax
lea eax, [ebp - 0x5a4]
push eax
mov byte [ebp - 4], 0xd
call fcn.00404922
add esp, 0xc
lea ecx, [ebp - 0x3d4]
push ecx
push eax
lea eax, [ebp - 0x5c0]
push eax
mov byte [ebp - 4], 0xe
call fcn.00404969
add esp, 0xc
push 0x641b00
push eax
lea eax, [ebp - 0x39c]
push eax
mov byte [ebp - 4], 0xf
call fcn.00404922
add esp, 0xc
push ebx
push edi
lea ecx, [ebp - 0x5c0]
call fcn.004055c2
push ebx
push edi
lea ecx, [ebp - 0x5a4]
mov byte [ebp - 4], 0x12
call fcn.004055c2
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x39c]
push eax
lea ecx, [ebp - 0x380]
call fcn.00403e6f
cmp dword [ebp - 0x384], 0x10
mov eax, dword [ebp - 0x398]
jae 0x4b47d7
lea eax, [ebp - 0x398]
push dword [ebp - 0x55c]
push dword [ebp - 0x388]
push edi
push eax
call fcn.005c9156
add esp, 0x10
push ebx
push edi
lea ecx, [ebp - 0x39c]
call fcn.004055c2
push ebx
push edi
lea ecx, [ebp - 0x3d4]
call fcn.004055c2
push ebx
push edi
lea ecx, [ebp - 0x364]
mov byte [ebp - 4], 0xb
call fcn.004055c2
lea ecx, [ebp - 0x564]
call fcn.00404847
lea esi, [ebp - 0x570]
call fcn.005469a8
mov ecx, dword [eax + 0x34]
add eax, 0x1c
push eax
push ecx
lea ecx, [ebp - 0x578]
call fcn.004b2299
lea eax, [ebp - 0x578]
push eax
lea ecx, [ebp - 0x564]
call fcn.00403a9f
test al, al
je 0x4b4707
push ebx
push edi
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 6
call fcn.004055c2
lea esi, [ebp - 0x570]
call fcn.00416e73
jmp 0x4b45fb
xor ebx, ebx
mov ecx, dword [ebp + 0xc]
push 0x10
pop edi
cmp dword [ebp + 0x20], edi
jae 0x4b488c
lea ecx, [ebp + 0xc]
mov eax, 0x100
push eax
lea edx, [ebp - 0x210]
push edx
push eax
lea edx, [ebp - 0x310]
push edx
push eax
lea eax, [ebp - 0x110]
push eax
push 3
lea eax, [ebp - 0x560]
push eax
push ecx
call fcn.005c8860
add esp, 0x24
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x5c0]
call fcn.0040518c
mov esi, eax
lea eax, [ebp - 0x560]
push eax
lea ecx, [ebp - 0x5a4]
mov byte [ebp - 4], 0x16
call fcn.0040518c
push esi
push eax
lea eax, [ebp - 0x348]
push eax
mov byte [ebp - 4], 0x17
call fcn.00404969
add esp, 0xc
push ebx
push 1
lea ecx, [ebp - 0x5a4]
call fcn.004055c2
push ebx
push 1
lea ecx, [ebp - 0x5c0]
mov byte [ebp - 4], 0x1a
call fcn.004055c2
push 0x140
lea eax, [ebp - 0x550]
push ebx
push eax
call fcn.005c6d70
mov eax, dword [ebp - 0x344]
add esp, 0xc
cmp dword [ebp - 0x330], edi
jae 0x4b4943
lea eax, [ebp - 0x344]
lea ecx, [ebp - 0x550]
push ecx
push eax
call dword [0x634410]
cmp eax, 0xffffffff
jne 0x4b499b
mov eax, dword [ebp - 0x344]
cmp dword [ebp - 0x330], edi
jae 0x4b496a
lea eax, [ebp - 0x344]
push eax
lea ecx, [ebp - 0x364]
call fcn.0040518c
lea eax, [ebp - 0x364]
push ebx
push eax
mov byte [ebp - 4], 0x1b
call fcn.00548f1f
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x364]
mov byte [ebp - 4], 0x1a
call fcn.004055c2
mov ecx, dword [ebp + 0xc]
cmp dword [ebp + 0x20], edi
jae 0x4b49a6
lea ecx, [ebp + 0xc]
mov eax, dword [ebp - 0x328]
cmp dword [ebp - 0x314], edi
jae 0x4b49ba
lea eax, [ebp - 0x328]
push ebx
push ecx
push eax
call dword [0x634470]
cmp eax, ebx
jne 0x4b4a30
cmp dword [ebp + 0x24], ebx
jne 0x4b4a30
mov ecx, dword [ebp + 0xc]
cmp dword [ebp + 0x20], edi
jae 0x4b49d7
lea ecx, [ebp + 0xc]
mov eax, dword [ebp - 0x328]
cmp dword [ebp - 0x314], edi
jae 0x4b49eb
lea eax, [ebp - 0x328]
push ecx
push eax
call dword [0x634468]
push eax
push str.Failed_to_save_ini_file___d_:__s_____s
mov ecx, 0x400
lea edx, [ebp - 0x364]
call fcn.0054aa9f
add esp, 0x10
mov ecx, dword [ebp - 0x558]
push 0xffffffffffffffff
push ebx
push eax
add ecx, 0x58
mov byte [ebp - 4], 0x1c
call fcn.0040529a
push ebx
push 1
lea ecx, [ebp - 0x364]
call fcn.004055c2
mov eax, dword [ebp - 0x328]
cmp dword [ebp - 0x314], edi
jae 0x4b4a44
lea eax, [ebp - 0x328]
push eax
call dword [0x634478]
push ebx
push 1
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 6
call fcn.004055c2
mov eax, dword [ebp - 0x558]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x56c], esp
push str.IniReader::SaveFile
mov dword [eax + 0x90], ebx
call fcn.0040518c
mov ecx, dword [ebp - 0x568]
call fcn.005266dc
xor esi, esi
inc esi
jmp 0x4b458c