Function at 0x474b69
Capabilities:
Write file on windows

Disassembly:
push 0xe8
mov eax, 0x4bd79f
call fcn.004b6a29
mov ebx, ecx
mov dword [ebp - 0xcc], ebx
mov eax, dword [ebp + 8]
xor ecx, ecx
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xd4], eax
mov eax, ecx
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 4], ecx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xe4], ecx
lea eax, [ebp - 0xec]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ebp + 0x14]
call fcn.0042ee08
push esi
call fcn.004914f0
mov dword [ebp - 0xf0], eax
xor eax, eax
pop ecx
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x2c], al
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xe8]
sub eax, ecx
mov dword [ebp - 0xc0], ecx
push 0x18
cdq
pop esi
idiv esi
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x474f34
mov esi, dword [ebx + 0x92c]
mov ecx, esi
mov eax, dword [esi]
call dword [eax]
mov eax, dword [esi]
mov ecx, esi
mov edi, dword [ebx + 0x9dc]
call dword [eax + 4]
test edi, edi
jne 0x475030
mov edi, dword [ebp - 0xc0]
lea ecx, [ebp - 0x44]
push edi
call fcn.0040ef9e
mov eax, dword [ebp - 0xd4]
xor ecx, ecx
mov byte [ebp - 4], 4
cmp word [eax], cx
je 0x474c8c
push eax
lea ecx, [ebp - 0x44]
call fcn.0042f2a6
test al, al
je 0x474eb3
mov eax, dword [ebp - 0xb8]
shr eax, 1
and al, 1
movzx eax, al
push eax
sub esp, 0x18
lea eax, [ebp - 0x44]
mov ecx, esp
push eax
call fcn.0040ef9e
lea ecx, [ebp - 0x9c]
call fcn.00474928
test byte [ebp - 0xb8], 0x10
mov byte [ebp - 4], 5
jne 0x474ceb
mov esi, dword [ebp - 0x9c]
mov ecx, esi
call fcn.004748d7
xor ecx, ecx
mov eax, ecx
mov ecx, dword [esi + 0x1000c]
test ecx, ecx
je 0x474ceb
cmp byte [esi + eax + 6], 0
je 0x474e6e
inc eax
cmp eax, ecx
jb 0x474cdb
lea ecx, [ebp - 0x9c]
call fcn.00474a14
mov edi, eax
test edi, edi
je 0x474e68
push dword [ebp - 0xd0]
push edi
call fcn.00496470
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x474e4d
test byte [ebp - 0xb8], 1
je 0x474d6b
push edi
call fcn.004914f0
pop ecx
lea ebx, [edi + eax]
cmp esi, edi
je 0x474d3c
movsx ecx, byte [esi - 1]
call fcn.00474b24
test al, al
jne 0x474d54
mov eax, dword [ebp - 0xf0]
add eax, esi
cmp eax, ebx
je 0x474d6b
movsx ecx, byte [eax]
call fcn.00474b24
test al, al
je 0x474d6b
push dword [ebp - 0xd0]
lea eax, [esi + 1]
push eax
call fcn.00496470
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x474d2b
test esi, esi
je 0x474e4d
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0x44]
call fcn.0042e93d
mov esi, eax
mov byte [ebp - 4], 6
cmp dword [esi + 0x14], 0x10
jb 0x474d90
mov esi, dword [esi]
push esi
call fcn.00401468
pop ecx
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.00401dc0
xor ebx, ebx
mov byte [ebp - 4], 5
push ebx
push 1
lea ecx, [ebp - 0xb4]
call fcn.0040177c
mov edi, 0x4d7498
push edi
call fcn.004914f0
pop ecx
push eax
push edi
lea ecx, [ebp - 0x2c]
call fcn.00401dc0
mov edx, dword [ebp - 0x98]
lea ecx, [ebp - 0x5c]
call fcn.00487f67
mov byte [ebp - 4], 7
cmp dword [ebp - 0x48], 0x10
mov esi, dword [ebp - 0x5c]
jae 0x474de9
lea esi, [ebp - 0x5c]
push esi
call fcn.00401468
pop ecx
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.00401dc0
push edi
call fcn.004914f0
pop ecx
push eax
push edi
lea ecx, [ebp - 0x2c]
call fcn.00401dc0
cmp dword [ebp - 0x64], 0x10
mov esi, dword [ebp - 0x78]
jae 0x474e17
lea esi, [ebp - 0x78]
push esi
call fcn.00401468
pop ecx
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.00401dc0
mov esi, 0x4d34b8
push esi
call fcn.004914f0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.004b65d5
push ebx
push 1
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 5
call fcn.0040177c
lea ecx, [ebp - 0x9c]
call fcn.00474a14
mov edi, eax
test edi, edi
jne 0x474d00
mov ebx, dword [ebp - 0xcc]
mov edi, dword [ebp - 0xc0]
mov esi, dword [ebp - 0x9c]
test esi, esi
je 0x474e90
cmp dword [esi], 0
je 0x474e85
push dword [esi]
call fcn.004944a0
pop ecx
xor eax, eax
push esi
mov dword [esi], eax
call fcn.0049075e
pop ecx
xor eax, eax
lea ecx, [ebp - 0x78]
push eax
push 1
mov dword [ebp - 0x9c], eax
call fcn.0040177c
xor eax, eax
lea ecx, [ebp - 0x90]
push eax
push 1
call fcn.0040177c
xor eax, eax
mov byte [ebp - 4], 3
push eax
push 1
lea ecx, [ebp - 0x44]
call fcn.0040f05a
mov eax, dword [ebp - 0xbc]
push 0x18
inc eax
pop edx
add edi, edx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xc0], edi
cmp eax, dword [ebp - 0xc8]
jb 0x474c3a
mov edi, dword [ebp - 0x1c]
test edi, edi
je 0x474f34
test byte [ebp - 0xb8], 4
je 0x474f1b
cmp dword [ebp - 0x18], 0x10
mov esi, dword [ebp - 0x2c]
jae 0x474f04
lea esi, [ebp - 0x2c]
call fcn.0049676d
add eax, 0x20
push eax
push 1
push edi
push esi
call fcn.00495039
add esp, 0x10
jmp 0x474f34
cmp dword [ebp - 0x18], 0x10
mov ecx, dword [ebp - 0x2c]
jae 0x474f27
lea ecx, [ebp - 0x2c]
mov eax, dword [ebx]
push 0xffffffffffffffff
push ecx
mov ecx, ebx
call dword [eax + 0xe4]
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
sub eax, esi
push 0x18
cdq
pop ecx
idiv ecx
mov ebx, eax
mov dword [ebp - 0xbc], ebx
test ebx, ebx
je 0x475030
mov edi, dword [ebp - 0xb8]
and edi, 8
push esi
lea ecx, [ebp - 0x44]
call fcn.0040ef9e
mov byte [ebp - 4], 8
test edi, edi
jne 0x474fb3
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0x44]
call fcn.0042e958
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0xc4]
or ecx, 1
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc8], ecx
mov ecx, dword [ebp - 0xcc]
push eax
mov edx, dword [ecx]
call dword [edx + 0x190]
test al, al
jne 0x474fb3
xor ecx, ecx
mov bl, cl
jmp 0x474fb7
mov bl, 1
xor ecx, ecx
mov dword [ebp - 4], 8
mov eax, dword [ebp - 0xc4]
test al, 1
je 0x474fdf
push ecx
and eax, 0xfffffffe
lea ecx, [ebp - 0xb4]
push 1
mov dword [ebp - 0xc4], eax
call fcn.0040f05a
test bl, bl
je 0x47500e
sub esp, 0x18
lea eax, [ebp - 0x44]
mov ecx, esp
push eax
call fcn.0040ef9e
push dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xcc]
push dword [ebp - 0xd0]
push dword [ebp - 0xb8]
call fcn.00474b69
xor eax, eax
mov byte [ebp - 4], 3
push eax
push 1
lea ecx, [ebp - 0x44]
call fcn.0040f05a
push 0x18
pop eax
add esi, eax
dec dword [ebp - 0xbc]
jne 0x474f61
xor eax, eax
lea ecx, [ebp - 0x2c]
push eax
push 1
call fcn.0040177c
lea ecx, [ebp - 0xec]
call fcn.0045341b
lea ecx, [ebp - 0xe0]
call fcn.0045341b
xor eax, eax
lea ecx, [ebp + 0x14]
push eax
push 1
call fcn.0040f05a
call fcn.004b69d8
ret 0x24