Function at 0x43e030
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2e4
mov eax, dword [0x486048]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov ecx, dword [eax + 8]
xor ebx, ebx
mov dword [ebp - 0x2dc], ecx
mov dword [ebp - 0x298], ecx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x2c0], ecx
mov ecx, dword [eax + 0x14]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x29c], ecx
add edi, 2
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2a0], ecx
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x288], ecx
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x2a4], ecx
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x2c4], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x2a8], ecx
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2ac], ecx
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x2b0], ecx
mov ecx, dword [eax + 0x34]
mov dword [ebp - 0x28c], ecx
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x2b4], ecx
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x2b8], ecx
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x2e4], eax
mov eax, dword [eax + 0x44]
mov dword [ebp - 0x2e0], edx
mov dword [ebp - 0x294], edx
mov dword [ebp - 0x2bc], ecx
mov dword [ebp - 0x290], eax
movzx eax, byte [edi - 2]
lea edi, [edi + 8]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [edi - 9]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [edi - 8]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [edi - 7]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [edi - 6]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [edi - 5]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [edi - 4]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [edi - 3]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
mov dword [ebp + ebx*8 - 0x280], esi
mov dword [ebp + ebx*8 - 0x284], ecx
inc ebx
cmp ebx, 0x10
jl 0x43e0f3
lea eax, [ebp - 0x214]
mov dword [ebp - 0x2d0], 0x40
mov ebx, dword [eax - 0x68]
xor esi, esi
mov edx, dword [eax - 0x64]
mov ecx, ebx
shrd ecx, edx, 8
mov edi, ebx
or esi, ecx
shr edx, 8
shl edi, 0x18
mov ecx, ebx
or edi, edx
mov dword [ebp - 0x2c8], esi
mov edx, dword [eax - 0x64]
xor esi, esi
shrd ecx, edx, 1
mov dword [ebp - 0x2cc], edi
mov edi, ebx
or esi, ecx
shr edx, 1
mov ecx, dword [eax - 0x64]
shrd ebx, ecx, 7
shl edi, 0x1f
or edi, edx
shr ecx, 7
mov edx, dword [ebp - 0x2c8]
xor edx, esi
mov esi, dword [ebp - 0x2cc]
xor edx, ebx
xor esi, edi
xor esi, ecx
mov dword [ebp - 0x2c8], edx
mov ecx, dword [eax]
xor ebx, ebx
mov edx, dword [eax + 4]
mov dword [ebp - 0x2cc], esi
mov esi, ecx
shrd ecx, edx, 0x13
shl esi, 0xd
or ebx, ecx
shr edx, 0x13
mov ecx, dword [eax]
or esi, edx
mov edx, dword [eax + 4]
mov edi, edx
shld edx, ecx, 3
mov dword [ebp - 0x2d4], esi
xor esi, esi
shl ecx, 3
or esi, edx
mov edx, dword [eax]
shr edi, 0x1d
or edi, ecx
mov ecx, dword [ebp - 0x2d4]
xor ecx, esi
xor ebx, edi
mov esi, dword [eax + 4]
shrd edx, esi, 6
xor ebx, edx
shr esi, 6
mov edx, dword [ebp - 0x2c8]
xor ecx, esi
add edx, ebx
mov ebx, dword [ebp - 0x2cc]
adc ebx, ecx
add edx, dword [eax - 0x70]
adc ebx, dword [eax - 0x6c]
add edx, dword [eax - 0x28]
mov dword [eax + 0x10], edx
adc ebx, dword [eax - 0x24]
lea eax, [eax + 8]
sub dword [ebp - 0x2d0], 1
mov dword [eax + 0xc], ebx
jne 0x43e197
xor edx, edx
mov dword [ebp - 0x2c8], edx
nop word [eax + eax]
mov ecx, dword [ebp - 0x2ac]
xor ebx, ebx
mov eax, dword [ebp - 0x2a8]
mov edi, ecx
shld ecx, eax, 0x17
shr edi, 9
xor edx, edx
or ebx, ecx
shl eax, 0x17
mov ecx, dword [ebp - 0x2ac]
or edi, eax
mov eax, dword [ebp - 0x2a8]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2ac]
xor ebx, esi
mov esi, eax
xor edi, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
mov eax, dword [ebp - 0x28c]
or esi, ecx
xor eax, dword [ebp - 0x2b8]
xor ebx, esi
and eax, dword [ebp - 0x2ac]
xor edi, edx
xor eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp - 0x2b0]
xor ecx, dword [ebp - 0x2b4]
and ecx, dword [ebp - 0x2a8]
xor ecx, dword [ebp - 0x2b4]
add edi, ecx
mov ecx, dword [ebp - 0x294]
adc ebx, eax
mov eax, dword [ebp - 0x2c8]
add edi, dword [eax + 0x47ad68]
adc ebx, dword [eax + 0x47ad6c]
add edi, dword [ebp + eax - 0x284]
adc ebx, dword [ebp + eax - 0x280]
add edi, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x298]
mov edx, eax
adc ebx, dword [ebp - 0x290]
add dword [ebp - 0x2a4], edi
adc dword [ebp - 0x2c4], ebx
xor esi, esi
shrd eax, ecx, 0x1c
shl edx, 4
or esi, eax
shr ecx, 0x1c
mov eax, dword [ebp - 0x298]
or edx, ecx
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 0x2bc], esi
mov esi, ecx
shld ecx, eax, 0x1e
mov dword [ebp - 0x290], edx
xor edx, edx
shr esi, 2
or edx, ecx
mov ecx, dword [ebp - 0x294]
xor dword [ebp - 0x290], edx
xor edx, edx
shl eax, 0x1e
or esi, eax
mov eax, dword [ebp - 0x298]
xor dword [ebp - 0x2bc], esi
mov esi, ecx
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or esi, eax
or edx, ecx
xor dword [ebp - 0x2bc], esi
xor dword [ebp - 0x290], edx
mov ecx, dword [ebp - 0x2c0]
mov esi, ecx
and ecx, dword [ebp - 0x298]
or esi, dword [ebp - 0x298]
and esi, dword [ebp - 0x2a0]
mov edx, dword [ebp - 0x29c]
or esi, ecx
or edx, dword [ebp - 0x294]
and edx, dword [ebp - 0x288]
mov eax, dword [ebp - 0x29c]
and eax, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x2bc]
or edx, eax
mov eax, dword [ebp - 0x290]
add ecx, esi
adc eax, edx
add ecx, edi
mov dword [ebp - 0x2bc], ecx
adc eax, ebx
mov ecx, dword [ebp - 0x2c4]
mov dword [ebp - 0x290], eax
mov edi, ecx
mov eax, dword [ebp - 0x2a4]
xor ebx, ebx
shld ecx, eax, 0x17
shr edi, 9
xor edx, edx
or ebx, ecx
shl eax, 0x17
mov ecx, dword [ebp - 0x2c4]
or edi, eax
mov eax, dword [ebp - 0x2a4]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
shr ecx, 0x12
or edx, eax
mov eax, dword [ebp - 0x2a4]
or esi, ecx
mov ecx, dword [ebp - 0x2c4]
xor ebx, esi
mov esi, eax
xor edi, edx
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
shr ecx, 0xe
or edx, eax
mov eax, dword [ebp - 0x28c]
or esi, ecx
xor eax, dword [ebp - 0x2ac]
xor ebx, esi
and eax, dword [ebp - 0x2c4]
xor edi, edx
xor eax, dword [ebp - 0x28c]
mov ecx, dword [ebp - 0x2b0]
xor ecx, dword [ebp - 0x2a8]
and ecx, dword [ebp - 0x2a4]
xor ecx, dword [ebp - 0x2b0]
add edi, ecx
mov ecx, dword [ebp - 0x290]
adc ebx, eax
mov eax, dword [ebp - 0x2c8]
add edi, dword [eax + 0x47ad70]
adc ebx, dword [eax + 0x47ad74]
add edi, dword [ebp + eax - 0x27c]
adc ebx, dword [ebp + eax - 0x278]
add edi, dword [ebp - 0x2b4]
mov eax, dword [ebp - 0x2bc]
mov edx, eax
adc ebx, dword [ebp - 0x2b8]
add dword [ebp - 0x2a0], edi
adc dword [ebp - 0x288], ebx
shrd edx, ecx, 0x1c
shl eax, 4
shr ecx, 0x1c
or ecx, eax
mov dword [ebp - 0x2b4], edx
mov dword [ebp - 0x2b8], ecx
mov ecx, dword [ebp - 0x290]
xor edx, edx
mov eax, dword [ebp - 0x2bc]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [ebp - 0x2b8], edx
or esi, eax
xor dword [ebp - 0x2b4], esi
xor edx, edx
mov ecx, dword [ebp - 0x290]
mov esi, ecx
mov eax, dword [ebp - 0x2bc]
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [ebp - 0x2b8], edx
or esi, eax
xor dword [ebp - 0x2b4], esi
mov ecx, dword [ebp - 0x2bc]
mov esi, ecx
and ecx, dword [ebp - 0x298]
or esi, dword [ebp - 0x298]
and esi, dword [ebp - 0x2c0]
mov edx, dword [ebp - 0x290]
or esi, ecx
or edx, dword [ebp - 0x294]
and edx, dword [ebp - 0x29c]
mov eax, dword [ebp - 0x290]
and eax, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x2b4]
or edx, eax
mov eax, dword [ebp - 0x2b8]
add ecx, esi
adc eax, edx
add ecx, edi
mov dword [ebp - 0x2b4], ecx
adc eax, ebx
mov ecx, dword [ebp - 0x288]
mov dword [ebp - 0x2b8], eax
mov edi, ecx
mov eax, dword [ebp - 0x2a0]
xor ebx, ebx
shld ecx, eax, 0x17
shr edi, 9
xor edx, edx
or ebx, ecx
shl eax, 0x17
mov ecx, dword [ebp - 0x288]
or edi, eax
mov eax, dword [ebp - 0x2a0]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
shr ecx, 0x12
or edx, eax
mov eax, dword [ebp - 0x2a0]
or esi, ecx
mov ecx, dword [ebp - 0x288]
xor ebx, esi
mov esi, eax
xor edi, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
shr ecx, 0xe
or edx, eax
mov eax, dword [ebp - 0x2c4]
or esi, ecx
mov ecx, dword [ebp - 0x2a4]
xor edi, edx
xor ecx, dword [ebp - 0x2a8]
xor ebx, esi
xor eax, dword [ebp - 0x2ac]
and ecx, dword [ebp - 0x2a0]
and eax, dword [ebp - 0x288]
xor ecx, dword [ebp - 0x2a8]
xor eax, dword [ebp - 0x2ac]
add edi, ecx
mov edx, dword [ebp - 0x2b8]
mov ecx, edx
mov esi, edx
adc ebx, eax
mov eax, dword [ebp - 0x2c8]
add edi, dword [eax + 0x47ad78]
adc ebx, dword [eax + 0x47ad7c]
add edi, dword [ebp + eax - 0x274]
adc ebx, dword [ebp + eax - 0x270]
add edi, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0x2b4]
adc ebx, dword [ebp - 0x28c]
add dword [ebp - 0x2c0], edi
adc dword [ebp - 0x29c], ebx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or esi, eax
xor eax, eax
or eax, ecx
mov dword [ebp - 0x2b0], esi
mov ecx, dword [ebp - 0x2b8]
mov esi, edx
mov dword [ebp - 0x28c], eax
xor edx, edx
mov eax, dword [ebp - 0x2b4]
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [ebp - 0x28c], edx
or esi, eax
xor dword [ebp - 0x2b0], esi
mov esi, dword [ebp - 0x2b4]
mov ecx, esi
mov edx, dword [ebp - 0x2b8]
mov eax, esi
or esi, dword [ebp - 0x2bc]
and esi, dword [ebp - 0x298]
shrd ecx, edx, 0x1c
shl eax, 4
xor dword [ebp - 0x2b0], ecx
mov ecx, dword [ebp - 0x2b4]
and ecx, dword [ebp - 0x2bc]
shr edx, 0x1c
or esi, ecx
or edx, eax
mov eax, dword [ebp - 0x2b8]
xor dword [ebp - 0x28c], edx
mov edx, eax
and eax, dword [ebp - 0x290]
or edx, dword [ebp - 0x290]
and edx, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x28c]
or edx, eax
mov eax, dword [ebp - 0x2b0]
add eax, esi
adc ecx, edx
add eax, edi
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2c0]
adc ecx, ebx
mov dword [ebp - 0x28c], ecx
xor ebx, ebx
mov ecx, dword [ebp - 0x29c]
xor edx, edx
mov edi, ecx
shld ecx, eax, 0x17
shr edi, 9
shl eax, 0x17
or ebx, ecx
mov ecx, dword [ebp - 0x29c]
or edi, eax
mov eax, dword [ebp - 0x2c0]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
shr ecx, 0x12
or edx, eax
or esi, ecx
mov eax, dword [ebp - 0x2c0]
xor ebx, esi
mov ecx, dword [ebp - 0x29c]
mov esi, eax
shrd eax, ecx, 0xe
xor edi, edx
shl esi, 0x12
shr ecx, 0xe
xor edx, edx
or edx, eax
or esi, ecx
mov ecx, dword [ebp - 0x2a0]
xor ebx, esi
xor ecx, dword [ebp - 0x2a4]
xor edi, edx
and ecx, dword [ebp - 0x2c0]
xor ecx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x288]
xor eax, dword [ebp - 0x2c4]
and eax, dword [ebp - 0x29c]
xor eax, dword [ebp - 0x2c4]
add edi, ecx
mov ecx, dword [ebp - 0x28c]
adc ebx, eax
mov eax, dword [ebp - 0x2c8]
add edi, dword [eax + 0x47ad80]
adc ebx, dword [eax + 0x47ad84]
add edi, dword [ebp + eax - 0x26c]
adc ebx, dword [ebp + eax - 0x268]
add edi, dword [ebp - 0x2a8]
mov eax, dword [ebp - 0x2b0]
mov edx, eax
adc ebx, dword [ebp - 0x2ac]
add dword [ebp - 0x298], edi
adc dword [ebp - 0x294], ebx
xor esi, esi
shrd eax, ecx, 0x1c
shl edx, 4
or esi, eax
shr ecx, 0x1c
mov eax, dword [ebp - 0x2b0]
or edx, ecx
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x2a8], esi
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
mov dword [ebp - 0x2ac], edx
xor edx, edx
or edx, ecx
shl eax, 0x1e
xor dword [ebp - 0x2ac], edx
or esi, eax
xor dword [ebp - 0x2a8], esi
xor edx, edx
mov ecx, dword [ebp - 0x28c]
mov esi, ecx
mov eax, dword [ebp - 0x2b0]
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
xor dword [ebp - 0x2ac], edx
or esi, eax
xor dword [ebp - 0x2a8], esi
mov esi, dword [ebp - 0x2b0]
or esi, dword [ebp - 0x2b4]
mov edx, dword [ebp - 0x28c]
or edx, dword [ebp - 0x2b8]
and esi, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x2b0]
and ecx, dword [ebp - 0x2b4]
and edx, dword [ebp - 0x290]
or esi, ecx
mov eax, dword [ebp - 0x28c]
and eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp - 0x2a8]
or edx, eax
mov eax, dword [ebp - 0x2ac]
add ecx, esi
adc eax, edx
add ecx, edi
mov dword [ebp - 0x2a8], ecx
adc eax, ebx
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 0x2ac], eax
mov edi, ecx
mov eax, dword [ebp - 0x298]
xor ebx, ebx
shld ecx, eax, 0x17
shr edi, 9
xor edx, edx
shl eax, 0x17
or ebx, ecx
mov ecx, dword [ebp - 0x294]
or edi, eax
mov eax, dword [ebp - 0x298]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [ebp - 0x298]
or esi, ecx
mov ecx, dword [ebp - 0x294]
xor ebx, esi
mov esi, eax
xor edi, edx
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
or edx, eax
shr ecx, 0xe
mov eax, dword [ebp - 0x29c]
or esi, ecx
xor eax, dword [ebp - 0x288]
xor ebx, esi
and eax, dword [ebp - 0x294]
xor edi, edx
xor eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x2c0]
xor ecx, dword [ebp - 0x2a0]
and ecx, dword [ebp - 0x298]
xor ecx, dword [ebp - 0x2a0]
mov esi, dword [ebp - 0x2ac]
add edi, ecx
mov ecx, esi
mov edx, esi
adc ebx, eax
mov eax, dword [ebp - 0x2c8]
add edi, dword [eax + 0x47ad88]
adc ebx, dword [eax + 0x47ad8c]
add edi, dword [ebp + eax - 0x264]
adc ebx, dword [ebp + eax - 0x260]
add edi, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x2a8]
adc ebx, dword [ebp - 0x2c4]
add dword [ebp - 0x2bc], edi
adc dword [ebp - 0x290], ebx
shld ecx, eax, 0x1e
shr edx, 2
shl eax, 0x1e
or edx, eax
shr esi, 7
xor eax, eax
mov dword [ebp - 0x2a4], edx
or eax, ecx
xor edx, edx
mov ecx, dword [ebp - 0x2ac]
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x2a8]
shld ecx, eax, 0x19
shl eax, 0x19
or edx, ecx
or esi, eax
mov eax, dword [ebp - 0x2a8]
xor dword [ebp - 0x2a4], esi
mov ecx, eax
mov esi, dword [ebp - 0x2c4]
xor esi, edx
mov edx, dword [ebp - 0x2ac]
shrd ecx, edx, 0x1c
xor dword [ebp - 0x2a4], ecx
mov ecx, dword [ebp - 0x2a8]
shl eax, 4
shr edx, 0x1c
or edx, eax
mov eax, dword [ebp - 0x2ac]
xor esi, edx
mov edx, eax
and eax, dword [ebp - 0x28c]
or edx, dword [ebp - 0x28c]
and edx, dword [ebp - 0x2b8]
or edx, eax
mov dword [ebp - 0x2c4], esi
mov eax, dword [ebp - 0x2a4]
mov esi, ecx
and ecx, dword [ebp - 0x2b0]
or esi, dword [ebp - 0x2b0]
and esi, dword [ebp - 0x2b4]
or esi, ecx
mov ecx, dword [ebp - 0x2c4]
add eax, esi
adc ecx, edx
add eax, edi
mov dword [ebp - 0x2a4], eax
adc ecx, ebx
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2c4], ecx
xor ebx, ebx
mov ecx, dword [ebp - 0x290]
xor edx, edx
mov edi, ecx
shld ecx, eax, 0x17
shr edi, 9
or ebx, ecx
shl eax, 0x17
mov ecx, dword [ebp - 0x290]
or edi, eax
mov eax, dword [ebp - 0x2bc]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
or edx, eax
shr ecx, 0x12
mov eax, dword [ebp - 0x2bc]
or esi, ecx
mov ecx, dword [ebp - 0x290]
xor ebx, esi
mov esi, eax
xor edi, edx
shrd eax, ecx, 0xe
xor edx, edx
shl esi, 0x12
shr ecx, 0xe
or edx, eax
mov eax, dword [ebp - 0x294]
or esi, ecx
xor eax, dword [ebp - 0x29c]
xor ebx, esi
and eax, dword [ebp - 0x290]
xor edi, edx
xor eax, dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x298]
xor ecx, dword [ebp - 0x2c0]
and ecx, dword [ebp - 0x2bc]
xor ecx, dword [ebp - 0x2c0]
add edi, ecx
mov ecx, dword [ebp - 0x2c4]
mov edx, ecx
adc ebx, eax
mov eax, dword [ebp - 0x2c8]
add edi, dword [eax + 0x47ad90]
adc ebx, dword [eax + 0x47ad94]
add edi, dword [ebp + eax - 0x25c]
adc ebx, dword [ebp + eax - 0x258]
add edi, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x2a4]
adc ebx, dword [ebp - 0x288]
add dword [ebp - 0x2b4], edi
adc dword [ebp - 0x2b8], ebx
shr edx, 2
xor esi, esi
shld ecx, eax, 0x1e
or esi, ecx
shl eax, 0x1e
or edx, eax
mov ecx, dword [ebp - 0x2c4]
mov eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x288], esi
mov esi, ecx
shld ecx, eax, 0x19
mov dword [ebp - 0x2a0], edx
xor edx, edx
or edx, ecx
shl eax, 0x19
xor dword [ebp - 0x288], edx
mov edx, dword [ebp - 0x2c4]
shr esi, 7
or esi, eax
xor dword [ebp - 0x2a0], esi
mov esi, dword [ebp - 0x2a4]
mov ecx, esi
shrd ecx, edx, 0x1c
mov eax, esi
or esi, dword [ebp - 0x2a8]
xor dword [ebp - 0x2a0], ecx
and esi, dword [ebp - 0x2b0]
mov ecx, dword [ebp - 0x2a4]
and ecx, dword [ebp - 0x2a8]
shl eax, 4
or esi, ecx
shr edx, 0x1c
or edx, eax
mov eax, dword [ebp - 0x2c4]
xor dword [ebp - 0x288], edx
mov edx, eax
and eax, dword [ebp - 0x2ac]
or edx, dword [ebp - 0x2ac]
and edx, dword [ebp - 0x28c]
mov ecx, dword [ebp - 0x288]
or edx, eax
mov eax, dword [ebp - 0x2a0]
add eax, esi
adc ecx, edx
add eax, edi
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp - 0x2b4]
adc ecx, ebx
mov dword [ebp - 0x288], ecx
xor ebx, ebx
mov ecx, dword [ebp - 0x2b8]
xor edx, edx
mov edi, ecx
shld ecx, eax, 0x17
shr edi, 9
or ebx, ecx
shl eax, 0x17
mov ecx, dword [ebp - 0x2b8]
or edi, eax
mov eax, dword [ebp - 0x2b4]
mov esi, eax
shrd eax, ecx, 0x12
shl esi, 0xe
shr ecx, 0x12
or edx, eax
mov eax, dword [ebp - 0x2b4]
or esi, ecx
mov ecx, dword [ebp - 0x2b8]
xor ebx, esi
mov esi, eax
xor edi, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
shr ecx, 0xe
or edx, eax
mov eax, dword [ebp - 0x294]
or esi, ecx
mov ecx, dword [ebp - 0x298]
xor edi, edx
xor ecx, dword [ebp - 0x2bc]
xor ebx, esi
xor eax, dword [ebp - 0x290]
and eax, dword [ebp - 0x2b8]
xor eax, dword [ebp - 0x294]
and ecx, dword [ebp - 0x2b4]
xor ecx, dword [ebp - 0x298]
add edi, ecx
mov ecx, dword [ebp - 0x288]
adc ebx, eax
mov eax, dword [ebp - 0x2c8]
add edi, dword [eax + 0x47ad98]
adc ebx, dword [eax + 0x47ad9c]
add edi, dword [ebp + eax - 0x254]
adc ebx, dword [ebp + eax - 0x250]
add edi, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x2a0]
mov edx, eax
adc ebx, dword [ebp - 0x29c]
add dword [ebp - 0x2b0], edi
adc dword [ebp - 0x28c], ebx
shrd edx, ecx, 0x1c
shl eax, 4
shr ecx, 0x1c
or ecx, eax
mov dword [ebp - 0x2c0], edx
mov eax, dword [ebp - 0x2a0]
xor edx, edx
mov dword [ebp - 0x29c], ecx
mov ecx, dword [ebp - 0x288]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
shl eax, 0x1e
or edx, ecx
xor dword [ebp - 0x29c], edx
or esi, eax
xor dword [ebp - 0x2c0], esi
xor edx, edx
mov ecx, dword [ebp - 0x288]
mov esi, ecx
mov eax, dword [ebp - 0x2a0]
shld ecx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edx, ecx
xor dword [ebp - 0x29c], edx
or esi, eax
xor dword [ebp - 0x2c0], esi
mov esi, dword [ebp - 0x2a0]
or esi, dword [ebp - 0x2a4]
and esi, dword [ebp - 0x2a8]
mov edx, dword [ebp - 0x288]
or edx, dword [ebp - 0x2c4]
and edx, dword [ebp - 0x2ac]
mov ecx, dword [ebp - 0x2a0]
and ecx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x288]
or esi, ecx
and eax, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x2c0]
or edx, eax
mov eax, dword [ebp - 0x29c]
add ecx, esi
adc eax, edx
add ecx, edi
mov dword [ebp - 0x2c0], ecx
mov ecx, dword [ebp - 0x28c]
adc eax, ebx
mov dword [ebp - 0x29c], eax
mov edi, ecx
mov eax, dword [ebp - 0x2b0]
xor ebx, ebx
shld ecx, eax, 0x17
shr edi, 9
xor edx, edx
shl eax, 0x17
or ebx, ecx
mov ecx, dword [ebp - 0x28c]
or edi, eax
mov eax, dword [ebp - 0x2b0]
mov esi, eax
shl esi, 0xe
shrd eax, ecx, 0x12
or edx, eax
shr ecx, 0x12
or esi, ecx
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [ebp - 0x28c]
xor ebx, esi
mov esi, eax
xor edi, edx
shrd eax, ecx, 0xe
shl esi, 0x12
xor edx, edx
or edx, eax
shr ecx, 0xe
or esi, ecx
mov eax, dword [ebp - 0x2b8]
xor eax, dword [ebp - 0x290]
xor ebx, esi
and eax, dword [ebp - 0x28c]
xor edi, edx
xor eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x2b4]
xor ecx, dword [ebp - 0x2bc]
and ecx, dword [ebp - 0x2b0]
xor ecx, dword [ebp - 0x2bc]
add edi, ecx
mov ecx, dword [ebp - 0x29c]
adc ebx, eax
mov eax, dword [ebp - 0x2c8]
add edi, dword [eax + 0x47ada0]
adc ebx, dword [eax + 0x47ada4]
add edi, dword [ebp + eax - 0x24c]
adc ebx, dword [ebp + eax - 0x248]
add edi, dword [ebp - 0x298]
mov eax, dword [ebp - 0x2c0]
mov edx, eax
adc ebx, dword [ebp - 0x294]
add dword [ebp - 0x2a8], edi
adc dword [ebp - 0x2ac], ebx
shrd edx, ecx, 0x1c
shl eax, 4
shr ecx, 0x1c
or ecx, eax
mov dword [ebp - 0x298], edx
mov eax, dword [ebp - 0x2c0]
xor edx, edx
mov dword [ebp - 0x294], ecx
mov ecx, dword [ebp - 0x29c]
mov esi, ecx
shld ecx, eax, 0x1e
shr esi, 2
or edx, ecx
shl eax, 0x1e
xor dword [ebp - 0x294], edx
or esi, eax
xor dword [ebp - 0x298], esi
xor edx, edx
mov ecx, dword [ebp - 0x29c]
mov esi, ecx
mov eax, dword [ebp - 0x2c0]
shld ecx, eax, 0x19
shr esi, 7
or edx, ecx
shl eax, 0x19
xor dword [ebp - 0x294], edx
or esi, eax
xor dword [ebp - 0x298], esi
mov eax, dword [ebp - 0x29c]
mov edx, eax
mov ecx, dword [ebp - 0x2c0]
mov esi, ecx
or edx, dword [ebp - 0x288]
or esi, dword [ebp - 0x2a0]
and eax, dword [ebp - 0x288]
and edx, dword [ebp - 0x2c4]
and ecx, dword [ebp - 0x2a0]
or edx, eax
and esi, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x298]
or esi, ecx
mov ecx, dword [ebp - 0x294]
add eax, esi
adc ecx, edx
mov edx, dword [ebp - 0x2c8]
add eax, edi
mov dword [ebp - 0x298], eax
adc ecx, ebx
add edx, 0x40
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x2c8], edx
cmp edx, 0x280
jl 0x43e290
add eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x298], eax
adc ecx, dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x2e4]
mov edx, dword [ebp - 0x298]
pop edi
pop esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x2c0]
add dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x29c]
adc dword [eax + 0x14], ecx
mov ecx, dword [ebp - 0x2a0]
add dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0x288]
adc dword [eax + 0x1c], ecx
mov ecx, dword [ebp - 0x2a4]
add dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x2c4]
adc dword [eax + 0x24], ecx
mov ecx, dword [ebp - 0x2a8]
add dword [eax + 0x28], ecx
mov ecx, dword [ebp - 0x2ac]
adc dword [eax + 0x2c], ecx
mov ecx, dword [ebp - 0x2b0]
add dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0x28c]
adc dword [eax + 0x34], ecx
mov ecx, dword [ebp - 0x2b4]
add dword [eax + 0x38], ecx
mov ecx, dword [ebp - 0x2b8]
adc dword [eax + 0x3c], ecx
mov ecx, dword [ebp - 0x2bc]
add dword [eax + 0x40], ecx
mov ecx, dword [ebp - 0x290]
adc dword [eax + 0x44], ecx
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.0044b97d
mov esp, ebp
pop ebp
ret