Function at 0x745d30
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x8a4
nop
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x74afb0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
lea esi, [ebp - 0x5c]
mov ecx, esi
call fcn.007462e0
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 0x48], 8
cmovae esi, eax
cmp byte [0xa570bc], 0
mov dword [ebp - 0x20], 0
cmovne esi, eax
mov dword [ebp - 0x10], 1
lea eax, [ebp - 0x20]
push 0x9a5450
push esi
push eax
call fcn.008d28cc
add esp, 0xc
nop
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x746125
test eax, eax
jne 0x746125
nop
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov edi, dword [0xa20c94]
cmp edi, 0xcf5fedc6
mov esi, dword [0xa20c8c]
jne 0x745dd3
nop
mov ebx, dword [esi]
jmp 0x745dfb
nop
mov dword [0xa20c84], 0xee34b3a4
mov ebx, dword [esi + 0x1c]
cmp edi, 0xfc5de5cc
jne 0x745dfb
sub esi, ebx
mov dword [0xa20c74], 0xededb097
nop
mov dword [ebp - 0x30], esi
jmp 0x745e00
add ebx, esi
mov dword [ebp - 0x30], ebx
nop
mov esi, dword [0x9a55bc]
mov dword [ebp - 0x34], esi
mov esi, dword [0xa20c90]
add esi, dword [esi]
mov dword [ebp - 0x2c], esi
push ecx
push edx
push 1
push eax
call fcn.008d1364
add esp, 0x10
push dword [ebp - 0x20]
call fcn.008d22c4
add esp, 4
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 0x48], 8
lea ecx, [ebp - 0x5c]
cmovae ecx, eax
cmp byte [0xa56fc1], 0
mov edx, dword [ebp - 0x20]
cmovne ecx, eax
mov dword [ebp - 0x10], 4
push edx
push 0x9a5490
push ecx
lea eax, [ebp - 0x20]
push eax
call fcn.008d2a64
add esp, 0x10
nop
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 0x24]
test esi, esi
je 0x7461f4
nop
mov eax, dword [esi]
mov edi, dword [eax + 8]
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
call dword [0xa0535c]
mov dword [ebp - 0x10], 4
mov ecx, esi
lea eax, [ebp - 0x5c]
push eax
call edi
nop
cmp dword [0xa20c78], 0x23a91539
mov eax, dword [0xa20c70]
jne 0x74600a
mov ecx, 2
sub ecx, eax
sub ecx, eax
mov dword [0xa20c7c], 0xa546a987
mov dword [0xa20c70], ecx
shl eax, cl
shl eax, cl
test eax, ecx
jle 0x74601b
nop
mov edi, dword [0xa20c88]
cmp edi, 0x20a2b2ff
nop
mov ecx, dword [ebp - 0x2c]
jne 0x745ef3
nop
mov dword [0xa20c80], 0xc2ca4f8f
mov eax, dword [ebp - 0x2c]
lea ecx, [eax - 0x1c]
nop
mov eax, dword [ecx]
mov dword [ebp - 0x28], 0x81b3757e
cmp dword [ebp - 0x34], 0
jle 0x746026
add ecx, eax
mov dword [ebp - 0x3c], ecx
xor edx, edx
xor esi, esi
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x40], edi
jmp 0x745fc6
nop
mov dword [0xa20c94], 0xa6bc4228
mov eax, dword [eax]
lea ecx, [edi*8]
mov ebx, 0xffffffff
shl ebx, cl
not ebx
and eax, ebx
mov ecx, edi
xor ecx, 4
add edx, ecx
mov ebx, dword [ebp - 0x24]
lea ecx, [ebx + 1]
mov dword [ebp - 0x44], ecx
and edi, 4
lea edx, [edx + edi*2]
add edx, 0xfffffffc
mov edi, dword [ebp - 0x2c]
mov ecx, eax
lea eax, [edi + ebx*4]
add eax, 4
add eax, dword [edi + ebx*4 + 4]
mov dword [ebp - 0x3c], eax
mov eax, ecx
mov dword [ebp - 0x38], 0
nop
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x24], ecx
xor ebx, ebx
mov edi, dword [ebp - 0x34]
cmp edi, 0x457974e6
setb bl
add edx, 4
xor ecx, ecx
cmp edx, edi
setge cl
mov edi, dword [ebp - 0x40]
cmp edi, 0x620fd623
cmovne ebx, ecx
mov ecx, 0x457974e6
cmove edx, ecx
mov ecx, 0
cmove ecx, eax
shl esi, cl
xor esi, eax
test bl, bl
jne 0x746028
mov eax, dword [ebp - 0x30]
add eax, edx
cmp edi, 0x1ab59b8e
je 0x745f30
nop
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov ebx, dword [ebp - 0x38]
sbb ebx, 0
add ecx, 0xae0ae321
adc ebx, 0xeb02e7ca
cmp ecx, 0xae0ae325
sbb ebx, 0xeb02e7ca
mov eax, dword [eax]
jae 0x745f8a
lea edi, [ecx + 0x51f51cdf]
jmp 0x745f3d
lea ecx, [eax + 1]
mov dword [0xa20c70], ecx
test ecx, eax
je 0x745ecf
xor esi, esi
mov dword [ebp - 0x28], 0x81b3757f
jmp 0x746028
xor esi, esi
nop
cmp dword [0xa20c80], 0x8d667b78
mov eax, 7
mov edi, 0xd
cmove edi, eax
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x746051
nop
push eax
call fcn.008d10d1
add esp, 4
nop
mov eax, dword [ebp - 0x48]
cmp eax, edi
jbe 0x746110
nop
mov ecx, dword [ebp - 0x5c]
lea edi, [eax*2 + 2]
cmp edi, 0x1000
jb 0x746105
nop
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
mov dword [ebp - 0x24], edx
sub ecx, edx
cmp ecx, 0x20
jae 0x7461f9
add eax, eax
mov ecx, dword [0x9a54b4]
mov edx, dword [ebp - 0x28]
lea edi, [edx + 0x7e4c8a81]
mov ebx, ecx
sub ebx, esi
cmp dword [0xa20c80], 0x9b468ecb
jne 0x7460d7
imul ebx, esi
sub ecx, ebx
mov esi, 1
sub esi, ecx
imul esi, ebx
add esi, ecx
imul ebx, esi
mov cl, 0x7e
sub cl, dl
mov esi, edi
shl esi, cl
sub esi, edx
add esi, 0x81b3757f
xor esi, edi
mov ecx, 0xffffffff
jmp 0x7460e2
mov ecx, ebx
not ecx
mov esi, 0x81b3757e
sub esi, edx
and esi, ecx
xor edi, ebx
or edi, esi
cmp edi, 0xffffffff
setne cl
or cl, byte [0xa56fc1]
and cl, 1
mov byte [0xa56fc1], cl
add eax, 0x25
mov edi, eax
mov ecx, dword [ebp - 0x24]
nop
push edi
push ecx
call fcn.008ea1ad
add esp, 8
nop
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x8a4
pop esi
pop edi
pop ebx
pop ebp
ret
lea edi, [ebp - 0x8b0]
push 0x800
push 0
push edi
mov esi, eax
call fcn.00901a10
add esp, 0xc
push esi
push 0x800
push edi
call fcn.008d2b1d
add esp, 0xc
lea ecx, [ebp - 0x8c]
lea eax, [ebp - 0x5c]
push eax
push 0x9a5460
push ecx
call fcn.00748080
add esp, 0xc
nop
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0x74]
push 0x9a5458
lea eax, [ebp - 0x8c]
push eax
push ecx
call fcn.00747d40
add esp, 0xc
nop
mov dword [ebp - 0x10], 3
lea eax, [ebp - 0xa4]
lea ecx, [ebp - 0x8b0]
push ecx
lea ecx, [ebp - 0x74]
push ecx
push eax
call fcn.00747d40
add esp, 0xc
lea ecx, [ebp - 0x74]
call fcn.00659e60
lea ecx, [ebp - 0x8c]
call fcn.00659e60
mov dword [ebp - 0x10], 5
lea ecx, [ebp - 0x74]
lea edx, [ebp - 0xa4]
call fcn.00748340
lea esi, [ebp - 0xb0]
mov ecx, esi
lea eax, [ebp - 0x74]
push eax
call fcn.007483e0
mov dword [ebp - 0x10], 6
push 0x9ed7c4
push esi
call fcn.00901c9b
add esp, 8
call fcn.008ebd8d
nop
mov dword [ebp - 0x10], 0
call fcn.008cd651
nop word cs:[eax + eax]
push ebp
sub esp, 0x10
add ebp, 0xc
lea ecx, [ebp - 0x74]
call fcn.00659e60
add esp, 0x10
pop ebp
ret