Function at 0x4f20f0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xec
push esi
push edi
mov edi, ecx
push 0x1dc
mov ecx, 0x6d5870
call fcn.0043f1c0
mov esi, eax
test esi, esi
je 0x4f2142
fld dword [esi + 0x1c4]
call fcn.0056ed80
mov dword [ebp - 0xec], eax
fld dword [esi + 0x1c8]
call fcn.0056ed80
mov dword [ebp - 0xe8], eax
xor eax, eax
cmp dword [esi + 0x10], eax
setne al
mov dword [ebp - 0xe4], eax
push 0x546
mov ecx, 0x6d5870
call fcn.0043f1c0
mov esi, eax
test esi, esi
je 0x4f2187
fld dword [esi + 0x1c4]
call fcn.0056ed80
mov dword [ebp - 0xdc], eax
fld dword [esi + 0x1c8]
call fcn.0056ed80
xor ecx, ecx
mov dword [ebp - 0xd8], eax
cmp dword [esi + 0x10], ecx
setne cl
mov dword [ebp - 0xd4], ecx
push 0x53b
mov ecx, 0x6d5870
call fcn.0043f1c0
mov esi, eax
test esi, esi
je 0x4f21e2
fld dword [esi + 0x1c4]
call fcn.0056ed80
mov dword [ebp - 0xcc], eax
fld dword [esi + 0x1c8]
call fcn.0056ed80
mov ecx, esi
mov dword [ebp - 0xc8], eax
call fcn.0045dec0
test eax, eax
je 0x4f21d9
xor edx, edx
cmp dword [esi + 0x10], edx
setne dl
mov dword [ebp - 0xc4], edx
jmp 0x4f21e2
mov eax, dword [edi + 0x20]
mov dword [ebp - 0xc4], eax
push ebx
push 0x1d4
mov ecx, 0x6d5870
call fcn.0043f1c0
mov esi, eax
mov edi, 8
lea ebx, [edi - 7]
test esi, esi
je 0x4f225e
fld dword [esi + 0x1c4]
call fcn.0056ed80
mov dword [ebp - 0xbc], eax
fld dword [esi + 0x1c8]
call fcn.0056ed80
xor ecx, ecx
mov dword [ebp - 0xb8], eax
cmp dword [esi + 0x10], ecx
setne cl
mov dword [ebp - 0xb4], ecx
movzx eax, word [esi + 0x228]
cmp ax, bx
jne 0x4f2245
or dword [ebp - 0xb4], 4
jmp 0x4f225e
cmp eax, 2
jne 0x4f2252
or dword [ebp - 0xb4], edi
jmp 0x4f225e
cmp eax, 3
jne 0x4f225e
or dword [ebp - 0xb4], 0x10
push 0xf1
mov ecx, 0x6d5870
call fcn.0043f1c0
mov esi, eax
test esi, esi
je 0x4f22b3
fld dword [esi + 0x1c4]
call fcn.0056ed80
mov dword [ebp - 0xac], eax
fld dword [esi + 0x1c8]
call fcn.0056ed80
xor edx, edx
mov dword [ebp - 0xa8], eax
cmp dword [esi + 0x10], edx
setne dl
mov dword [ebp - 0xa4], edx
cmp dword [esi + 0x2c0], 0
je 0x4f22b3
or dword [ebp - 0xa4], 2
push 0x131
mov ecx, 0x6d5870
call fcn.0043f1c0
mov esi, eax
test esi, esi
je 0x4f2334
fld dword [esi + 0x1c4]
call fcn.0056ed80
mov dword [ebp - 0x9c], eax
fld dword [esi + 0x1c8]
call fcn.0056ed80
mov dword [ebp - 0x98], eax
xor eax, eax
cmp dword [esi + 0x10], eax
setne al
mov dword [ebp - 0x94], eax
mov eax, dword [esi + 0x9708]
cmp eax, ebx
jne 0x4f230b
or dword [ebp - 0x94], 4
jmp 0x4f2324
cmp eax, 2
jne 0x4f2318
or dword [ebp - 0x94], edi
jmp 0x4f2324
cmp eax, 4
jne 0x4f2324
or dword [ebp - 0x94], 0x10
mov ecx, esi
call fcn.004c95f0
movzx ecx, al
mov dword [ebp - 0x90], ecx
push 0x68a
mov ecx, 0x6d5870
call fcn.0043f1c0
test eax, eax
je 0x4f236c
cmp dword [eax + 0x10], 0
je 0x4f2359
or dword [ebp - 0x94], 0x100
jmp 0x4f236c
mov eax, 0x100
test dword [ebp - 0x94], eax
je 0x4f236c
xor dword [ebp - 0x94], eax
push 0xf7
mov ecx, 0x6d5870
call fcn.0043f1c0
mov esi, eax
test esi, esi
je 0x4f23db
fld dword [esi + 0x1c4]
call fcn.0056ed80
mov dword [ebp - 0x8c], eax
fld dword [esi + 0x1c8]
call fcn.0056ed80
xor edx, edx
mov dword [ebp - 0x88], eax
cmp dword [esi + 0x10], edx
setne dl
mov dword [ebp - 0x84], edx
mov al, byte [esi + 0x21b]
cmp al, bl
jne 0x4f23c4
or dword [ebp - 0x84], 4
jmp 0x4f23db
cmp al, 2
jne 0x4f23d0
or dword [ebp - 0x84], edi
jmp 0x4f23db
cmp al, 3
jne 0x4f23db
or dword [ebp - 0x84], 0x10
push 0x60
mov ecx, 0x6d5870
call fcn.0043f1c0
mov esi, eax
test esi, esi
je 0x4f2414
fld dword [esi + 0x1c4]
call fcn.0056ed80
mov dword [ebp - 0x7c], eax
fld dword [esi + 0x1c8]
call fcn.0056ed80
mov dword [ebp - 0x78], eax
xor eax, eax
cmp dword [esi + 0x10], eax
setne al
mov dword [ebp - 0x74], eax
push 0xcb
mov ecx, 0x6d5870
call fcn.0043f1c0
mov esi, eax
test esi, esi
je 0x4f2496
fld dword [esi + 0x1c4]
call fcn.0056ed80
mov dword [ebp - 0x6c], eax
fld dword [esi + 0x1c8]
call fcn.0056ed80
xor ecx, ecx
mov dword [ebp - 0x68], eax
cmp dword [esi + 0x10], ecx
setne cl
mov dword [ebp - 0x64], ecx
cmp byte [esi + 0x21b], bl
jne 0x4f2487
or dword [ebp - 0x64], 4
mov edx, dword [0x6c82a4]
mov al, byte [edx + 0x21b]
cmp al, bl
jne 0x4f2472
or dword [ebp - 0x64], 0x20
jmp 0x4f2487
cmp al, 2
jne 0x4f247c
or dword [ebp - 0x64], 0x40
jmp 0x4f2487
cmp al, 3
jne 0x4f2487
or dword [ebp - 0x64], 0x80
mov eax, dword [esi + 0x224]
mov ecx, dword [eax + 0x2a8]
mov dword [ebp - 0x60], ecx
push 0x340
mov ecx, 0x6d5870
call fcn.0043f1c0
mov esi, eax
test esi, esi
je 0x4f24f7
fld dword [esi + 0x1c4]
call fcn.0056ed80
mov dword [ebp - 0x5c], eax
fld dword [esi + 0x1c8]
call fcn.0056ed80
xor edx, edx
mov dword [ebp - 0x58], eax
cmp dword [esi + 0x10], edx
setne dl
mov dword [ebp - 0x54], edx
cmp byte [esi + 0x21b], bl
jne 0x4f24de
or dword [ebp - 0x54], 4
cmp byte [esi + 0x21b], 2
jne 0x4f24ea
or dword [ebp - 0x54], edi
cmp byte [esi + 0x21b], 3
jne 0x4f24f7
or dword [ebp - 0x54], 0x10
push 0x5ca
mov ecx, 0x6d5870
call fcn.0043f1c0
mov esi, eax
test esi, esi
je 0x4f2533
fld dword [esi + 0x1c4]
call fcn.0056ed80
mov dword [ebp - 0x4c], eax
fld dword [esi + 0x1c8]
call fcn.0056ed80
mov dword [ebp - 0x48], eax
xor eax, eax
cmp dword [esi + 0x10], eax
setne al
mov dword [ebp - 0x44], eax
push 0x563
mov ecx, 0x6d5870
call fcn.0043f1c0
mov esi, eax
test esi, esi
je 0x4f257c
fld dword [esi + 0x1c4]
call fcn.0056ed80
mov dword [ebp - 0x3c], eax
fld dword [esi + 0x1c8]
call fcn.0056ed80
mov dword [ebp - 0x38], eax
cmp dword [esi + 0x10], 0
je 0x4f2575
mov dword [ebp - 0x34], ebx
mov dword [0x6e3f20], ebx
jmp 0x4f257c
mov dword [ebp - 0x34], 0
push 0x20d
mov ecx, 0x6d5870
call fcn.0043f1c0
mov esi, eax
pop ebx
test esi, esi
je 0x4f25ca
fld dword [esi + 0x1c4]
call fcn.0056ed80
mov dword [ebp - 0x2c], eax
fld dword [esi + 0x1c8]
call fcn.0056ed80
xor ecx, ecx
cmp dword [0x6c836c], ecx
mov dword [ebp - 0x28], eax
setne cl
xor edx, edx
cmp dword [0x6c8368], edx
setne dl
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], edx
mov esi, dword [0x6e48e4]
test esi, esi
je 0x4f25f8
fld dword [esi + 0x1c4]
call fcn.0056ed80
mov dword [ebp - 0x1c], eax
fld dword [esi + 0x1c8]
call fcn.0056ed80
mov dword [ebp - 0x18], eax
mov eax, dword [0x6e48e0]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 8]
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x4f266b
mov edx, dword [0x700dd4]
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
push 0
lea eax, [ebp - 4]
push eax
push 4
lea ecx, [ebp - 8]
push ecx
push esi
mov dword [ebp - 8], 0x6111101
mov dword [ebp - 0xc], edx
call edi
push 0
lea edx, [ebp - 4]
push edx
push 4
lea eax, [ebp - 0xc]
push eax
push esi
call edi
push 0
lea ecx, [ebp - 4]
push ecx
push 0xe0
lea edx, [ebp - 0xec]
push edx
push esi
call edi
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4