Function at 0x48faab
Capabilities:
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x4576f9
mov eax, dword fs:[0]
push eax
sub esp, 0x1ec
mov eax, dword [0x46c340]
xor eax, esp
mov dword [esp + 0x1e8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x46c340]
xor eax, esp
push eax
lea eax, [esp + 0x200]
mov dword fs:[0], eax
mov ebp, ecx
mov dword [esp + 0x34], ebp
mov dword [ebp], 0x461918
xor ebx, ebx
mov dword [esp + 0x208], ebx
cmp byte [0x46fa6c], bl
je 0x48fea3
mov dword [esp + 0xf0], 0xf
mov dword [esp + 0xec], ebx
mov byte [esp + 0xdc], bl
lea eax, [esp + 0x54]
push eax
mov byte [esp + 0x20c], 2
call fcn.0048ff2b
lea esi, [esp + 0x18]
mov byte [esp + 0x208], 3
call fcn.0048f92b
mov edi, eax
push ebp
lea esi, [esp + 0x3c]
mov byte [esp + 0x20c], 4
call fcn.0048fa1b
mov esi, eax
push 0x461894
push ecx
mov byte [esp + 0x210], 5
call dword [fcn.004590ac]
push eax
push ecx
push 0x461898
push ecx
push 0x46189c
push ecx
mov ecx, dword [ebp + 8]
push ecx
push ecx
push 0x4618a0
push ecx
lea edx, [ebp + 0xc]
push edx
push ecx
push 0x4618a4
push ecx
push edi
push ecx
push 0x4618a8
push ecx
push esi
push ecx
lea eax, [esp + 0xac]
push 0x4618ac
push eax
call fcn.0047458b
add esp, 0xc
push eax
call fcn.0049091b
add esp, 0xc
push eax
call fcn.0047458b
add esp, 0xc
push eax
call fcn.0049091b
add esp, 0xc
push eax
call fcn.0047458b
add esp, 0xc
push eax
call fcn.0049091b
add esp, 0xc
push eax
call fcn.0047458b
add esp, 0xc
push eax
call fcn.0047eb5b
add esp, 4
push eax
call fcn.0047458b
add esp, 0xc
push eax
call fcn.0047458b
add esp, 0xc
push eax
call fcn.0047872b
add esp, 4
push eax
call fcn.0047458b
mov edi, 0x10
add esp, 8
cmp dword [esp + 0x50], edi
jb 0x48fc2c
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.004a12b0
add esp, 4
mov byte [esp + 0x208], 3
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
cmp dword [esp + 0x30], edi
jb 0x48fc57
mov edx, dword [esp + 0x1c]
push edx
call fcn.004a12b0
add esp, 4
lea ecx, [esp + 0x18]
lea eax, [esp + 0x54]
call fcn.0049002b
push ebx
push eax
or eax, 0xffffffff
lea esi, [esp + 0xe0]
mov byte [esp + 0x210], 6
call fcn.0047c85b
mov byte [esp + 0x208], 3
cmp dword [esp + 0x30], edi
jb 0x48fc98
mov eax, dword [esp + 0x1c]
push eax
call fcn.004a12b0
add esp, 4
push 1
push 0x4618b0
lea eax, [esp + 0xe0]
call fcn.0047c2ab
lea eax, [ebp + 0x28]
lea ecx, [esp + 0x18]
call fcn.0049002b
push ebx
push eax
or eax, 0xffffffff
lea esi, [esp + 0xe0]
mov byte [esp + 0x210], 7
call fcn.0047c85b
mov byte [esp + 0x208], 3
cmp dword [esp + 0x30], edi
jb 0x48fceb
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.004a12b0
add esp, 4
push 1
push 0x4618b4
lea eax, [esp + 0xe0]
call fcn.0047c2ab
cmp dword [0x46d3dc], ebx
jne 0x48fdcb
push 0x103
lea edx, [esp + 0xf9]
push ebx
push edx
mov byte [esp + 0x100], bl
call fcn.004a7fbb
add esp, 0xc
push 0x104
lea eax, [esp + 0xf8]
push eax
push ebx
call dword [fcn.004590d8]
lea eax, [esp + 0xf4]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x48fd4b
sub eax, edx
push eax
lea ecx, [esp + 0xf8]
push ecx
mov ecx, 0x46d3c8
call fcn.0047318b
push 1
push 0x461858
mov edi, 0x46d3c8
call fcn.00472adb
push eax
xor ecx, ecx
lea esi, [esp + 0x1c]
mov edx, edi
call fcn.004724fb
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
mov byte [esp + 0x214], 8
call fcn.004729cb
mov byte [esp + 0x208], 3
cmp dword [esp + 0x30], 0x10
jb 0x48fdb5
mov edx, dword [esp + 0x1c]
push edx
call fcn.004a12b0
add esp, 4
push 0xa
push 0x4618b8
mov eax, 0x46d3c8
call fcn.0047c2ab
mov edi, 0x10
mov eax, dword [esp + 0xdc]
cmp dword [esp + 0xf0], edi
jae 0x48fde2
lea eax, [esp + 0xdc]
push eax
call dword [0x459118]
mov eax, dword [0x46d3cc]
cmp dword [0x46d3e0], edi
jae 0x48fdfb
mov eax, 0x46d3cc
push 0x4618c4
push eax
call fcn.004a359a
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x48fe40
mov eax, dword [esp + 0xdc]
cmp dword [esp + 0xf0], edi
jae 0x48fe26
lea eax, [esp + 0xdc]
mov ecx, dword [esp + 0xec]
push esi
push ecx
push 1
push eax
call fcn.004a2a81
push esi
call fcn.004a2b7a
add esp, 0x14
lea ecx, [esp + 0xa0]
mov byte [esp + 0x208], 2
call fcn.0048ffbb
lea edx, [esp + 0xa0]
push edx
mov dword [esp + 0xa4], 0x460224
call fcn.004a007b
add esp, 4
cmp dword [esp + 0xf0], edi
jb 0x48fe88
mov eax, dword [esp + 0xdc]
push eax
call fcn.004a12b0
add esp, 4
mov dword [esp + 0xf0], 0xf
mov dword [esp + 0xec], ebx
mov byte [esp + 0xdc], bl
jmp 0x48fea8
mov edi, 0x10
lea esi, [ebp + 0x74]
mov ecx, esi
mov byte [esp + 0x208], bl
call fcn.0048ffbb
push esi
mov dword [esi], case.0x45ff3a.5
call fcn.004a007b
add esp, 4
cmp dword [ebp + 0x24], edi
jb 0x48fed9
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004a12b0
add esp, 4
mov dword [ebp + 0x24], 0xf
mov dword [ebp + 0x20], ebx
mov byte [ebp + 0x10], bl
mov ecx, dword [esp + 0x200]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1e8]
xor ecx, esp
call fcn.004a12bb
add esp, 0x1f8
ret