Function at 0x485560
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7c
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
cmp esi, 0x20
ja 0x48589a
cmp esi, 0x10
ja 0x485768
cmp esi, 8
jb 0x48565c
xor eax, eax
lea ecx, [esi + esi]
add ecx, 0x2f90404f
mov dword [ebp - 0x28], ecx
adc eax, 0x9ae16a3b
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 8]
push dword [ebp + 0xc]
push dword [ebp - 0x28]
mov edx, dword [eax]
mov ebx, dword [eax + esi - 4]
add edx, 0x2f90404f
mov ecx, dword [eax + 4]
mov edi, dword [eax + esi - 8]
adc ecx, 0x9ae16a3b
mov dword [ebp - 0x40], edx
xor esi, esi
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x4c], ecx
shrd eax, ecx, 0x19
shl edx, 7
shr ecx, 0x19
or esi, eax
or edx, ecx
add esi, edi
adc edx, ebx
push edx
push esi
call fcn.00523500
push dword [ebp + 0xc]
mov esi, ebx
mov dword [ebp - 0x48], eax
push dword [ebp - 0x28]
shld ebx, edi, 0x1b
xor ecx, ecx
shr esi, 5
or ecx, ebx
shl edi, 0x1b
push ecx
or esi, edi
mov dword [ebp - 0x44], edx
push esi
call fcn.00523500
add eax, dword [ebp - 0x40]
push dword [ebp + 0xc]
adc edx, dword [ebp - 0x4c]
push dword [ebp - 0x28]
xor edx, dword [ebp - 0x44]
xor eax, dword [ebp - 0x48]
push edx
push eax
call fcn.00523500
mov ebx, dword [ebp + 0xc]
xor ecx, ecx
mov edi, dword [ebp - 0x28]
mov esi, edx
push ebx
shr esi, 0xf
xor ecx, edx
xor ecx, dword [ebp - 0x44]
xor esi, eax
xor esi, dword [ebp - 0x48]
push edi
push ecx
push esi
call fcn.00523500
push ebx
mov esi, edx
xor ecx, ecx
push edi
shr esi, 0xf
xor ecx, edx
xor esi, eax
push ecx
push esi
call fcn.00523500
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 4
jb 0x4856cf
mov eax, dword [ebp + 8]
lea ecx, [esi + esi]
xor ebx, ebx
mov edx, 8
add ecx, 0x2f90404f
mov dword [ebp + 0xc], ecx
mov edi, dword [eax + esi - 4]
adc ebx, 0x9ae16a3b
mov eax, dword [eax]
mul edx
push ebx
add eax, esi
push ecx
adc edx, 0
xor eax, edi
xor edx, 0
push edx
push eax
call fcn.00523500
mov esi, edx
xor ecx, ecx
shr esi, 0xf
xor ecx, edx
xor esi, eax
xor ecx, 0
push ebx
xor esi, edi
mov edi, dword [ebp + 0xc]
push edi
push ecx
push esi
call fcn.00523500
push ebx
mov esi, edx
xor ecx, ecx
push edi
shr esi, 0xf
xor ecx, edx
xor esi, eax
push ecx
push esi
call fcn.00523500
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x485757
mov edi, dword [ebp + 8]
mov eax, esi
shr eax, 1
push 0xe16a3b2f
push 0x90404f00
movzx eax, byte [eax + edi]
cdq
push edx
push eax
call fcn.00523500
mov ebx, eax
mov dword [ebp + 0xc], edx
movzx eax, byte [edi]
push 0x9ae16a3b
cdq
push 0x2f90404f
push edx
push eax
call fcn.00523500
add ebx, eax
movzx eax, byte [edi + esi - 1]
push 0x9ae16a3b
adc dword [ebp + 0xc], edx
push 0x2f90404f
lea esi, [esi + eax*4]
mov eax, 0xc3a5c85c
mul esi
mov ecx, eax
mov eax, 0x97cb3127
mul esi
add ecx, edx
xor ebx, eax
mov edx, dword [ebp + 0xc]
xor eax, eax
xor edx, ecx
mov ecx, edx
xor eax, edx
shr ecx, 0xf
xor ecx, ebx
push eax
push ecx
call fcn.00523500
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0x2f90404f
mov edx, 0x9ae16a3b
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
lea ecx, [esi + esi]
push 0xb492b66f
push 0xbe98f273
xor eax, eax
add ecx, 0x2f90404f
push dword [edi + 4]
adc eax, 0x9ae16a3b
mov dword [ebp - 0x34], ecx
push dword [edi]
mov dword [ebp - 0x38], eax
call fcn.00523500
push dword [ebp - 0x38]
mov ebx, eax
mov dword [ebp - 0x48], edx
push dword [ebp - 0x34]
lea eax, [edi + esi]
push dword [eax - 4]
mov dword [ebp - 0x40], eax
push dword [eax - 8]
call fcn.00523500
mov esi, dword [edi + 8]
mov ecx, dword [edi + 0xc]
add esi, 0x2f90404f
mov dword [ebp + 0xc], esi
adc ecx, 0x9ae16a3b
mov dword [ebp - 0x4c], eax
shl dword [ebp + 0xc], 0xe
mov eax, edx
shrd esi, ecx, 0x12
xor edx, edx
mov dword [ebp - 0x44], eax
or edx, esi
shr ecx, 0x12
mov esi, dword [ebp + 0xc]
or esi, ecx
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x3c]
add ecx, edx
push 0x9ae16a3b
adc esi, eax
add ecx, ebx
mov dword [ebp - 0x3c], ecx
adc esi, dword [ebp - 0x48]
mov ecx, dword [edi + 8]
add ecx, ebx
mov dword [ebp + 0xc], esi
mov ebx, dword [edi + 0xc]
adc ebx, dword [ebp - 0x48]
xor esi, esi
mov edi, ebx
xor eax, eax
shld ebx, ecx, 0x15
shr edi, 0xb
shl ecx, 0x15
or esi, ebx
mov ebx, dword [ebp - 0x44]
or edi, ecx
mov ecx, edx
shrd edx, ebx, 0x1e
shl ecx, 2
shr ebx, 0x1e
or eax, edx
or ecx, ebx
add edi, eax
mov eax, dword [ebp - 0x40]
push 0x2f90404f
adc esi, ecx
push dword [eax - 0xc]
push dword [eax - 0x10]
call fcn.00523500
push dword [ebp - 0x38]
add edi, eax
push dword [ebp - 0x34]
adc esi, edx
xor edi, dword [ebp - 0x3c]
xor esi, dword [ebp + 0xc]
push esi
push edi
call fcn.00523500
mov ebx, dword [ebp - 0x38]
xor ecx, ecx
xor ecx, dword [ebp + 0xc]
mov esi, edx
mov edi, dword [ebp - 0x34]
xor ecx, edx
push ebx
shr esi, 0xf
xor esi, dword [ebp - 0x3c]
push edi
xor esi, eax
push ecx
push esi
call fcn.00523500
push ebx
mov esi, edx
xor ecx, ecx
push edi
shr esi, 0xf
xor ecx, edx
xor esi, eax
push ecx
push esi
call fcn.00523500
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
lea ebx, [edi + esi]
mov dword [ebp - 4], ebx
cmp esi, 0x40
ja 0x485a73
lea ebx, [esi + esi]
xor edx, edx
mov esi, dword [edi + 0x18]
add ebx, 0x2f90404f
mov edi, dword [edi + 0x1c]
mov eax, esi
adc edx, 0x9ae16a3b
mov dword [ebp + 0xc], ebx
mov ecx, edi
mov dword [ebp - 0x28], edx
shld ecx, eax, 3
push edx
shl eax, 3
add esi, eax
push ebx
adc edi, ecx
mov ecx, dword [ebp - 4]
push dword [ecx - 0xc]
push dword [ecx - 0x10]
call fcn.00523500
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 8]
push 0x9ae16a3b
push 0x2f90404f
mov dword [ebp - 0x38], edx
push dword [eax + 4]
push dword [eax]
call fcn.00523500
mov ecx, dword [ebp - 4]
mov ebx, edx
mov edx, ecx
push 0x9ae16a3b
push 0x2f90404f
add eax, dword [ecx - 8]
mov ecx, eax
mov dword [ebp - 0x4c], eax
adc ebx, dword [edx - 4]
xor ecx, dword [edx - 0x20]
mov eax, ebx
xor eax, dword [edx - 0x1c]
add ecx, esi
adc eax, edi
add ecx, 1
mov dword [ebp - 0x48], ecx
adc eax, 0
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 8]
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.00523500
add eax, esi
mov dword [ebp - 0x3c], eax
adc edx, edi
xor esi, esi
mov ecx, edx
mov edi, edx
shld ecx, eax, 0x16
shr edi, 0xa
or esi, ecx
shl eax, 0x16
mov ecx, dword [ebp - 4]
or edi, eax
mov dword [ebp - 0x24], edi
mov edi, dword [ecx - 0x18]
add dword [ebp - 0x24], edi
adc esi, dword [ecx - 0x14]
add dword [ebp - 0x3c], edi
mov dword [ebp - 0x30], esi
adc edx, dword [ecx - 0x14]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x34], edx
xor edx, edx
mov eax, dword [ecx + 8]
mov esi, eax
mov ecx, dword [ecx + 0xc]
shrd eax, ecx, 0x1e
shl esi, 2
shr ecx, 0x1e
or edx, eax
or esi, ecx
add edx, edi
mov eax, dword [ebp - 4]
mov edi, dword [ebp - 0x4c]
push dword [ebp - 0x28]
adc esi, dword [eax - 0x14]
mov eax, edx
push dword [ebp + 0xc]
mov ecx, esi
shld ecx, eax, 3
shl eax, 3
add edx, eax
adc esi, ecx
mov ecx, ebx
shld ebx, edi, 0x15
shr ecx, 0xb
xor eax, eax
shl edi, 0x15
or eax, ebx
or ecx, edi
add edx, ecx
adc esi, eax
add edx, dword [ebp - 0x48]
adc esi, dword [ebp - 0x44]
push esi
push edx
call fcn.00523500
push dword [ebp - 0x28]
bswap edx
add edx, dword [ebp - 0x48]
push dword [ebp + 0xc]
bswap eax
adc eax, dword [ebp - 0x44]
add edx, dword [ebp - 0x40]
adc eax, dword [ebp - 0x38]
push eax
push edx
call fcn.00523500
mov ecx, dword [ebp - 4]
push dword [ebp - 0x28]
bswap edx
add edx, dword [ebp - 0x3c]
push dword [ebp + 0xc]
bswap eax
adc eax, dword [ebp - 0x34]
add edx, dword [ebp - 0x24]
adc eax, dword [ebp - 0x30]
add edx, dword [ecx - 8]
adc eax, dword [ecx - 4]
push eax
push edx
call fcn.00523500
mov ecx, dword [ebp + 8]
mov edi, dword [ebp - 0x28]
bswap edx
add edx, dword [ebp - 0x3c]
bswap eax
adc eax, dword [ebp - 0x34]
add edx, dword [ecx + 8]
push edi
push dword [ebp + 0xc]
adc eax, dword [ecx + 0xc]
push eax
push edx
call fcn.00523500
mov esi, eax
mov eax, dword [ebp - 4]
add esi, dword [ebp - 0x40]
push edi
adc edx, dword [ebp - 0x38]
add esi, dword [eax - 0x20]
push dword [ebp + 0xc]
adc edx, dword [eax - 0x1c]
xor eax, eax
mov ecx, edx
xor eax, edx
shr ecx, 0xf
xor ecx, esi
push eax
push ecx
call fcn.00523500
add eax, dword [ebp - 0x24]
adc edx, dword [ebp - 0x30]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx - 0x38]
mov ecx, esi
add eax, dword [ebx - 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx - 0x34]
adc eax, dword [ebx - 0xc]
xor edi, edi
add ecx, dword [ebx - 0x30]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx - 0x2c]
adc eax, edi
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebx - 0x14]
mov dword [ebp - 0x68], eax
mov eax, dword [ebx - 0x18]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x6c]
push eax
mov dword [ebp - 0x60], ecx
call fcn.00486850
mov ecx, dword [ebx - 0x24]
add esp, 4
mov dword [ebp - 0x34], edx
mov edx, esi
add edx, dword [ebx - 0x40]
mov esi, dword [ebp - 4]
adc edi, dword [ebx - 0x3c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebx - 0x28]
mov ebx, ecx
mov dword [ebp - 0x14], eax
add eax, edx
mov dword [ebp - 0xc], ecx
adc ebx, edi
mov dword [ebp - 8], edx
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x40], eax
adc ebx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x50], edi
push 0xb492b66f
push 0xbe98f273
mov ecx, dword [eax - 0x30]
add ecx, dword [eax - 0x38]
mov eax, dword [eax - 0x2c]
adc eax, dword [esi - 0x34]
add edx, ecx
mov dword [ebp - 0x48], edx
mov edx, dword [ebp - 0x24]
adc edi, eax
mov eax, esi
mov dword [ebp - 0x44], edi
add edx, dword [eax - 0x20]
mov ecx, dword [eax - 0x1c]
adc ecx, dword [ebp - 0x20]
add edx, 0xbe98f273
mov esi, dword [eax - 8]
mov edi, dword [eax - 4]
adc ecx, 0xb492b66f
mov dword [ebp - 0x18], esi
add esi, edx
mov dword [ebp - 0x28], edx
mov edx, eax
mov dword [ebp - 0x1c], edi
adc edi, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x5c], ecx
add esi, dword [edx - 0x28]
mov edx, dword [eax - 0x24]
mov eax, dword [ebp - 0x28]
adc edi, edx
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x54], esi
mov esi, dword [ebp - 4]
mov ecx, dword [eax - 0x10]
add ecx, dword [eax - 0x18]
mov eax, dword [eax - 0xc]
adc eax, dword [esi - 0x14]
add dword [ebp - 0x28], ecx
adc dword [ebp - 0x2c], eax
mov eax, esi
push edx
push dword [eax - 0x28]
call fcn.00523500
mov esi, dword [ebp + 0xc]
mov ecx, eax
mov eax, dword [ebp + 8]
mov dword [ebp - 4], 0
add ecx, dword [eax]
mov dword [ebp - 0x38], ecx
adc edx, dword [eax + 4]
dec esi
mov eax, dword [ebp - 0x40]
and esi, 0xffffffc0
mov dword [ebp - 0x4c], esi
mov ecx, eax
mov esi, dword [ebp - 0x48]
add dword [ebp - 0x14], esi
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x44]
adc dword [ebp - 0xc], edx
shrd eax, ebx, 0x15
shl ecx, 0xb
or dword [ebp - 4], eax
xor eax, eax
shr ebx, 0x15
or ecx, ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x10], ecx
mov ecx, edx
shld edx, esi, 0x14
shr ecx, 0xc
or eax, edx
shl esi, 0x14
mov edx, dword [ebp - 4]
or ecx, esi
add edx, ecx
mov ecx, dword [ebp - 0x10]
adc ecx, eax
add edx, dword [ebp - 8]
mov eax, dword [ebp - 0x54]
mov esi, eax
adc ecx, dword [ebp - 0x50]
add dword [ebp - 0x18], ebx
mov dword [ebp - 4], edx
mov edx, dword [ebp - 0x2c]
adc dword [ebp - 0x1c], edx
shrd eax, edi, 0x15
mov dword [ebp - 0x10], ecx
xor ecx, ecx
or ecx, eax
shl esi, 0xb
mov dword [ebp - 8], ecx
xor eax, eax
mov ecx, edx
shr edi, 0x15
shld edx, ebx, 0x14
shr ecx, 0xc
or esi, edi
mov edi, dword [ebp + 8]
or eax, edx
mov edx, dword [ebp - 8]
shl ebx, 0x14
or ecx, ebx
add edx, ecx
adc esi, eax
add edx, dword [ebp - 0x58]
mov dword [ebp - 8], edx
adc esi, dword [ebp - 0x5c]
add edi, 0x30
mov dword [ebp - 0x28], esi
mov dword [ebp + 0xc], edi
jmp 0x485c30
mov esi, dword [edi - 0x28]
add esi, dword [ebp - 0x14]
mov edx, dword [edi - 0x24]
adc edx, dword [ebp - 0xc]
add esi, dword [ebp - 0x24]
mov ebx, dword [edi]
adc edx, dword [ebp - 0x20]
add esi, dword [ebp - 0x38]
mov edi, dword [edi + 4]
adc edx, dword [ebp - 0x3c]
add ebx, dword [ebp - 4]
mov ecx, edx
push 0xb492b66f
adc edi, dword [ebp - 0x10]
add ebx, dword [ebp - 0x24]
push 0xbe98f273
adc edi, dword [ebp - 0x20]
xor eax, eax
shld edx, esi, 0x1b
shr ecx, 5
or eax, edx
shl esi, 0x1b
or ecx, esi
push eax
push ecx
call fcn.00523500
xor eax, dword [ebp - 8]
mov ecx, edi
xor edx, dword [ebp - 0x28]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0xc]
push 0xb492b66f
shld edi, ebx, 0x16
push 0xbe98f273
mov esi, dword [eax - 8]
mov eax, dword [eax - 4]
mov dword [ebp - 0x2c], eax
xor eax, eax
shr ecx, 0xa
or eax, edi
shl ebx, 0x16
or ecx, ebx
mov dword [ebp - 0x48], edx
push eax
push ecx
mov dword [ebp - 0x40], esi
call fcn.00523500
mov ecx, eax
mov eax, edx
add ecx, esi
mov esi, dword [ebp - 0x18]
push 0xb492b66f
adc eax, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 0x24], ecx
adc eax, dword [ebp - 0xc]
add esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x1c]
adc ecx, dword [ebp - 0x34]
mov edx, ecx
mov dword [ebp - 0x20], eax
shld ecx, esi, 0x1f
xor eax, eax
shr edx, 1
push 0xbe98f273
shl esi, 0x1f
or eax, ecx
or edx, esi
push eax
push edx
call fcn.00523500
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0xc]
push 0xb492b66f
push 0xbe98f273
push dword [ebp - 0x10]
mov esi, dword [eax - 0x18]
mov eax, dword [eax - 0x14]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0xc], eax
push dword [ebp - 4]
call fcn.00523500
mov edi, eax
mov ebx, edx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
add edi, dword [eax - 0x30]
mov dword [ebp - 0x54], edi
adc ebx, dword [eax - 0x2c]
add esi, edi
mov eax, dword [ebp - 0xc]
adc eax, ebx
add esi, dword [ebp - 0x18]
adc eax, dword [ebp - 0x1c]
add esi, dword [ebp - 0x44]
mov dword [ebp - 0x5c], esi
mov esi, ebx
adc eax, dword [ebp - 0x48]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax - 0x20]
add ecx, dword [eax - 0x28]
mov eax, dword [eax - 0x1c]
adc eax, dword [edx - 0x24]
add edi, ecx
adc ebx, eax
add dword [ebp - 0x14], edi
mov ecx, ebx
adc dword [ebp - 0xc], ebx
xor eax, eax
shld ebx, edi, 0x14
shr ecx, 0xc
shl edi, 0x14
or eax, ebx
mov ebx, dword [ebp - 0x5c]
or ecx, edi
mov edi, dword [ebp - 0x58]
mov dword [ebp - 4], ecx
mov ecx, ebx
shrd ebx, edi, 0x15
shl ecx, 0xb
shr edi, 0x15
or ecx, edi
mov dword [ebp - 0x10], eax
xor eax, eax
mov edi, edx
or eax, ebx
mov ebx, dword [ebp - 4]
add ebx, eax
mov eax, dword [ebp - 0x10]
mov edx, dword [edi + 8]
adc eax, ecx
add ebx, dword [ebp - 0x54]
mov ecx, dword [edi - 0xc]
adc eax, esi
mov dword [ebp - 4], ebx
mov ebx, dword [edi - 0x20]
mov esi, dword [edi + 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
add eax, dword [edi - 0x10]
mov dword [ebp - 0x18], edx
adc ecx, dword [ebp - 0x28]
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x1c], esi
adc ecx, dword [ebp - 0x3c]
add ebx, edx
mov edx, edi
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], ecx
mov edi, dword [edx - 0x1c]
adc edi, esi
add ebx, eax
mov esi, edx
adc edi, ecx
add ebx, dword [ebp - 0x24]
adc edi, dword [ebp - 0x20]
mov edx, dword [esi]
add dword [ebp - 0x40], edx
mov edx, dword [esi + 4]
adc dword [ebp - 0x2c], edx
add eax, dword [ebp - 0x40]
adc ecx, dword [ebp - 0x2c]
add dword [ebp - 0x18], eax
mov edx, ecx
adc dword [ebp - 0x1c], ecx
shld ecx, eax, 0x14
shr edx, 0xc
shl eax, 0x14
mov dword [ebp - 8], edx
xor edx, edx
or dword [ebp - 8], eax
or edx, ecx
mov ecx, ebx
xor eax, eax
shrd ebx, edi, 0x15
shl ecx, 0xb
shr edi, 0x15
or eax, ebx
mov ebx, dword [ebp - 8]
or ecx, edi
add ebx, eax
mov edi, esi
mov eax, dword [ebp - 0x44]
adc edx, ecx
mov dword [ebp - 0x30], eax
add ebx, dword [ebp - 0x5c]
mov ecx, edx
mov eax, dword [ebp - 0x48]
adc ecx, dword [ebp - 0x58]
add edi, 0x40
sub dword [ebp - 0x4c], 0x40
mov dword [ebp - 0x28], edx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x34], eax
mov dword [ebp + 0xc], edi
jne 0x485c30
mov eax, dword [ebp - 4]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x6c]
push eax
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ecx
call fcn.00486850
mov esi, dword [ebp - 0x20]
add esp, 4
xor ecx, ecx
shr esi, 0xf
xor ecx, dword [ebp - 0x20]
mov edi, eax
xor esi, dword [ebp - 0x24]
mov ebx, edx
push 0xb492b66f
push 0xbe98f273
push ecx
push esi
call fcn.00523500
add edi, eax
lea eax, [ebp - 0x7c]
push eax
adc ebx, edx
add edi, dword [ebp - 0x30]
mov dword [ebp - 0x6c], edi
adc ebx, dword [ebp - 0x34]
mov dword [ebp - 0x68], ebx
call fcn.00486850
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x6c]
adc edx, dword [ebp - 0x3c]
push eax
mov dword [ebp - 0x60], edx
call fcn.00486850
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret