Function at 0x817f74
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push 0x40
mov eax, dword [esi]
push dword [ebp + 0xc]
mov edi, dword [esi + 4]
mov ebx, dword [esi + 8]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 8], eax
lea eax, [ebp - 0x48]
push eax
mov dword [ebp - 4], edi
call fcn.00818fd9
mov eax, edi
mov ecx, ebx
not eax
and eax, dword [ebp - 8]
and ecx, edi
mov edx, edi
or eax, ecx
mov ecx, dword [ebp + 8]
add eax, dword [ebp - 0x48]
lea ecx, [eax + ecx - 0x28955b88]
mov eax, ecx
shr eax, 0x19
shl ecx, 7
or eax, ecx
add eax, edi
mov ecx, eax
and edx, eax
not ecx
and ecx, ebx
or ecx, edx
mov edx, dword [ebp - 8]
add ecx, dword [ebp - 0x44]
lea edx, [ecx + edx - 0x173848aa]
mov ecx, edx
shr ecx, 0x14
shl edx, 0xc
or ecx, edx
add ecx, eax
mov edx, ecx
not edx
and edx, edi
mov edi, ecx
and edi, eax
or edx, edi
add edx, dword [ebp - 0x40]
lea edx, [edx + ebx + 0x242070db]
mov ebx, ecx
mov edi, edx
shr edi, 0xf
shl edx, 0x11
or edi, edx
add edi, ecx
mov edx, edi
and ebx, edi
not edx
and edx, eax
mov dword [ebp + 0xc], edi
or edx, ebx
mov ebx, dword [ebp - 4]
add edx, dword [ebp - 0x3c]
lea ebx, [edx + ebx - 0x3e423112]
mov edx, ebx
shl edx, 0x16
shr ebx, 0xa
or edx, ebx
add edx, edi
mov ebx, edx
and edi, edx
not ebx
and ebx, ecx
or ebx, edi
add ebx, dword [ebp - 0x38]
lea eax, [ebx + eax - 0xa83f051]
mov edi, eax
shr edi, 0x19
shl eax, 7
or edi, eax
mov eax, edx
add edi, edx
mov dword [ebp + 8], edi
and eax, dword [ebp + 8]
not edi
and edi, dword [ebp + 0xc]
or edi, eax
add edi, dword [ebp - 0x34]
lea ecx, [edi + ecx + 0x4787c62a]
mov eax, ecx
shr eax, 0x14
shl ecx, 0xc
or eax, ecx
add eax, dword [ebp + 8]
mov ecx, eax
mov edi, eax
and edi, dword [ebp + 8]
mov ebx, eax
not ecx
and ecx, edx
or ecx, edi
mov edi, dword [ebp + 0xc]
add ecx, dword [ebp - 0x30]
lea edi, [ecx + edi - 0x57cfb9ed]
mov ecx, edi
shr ecx, 0xf
shl edi, 0x11
or ecx, edi
add ecx, eax
mov edi, ecx
and ebx, ecx
not edi
and edi, dword [ebp + 8]
or edi, ebx
mov ebx, ecx
add edi, dword [ebp - 0x2c]
lea edx, [edi + edx - 0x2b96aff]
mov edi, edx
shl edi, 0x16
shr edx, 0xa
or edi, edx
add edi, ecx
mov edx, edi
and ebx, edi
not edx
and edx, eax
mov dword [ebp - 4], edi
or edx, ebx
mov ebx, dword [ebp + 8]
add edx, dword [ebp - 0x28]
lea ebx, [edx + ebx + 0x698098d8]
mov edx, ebx
shr edx, 0x19
shl ebx, 7
or edx, ebx
add edx, edi
mov ebx, edx
and edi, edx
not ebx
and ebx, ecx
or ebx, edi
add ebx, dword [ebp - 0x24]
lea eax, [ebx + eax - 0x74bb0851]
mov edi, eax
shr edi, 0x14
shl eax, 0xc
or edi, eax
add edi, edx
mov eax, edi
mov ebx, edi
not eax
and eax, dword [ebp - 4]
and ebx, edx
or eax, ebx
add eax, dword [ebp - 0x20]
lea ecx, [eax + ecx - 0xa44f]
mov ebx, ecx
shr ebx, 0xf
shl ecx, 0x11
or ebx, ecx
mov ecx, edi
add ebx, edi
mov eax, ebx
and ecx, ebx
not eax
and eax, edx
mov dword [ebp + 0xc], ebx
or eax, ecx
mov ecx, dword [ebp - 4]
add eax, dword [ebp - 0x1c]
lea ecx, [eax + ecx - 0x76a32842]
mov eax, ecx
shl eax, 0x16
shr ecx, 0xa
or eax, ecx
add eax, ebx
mov ecx, eax
and ebx, eax
not ecx
and ecx, edi
or ecx, ebx
add ecx, dword [ebp - 0x18]
lea edx, [ecx + edx + 0x6b901122]
mov ecx, edx
shr ecx, 0x19
shl edx, 7
or ecx, edx
mov edx, eax
add ecx, eax
mov dword [ebp + 8], ecx
and edx, dword [ebp + 8]
not ecx
and ecx, dword [ebp + 0xc]
or ecx, edx
add ecx, dword [ebp - 0x14]
lea edi, [ecx + edi - 0x2678e6d]
mov ecx, edi
shr ecx, 0x14
shl edi, 0xc
or ecx, edi
mov edi, eax
add ecx, dword [ebp + 8]
mov dword [ebp - 4], ecx
mov edx, ecx
not dword [ebp - 4]
and edx, dword [ebp + 8]
and edi, dword [ebp - 4]
mov ebx, ecx
or edx, edi
mov edi, dword [ebp + 0xc]
add edx, dword [ebp - 0x10]
lea edi, [edx + edi - 0x5986bc72]
mov edx, edi
shr edx, 0xf
shl edi, 0x11
or edx, edi
add edx, ecx
mov dword [ebp + 0xc], edx
and ebx, edx
not dword [ebp + 0xc]
mov edi, dword [ebp + 0xc]
and edi, dword [ebp + 8]
or edi, ebx
mov ebx, edx
add edi, dword [ebp - 0xc]
and ebx, dword [ebp - 4]
lea eax, [edi + eax + 0x49b40821]
mov edi, eax
shl edi, 0x16
shr eax, 0xa
or edi, eax
mov eax, ecx
add edi, edx
and eax, edi
or eax, ebx
mov ebx, dword [ebp + 8]
add eax, dword [ebp - 0x44]
lea eax, [eax + ebx - 0x9e1da9e]
mov ebx, eax
shr ebx, 0x1b
shl eax, 5
or ebx, eax
mov eax, dword [ebp + 0xc]
and eax, edi
add ebx, edi
mov dword [ebp + 0xc], eax
mov eax, edx
and eax, ebx
mov dword [ebp + 8], ebx
mov ebx, eax
mov eax, dword [ebp + 0xc]
or eax, ebx
add eax, dword [ebp - 0x30]
lea ecx, [eax + ecx - 0x3fbf4cc0]
mov eax, ecx
shr eax, 0x17
shl ecx, 9
or eax, ecx
mov ecx, edi
add eax, dword [ebp + 8]
not ecx
and ecx, dword [ebp + 8]
mov ebx, eax
and ebx, edi
or ecx, ebx
add ecx, dword [ebp - 0x1c]
lea edx, [ecx + edx + 0x265e5a51]
mov ecx, edx
shr ecx, 0x12
shl edx, 0xe
or ecx, edx
mov edx, dword [ebp + 8]
add ecx, eax
mov dword [ebp + 0xc], ecx
and ecx, dword [ebp + 8]
not edx
and edx, eax
mov ebx, dword [ebp + 0xc]
or edx, ecx
add edx, dword [ebp - 0x48]
lea edi, [edx + edi - 0x16493856]
mov edx, eax
mov ecx, edi
shl ecx, 0x14
shr edi, 0xc
or ecx, edi
mov edi, eax
add ecx, ebx
not edx
and edx, ebx
and edi, ecx
or edx, edi
mov edi, dword [ebp + 8]
add edx, dword [ebp - 0x34]
lea edx, [edx + edi - 0x29d0efa3]
mov edi, edx
shr edi, 0x1b
shl edx, 5
or edi, edx
mov edx, ebx
add edi, ecx
mov dword [ebp + 8], edi
mov edi, ebx
and edi, dword [ebp + 8]
not edx
and edx, ecx
or edx, edi
add edx, dword [ebp - 0x20]
lea eax, [edx + eax + 0x2441453]
mov edx, eax
shr edx, 0x17
shl eax, 9
or edx, eax
mov eax, ecx
add edx, dword [ebp + 8]
not eax
and eax, dword [ebp + 8]
mov edi, edx
and edi, ecx
or eax, edi
add eax, dword [ebp - 0xc]
lea edi, [eax + ebx - 0x275e197f]
mov eax, edi
shr eax, 0x12
shl edi, 0xe
or eax, edi
mov edi, dword [ebp + 8]
add eax, edx
mov ebx, eax
and ebx, dword [ebp + 8]
not edi
and edi, edx
or edi, ebx
mov ebx, edx
add edi, dword [ebp - 0x38]
lea ecx, [edi + ecx - 0x182c0438]
mov edi, ecx
shl edi, 0x14
shr ecx, 0xc
or edi, ecx
mov ecx, edx
add edi, eax
not ecx
and ecx, eax
and ebx, edi
or ecx, ebx
mov ebx, dword [ebp + 8]
add ecx, dword [ebp - 0x24]
mov dword [ebp - 4], edi
lea ebx, [ecx + ebx + 0x21e1cde6]
mov ecx, ebx
shr ecx, 0x1b
shl ebx, 5
or ecx, ebx
mov ebx, eax
not ebx
add ecx, edi
and ebx, edi
mov edi, eax
and edi, ecx
or ebx, edi
add ebx, dword [ebp - 0x10]
lea edx, [ebx + edx - 0x3cc8f82a]
mov edi, edx
shr edi, 0x17
shl edx, 9
or edi, edx
mov edx, dword [ebp - 4]
add edi, ecx
mov ebx, edi
and ebx, dword [ebp - 4]
not edx
and edx, ecx
or edx, ebx
add edx, dword [ebp - 0x3c]
lea eax, [edx + eax - 0xb2af279]
mov edx, eax
shr edx, 0x12
shl eax, 0xe
or edx, eax
mov eax, ecx
add edx, edi
not eax
mov ebx, edx
and eax, edi
and ebx, ecx
or eax, ebx
mov ebx, dword [ebp - 4]
add eax, dword [ebp - 0x28]
lea eax, [eax + ebx + 0x455a14ed]
mov ebx, eax
shl ebx, 0x14
shr eax, 0xc
or ebx, eax
mov eax, edi
add ebx, edx
mov dword [ebp - 4], ebx
mov ebx, edi
not eax
and eax, edx
and ebx, dword [ebp - 4]
or eax, ebx
add eax, dword [ebp - 0x14]
lea ecx, [eax + ecx - 0x561c16fb]
mov eax, ecx
shr eax, 0x1b
shl ecx, 5
or eax, ecx
mov ecx, edx
add eax, dword [ebp - 4]
mov dword [ebp + 8], eax
mov eax, edx
and ecx, dword [ebp + 8]
mov ebx, dword [ebp + 8]
not eax
and eax, dword [ebp - 4]
or eax, ecx
mov ecx, dword [ebp - 4]
add eax, dword [ebp - 0x40]
not ecx
and ecx, ebx
lea edi, [eax + edi - 0x3105c08]
mov eax, edi
shr eax, 0x17
shl edi, 9
or eax, edi
add eax, ebx
mov edi, eax
and edi, dword [ebp - 4]
or ecx, edi
add ecx, dword [ebp - 0x2c]
lea edx, [ecx + edx + 0x676f02d9]
mov ecx, edx
shr ecx, 0x12
shl edx, 0xe
or ecx, edx
mov edx, ebx
add ecx, eax
not edx
mov edi, ecx
and edx, eax
and edi, ebx
or edx, edi
mov edi, dword [ebp - 4]
add edx, dword [ebp - 0x18]
lea edi, [edx + edi - 0x72d5b376]
mov edx, edi
shl edx, 0x14
shr edi, 0xc
or edx, edi
mov edi, eax
add edx, ecx
xor edi, ecx
xor edi, edx
add edi, dword [ebp - 0x34]
lea ebx, [edi + ebx - 0x5c6be]
mov edi, ebx
shr edi, 0x1c
shl ebx, 4
or edi, ebx
mov ebx, ecx
add edi, edx
xor ebx, edx
xor ebx, edi
add ebx, dword [ebp - 0x28]
lea eax, [ebx + eax - 0x788e097f]
mov ebx, eax
shr ebx, 0x15
shl eax, 0xb
or ebx, eax
add ebx, edi
mov eax, ebx
xor eax, edx
xor eax, edi
add eax, dword [ebp - 0x1c]
lea ecx, [eax + ecx + 0x6d9d6122]
mov eax, ecx
shr eax, 0x10
shl ecx, 0x10
or eax, ecx
add eax, ebx
mov dword [ebp + 0xc], eax
mov ecx, ebx
xor ecx, eax
mov eax, ecx
xor eax, edi
add eax, dword [ebp - 0x10]
lea edx, [eax + edx - 0x21ac7f4]
mov eax, edx
shl eax, 0x17
shr edx, 9
or eax, edx
add eax, dword [ebp + 0xc]
xor ecx, eax
add ecx, dword [ebp - 0x44]
lea edi, [ecx + edi - 0x5b4115bc]
mov ecx, edi
shr ecx, 0x1c
shl edi, 4
or ecx, edi
mov edi, dword [ebp + 0xc]
mov edx, edi
add ecx, eax
xor edx, eax
xor edx, ecx
add edx, dword [ebp - 0x38]
lea ebx, [edx + ebx + 0x4bdecfa9]
mov edx, ebx
shr edx, 0x15
shl ebx, 0xb
or edx, ebx
add edx, ecx
mov ebx, edx
mov dword [ebp + 8], edx
xor ebx, eax
xor ebx, ecx
add ebx, dword [ebp - 0x2c]
lea ebx, [ebx + edi - 0x944b4a0]
mov edi, ebx
shr edi, 0x10
shl ebx, 0x10
or edi, ebx
add edi, edx
xor dword [ebp + 8], edi
mov ebx, dword [ebp + 8]
xor ebx, ecx
add ebx, dword [ebp - 0x20]
lea ebx, [ebx + eax - 0x41404390]
mov eax, ebx
shl eax, 0x17
shr ebx, 9
or eax, ebx
mov ebx, dword [ebp + 8]
add eax, edi
xor ebx, eax
add ebx, dword [ebp - 0x14]
lea ebx, [ebx + ecx + 0x289b7ec6]
mov ecx, ebx
shr ecx, 0x1c
shl ebx, 4
or ecx, ebx
mov ebx, edi
add ecx, eax
xor ebx, eax
xor ebx, ecx
add ebx, dword [ebp - 0x48]
lea edx, [ebx + edx - 0x155ed806]
mov ebx, edx
shr ebx, 0x15
shl edx, 0xb
or ebx, edx
add ebx, ecx
mov edx, ebx
mov dword [ebp + 8], ebx
xor edx, eax
xor edx, ecx
add edx, dword [ebp - 0x3c]
lea edx, [edx + edi - 0x2b10cf7b]
mov edi, edx
shr edi, 0x10
shl edx, 0x10
or edi, edx
add edi, ebx
xor dword [ebp + 8], edi
mov edx, dword [ebp + 8]
xor edx, ecx
add edx, dword [ebp - 0x30]
lea edx, [edx + eax + 0x4881d05]
mov eax, edx
shl eax, 0x17
shr edx, 9
or eax, edx
mov edx, dword [ebp + 8]
add eax, edi
xor edx, eax
add edx, dword [ebp - 0x24]
lea edx, [edx + ecx - 0x262b2fc7]
mov ecx, edx
shr ecx, 0x1c
shl edx, 4
or ecx, edx
mov edx, edi
add ecx, eax
xor edx, eax
xor edx, ecx
add edx, dword [ebp - 0x18]
lea ebx, [edx + ebx - 0x1924661b]
mov edx, ebx
shr edx, 0x15
shl ebx, 0xb
or edx, ebx
add edx, ecx
mov ebx, edx
xor ebx, eax
xor ebx, ecx
add ebx, dword [ebp - 0xc]
lea ebx, [ebx + edi + 0x1fa27cf8]
mov edi, ebx
shr edi, 0x10
shl ebx, 0x10
or edi, ebx
mov ebx, edx
add edi, edx
xor ebx, edi
xor ebx, ecx
add ebx, dword [ebp - 0x40]
lea eax, [ebx + eax - 0x3b53a99b]
mov ebx, eax
shl ebx, 0x17
shr eax, 9
or ebx, eax
mov eax, edx
add ebx, edi
not eax
or eax, ebx
xor eax, edi
add eax, dword [ebp - 0x48]
lea ecx, [eax + ecx - 0xbd6ddbc]
mov eax, ecx
shr eax, 0x1a
shl ecx, 6
or eax, ecx
mov ecx, edi
add eax, ebx
not ecx
or ecx, eax
xor ecx, ebx
add ecx, dword [ebp - 0x2c]
lea edx, [ecx + edx + 0x432aff97]
mov ecx, edx
shr ecx, 0x16
shl edx, 0xa
or ecx, edx
mov edx, ebx
add ecx, eax
not edx
or edx, ecx
xor edx, eax
add edx, dword [ebp - 0x10]
lea edi, [edx + edi - 0x546bdc59]
mov edx, edi
shr edx, 0x11
shl edi, 0xf
or edx, edi
mov edi, eax
add edx, ecx
not edi
or edi, edx
xor edi, ecx
add edi, dword [ebp - 0x34]
lea ebx, [edi + ebx - 0x36c5fc7]
mov edi, ebx
shr ebx, 0xb
shl edi, 0x15
or edi, ebx
mov ebx, ecx
not ebx
add edi, edx
or ebx, edi
xor ebx, edx
add ebx, dword [ebp - 0x18]
lea ebx, [ebx + eax + 0x655b59c3]
mov eax, ebx
shl ebx, 6
shr eax, 0x1a
or eax, ebx
mov ebx, edx
not ebx
add eax, edi
or ebx, eax
xor ebx, edi
add ebx, dword [ebp - 0x3c]
lea ebx, [ebx + ecx - 0x70f3336e]
mov ecx, ebx
shl ebx, 0xa
shr ecx, 0x16
or ecx, ebx
mov ebx, edi
add ecx, eax
not ebx
or ebx, ecx
xor ebx, eax
add ebx, dword [ebp - 0x20]
lea ebx, [ebx + edx - 0x100b83]
mov edx, ebx
shr edx, 0x11
shl ebx, 0xf
or edx, ebx
mov ebx, eax
add edx, ecx
not ebx
or ebx, edx
xor ebx, ecx
add ebx, dword [ebp - 0x44]
lea ebx, [ebx + edi - 0x7a7ba22f]
mov edi, ebx
shl edi, 0x15
shr ebx, 0xb
or edi, ebx
mov ebx, ecx
add edi, edx
not ebx
or ebx, edi
xor ebx, edx
add ebx, dword [ebp - 0x28]
lea ebx, [ebx + eax + 0x6fa87e4f]
mov eax, ebx
shr eax, 0x1a
shl ebx, 6
or eax, ebx
mov ebx, edx
add eax, edi
not ebx
or ebx, eax
xor ebx, edi
add ebx, dword [ebp - 0xc]
lea ebx, [ebx + ecx - 0x1d31920]
mov ecx, ebx
shr ecx, 0x16
shl ebx, 0xa
or ecx, ebx
mov ebx, edi
add ecx, eax
not ebx
or ebx, ecx
xor ebx, eax
push 0x40
add ebx, dword [ebp - 0x30]
push 0
lea ebx, [ebx + edx - 0x5cfebcec]
mov edx, ebx
shr edx, 0x11
shl ebx, 0xf
or edx, ebx
mov ebx, eax
add edx, ecx
not ebx
or ebx, edx
xor ebx, ecx
add ebx, dword [ebp - 0x14]
lea ebx, [ebx + edi + 0x4e0811a1]
mov edi, ebx
shl edi, 0x15
shr ebx, 0xb
or edi, ebx
mov ebx, ecx
add edi, edx
not ebx
or ebx, edi
xor ebx, edx
add ebx, dword [ebp - 0x38]
lea ebx, [ebx + eax - 0x8ac817e]
mov eax, ebx
shr eax, 0x1a
shl ebx, 6
or eax, ebx
mov ebx, edx
add eax, edi
not ebx
or ebx, eax
add dword [esi], eax
xor ebx, edi
add ebx, dword [ebp - 0x1c]
lea ecx, [ebx + ecx - 0x42c50dcb]
mov ebx, ecx
shr ebx, 0x16
shl ecx, 0xa
or ebx, ecx
mov ecx, edi
add ebx, eax
not ecx
or ecx, ebx
add dword [esi + 0xc], ebx
xor ecx, eax
add ecx, dword [ebp - 0x40]
lea edx, [ecx + edx + 0x2ad7d2bb]
mov ecx, edx
shr ecx, 0x11
shl edx, 0xf
or ecx, edx
mov edx, eax
add ecx, ebx
not edx
or edx, ecx
add dword [esi + 8], ecx
xor edx, ebx
add edx, dword [ebp - 0x24]
lea edi, [edx + edi - 0x14792c6f]
mov eax, edi
shl eax, 0x15
shr edi, 0xb
or eax, edi
add eax, ecx
add dword [esi + 4], eax
lea eax, [ebp - 0x48]
push eax
call fcn.00819042
add esp, 0x18
pop edi
pop esi
pop ebx
leave
ret