Function at 0x459629
Capabilities:
Get file size
Write file on windows

Disassembly:
push 0x238
mov eax, 0x53602e
call fcn.0049bb92
mov eax, dword [ebp + 0x10]
xor ebx, ebx
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
push ebx
push ebx
mov dword [ebp - 0x238], eax
mov eax, dword [ebp + 0x14]
push ebx
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp + 0x18]
push esi
mov dword [ebp - 0x240], eax
mov byte [ebp - 0x225], bl
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0x459677
push esi
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
lea eax, [ebp - 0x22c]
mov dword [ebp - 0x22c], ebx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
test eax, eax
jne 0x459697
cmp dword [ebp - 0x22c], ebx
je 0x4596b7
push ebx
push 0x80
push 2
push ebx
push 3
push 0xc0000000
push edi
mov byte [ebp - 0x225], 1
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
push 0x59e280
push 0x21
call fcn.0049aa33
mov edi, eax
mov dword [ebp - 0x234], edi
pop ecx
pop ecx
test edi, edi
jne 0x4596dd
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x459a1c
push 0x21
push ebx
push edi
call fcn.0049e130
add esp, 0xc
mov dword [ebp - 0x230], edi
movzx eax, byte [ebx + section..QMGuid]
push eax
push 0x57fbf0
push 2
push 3
push edi
call fcn.00459000
add esp, 0x14
add edi, 2
inc ebx
cmp ebx, 0x10
jb 0x4596ef
mov edi, dword [ebp - 0x234]
xor eax, eax
mov byte [edi + 0x20], al
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x2c], al
push str._Profile_
lea edx, [ebp - 0x2c]
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x224]
call fcn.0045a7d4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20c]
mov edx, eax
mov dword [esp], 0x57f784
call fcn.00409f50
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1f4]
mov edx, eax
mov dword [esp], str.config1
call fcn.00409f50
mov ebx, 0x57dcc4
mov byte [ebp - 4], 3
push ebx
mov edx, eax
lea ecx, [ebp - 0x1dc]
call fcn.00409f50
push edi
mov edx, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c4]
call fcn.00409f50
push 0x57f784
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1ac]
call fcn.00409f50
push str.config2
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x194]
call fcn.00409f50
push ebx
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x17c]
call fcn.00409f50
push dword [ebp - 0x238]
mov edx, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x164]
call fcn.00409f50
push 0x57f784
mov edx, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x14c]
call fcn.00409f50
push str.config3
mov edx, eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x134]
call fcn.00409f50
push ebx
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x11c]
call fcn.00409f50
mov byte [ebp - 4], 0xc
push dword [ebp - 0x23c]
mov edx, eax
lea ecx, [ebp - 0x104]
call fcn.00409f50
push 0x57f784
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xec]
call fcn.00409f50
push str.config4
mov edx, eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xd4]
call fcn.00409f50
push ebx
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xbc]
call fcn.00409f50
push dword [ebp - 0x240]
mov edx, eax
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xa4]
call fcn.00409f50
mov ebx, 0x57f784
mov byte [ebp - 4], 0x11
push ebx
mov edx, eax
lea ecx, [ebp - 0x8c]
call fcn.00409f50
add esp, 0x40
push str.config5
mov edx, eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x74]
call fcn.00409f50
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x5c]
mov edx, eax
mov dword [esp], 0x57fc70
call fcn.00409f50
push ebx
mov edx, eax
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x44]
call fcn.00409f50
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.0042d8a0
lea ecx, [ebp - 0x44]
call fcn.004062b0
lea ecx, [ebp - 0x5c]
call fcn.004062b0
lea ecx, [ebp - 0x74]
call fcn.004062b0
lea ecx, [ebp - 0x8c]
call fcn.004062b0
lea ecx, [ebp - 0xa4]
call fcn.004062b0
lea ecx, [ebp - 0xbc]
call fcn.004062b0
lea ecx, [ebp - 0xd4]
call fcn.004062b0
lea ecx, [ebp - 0xec]
call fcn.004062b0
lea ecx, [ebp - 0x104]
call fcn.004062b0
lea ecx, [ebp - 0x11c]
call fcn.004062b0
lea ecx, [ebp - 0x134]
call fcn.004062b0
lea ecx, [ebp - 0x14c]
call fcn.004062b0
lea ecx, [ebp - 0x164]
call fcn.004062b0
lea ecx, [ebp - 0x17c]
call fcn.004062b0
lea ecx, [ebp - 0x194]
call fcn.004062b0
lea ecx, [ebp - 0x1ac]
call fcn.004062b0
lea ecx, [ebp - 0x1c4]
call fcn.004062b0
lea ecx, [ebp - 0x1dc]
call fcn.004062b0
lea ecx, [ebp - 0x1f4]
call fcn.004062b0
lea ecx, [ebp - 0x20c]
call fcn.004062b0
lea ecx, [ebp - 0x224]
call fcn.004062b0
and dword [ebp - 0x244], 0
lea ecx, [ebp - 0x244]
cmp dword [ebp - 0x18], 0x10
lea eax, [ebp - 0x2c]
push 0
cmovae eax, dword [ebp - 0x2c]
push ecx
push dword [ebp - 0x1c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
cmp byte [ebp - 0x225], 0
je 0x459a0d
cmp esi, 0xffffffff
je 0x459a0d
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call fcn.0049aa3c
pop ecx
lea ecx, [ebp - 0x2c]
call fcn.004062b0
call fcn.0049bb4d
ret 0x1c