Function at 0x4593e0
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x208
mov eax, dword [esi + 0x324]
push ebp
push edi
mov dword [esp + 0xc], eax
xor ebp, ebp
cmp dword [esi + 0x24], ebp
mov ecx, 0x19
mov eax, 0x3d003d
lea edi, [esp + 0x10]
rep stosd dword es:[edi], eax
mov word [esp + 0x74], bp
je 0x45944f
cmp dword [esi + 0x28], ebp
je 0x459420
lea ecx, [esp + 0x10]
push ecx
push ebx
call fcn.00456ef0
jmp 0x45945a
lea eax, [esp + 0x10]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x459427
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
sub eax, edx
push ebp
sar eax, 1
lea edx, [esp + 0xc]
push edx
add eax, eax
push eax
lea ecx, [esp + 0x1c]
push ecx
push ebx
call edi
jmp 0x459463
lea edx, [esp + 0x10]
push edx
push ebx
call fcn.00456e70
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
add esp, 8
cmp dword [esi + 0x24], ebp
je 0x45948c
cmp dword [esi + 0x28], ebp
je 0x45947a
push 0x470aec
push ebx
call fcn.00456ef0
jmp 0x459497
push ebp
lea eax, [esp + 0xc]
push eax
push 4
push 0x470aec
push ebx
call edi
jmp 0x45949a
push 0x470aec
push ebx
call fcn.00456e70
add esp, 8
cmp dword [esi + 0x30], ebp
jle 0x45953f
mov ecx, dword [esi + 0x34]
mov edi, dword [ecx + ebp*4]
mov ecx, dword [esp + 0x214]
mov eax, dword [esi + 0x64]
mov edx, dword [ecx]
mov edx, dword [edx]
push eax
push edi
call edx
mov ecx, dword [esp + 0xc]
push eax
lea eax, [edi + edi*4]
mov edx, dword [ecx + eax*4 + 0x10]
mov eax, dword [esi + 0x68]
push edx
push 0x470af8
push 0x4000
push eax
call sub.msvcrt.dll__snwprintf
mov ecx, dword [esi + 0x68]
add esp, 0x14
cmp dword [esi + 0x24], 0
je 0x459523
cmp dword [esi + 0x28], 0
je 0x4594f6
push ecx
push ebx
call fcn.00456ef0
jmp 0x45952a
mov eax, ecx
lea edi, [eax + 2]
jmp 0x459500
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x459500
sub eax, edi
push 0
sar eax, 1
lea edx, [esp + 0xc]
push edx
add eax, eax
push eax
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x45952d
push ecx
push ebx
call fcn.00456e70
add esp, 8
add ebp, 1
cmp ebp, dword [esi + 0x30]
jl 0x4594a3
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [esi + 0x24], 0
je 0x459583
cmp dword [esi + 0x28], 0
je 0x459558
lea ecx, [esp + 0x10]
push ecx
push ebx
call fcn.00456ef0
jmp 0x45958e
lea eax, [esp + 0x10]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x459560
sub eax, edx
push 0
sar eax, 1
lea edx, [esp + 0xc]
push edx
add eax, eax
push eax
lea ecx, [esp + 0x1c]
push ecx
push ebx
call edi
jmp 0x459591
lea edx, [esp + 0x10]
push edx
push ebx
call fcn.00456e70
add esp, 8
cmp dword [esi + 0x24], 0
je 0x4595bd
cmp dword [esi + 0x28], 0
je 0x4595aa
push 0x470aec
push ebx
call fcn.00456ef0
jmp 0x4595c8
push 0
lea eax, [esp + 0xc]
push eax
push 4
push 0x470aec
push ebx
call edi
jmp 0x4595cb
push 0x470aec
push ebx
call fcn.00456e70
add esp, 8
cmp dword [esi + 0x24], 0
je 0x45960c
cmp dword [esi + 0x28], 0
je 0x4595f0
push 0x470aec
push ebx
call fcn.00456ef0
add esp, 8
pop edi
pop ebp
add esp, 0x208
ret 4
push 0
lea ecx, [esp + 0xc]
push ecx
push 4
push 0x470aec
push ebx
call edi
pop edi
pop ebp
add esp, 0x208
ret 4
push 0x470aec
push ebx
call fcn.00456e70
add esp, 8
pop edi
pop ebp
add esp, 0x208
ret 4