Function at 0x4131d0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
add dword [0x466d40], 0x91860586
sub esp, 0x624
push edi
mov edi, dword [ebp + 8]
mov ecx, edi
call fcn.00408c90
cmp eax, 0x8000
jbe 0x413684
movzx eax, word [0x46c29c]
or eax, 0xfd3fe9bc
mov word [0x46c29c], ax
mov eax, 0xffff8a32
mov word [0x46a5a0], ax
inc dword [0x457f20]
mov eax, dword [0x457f20]
xor eax, 0xc66bd87c
mov dword [0x45d2c4], eax
movzx eax, word [0x46a94c]
imul eax, eax, 0xb1ea7f11
push esi
mov word [0x46a94c], ax
lea eax, [ebp - 0x118]
push eax
call fcn.004193d0
and dword [0x459efc], 0xac28818a
mov esi, eax
call fcn.0041e370
movzx ecx, al
and ecx, 0x80000003
jns 0x41326c
dec ecx
or ecx, 0xfffffffc
inc ecx
add ecx, 7
lea eax, [ebp - 0x118]
push ecx
add eax, esi
push eax
call fcn.00413ed0
inc dword [0x45e5d4]
mov ecx, 0x17dfe7f5
mov eax, dword [0x45e5d4]
add esp, 0xc
imul eax, eax, 0x40f382e5
sub ecx, eax
mov eax, dword [0x46413c]
add eax, 0x83219c1
or eax, 0xd5adbf57
cmp eax, ecx
jg 0x4132cb
mov eax, dword [0x45ce24]
sar eax, 8
imul eax, eax, 0xf5fa07e
cmp eax, 0xd7ee2eec
jle 0x4132cb
and dword [0x465824], 0xd1b779cd
push ebx
push 5
push 0x1083
call fcn.0041d3e0
mov ecx, dword [0x45abe4]
mov esi, eax
mov edx, dword [0x45ff60]
lea eax, [ebp - 0x118]
add ecx, 0xb9f52040
imul edx, ecx
push esi
push eax
mov dword [0x45ff60], edx
dec dword [0x45abe4]
call fcn.0042d360
movsx ecx, word [0x46b6f6]
mov eax, dword [0x458e08]
shl eax, 7
shl ecx, 0xa
sub ecx, eax
movzx eax, word [0x46c478]
add eax, 0x28967ed5
add eax, ecx
push 3
mov word [0x46c478], ax
push 0x2c0d
call fcn.0041d3e0
movzx ecx, word [0x469422]
mov ebx, eax
or ecx, 0x1277c44
push esi
mov word [0x469422], cx
push 5
call fcn.0040b0b0
movzx ecx, word [0x4680ea]
movzx eax, word [0x46e3fe]
movsx ecx, cx
and eax, ecx
and eax, 0x97df443f
mov word [0x46e3fe], ax
lea eax, [ebp - 0x118]
push ebx
push eax
call fcn.0042e1d1
mov ecx, dword [0x466788]
add esp, 0x28
add ecx, 0x6b8bec52
mov esi, eax
cmp ecx, 0xfdff7feb
je 0x4133b4
movzx ecx, word [0x46efbc]
and ecx, 0x82e9c722
mov word [0x46efbc], cx
jmp 0x4133d1
imul eax, dword [0x462644], 0x784a3c82
mov ecx, 0x1d9ff86
sub ecx, eax
add dword [0x45c574], ecx
inc dword [0x462644]
push ebx
push 3
call fcn.0040b0b0
movzx eax, word [0x467c1c]
add esp, 8
and eax, 0xb22b8a6f
mov word [0x467c1c], ax
pop ebx
test esi, esi
je 0x413625
movsx ecx, word [0x46dcc0]
mov eax, dword [0x45adf0]
and ecx, 0x35a9acb8
xor eax, ecx
xor eax, 0x41762dc8
mov dword [0x45adf0], eax
mov eax, dword [0x461400]
xor eax, 0xd82dac80
cmp eax, 0xfef44993
jle 0x413430
xor dword [0x466748], 0x366bd404
push esi
push 1
mov ecx, edi
call fcn.00408c90
push eax
mov ecx, edi
call fcn.00419990
push eax
call fcn.0042e384
mov eax, dword [0x463b04]
xor eax, 0x4f9f283b
or dword [0x4633ec], eax
push esi
call fcn.0042e096
mov eax, dword [0x45a5c4]
add esp, 0x14
movsx edx, word [0x46dc9c]
not eax
or edx, eax
mov ecx, edi
movzx eax, word [0x46c8f6]
imul eax, edx
mov word [0x46c8f6], ax
call fcn.00414f90
add dword [0x45e0fc], 0xfe677f3f
mov eax, dword [0x465d04]
and eax, dword [0x457b20]
mov byte [ebp - 0x11c], 0
mov dword [0x465d04], eax
lea eax, [ebp - 0x220]
push 0x104
push eax
push 0
call dword [0x457758]
mov eax, dword [0x458574]
not eax
or dword [0x465b0c], eax
movzx eax, word [0x46c4d8]
mov ecx, dword [0x4624fc]
cwde
add ecx, eax
mov byte [ebp - 0x224], 0
push 0x15
mov word [0x46c4d8], cx
push 0x10fa
call fcn.0041d3e0
and dword [0x467394], 0xa1f2742e
mov esi, eax
push dword [0x457654]
lea eax, [ebp - 0x220]
push dword [0x45763c]
push eax
lea eax, [ebp - 0x624]
push esi
push eax
call fcn.0042e509
add dword [0x465d3c], 0x1eb6efdc
push esi
push 0x15
call fcn.0040b0b0
push dword [0x457654]
mov dword [0x45c42c], 0x144e923f
call fcn.0041fb30
add esp, 0x28
cmp dword [0x458154], 0xa4ce091b
jg 0x413560
add dword [0x45b8b0], 0x24eeccbd
lea eax, [ebp - 0x624]
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.0040bb60
add dword [0x466df4], 0xa73f2d62
lea eax, [ebp - 0x624]
push 0x401
push 0
push eax
call fcn.0042d2c0
movsx eax, word [0x46cea4]
add esp, 0x14
dec word [0x46cea4]
cmp eax, 0x475295a1
jg 0x4135b2
and dword [0x45f8c4], 0x4807db68
push 0x105
lea eax, [ebp - 0x220]
push 0
push eax
call fcn.0042d2c0
mov eax, dword [0x4635d4]
add esp, 0xc
shl eax, 0xa
or eax, 0xd4abc42d
sub dword [0x4620fc], eax
push 0x15f90
call dword [0x4577bc]
lea eax, [ebp - 0x118]
mov dword [0x461658], 0xfbffbf7b
push eax
call dword [0x457704]
movsx eax, word [0x46b4ea]
mov edx, dword [0x45d414]
movsx ecx, word [0x46ae74]
shl eax, 2
and edx, eax
mov eax, dword [0x45c394]
xor ecx, edx
imul eax, ecx
mov dword [0x45c394], eax
inc word [0x46b378]
mov ax, word [0x46b378]
cwde
pop esi
cmp eax, 0xf94f5021
jl 0x413664
mov eax, dword [0x466204]
inc dword [0x466204]
add eax, 0x50d506d9
cmp eax, 0xd294cf16
jg 0x413664
movsx eax, word [0x46b5f6]
add eax, 0x6c48a89d
or dword [0x45f368], eax
push 0x118
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.0042d2c0
add esp, 0xc
add dword [0x463434], 0x85221b05
movzx eax, word [0x46e53e]
or eax, 0x791bc269
mov word [0x46e53e], ax
pop edi
mov esp, ebp
pop ebp
ret