Function at 0x435f10
Capabilities:
Write file on windows

Disassembly:
push 0x8c
mov eax, 0x4deeca
call fcn.004d631c
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
cmp dword [esi + 0x14], 8
mov eax, esi
mov dword [ebp - 4], ebx
jb 0x435f37
mov eax, dword [esi]
push ebx
push ebx
push 0x80
push 3
push 1
push SysReAllocString
push eax
lea ecx, [ebp - 0x50]
call fcn.004041db
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x436288
push 8
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x50]
call fcn.00434b41
cmp dword [ebp - 0x88], 0x53534e53
je 0x435f99
cmp dword [ebp - 0x84], 1
je 0x435f99
mov esi, dword [ebp - 0x50]
test esi, esi
je 0x436292
push esi
call edi
mov esi, ebx
jmp 0x43628b
lea eax, [ebp - 0x74]
xorps xmm0, xmm0
push eax
lea ecx, [ebp - 0x50]
movlpd qword [ebp - 0x74], xmm0
call fcn.00409d18
push 8
pop eax
mov dword [ebp - 0x58], eax
mov byte [ebp - 0x41], bl
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 1
cmp dword [ebp - 0x70], ebx
jb 0x436270
ja 0x435fdd
cmp dword [ebp - 0x74], eax
jbe 0x436270
push ebx
push ebx
push eax
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x48], ebx
call fcn.00434b7c
push 2
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x50]
call fcn.00434b41
test eax, eax
jne 0x436171
mov eax, dword [ebp - 0x48]
test ax, ax
je 0x436171
lea ecx, [ebp - 0x69]
movzx eax, ax
push ecx
lea ecx, [ebp - 0x51]
mov byte [ebp - 0x51], bl
push ecx
push eax
lea ecx, [ebp - 0x68]
call fcn.00403977
movzx eax, word [ebp - 0x48]
lea ecx, [ebp - 0x50]
push eax
push dword [ebp - 0x68]
mov byte [ebp - 4], 2
call fcn.00434b41
test eax, eax
jne 0x436165
movzx eax, word [ebp - 0x48]
add eax, 2
add dword [ebp - 0x58], eax
lea eax, [ebp - 0x90]
push 5
push dword [ebp - 0x68]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp byte [ebp - 0x90], 6
jne 0x436134
mov eax, dword [ebp - 0x68]
add eax, 5
push 8
push eax
lea eax, [ebp - 0x98]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x68]
add eax, 0xd
mov dword [ebp - 0x5c], ebx
push 4
push eax
lea eax, [ebp - 0x5c]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x5c]
add esp, 0x18
test ecx, ecx
je 0x436134
movzx eax, word [ebp - 0x48]
cmp ecx, eax
jae 0x436134
push ebx
push ecx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], bl
call fcn.00404eea
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
push dword [ebp - 0x5c]
cmovae ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x68]
add eax, 0x11
mov byte [ebp - 4], 3
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0041997c
add esp, 0x14
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 4
push eax
call fcn.00402ec2
mov ecx, eax
call fcn.00461a68
lea ecx, [ebp - 0x40]
test al, al
je 0x436123
mov byte [ebp - 0x41], 1
call fcn.00401f5a
lea ecx, [ebp - 0x28]
call fcn.00401f34
jmp 0x436140
call fcn.00401f5a
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00401f34
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x80]
call fcn.00434b18
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 1
call fcn.00406f8e
mov eax, dword [ebp - 0x58]
cmp ebx, dword [ebp - 0x70]
jb 0x435fdd
ja 0x436171
cmp eax, dword [ebp - 0x74]
jb 0x435fdd
jmp 0x436171
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 1
call fcn.00406f8e
cmp byte [ebp - 0x41], 0
je 0x436270
cmp dword [ebp - 0x50], 0
je 0x436189
push dword [ebp - 0x50]
call edi
mov dword [ebp - 0x50], ebx
cmp dword [esi + 0x14], 8
jb 0x436191
mov esi, dword [esi]
push ebx
push ebx
push 0x80
push 2
push 2
push 0x40000000
push esi
lea ecx, [ebp - 0x50]
call fcn.004041db
mov esi, dword [ebp - 0x50]
test eax, eax
jne 0x43627e
push ebx
lea eax, [ebp - 0x5c]
push eax
push 8
lea eax, [ebp - 0x88]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x4361d5
call fcn.00403ee6
jmp 0x4361d7
mov eax, ebx
test eax, eax
je 0x4361ed
test esi, esi
je 0x43627e
push esi
call edi
mov esi, ebx
jmp 0x43627e
mov eax, dword [ebp - 0x80]
jmp 0x436253
push eax
lea ecx, [ebp - 0x68]
call fcn.00406e32
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x68]
movzx eax, ax
push ebx
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x70]
push eax
push 2
lea eax, [ebp - 0x5c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x436227
call fcn.00403ee6
mov dword [ebp - 0x58], eax
jmp 0x43622a
mov dword [ebp - 0x58], ebx
movzx eax, word [ebp - 0x5c]
lea ecx, [ebp - 0x50]
push ebx
push eax
push dword [ebp - 0x68]
call fcn.004049a2
cmp dword [ebp - 0x58], 0
jne 0x43625d
test eax, eax
jne 0x43625d
lea ecx, [ebp - 0x68]
call fcn.00406f8e
mov eax, dword [ebp - 0x48]
add eax, 0xc
mov dword [ebp - 0x48], eax
cmp eax, dword [ebp - 0x7c]
jne 0x4361f2
jmp 0x436273
test esi, esi
je 0x436266
push esi
call edi
mov esi, ebx
lea ecx, [ebp - 0x68]
call fcn.00406f8e
jmp 0x43627e
mov esi, dword [ebp - 0x50]
test esi, esi
je 0x43627c
push esi
call edi
mov esi, ebx
mov bl, 1
lea ecx, [ebp - 0x80]
call fcn.00435ebc
jmp 0x43628b
mov esi, dword [ebp - 0x50]
test esi, esi
je 0x436292
push esi
call edi
mov al, bl
call fcn.004d62c6
ret 4