Function at 0x41f952
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
mov eax, 0x67452301
push ebx
mov dword [ebp - 0x44], eax
mov eax, 0xefcdab89
push esi
mov esi, dword [ebp + 0xc]
mov ecx, esi
mov dword [ebp - 0x2c], eax
and ecx, 0x3f
mov eax, 0x98badcfe
mov edx, esi
mov dword [ebp + 0xc], eax
sub edx, ecx
mov eax, 0x10325476
mov dword [ebp - 0x30], eax
push edi
test esi, esi
jne 0x41f922
mov esi, dword [ebp + 8]
lea edi, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x41f919
sub esi, edi
lea eax, [edx + 0x40]
cmp ecx, 0x38
jb 0x41f930
lea eax, [edx + 0x80]
push eax
push dword [0x43a620]
mov dword [ebp - 0x34], eax
call fcn.0049cce6
xor cl, byte [ebx - 0x4ba27628]
test ebx, ebx
jne 0x41f950
xor al, al
jmp 0x420592
xor edi, edi
test esi, esi
je 0x41f96e
sub dword [ebp + 8], ebx
mov ecx, ebx
mov ebx, dword [ebp + 8]
mov edx, esi
mov edi, esi
mov al, byte [ebx + ecx]
mov byte [ecx], al
inc ecx
dec edx
jne 0x41f962
mov ebx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x34]
mov byte [edi + ebx], 0x80
add ecx, 0xfffffff8
inc edi
cmp edi, ecx
jae 0x41f994
sub ecx, edi
lea eax, [edi + ebx]
push ecx
push 0
push eax
mov dword [ebp + 8], ecx
call int.00427cd2
add esp, 0xc
add edi, dword [ebp + 8]
mov eax, esi
mov edx, 0x98badcfe
shl eax, 3
mov dword [edi + ebx], eax
mov eax, dword [ebp - 0x34]
shr esi, 0x1d
mov dword [edi + ebx + 4], esi
mov esi, 0xefcdab89
mov edi, 0x10325476
test eax, eax
je 0x4204e8
add ebx, 0x1c
mov ecx, 0x67452301
dec eax
mov dword [ebp + 8], ebx
shr eax, 6
inc eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x58], ecx
mov ecx, esi
not ecx
mov dword [ebp - 0x64], edi
and ecx, edi
mov dword [ebp - 0x60], edx
mov edx, dword [ebx - 0x1c]
mov edi, dword [ebp + 0xc]
mov eax, edi
and eax, esi
mov ebx, dword [ebx - 0x18]
or ecx, eax
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x44]
add ecx, edx
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x40], ebx
lea edx, [eax - 0x28955b88]
add eax, 0xff6aa478
add eax, ecx
add edx, ecx
shl eax, 7
shr edx, 0x19
or edx, eax
mov eax, esi
add edx, esi
and eax, edx
mov ecx, edx
not ecx
and ecx, edi
add edi, 0xfffff0db
or ecx, eax
mov eax, dword [ebp - 0x30]
add ecx, ebx
mov ebx, dword [ebp + 8]
lea esi, [eax - 0x173848aa]
add eax, 0x7b756
add eax, ecx
mov ebx, dword [ebx - 0x14]
shl eax, 0xc
add esi, ecx
shr esi, 0x14
or esi, eax
mov dword [ebp - 0x44], ebx
add esi, edx
mov ecx, esi
mov eax, esi
and eax, edx
not ecx
and ecx, dword [ebp - 0x2c]
or ecx, eax
mov eax, dword [ebp + 0xc]
add ecx, ebx
add eax, 0x242070db
add eax, ecx
add edi, ecx
shr eax, 0xf
shl edi, 0x11
or edi, eax
mov eax, dword [ebp + 8]
add edi, esi
mov ecx, edi
not ecx
mov ebx, dword [eax - 0x10]
and ecx, edx
mov eax, esi
mov dword [ebp - 0x3c], ebx
and eax, edi
or ecx, eax
mov eax, dword [ebp - 0x2c]
add ecx, ebx
lea ebx, [eax - 0x3e423112]
add eax, 0xfffffeee
add eax, ecx
add ebx, ecx
shl eax, 0x16
shr ebx, 0xa
or ebx, eax
mov eax, dword [ebp + 8]
add ebx, edi
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x2c], eax
mov ecx, ebx
not ecx
mov eax, edi
and eax, ebx
and ecx, esi
or ecx, eax
lea eax, [edx - 0xa83f051]
add ecx, dword [ebp - 0x2c]
add eax, ecx
shr eax, 0x19
mov dword [ebp + 0xc], eax
lea eax, [edx - 0x83f051]
add eax, ecx
mov edx, dword [ebp + 0xc]
shl eax, 7
or edx, eax
mov eax, dword [ebp + 8]
add edx, ebx
mov ecx, edx
not ecx
mov eax, dword [eax - 8]
and ecx, edi
mov dword [ebp - 0x10], eax
mov eax, ebx
and eax, edx
or ecx, eax
lea eax, [esi + 0x4787c62a]
add ecx, dword [ebp - 0x10]
add eax, ecx
shr eax, 0x14
mov dword [ebp + 0xc], eax
lea eax, [esi + 0x7c62a]
add eax, ecx
mov esi, dword [ebp + 0xc]
shl eax, 0xc
or esi, eax
mov eax, dword [ebp + 8]
add esi, edx
mov ecx, esi
not ecx
mov eax, dword [eax - 4]
and ecx, ebx
mov dword [ebp - 0x24], eax
mov eax, esi
and eax, edx
or ecx, eax
lea eax, [edi - 0x57cfb9ed]
add ecx, dword [ebp - 0x24]
add eax, ecx
shr eax, 0xf
mov dword [ebp + 0xc], eax
lea eax, [edi - 0x39ed]
mov edi, dword [ebp + 0xc]
add eax, ecx
shl eax, 0x11
or edi, eax
mov eax, dword [ebp + 8]
add edi, esi
mov ecx, edi
not ecx
mov eax, dword [eax]
and ecx, edx
mov dword [ebp - 8], eax
mov eax, esi
and eax, edi
or ecx, eax
lea eax, [ebx + 0x101]
add ecx, dword [ebp - 8]
add eax, ecx
shl eax, 0x16
mov dword [ebp + 0xc], eax
lea eax, [ebx - 0x2b96aff]
mov ebx, dword [ebp + 0xc]
add eax, ecx
shr eax, 0xa
or ebx, eax
mov eax, dword [ebp + 8]
add ebx, edi
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], eax
mov ecx, ebx
mov eax, edi
and eax, ebx
not ecx
and ecx, esi
or ecx, eax
lea eax, [edx + 0x698098d8]
add ecx, dword [ebp - 0x1c]
add eax, ecx
shr eax, 0x19
mov dword [ebp + 0xc], eax
lea eax, [edx - 0x7f6728]
add eax, ecx
mov edx, dword [ebp + 0xc]
shl eax, 7
or edx, eax
mov eax, dword [ebp + 8]
add edx, ebx
mov ecx, edx
not ecx
mov eax, dword [eax + 8]
and ecx, edi
mov dword [ebp - 0x34], eax
mov eax, ebx
and eax, edx
or ecx, eax
lea eax, [esi - 0x74bb0851]
add ecx, dword [ebp - 0x34]
add eax, ecx
shr eax, 0x14
mov dword [ebp + 0xc], eax
lea eax, [esi + 0x4f7af]
add eax, ecx
mov esi, dword [ebp + 0xc]
shl eax, 0xc
or esi, eax
mov eax, dword [ebp + 8]
add esi, edx
mov ecx, esi
not ecx
mov eax, dword [eax + 0xc]
and ecx, ebx
mov dword [ebp - 0x18], eax
mov eax, esi
and eax, edx
or ecx, eax
lea eax, [edi - 0xa44f]
add ecx, dword [ebp - 0x18]
add eax, ecx
shr eax, 0xf
mov dword [ebp - 0x20], eax
lea eax, [edi - 0x244f]
mov edi, dword [ebp - 0x20]
add eax, ecx
shl eax, 0x11
or edi, eax
mov eax, dword [ebp + 8]
add edi, esi
mov ecx, edi
mov dword [ebp - 0x20], edi
not ecx
mov eax, dword [eax + 0x10]
and ecx, edx
mov dword [ebp - 0x30], eax
mov eax, esi
and eax, edi
or ecx, eax
lea eax, [ebx - 0x42]
add ecx, dword [ebp - 0x30]
add eax, ecx
shl eax, 0x16
mov dword [ebp + 0xc], eax
lea eax, [ebx - 0x76a32842]
mov ebx, dword [ebp + 0xc]
add eax, ecx
shr eax, 0xa
or ebx, eax
mov eax, dword [ebp + 8]
add ebx, edi
mov dword [ebp + 0xc], ebx
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x14], eax
mov ecx, ebx
not ecx
mov eax, edi
and eax, ebx
and ecx, esi
or ecx, eax
lea ebx, [edx + 0x6b901122]
add ecx, dword [ebp - 0x14]
lea eax, [edx - 0x6feede]
add eax, ecx
mov edx, dword [ebp + 0xc]
shl eax, 7
add ebx, ecx
shr ebx, 0x19
or ebx, eax
mov eax, dword [ebp + 8]
add ebx, edx
mov ecx, ebx
mov dword [ebp - 4], ebx
not ecx
mov eax, dword [eax + 0x18]
and ecx, edi
mov dword [ebp - 0x28], eax
lea edi, [esi - 0x78e6d]
mov eax, edx
and eax, ebx
or ecx, eax
lea eax, [esi - 0x2678e6d]
add ecx, dword [ebp - 0x28]
add eax, ecx
add edi, ecx
shr eax, 0x14
shl edi, 0xc
or edi, eax
mov eax, dword [ebp + 8]
add edi, ebx
mov esi, edi
mov dword [ebp - 0x50], edi
not esi
mov eax, dword [eax + 0x1c]
mov ecx, esi
mov dword [ebp - 0xc], eax
and ecx, edx
mov eax, edi
and eax, ebx
or ecx, eax
mov eax, dword [ebp - 0x20]
add ecx, dword [ebp - 0xc]
lea ebx, [eax - 0x5986bc72]
add eax, 0xffffc38e
add eax, ecx
add ebx, ecx
shl eax, 0x11
shr ebx, 0xf
or ebx, eax
mov eax, dword [ebp + 8]
add ebx, edi
mov edx, ebx
mov dword [ebp - 0x54], ebx
not edx
mov eax, dword [eax + 0x20]
mov ecx, edx
and ecx, dword [ebp - 4]
mov dword [ebp - 0x20], eax
mov eax, edi
and eax, ebx
or ecx, eax
mov eax, dword [ebp + 0xc]
add ecx, dword [ebp - 0x20]
lea edi, [eax + 0x49b40821]
add eax, 0x21
add edi, ecx
add eax, ecx
mov ecx, dword [ebp - 0x50]
shr edi, 0xa
shl eax, 0x16
or edi, eax
mov eax, ecx
add edi, ebx
and esi, ebx
and eax, edi
and edx, edi
or esi, eax
mov eax, dword [ebp - 4]
add esi, dword [ebp - 0x40]
lea ebx, [eax - 0x1e1da9e]
add eax, 0xf61e2562
add eax, esi
add ebx, esi
shr eax, 0x1b
mov esi, dword [ebp - 0x54]
shl ebx, 5
or ebx, eax
mov eax, esi
add ebx, edi
and eax, ebx
or edx, eax
lea eax, [ecx - 0x3fbf4cc0]
add edx, dword [ebp - 0x24]
add eax, edx
shr eax, 0x17
mov dword [ebp + 0xc], eax
lea eax, [ecx - 0x3f4cc0]
add eax, edx
mov ecx, edi
mov edx, dword [ebp + 0xc]
not ecx
shl eax, 9
and ecx, ebx
or edx, eax
add edx, ebx
mov eax, edx
and eax, edi
or ecx, eax
lea eax, [esi - 0x1a5af]
add ecx, dword [ebp - 0x30]
add eax, ecx
shl eax, 0xe
mov dword [ebp + 0xc], eax
lea eax, [esi + 0x265e5a51]
mov esi, dword [ebp + 0xc]
add eax, ecx
shr eax, 0x12
mov ecx, ebx
or esi, eax
not ecx
and ecx, edx
add esi, edx
mov eax, esi
and eax, ebx
or ecx, eax
lea eax, [edi - 0x16493856]
add ecx, dword [ebp - 0x38]
add eax, ecx
shr eax, 0xc
mov dword [ebp + 0xc], eax
lea eax, [edi + 0x7aa]
mov edi, dword [ebp + 0xc]
add eax, ecx
shl eax, 0x14
mov ecx, edx
or edi, eax
not ecx
and ecx, esi
add edi, esi
mov eax, edx
and eax, edi
or ecx, eax
lea eax, [ebx - 0x1d0efa3]
add ecx, dword [ebp - 0x10]
add eax, ecx
shl eax, 5
mov dword [ebp + 0xc], eax
lea eax, [ebx - 0x29d0efa3]
mov ebx, dword [ebp + 0xc]
add eax, ecx
shr eax, 0x1b
mov ecx, esi
or ebx, eax
not ecx
add ebx, edi
and ecx, edi
mov eax, esi
and eax, ebx
or ecx, eax
lea eax, [edx - 0x3bebad]
add ecx, dword [ebp - 0x18]
add eax, ecx
shl eax, 9
mov dword [ebp + 0xc], eax
lea eax, [edx + 0x2441453]
add eax, ecx
mov edx, dword [ebp + 0xc]
shr eax, 0x17
mov ecx, edi
or edx, eax
not ecx
and ecx, ebx
add edx, ebx
mov eax, edx
and eax, edi
or ecx, eax
lea eax, [esi - 0x275e197f]
add ecx, dword [ebp - 0x20]
add eax, ecx
shr eax, 0x12
mov dword [ebp + 0xc], eax
lea eax, [esi + 0x1e681]
add eax, ecx
mov esi, dword [ebp + 0xc]
shl eax, 0xe
mov ecx, ebx
or esi, eax
not ecx
and ecx, edx
add esi, edx
mov eax, esi
and eax, ebx
or ecx, eax
lea eax, [edi - 0x182c0438]
add ecx, dword [ebp - 0x2c]
add eax, ecx
shr eax, 0xc
mov dword [ebp + 0xc], eax
lea eax, [edi - 0x438]
mov edi, dword [ebp + 0xc]
add eax, ecx
shl eax, 0x14
mov ecx, edx
or edi, eax
not ecx
and ecx, esi
add edi, esi
mov eax, edx
and eax, edi
or ecx, eax
lea eax, [ebx + 0x1e1cde6]
add ecx, dword [ebp - 0x34]
add eax, ecx
shl eax, 5
mov dword [ebp + 0xc], eax
lea eax, [ebx + 0x21e1cde6]
mov ebx, dword [ebp + 0xc]
add eax, ecx
shr eax, 0x1b
mov ecx, esi
or ebx, eax
not ecx
add ebx, edi
and ecx, edi
mov eax, esi
and eax, ebx
or ecx, eax
lea eax, [edx - 0x3cc8f82a]
add ecx, dword [ebp - 0xc]
add eax, ecx
shr eax, 0x17
mov dword [ebp + 0xc], eax
lea eax, [edx + 0x3707d6]
mov edx, dword [ebp + 0xc]
add eax, ecx
shl eax, 9
or edx, eax
mov ecx, edi
not ecx
add edx, ebx
and ecx, ebx
mov eax, edx
and eax, edi
or ecx, eax
lea eax, [esi + 0x10d87]
add ecx, dword [ebp - 0x3c]
add eax, ecx
shl eax, 0xe
mov dword [ebp - 4], eax
lea eax, [esi - 0xb2af279]
add eax, ecx
mov esi, dword [ebp - 4]
shr eax, 0x12
mov ecx, ebx
or esi, eax
not ecx
and ecx, edx
add esi, edx
mov eax, esi
mov dword [ebp - 4], esi
and eax, ebx
or ecx, eax
lea eax, [edi + 0x455a14ed]
add ecx, dword [ebp - 0x1c]
add eax, ecx
shr eax, 0xc
mov dword [ebp + 0xc], eax
lea eax, [edi + 0x4ed]
mov edi, dword [ebp + 0xc]
add eax, ecx
shl eax, 0x14
mov ecx, edx
or edi, eax
not ecx
and ecx, esi
add edi, esi
mov eax, edx
mov dword [ebp + 0xc], edi
and eax, edi
lea esi, [ebx - 0x561c16fb]
or ecx, eax
lea eax, [ebx + 0x1e3e905]
add ecx, dword [ebp - 0x28]
lea ebx, [edx - 0x3105c08]
add eax, ecx
add esi, ecx
shl eax, 5
shr esi, 0x1b
or esi, eax
add esi, edi
mov edi, dword [ebp - 4]
mov ecx, edi
mov eax, edi
not ecx
and eax, esi
and ecx, dword [ebp + 0xc]
add edi, 0xffff02d9
or ecx, eax
lea eax, [edx - 0x105c08]
add ecx, dword [ebp - 0x44]
mov edx, dword [ebp + 0xc]
add ebx, ecx
add eax, ecx
shr ebx, 0x17
shl eax, 9
mov ecx, edx
or ebx, eax
not ecx
add ebx, esi
and ecx, esi
mov eax, ebx
mov dword [ebp - 0x54], ebx
and eax, edx
or ecx, eax
add ecx, dword [ebp - 8]
add edi, ecx
shl edi, 0xe
mov eax, dword [ebp - 4]
add edx, 0x8d2a4c8a
add eax, 0x676f02d9
add eax, ecx
mov ecx, esi
shr eax, 0x12
not ecx
or edi, eax
and ecx, ebx
add edi, ebx
mov eax, edi
and eax, esi
or ecx, eax
mov eax, dword [ebp + 0xc]
add ecx, dword [ebp - 0x14]
add eax, 0xfffffc8a
add eax, ecx
add edx, ecx
shl eax, 0x14
mov ecx, dword [ebp - 0x54]
shr edx, 0xc
add ecx, 0x8771f681
or edx, eax
mov eax, ebx
xor eax, edi
add edx, edi
xor eax, edx
add ebx, 0xfff1f681
add eax, 0xfffa3942
add eax, dword [ebp - 0x10]
add esi, eax
mov eax, edi
xor eax, edx
rol esi, 4
add esi, edx
xor eax, esi
add eax, dword [ebp - 0x1c]
add ebx, eax
add eax, ecx
shr eax, 0x15
lea ecx, [edi + 0x6d9d6122]
shl ebx, 0xb
add edi, 0x6122
or ebx, eax
add ebx, esi
mov eax, ebx
mov dword [ebp - 0x54], ebx
xor eax, edx
xor eax, esi
add eax, dword [ebp - 0x30]
add ecx, eax
add eax, edi
shl eax, 0x10
shr ecx, 0x10
mov edi, ecx
mov dword [ebp + 0xc], ecx
or edi, eax
mov ecx, ebx
add edi, ebx
lea ebx, [edx - 0x21ac7f4]
xor ecx, edi
add edx, 0xc
mov eax, ecx
xor eax, esi
add eax, dword [ebp - 0xc]
add ebx, eax
add eax, edx
shl eax, 0x17
shr ebx, 9
mov edx, ebx
mov dword [ebp + 0xc], ebx
or edx, eax
lea eax, [esi - 0x5b4115bc]
add edx, edi
xor ecx, edx
add ecx, dword [ebp - 0x40]
add eax, ecx
shr eax, 0x1c
mov dword [ebp + 0xc], eax
lea eax, [esi + 0x4beea44]
add eax, ecx
mov esi, dword [ebp + 0xc]
shl eax, 4
or esi, eax
mov ebx, dword [ebp - 0x54]
add esi, edx
mov eax, edi
xor eax, edx
xor eax, esi
add eax, dword [ebp - 0x2c]
lea ecx, [ebx - 0x13057]
add ecx, eax
add ebx, 0x4bdecfa9
add eax, ebx
shl ecx, 0xb
shr eax, 0x15
lea ebx, [edi + 0x4b60]
or ecx, eax
add edi, 0xf6bb4b60
add ecx, esi
mov eax, ecx
mov dword [ebp + 0xc], ecx
xor eax, edx
xor eax, esi
add eax, dword [ebp - 8]
add ebx, eax
add eax, edi
shr eax, 0x10
lea edi, [edx - 0x41404390]
shl ebx, 0x10
add edx, 0x70
or ebx, eax
add ebx, ecx
xor ecx, ebx
mov eax, ecx
xor eax, esi
add eax, dword [ebp - 0x18]
add edi, eax
add eax, edx
shl eax, 0x17
lea edx, [esi - 0x764813a]
shr edi, 9
or edi, eax
lea eax, [esi + 0x289b7ec6]
add edi, ebx
xor ecx, edi
add ecx, dword [ebp - 0x28]
add eax, ecx
add edx, ecx
mov ecx, dword [ebp + 0xc]
shr eax, 0x1c
shl edx, 4
or edx, eax
mov eax, ebx
xor eax, edi
lea esi, [ecx + 0x127fa]
add edx, edi
add ecx, 0xeaa127fa
xor eax, edx
mov dword [ebp - 0x54], edx
add eax, dword [ebp - 0x38]
add esi, eax
add eax, ecx
shr eax, 0x15
lea ecx, [ebx + 0x3085]
shl esi, 0xb
add ebx, 0xd4ef3085
or esi, eax
add esi, edx
mov eax, esi
xor eax, edi
xor eax, edx
add eax, dword [ebp - 0x3c]
add ecx, eax
add eax, ebx
shl ecx, 0x10
shr eax, 0x10
mov ebx, ecx
or ebx, eax
mov dword [ebp + 0xc], ecx
add ebx, esi
mov ecx, esi
xor ecx, ebx
mov eax, ecx
xor eax, edx
lea edx, [edi + 0x4881d05]
add eax, dword [ebp - 0x24]
add edi, 0xffffff05
add edx, eax
add eax, edi
shl eax, 0x17
shr edx, 9
or edx, eax
mov eax, dword [ebp - 0x54]
add edx, ebx
xor ecx, edx
add ecx, dword [ebp - 0x34]
lea edi, [eax - 0x62b2fc7]
add eax, 0xd9d4d039
add eax, ecx
add edi, ecx
shr eax, 0x1c
lea ecx, [esi - 0x1924661b]
shl edi, 4
add esi, 0xfffb99e5
or edi, eax
mov eax, ebx
xor eax, edx
add edi, edx
xor eax, edi
add eax, dword [ebp - 0x14]
add ecx, eax
add eax, esi
shl eax, 0xb
lea esi, [ebx + 0x7cf8]
shr ecx, 0x15
add ebx, 0x1fa27cf8
or ecx, eax
add ecx, edi
mov eax, ecx
xor eax, edx
xor eax, edi
add eax, dword [ebp - 0x20]
add esi, eax
add eax, ebx
shr eax, 0x10
lea ebx, [edx - 0x3b53a99b]
shl esi, 0x10
add edx, 0x65
or esi, eax
mov eax, ecx
add esi, ecx
xor eax, esi
xor eax, edi
add eax, dword [ebp - 0x44]
add ebx, eax
add eax, edx
shl eax, 0x17
lea edx, [edi + 0x292244]
shr ebx, 9
add edi, 0xf4292244
or ebx, eax
mov eax, ecx
not eax
add ebx, esi
or eax, ebx
xor eax, esi
add eax, dword [ebp - 0x38]
add edx, eax
add eax, edi
shr eax, 0x1a
lea edi, [ecx + 0x432aff97]
shl edx, 6
or edx, eax
mov eax, esi
not eax
add edx, ebx
or eax, edx
xor eax, ebx
add eax, dword [ebp - 8]
add edi, eax
shr edi, 0x16
add ecx, 0xffeaff97
add eax, ecx
lea ecx, [esi + 0x23a7]
shl eax, 0xa
add esi, 0xab9423a7
or edi, eax
mov eax, ebx
not eax
add edi, edx
or eax, edi
xor eax, edx
add eax, dword [ebp - 0xc]
add ecx, eax
add eax, esi
shr eax, 0x11
lea esi, [ebx + 0x39]
shl ecx, 0xf
add ebx, 0xfc93a039
or ecx, eax
mov eax, edx
not eax
add ecx, edi
or eax, ecx
xor eax, edi
add eax, dword [ebp - 0x10]
add esi, eax
add eax, ebx
shr eax, 0xb
lea ebx, [edx + 0x15b59c3]
shl esi, 0x15
add edx, 0x655b59c3
or esi, eax
mov eax, edi
not eax
add esi, ecx
or eax, esi
xor eax, ecx
add eax, dword [ebp - 0x14]
add ebx, eax
add eax, edx
shr eax, 0x1a
lea edx, [edi + 0xccc92]
shl ebx, 6
add edi, 0x8f0ccc92
or ebx, eax
mov eax, ecx
not eax
add ebx, esi
or eax, ebx
xor eax, esi
add eax, dword [ebp - 0x3c]
add edx, eax
add eax, edi
shr eax, 0x16
lea edi, [ecx - 0x100b83]
shl edx, 0xa
add ecx, 0xfffff47d
or edx, eax
mov eax, esi
not eax
add edx, ebx
or eax, edx
xor eax, ebx
add eax, dword [ebp - 0x18]
add edi, eax
add eax, ecx
shl eax, 0xf
lea ecx, [esi - 0x22f]
shr edi, 0x11
add esi, 0x85845dd1
or edi, eax
mov eax, ebx
not eax
add edi, edx
or eax, edi
xor eax, edx
add eax, dword [ebp - 0x40]
add ecx, eax
add eax, esi
shl ecx, 0x15
shr eax, 0xb
or ecx, eax
add ecx, edi
lea esi, [ebx + 0x6fa87e4f]
mov eax, edx
add ebx, 0xffa87e4f
not eax
or eax, ecx
xor eax, edi
add eax, dword [ebp - 0x1c]
add esi, eax
add eax, ebx
shl eax, 6
lea ebx, [edx - 0x131920]
shr esi, 0x1a
add edx, 0xfe2ce6e0
or esi, eax
mov eax, edi
not eax
add esi, ecx
or eax, esi
xor eax, ecx
add eax, dword [ebp - 0x20]
add ebx, eax
add eax, edx
shr eax, 0x16
lea edx, [edi - 0x5cfebcec]
shl ebx, 0xa
add edi, 0xffff4314
or ebx, eax
mov eax, ecx
not eax
add ebx, esi
or eax, ebx
xor eax, esi
add eax, dword [ebp - 0x24]
add edx, eax
add eax, edi
shl eax, 0xf
lea edi, [ecx + 0x1a1]
shr edx, 0x11
add ecx, 0x4e0811a1
or edx, eax
mov eax, esi
not eax
add edx, ebx
or eax, edx
xor eax, ebx
add eax, dword [ebp - 0x28]
add edi, eax
add eax, ecx
shr eax, 0xb
lea ecx, [esi - 0x8ac817e]
shl edi, 0x15
add esi, 0xff537e82
or edi, eax
mov eax, ebx
not eax
add edi, edx
or eax, edi
xor eax, edx
add eax, dword [ebp - 0x2c]
add ecx, eax
add eax, esi
shl eax, 6
lea esi, [ebx - 0x50dcb]
shr ecx, 0x1a
add ebx, 0xbd3af235
or ecx, eax
mov eax, edx
not eax
add ecx, edi
or eax, ecx
xor eax, edi
add eax, dword [ebp - 0x30]
add esi, eax
add eax, ebx
shr eax, 0x16
shl esi, 0xa
or esi, eax
mov eax, edi
add esi, ecx
mov dword [ebp - 0x30], esi
not eax
lea ebx, [edx + 0x2ad7d2bb]
or eax, esi
add edx, 0xffffd2bb
xor eax, ecx
add eax, dword [ebp - 0x44]
add ebx, eax
add eax, edx
shl eax, 0xf
shr ebx, 0x11
mov edx, ebx
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp + 8]
or edx, eax
add edx, esi
mov eax, ecx
add ecx, dword [ebp - 0x58]
not eax
or eax, edx
mov dword [ebp - 0x44], ecx
xor eax, esi
add ebx, 0x40
add eax, dword [ebp - 0x34]
lea esi, [edi + 0x391]
add esi, eax
mov dword [ebp + 8], ebx
add edi, 0xeb86d391
shl esi, 0x15
add eax, edi
mov edi, dword [ebp - 0x30]
add edi, dword [ebp - 0x64]
shr eax, 0xb
or esi, eax
mov dword [ebp - 0x30], edi
add esi, edx
add edx, dword [ebp - 0x60]
add esi, dword [ebp - 0x5c]
dec dword [ebp - 0x48]
mov dword [ebp - 0x2c], esi
mov dword [ebp + 0xc], edx
jne 0x41f9d0
mov ebx, dword [ebp - 0x4c]
mov ecx, edi
mov eax, edi
shr eax, 0x10
and ecx, 0xff0000
or ecx, eax
mov eax, edi
and eax, 0xff00
shr ecx, 8
shl edi, 0x10
or eax, edi
mov edi, 0xff00
shl eax, 8
or ecx, eax
mov eax, edx
push ecx
shr eax, 0x10
mov ecx, edx
and ecx, 0xff0000
or ecx, eax
mov eax, edx
and eax, edi
shr ecx, 8
shl edx, 0x10
or eax, edx
mov edx, dword [ebp - 0x44]
shl eax, 8
or ecx, eax
mov eax, esi
push ecx
shr eax, 0x10
mov ecx, esi
and ecx, 0xff0000
or ecx, eax
mov eax, esi
and eax, edi
shr ecx, 8
shl esi, 0x10
or eax, esi
shl eax, 8
or ecx, eax
mov eax, edx
push ecx
shr eax, 0x10
mov ecx, edx
and ecx, 0xff0000
or ecx, eax
mov eax, edx
and eax, edi
shl edx, 0x10
or eax, edx
shr ecx, 8
shl eax, 8
or ecx, eax
push ecx
push 0x42d2de
push dword [ebp + 0x10]
call int.00427d08
add esp, 0x18
push 0
push ebx
call dword [0x42f034]
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc