Function at 0x4017b0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x1c
push esi
push 0x425a78
push dword [esp + 0x28]
call fcn.0040bd78
mov esi, eax
add esp, 8
test esi, esi
jne 0x4017d2
xor al, al
pop esi
add esp, 0x1c
ret
push edi
push 2
push 0
push esi
call fcn.0040cd2a
add esp, 0xc
test eax, eax
jne 0x401ada
push esi
call fcn.0040d389
mov edi, eax
add esp, 4
cmp edi, 0xffffffff
je 0x401ada
push 0
push 0
push esi
call fcn.0040cd2a
add esp, 0xc
test eax, eax
jne 0x401ada
push ebp
lea eax, [edi + 4]
push eax
push 1
call fcn.0040a974
push esi
push edi
mov ebp, eax
push 1
push ebp
mov dword [esp + 0x3c], ebp
call fcn.0040c987
add esp, 0x18
cmp eax, edi
je 0x40184c
push esi
call fcn.0040c5c2
push ebp
call fcn.0040a97f
add esp, 8
xor al, al
pop ebp
pop edi
pop esi
add esp, 0x1c
ret
push ebx
push esi
mov dword [edi + ebp], 0
call fcn.0040c5c2
mov esi, edi
add esp, 4
sar esi, 2
add esi, 0x204
add esi, edi
cmp byte [esp + 0x40], 0
je 0x4018b7
push esi
push 1
call fcn.0040a974
mov ebx, eax
mov dword [0x4306cc], 0
push edi
push ebp
mov dword [esp + 0x24], ebx
mov dword [0x4306c8], ebx
call fcn.00404620
mov ebp, dword [0x4306c8]
sub ebp, ebx
sub esi, ebp
mov dword [esp + 0x2c], ebp
push esi
mov esi, ebx
push 0
lea eax, [esi + ebp]
push eax
call fcn.004088c0
add esp, 0x1c
jmp 0x4018c3
mov esi, ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], esi
mov ebp, edi
push 0x425a7c
push dword [esp + 0x38]
call fcn.0040bd78
push edi
push dword [esp + 0x3c]
mov ebx, eax
push str.___File:__s___d_bytes__n
push ebx
mov dword [esp + 0x30], ebx
call fcn.00402d00
push str.___Exported_using_binary_to_compressed_c.cpp_n
push ebx
call fcn.00402d00
add esp, 0x20
mov eax, 0x4256fe
cmp byte [esp + 0x44], 0
mov edi, str.static
mov ecx, str.compressed_
cmove edi, eax
cmp byte [esp + 0x40], 0
cmove ecx, eax
lea eax, [ebp + 3]
cdq
and edx, 3
mov dword [esp + 0x24], ecx
add eax, edx
sar eax, 2
cmp byte [esp + 0x3c], 0
mov dword [esp + 0x20], eax
je 0x401a18
lea eax, [eax + eax*4]
push eax
push ecx
push dword [esp + 0x40]
push edi
push str._sconst_char__s__sdata_base85__d1___n_____
push ebx
call fcn.00402d00
xor ebp, ebp
mov byte [esp + 0x2b], 0
add esp, 0x18
mov dword [esp + 0x20], ebp
cmp dword [esp + 0x1c], ebp
jle 0x401a0a
mov ecx, dword [esi + ebp]
mov edi, 5
mov ebp, dword [esp + 0x18]
nop dword [eax]
mov eax, 0xc0c0c0c1
mul ecx
mov esi, edx
shr esi, 6
imul eax, esi, 0x55
sub ecx, eax
add ecx, 0x23
cmp ecx, 0x5c
lea eax, [ecx + 1]
movzx ebx, al
movzx eax, cl
cmovb ebx, eax
cmp bl, 0x3f
jne 0x4019a3
mov ecx, 0x425b0c
cmp byte [esp + 0x13], bl
je 0x4019a8
mov ecx, 0x425b10
movsx eax, bl
push eax
push ecx
push ebp
call fcn.00402d00
add esp, 0xc
mov byte [esp + 0x13], bl
mov ecx, esi
sub edi, 1
jne 0x401970
mov ebp, dword [esp + 0x20]
mov eax, 0x24924925
mov ebx, dword [esp + 0x18]
mov ecx, ebp
mul ebp
mov eax, ebp
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 6
imul eax, eax, 0x70
sub ecx, eax
cmp ecx, 0x6c
jne 0x4019f5
push str.__n_____
push ebx
call fcn.00402d00
add esp, 8
mov esi, dword [esp + 0x14]
add ebp, 4
mov dword [esp + 0x20], ebp
cmp ebp, dword [esp + 0x1c]
jl 0x401960
mov esi, dword [esp + 0x14]
mov eax, str.___n_n
jmp 0x401aa7
mov esi, dword [esp + 0x38]
push ebp
push ecx
push esi
push edi
push str._sconst_unsigned_int__s__ssize___d__n
push ebx
call fcn.00402d00
mov eax, dword [esp + 0x38]
shl eax, 2
push eax
push dword [esp + 0x40]
push esi
push edi
push str._sconst_unsigned_int__s__sdata__d_4___n
push ebx
call fcn.00402d00
add esp, 0x30
xor esi, esi
xor edi, edi
test ebp, ebp
jle 0x401a9e
nop
mov eax, 0x2aaaaaab
mov ecx, esi
imul esi
inc esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
shl eax, 2
sub ecx, eax
mov eax, dword [esp + 0x14]
test ecx, ecx
mov ecx, str._n____0x_08x_
push dword [edi + eax]
mov eax, str.0x_08x_
cmove eax, ecx
push eax
push ebx
call fcn.00402d00
mov eax, dword [esp + 0x20]
add edi, 4
add esp, 0xc
mov dword [esp + 0x14], eax
cmp edi, ebp
jl 0x401a50
mov esi, eax
jmp 0x401aa2
mov esi, dword [esp + 0x14]
mov eax, str._n__n_n
push eax
push ebx
call fcn.00402d00
push ebx
call fcn.0040c5c2
push dword [esp + 0x34]
call fcn.0040a97f
add esp, 0x10
cmp byte [esp + 0x40], 0
pop ebx
je 0x401ad1
push esi
call fcn.0040a97f
add esp, 4
pop ebp
pop edi
mov al, 1
pop esi
add esp, 0x1c
ret
push esi
call fcn.0040c5c2
add esp, 4
xor al, al
pop edi
pop esi
add esp, 0x1c
ret