Function at 0x418110
Capabilities:
Write file on windows

Disassembly:
movsx ecx, word [0x460184]
sub esp, 0x624
mov eax, dword [0x479474]
and ecx, 0xd36674
inc dword [0x479474]
and eax, 0x8508258
shl ecx, 4
cmp eax, ecx
jge 0x418149
mov eax, dword [0x47dcd0]
add eax, 0x7605c5ef
mov dword [0x477d00], eax
push edi
mov edi, dword [esp + 0x62c]
mov ecx, edi
call fcn.0040a670
cmp eax, 0x8000
jbe 0x4185ea
mov eax, dword [0x46c0a8]
or eax, 0xb2a3136a
and dword [0x46bb18], eax
movzx eax, word [0x45ae1e]
add eax, 0x44209a02
mov word [0x45ae1e], ax
inc dword [0x46d2b8]
mov ecx, dword [0x46d2b8]
movzx eax, word [0x4650a2]
xor ecx, 0x4658efe
imul ecx, eax
lea eax, [esp + 4]
push ebx
push esi
push eax
mov word [0x4650a2], cx
add dword [0x476dc0], 0x849b7ffb
call fcn.00417c90
movsx ecx, word [0x45d3be]
mov esi, eax
add ecx, 0xb1752af0
add dword [0x47f93c], ecx
dec word [0x45d3be]
call fcn.0040cae0
movzx ecx, al
and ecx, 0x80000003
jns 0x4181ef
dec ecx
or ecx, 0xfffffffc
inc ecx
add ecx, 7
lea eax, [esp + 0x10]
push ecx
add eax, esi
push eax
call fcn.0041bea0
mov eax, dword [0x47424c]
movsx ecx, word [0x45a6d6]
sar eax, 9
add ecx, eax
movzx eax, word [0x459ae8]
or ecx, 0xf3899834
imul eax, ecx
push 5
push 0x7bd
mov word [0x459ae8], ax
inc word [0x45a6d6]
call fcn.00422840
imul ecx, dword [0x47417c], 0x23c92c12
mov esi, eax
lea eax, [esp + 0x20]
push esi
push eax
mov dword [0x47417c], ecx
call fcn.0042af40
dec dword [0x46fc68]
mov ecx, dword [0x46fc68]
mov eax, dword [0x476658]
imul ecx, ecx, 0x45e60556
push 3
push 0x203d
add eax, ecx
xor dword [0x46cb68], eax
call fcn.00422840
mov ecx, dword [0x47e7b4]
mov edx, 0x3f80e3f0
sub edx, ecx
mov ebx, eax
add dword [0x472fcc], edx
inc dword [0x47e7b4]
push esi
push 5
call fcn.00429ff0
add dword [0x46a0a4], 0xd3e9fffb
lea eax, [esp + 0x38]
push ebx
push eax
call fcn.0042bf11
mov ecx, dword [0x468c50]
add esp, 0x34
shl ecx, 7
mov esi, eax
or ecx, 0xf64a1ec
cmp ecx, 0x48e7daf8
jne 0x4182f2
imul ecx, dword [0x470224], 0x4a0dc7b0
mov edx, 0xa2d311ec
sub edx, ecx
or dword [0x476440], edx
inc dword [0x470224]
push ebx
push 3
call fcn.00429ff0
movsx eax, word [0x463958]
add esp, 8
sar eax, 3
cmp eax, 0x21860811
jle 0x418324
mov eax, dword [0x47f4dc]
sar eax, 7
imul eax, eax, 0x98b93628
xor dword [0x467e60], eax
jmp 0x41832e
or dword [0x47d1ec], 0xb1c940d5
test esi, esi
je 0x4185b3
or dword [0x46c038], 0xe4a3d489
mov eax, dword [0x46872c]
mov edx, dword [0x475fac]
not eax
mov ecx, dword [0x47c90c]
and edx, eax
mov eax, dword [0x47c7f4]
xor ecx, edx
imul eax, ecx
mov ecx, edi
push esi
push 1
mov dword [0x47c7f4], eax
dec dword [0x47c90c]
inc dword [0x475fac]
call fcn.0040a670
push eax
mov ecx, edi
call fcn.0040cad0
push eax
call fcn.0042c0c4
mov ax, word [0x45c42c]
mov ecx, dword [0x46bfbc]
cwde
xor ecx, eax
xor ecx, 0x89f06120
mov dword [0x46bfbc], ecx
push esi
call fcn.0042bbe6
mov eax, dword [0x475b3c]
add esp, 0x14
sub eax, 0x577eef2f
cmp eax, 0xca5a3fb4
je 0x4183d2
movsx eax, word [0x464422]
sar eax, 2
or eax, 0x65e43062
sub dword [0x470f4c], eax
mov ecx, edi
call fcn.0041c290
mov eax, dword [0x47ee30]
mov ecx, 0xd4db9085
sub ecx, eax
and ecx, 0x68eee725
cmp ecx, 0x1b0f8919
jle 0x4183fd
and dword [0x474214], 0xa1ff286d
mov eax, dword [0x478268]
mov ecx, dword [0x476adc]
not eax
add eax, 0xee300220
mov byte [esp + 0x228], 0
imul ecx, eax
lea eax, [esp + 0x124]
push 0x104
push eax
push 0
mov dword [0x476adc], ecx
call dword [0x458858]
mov eax, dword [0x46d52c]
mov dword [0x4717e4], eax
mov eax, dword [0x47ee60]
xor eax, dword [0x47a588]
xor eax, 0x6d14ddd3
mov byte [esp + 0x62c], 0
push 0x15
mov dword [0x47ee60], eax
push 0x1b66
call fcn.00422840
mov cx, word [0x464020]
mov esi, eax
movsx ecx, cx
lea eax, [esp + 0x12c]
sub dword [0x4799cc], ecx
push dword [0x45874c]
push dword [0x458734]
push eax
lea eax, [esp + 0x240]
push esi
push eax
call fcn.0042c310
mov eax, dword [0x47f12c]
and eax, dword [0x4728a0]
and eax, 0xeb29a604
push esi
mov dword [0x4728a0], eax
push 0x15
call fcn.00429ff0
and dword [0x47ff44], 0xdddff438
push dword [0x45874c]
call fcn.00416cd0
movzx eax, word [0x45a67c]
and eax, 0x2d79e2cb
mov word [0x45a67c], ax
lea eax, [esp + 0x254]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.00416510
inc dword [0x476054]
add esp, 0x30
mov ecx, dword [0x476054]
movsx eax, word [0x45a03c]
sar eax, 3
cmp eax, ecx
jl 0x418519
add dword [0x4693d4], 0x1ca2557c
push 0x401
lea eax, [esp + 0x230]
push 0
push eax
call fcn.0042cb10
mov eax, dword [0x47bd18]
add esp, 0xc
and eax, 0xfdbfdf72
shl eax, 5
cmp eax, 0x90375eee
jge 0x41854e
and dword [0x467900], 0xcae14050
push 0x105
lea eax, [esp + 0x128]
push 0
push eax
call fcn.0042cb10
mov eax, dword [0x471e74]
add esp, 0xc
inc dword [0x471e74]
cmp eax, 0xef3f7f7e
jne 0x418581
xor dword [0x46a6b0], 0x437b8896
push 0x15f90
call dword [0x4588b4]
movzx eax, word [0x462608]
sub eax, 0x61412813
mov word [0x462608], ax
lea eax, [esp + 0xc]
push eax
call dword [0x4587fc]
mov dword [0x47b720], 0x258eda40
xor dword [0x46fc28], 0xcb1e162
lea eax, [esp + 0xc]
push 0x118
push 0
push eax
call fcn.0042cb10
mov ax, word [0x4590ac]
add esp, 0xc
mov ecx, dword [0x46ece0]
cwde
imul ecx, eax
pop esi
pop ebx
mov word [0x4590ac], cx
mov eax, dword [0x47b640]
mov ecx, dword [0x47753c]
add eax, 0x2cc11f1b
sar ecx, 2
xor ecx, eax
pop edi
cmp ecx, 0x2efcedfb
jle 0x418624
mov ecx, dword [0x47cbc4]
mov eax, dword [0x47a020]
xor ecx, 0x537f8b03
shl eax, 3
or eax, ecx
or dword [0x467ea8], eax
add esp, 0x624
ret