Function at 0x432d70
Capabilities:
Read file on windows
Write file on windows

Disassembly:
sub esp, 0x204
mov eax, dword [0x5b0c20]
xor eax, esp
mov dword [esp + 0x200], eax
mov eax, dword [esp + 0x210]
push ebx
push ebp
mov ebp, dword [esp + 0x214]
push esi
mov esi, dword [esp + 0x214]
push edi
push 0x40
lea ecx, [esp + 0x1d4]
push 0xaa
push ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0
call fcn.00526520
lea eax, [esp + 0x1dc]
lea ebx, [ebp + 0x8a8]
mov ecx, ebx
mov edi, eax
add esp, 0xc
mov edx, 0x40
sub ecx, edi
lea esp, [esp]
mov edi, dword [ecx + eax]
cmp edi, dword [eax]
jne 0x432e24
sub edx, 4
add eax, 4
cmp edx, 4
jae 0x432de0
push 0x40
push esi
push 0xef1c
push 0x9e
mov ecx, 0x5b2810
call fcn.00405df0
xor eax, eax
mov ecx, dword [esp + 0x210]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00524d83
add esp, 0x204
ret
push 0x1000
call fcn.00401bb0
mov edi, eax
add esp, 4
mov dword [esp + 0x10], edi
test edi, edi
je 0x432e09
lea esi, [edi + 0x800]
push esi
push ebp
call fcn.0040a960
add esp, 8
test eax, eax
je 0x432e60
add esi, 0x600
mov ecx, 0x6c
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x10]
add edi, 0x250
mov esi, ebx
mov ebx, dword [esp + 0x10]
mov ecx, 0x18
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp + 0x2af2]
lea esi, [ebx + 0x2b0]
mov dword [esi], edx
mov eax, dword [ebp + 0x2af6]
mov dword [esi + 4], eax
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + str.A:key_storage.bin]
mov word [esp + eax + 0x1d0], cx
add eax, 2
test cx, cx
jne 0x432e90
mov ecx, dword [esp + 0x14]
mov dx, word [ecx + 0x288]
lea eax, [esp + 0x1d0]
push 0
push eax
mov word [esp + 0x1d8], dx
call fcn.005260d0
add esp, 8
test eax, eax
jne 0x432f7c
lea ecx, [esp + 0x1d0]
push 0x55592c
push ecx
call fcn.00527bdc
push eax
push 1
push 0x400
lea edi, [ebx + 0x400]
push edi
mov dword [esp + 0x28], eax
call fcn.00527fdb
add esp, 0x18
cmp eax, 1
jne 0x432f95
lea edx, [edi + 0x2b0]
mov dword [esp + 0x14], edx
jmp 0x432f1a
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
or eax, dword [edx + 4]
je 0x432f66
mov ecx, 8
mov eax, esi
sub edx, esi
lea ebx, [ebx]
cmp ecx, 4
jb 0x432f66
mov edi, dword [edx + eax]
cmp edi, dword [eax]
jne 0x432f44
sub ecx, 4
add eax, 4
jmp 0x432f30
mov ecx, dword [esp + 0x10]
push ecx
push 1
lea eax, [ebx + 0x400]
push 0x400
push eax
call fcn.00527fdb
add esp, 0x10
cmp eax, 1
je 0x432f16
jmp 0x432f95
mov edx, dword [esp + 0x10]
push 1
push 0xfffffc00
push edx
call fcn.00528134
add esp, 0xc
jmp 0x432f95
lea eax, [esp + 0x1d0]
push 0x554590
push eax
call fcn.00527bdc
add esp, 8
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x10]
test esi, esi
je 0x433044
push esi
push 1
push 0x400
push ebx
call fcn.00527898
add esp, 0x10
cmp eax, 1
jne 0x432fbb
mov dword [esp + 0x18], eax
push esi
call fcn.005276ba
add esp, 4
cmp dword [esp + 0x18], 0
je 0x433044
push 0x60
mov eax, 1
lea edi, [ebp + 0x3b50]
mov ecx, 0x100
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
push 0xaa
push ebx
mov dword [ebp + 0x3b44], eax
mov dword [ebp + 0x3b40], eax
call fcn.00526520
push 0x1b0
lea ecx, [esp + 0x30]
push 0
push ecx
call fcn.00526520
mov eax, dword [0x59f644]
mov ecx, dword [0x59f648]
mov edx, dword [str.j:Y]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x38]
push eax
push ebx
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], edx
mov edx, dword [0x59f64c]
push ebp
push ecx
mov dword [esp + 0x54], edx
call fcn.00423550
add esp, 0x28
push ebx
call fcn.00401bc0
mov eax, dword [esp + 0x1c]
add esp, 4
jmp 0x432e0b