Function at 0x401760
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x1c
push esi
push 0x425a74
push dword [esp + 0x28]
call fcn.0040bcf8
mov esi, eax
add esp, 8
test esi, esi
jne 0x401782
xor al, al
pop esi
add esp, 0x1c
ret
push edi
push 2
push 0
push esi
call fcn.0040ccaa
add esp, 0xc
test eax, eax
jne 0x401a8a
push esi
call fcn.0040d309
mov edi, eax
add esp, 4
cmp edi, 0xffffffff
je 0x401a8a
push 0
push 0
push esi
call fcn.0040ccaa
add esp, 0xc
test eax, eax
jne 0x401a8a
push ebp
lea eax, [edi + 4]
push eax
push 1
call fcn.0040a8f4
push esi
push edi
mov ebp, eax
push 1
push ebp
mov dword [esp + 0x3c], ebp
call fcn.0040c907
add esp, 0x18
cmp eax, edi
je 0x4017fc
push esi
call fcn.0040c542
push ebp
call fcn.0040a8ff
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.0040c542
mov esi, edi
add esp, 4
sar esi, 2
add esi, 0x204
add esi, edi
cmp byte [esp + 0x40], 0
je 0x401867
push esi
push 1
call fcn.0040a8f4
mov ebx, eax
mov dword [0x4302c0], 0
push edi
push ebp
mov dword [esp + 0x24], ebx
mov dword [0x4302bc], ebx
call fcn.00404610
mov ebp, dword [0x4302bc]
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.004088b0
add esp, 0x1c
jmp 0x401873
mov esi, ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], esi
mov ebp, edi
push 0x425a78
push dword [esp + 0x38]
call fcn.0040bcf8
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.00402f00
push str.___Exported_using_binary_to_compressed_c.cpp_n
push ebx
call fcn.00402f00
add esp, 0x20
mov eax, 0x4256de
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 0x4019c8
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.00402f00
xor ebp, ebp
mov byte [esp + 0x2b], 0
add esp, 0x18
mov dword [esp + 0x20], ebp
cmp dword [esp + 0x1c], ebp
jle 0x4019ba
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 0x401953
mov ecx, 0x425b08
cmp byte [esp + 0x13], bl
je 0x401958
mov ecx, 0x425b0c
movsx eax, bl
push eax
push ecx
push ebp
call fcn.00402f00
add esp, 0xc
mov byte [esp + 0x13], bl
mov ecx, esi
sub edi, 1
jne 0x401920
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 0x4019a5
push str.__n_____
push ebx
call fcn.00402f00
add esp, 8
mov esi, dword [esp + 0x14]
add ebp, 4
mov dword [esp + 0x20], ebp
cmp ebp, dword [esp + 0x1c]
jl 0x401910
mov esi, dword [esp + 0x14]
mov eax, str.___n_n
jmp 0x401a57
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.00402f00
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.00402f00
add esp, 0x30
xor esi, esi
xor edi, edi
test ebp, ebp
jle 0x401a4e
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.00402f00
mov eax, dword [esp + 0x20]
add edi, 4
add esp, 0xc
mov dword [esp + 0x14], eax
cmp edi, ebp
jl 0x401a00
mov esi, eax
jmp 0x401a52
mov esi, dword [esp + 0x14]
mov eax, str._n__n_n
push eax
push ebx
call fcn.00402f00
push ebx
call fcn.0040c542
push dword [esp + 0x34]
call fcn.0040a8ff
add esp, 0x10
cmp byte [esp + 0x40], 0
pop ebx
je 0x401a81
push esi
call fcn.0040a8ff
add esp, 4
pop ebp
pop edi
mov al, 1
pop esi
add esp, 0x1c
ret
push esi
call fcn.0040c542
add esp, 4
xor al, al
pop edi
pop esi
add esp, 0x1c
ret