Function at 0x42246e
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x2464
call fcn.004528c0
push ebx
push esi
xor eax, eax
push edi
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 8]
lea esi, [esp + 0x10]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], eax
call fcn.004278ab
and dword [esp + 0x20], 0
and dword [esp + 0x24], 0
push 2
pop eax
cmp ebx, eax
mov dword [esp + 0x28], 0x489db8
mov dword [esp + 0x2c], edi
jbe 0x4224d4
mov ecx, edi
call fcn.00405435
call fcn.0040f6bb
cmp eax, 1
jne 0x4224d4
mov dword [esp + 0xc], 0x80000000
lea eax, [esp + 0x450]
push eax
lea eax, [esp + 0x1464]
push eax
lea eax, [esp + 0xc60]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x5c]
push eax
push ecx
xor eax, eax
mov ecx, edi
call fcn.00405435
mov esi, eax
call fcn.0040f5e3
pop ecx
push eax
lea edi, [esp + 0x1c80]
call fcn.00422c61
test al, al
jne 0x422528
mov dword [0x489dc0], 2
jmp 0x422872
mov edi, dword [esp + 0x4c]
push 3
pop esi
cmp edi, esi
je 0x422543
cmp edi, 1
je 0x422543
mov dword [0x489dc0], esi
jmp 0x422872
push edi
mov ebx, 0x489dc8
mov eax, 0x489aa0
call fcn.00422d5b
test al, al
jne 0x422571
call dword [0x465158]
mov dword [0x489dc4], eax
mov dword [0x489dc0], 4
jmp 0x422872
cmp edi, esi
je 0x422712
cmp edi, 1
jne 0x42258b
cmp dword [0x489d90], 2
je 0x422712
xor ebx, ebx
lea esi, [esp + 0x30]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x44], ebx
call fcn.004278d2
test al, al
mov eax, dword [esp + 0x38]
jne 0x4225b3
mov eax, 0x427b38
push ebx
push ebx
push edi
lea ecx, [esp + 0x45c]
push ecx
lea ecx, [esp + 0x1470]
push ecx
push dword [esp + 0x5c]
lea ecx, [esp + 0xc70]
push ecx
push dword [0x489dc8]
call eax
cmp eax, ebx
mov dword [esp + 0x20], eax
jne 0x42261b
call dword [0x465158]
mov esi, dword [0x465300]
mov dword [0x489dc4], eax
mov dword [0x489dc0], 7
cmp dword [esp + 0x30], ebx
je 0x422609
push dword [esp + 0x30]
call esi
lea eax, [esp + 0x20]
call fcn.00421b9f
cmp dword [esp + 0x10], ebx
jmp 0x422795
cmp byte [0x489d3d], bl
je 0x42262a
or dword [esp + 0xc], 2
jmp 0x42262f
or dword [esp + 0xc], 1
push ebx
push dword [esp + 0x10]
lea ecx, [esp + 0x1c70]
push 0x80000000
push ecx
push eax
lea esi, [esp + 0x50]
call fcn.00427901
call eax
cmp eax, ebx
mov dword [esp + 0x24], eax
jne 0x422681
call dword [0x465158]
cmp dword [esp + 0x3c], ebx
mov esi, dword [0x465300]
mov dword [0x489dc4], eax
mov dword [0x489dc0], 8
je 0x4225fd
push dword [esp + 0x3c]
call esi
jmp 0x4225fd
push 0x46b4dc
xor eax, eax
push ecx
mov ecx, dword [ebp + 8]
inc eax
call fcn.00405435
mov esi, eax
call fcn.0040f5e3
pop ecx
push eax
call fcn.004502fc
mov ebx, eax
xor edi, edi
cmp ebx, edi
pop ecx
pop ecx
jne 0x4226ef
call dword [0x465158]
cmp dword [esp + 0x3c], edi
mov esi, dword [0x465300]
mov dword [0x489dc4], eax
mov dword [0x489dc0], 9
je 0x4226d1
push dword [esp + 0x3c]
call esi
cmp dword [esp + 0x30], edi
je 0x4226dd
push dword [esp + 0x30]
call esi
lea eax, [esp + 0x20]
call fcn.00421b9f
cmp dword [esp + 0x10], edi
jmp 0x422795
cmp dword [esp + 0x3c], edi
je 0x4226ff
push dword [esp + 0x3c]
call dword [0x465300]
cmp dword [esp + 0x30], edi
je 0x4227ea
push dword [esp + 0x30]
jmp 0x4227e4
push 0x46e480
call dword [0x4652f0]
mov edi, eax
xor esi, esi
cmp edi, esi
je 0x422737
push 0x46e524
push edi
call dword [0x4652ec]
cmp eax, esi
mov ebx, eax
jne 0x42273c
mov ebx, 0x427b42
mov ecx, dword [ebp + 8]
push esi
push dword [esp + 0x10]
xor eax, eax
push esi
push esi
call fcn.00405435
mov esi, eax
call fcn.0040f5e3
push eax
push dword [0x489dc8]
call ebx
test eax, eax
mov dword [esp + 0x24], eax
jne 0x4227a6
call dword [0x465158]
mov dword [0x489dc0], 5
test edi, edi
mov esi, dword [0x465300]
mov dword [0x489dc4], eax
je 0x422787
push edi
call esi
lea eax, [esp + 0x20]
call fcn.00421b9f
cmp dword [esp + 0x10], 0
je 0x42288c
push dword [esp + 0x10]
call esi
jmp 0x42288c
push 0x46b4dc
xor eax, eax
push ecx
mov ecx, dword [ebp + 8]
inc eax
call fcn.00405435
mov esi, eax
call fcn.0040f5e3
pop ecx
push eax
call fcn.004502fc
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
jne 0x4227df
call dword [0x465158]
mov dword [0x489dc0], 6
jmp 0x422775
test edi, edi
je 0x4227ea
push edi
call dword [0x465300]
xor edi, edi
inc edi
mov dword [esp + 0x1c], edi
cmp dword [esp + 0x20], 0
jne 0x422808
push dword [esp + 0x24]
call fcn.00422895
cmp eax, 0xc8
jne 0x422861
lea esi, [esp + 0x10]
call fcn.004278ab
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x42281e
mov eax, 0x41edc5
lea ecx, [esp + 0x1c]
push ecx
push 0x400
lea ecx, [esp + 0x58]
push ecx
push dword [esp + 0x30]
call eax
test eax, eax
je 0x422861
cmp dword [esp + 0x1c], 0
je 0x42286b
push ebx
push edi
push dword [esp + 0x24]
lea eax, [esp + 0x5c]
push eax
call fcn.004505e5
mov eax, dword [esp + 0x2c]
add dword [0x489dbc], eax
add esp, 0x10
test eax, eax
jne 0x4227f1
jmp 0x42286b
mov dword [0x489dc0], 0xa
push ebx
call fcn.004506d9
pop ecx
lea eax, [esp + 0x20]
call fcn.00421b9f
cmp dword [esp + 0x10], 0
je 0x42288c
push dword [esp + 0x10]
call dword [0x465300]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4