Function at 0x42a347
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x324
mov eax, dword [0x4d8300]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, ecx
push ebx
mov ebx, edx
mov dword [ebp - 0x2e8], eax
push esi
mov ecx, dword [eax + 0x80]
mov edx, dword [eax + 0x84]
mov dword [ebp - 0x2e0], ecx
mov dword [ebp - 0x2a4], ecx
mov ecx, dword [eax + 0x88]
mov dword [ebp - 0x2e4], edx
mov dword [ebp - 0x2a8], edx
mov edx, dword [eax + 0x8c]
mov dword [ebp - 0x2ec], ecx
mov dword [ebp - 0x28c], ecx
mov ecx, dword [eax + 0x90]
mov dword [ebp - 0x2f0], edx
mov dword [ebp - 0x2ac], edx
mov edx, dword [eax + 0x94]
mov dword [ebp - 0x2f4], ecx
mov dword [ebp - 0x290], ecx
mov ecx, dword [eax + 0x98]
mov dword [ebp - 0x2f8], edx
mov dword [ebp - 0x2b0], edx
mov edx, dword [eax + 0x9c]
mov dword [ebp - 0x2fc], ecx
mov dword [ebp - 0x294], ecx
mov ecx, dword [eax + 0xa0]
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x2b4], edx
mov edx, dword [eax + 0xa4]
mov dword [ebp - 0x304], ecx
mov dword [ebp - 0x298], ecx
mov ecx, dword [eax + 0xa8]
mov dword [ebp - 0x308], edx
mov dword [ebp - 0x2b8], edx
mov edx, dword [eax + 0xac]
mov dword [ebp - 0x30c], ecx
mov dword [ebp - 0x29c], ecx
mov ecx, dword [eax + 0xb0]
mov dword [ebp - 0x310], edx
mov dword [ebp - 0x2bc], edx
mov edx, dword [eax + 0xb4]
mov dword [ebp - 0x314], ecx
mov dword [ebp - 0x2a0], ecx
mov ecx, dword [eax + 0xb8]
mov eax, dword [eax + 0xbc]
mov dword [ebp - 0x318], edx
mov dword [ebp - 0x2c0], edx
lea edx, [ebp - 0x288]
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x2c8], eax
xor eax, eax
sub edx, 0x78
mov dword [ebp - 0x2dc], ebx
push edi
mov dword [ebp - 0x31c], ecx
mov dword [ebp - 0x2c4], ecx
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2cc], edx
cmp eax, 0x10
jae 0x42a4bf
mov ecx, dword [ebx + eax*8]
mov eax, dword [ebx + eax*8 + 4]
bswap ecx
bswap eax
mov dword [edx + 0x78], eax
mov dword [edx + 0x7c], ecx
jmp 0x42a5bb
mov esi, dword [edx]
xor ebx, ebx
mov edi, dword [edx + 4]
mov ecx, edi
mov eax, dword [edx + 0x6c]
mov edx, esi
mov dword [ebp - 0x2d4], eax
and edx, 0x7f
shl edx, 0x18
mov eax, esi
shrd eax, ecx, 8
or ebx, eax
shr ecx, 8
or edx, ecx
mov eax, esi
mov ecx, edi
shrd eax, ecx, 1
xor ebx, eax
shr ecx, 1
xor edx, ecx
mov eax, edi
mov ecx, esi
mov dword [ebp - 0x2d0], edx
shld eax, ecx, 7
mov eax, dword [ebp - 0x2d0]
mov edx, esi
shrd esi, edi, 7
shl ecx, 7
and edx, 0xffffff80
xor edx, ecx
shr edi, 7
xor ebx, esi
shl edx, 0x18
mov esi, dword [ebp - 0x2cc]
or eax, edx
mov edx, dword [ebp - 0x2d4]
xor eax, edi
mov dword [ebp - 0x2d0], eax
mov edi, edx
and edi, 0x3ff
mov eax, edx
mov ecx, dword [esi + 0x68]
mov esi, ecx
shld edi, esi, 3
shr eax, 0x1d
shl esi, 3
or esi, eax
mov eax, ecx
mov ecx, edx
and edx, 0xfffffc00
shrd eax, ecx, 0x13
xor esi, eax
shr ecx, 0x13
mov eax, dword [ebp - 0x2cc]
xor edi, ecx
xor ecx, ecx
mov eax, dword [eax + 0x68]
shl eax, 0xa
xor edx, eax
shld edx, ecx, 3
or edi, edx
shl ecx, 3
mov edx, dword [ebp - 0x2cc]
or esi, ecx
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [edx + 0x68]
shrd eax, ecx, 6
xor esi, eax
shr ecx, 6
mov eax, dword [ebp - 0x2d0]
xor edi, ecx
add ebx, esi
adc eax, edi
add ebx, dword [edx + 0x40]
adc eax, dword [edx + 0x44]
add ebx, dword [edx - 8]
mov dword [edx + 0x78], ebx
adc eax, dword [edx - 4]
mov ebx, dword [ebp - 0x2dc]
mov dword [edx + 0x7c], eax
mov eax, dword [ebp - 0x2d8]
add edx, 8
inc eax
mov dword [ebp - 0x2cc], edx
mov dword [ebp - 0x2d8], eax
cmp eax, 0x50
jb 0x42a4a4
xor ecx, ecx
mov dword [ebp - 0x2cc], ecx
mov eax, dword [ebp - 0x298]
xor edi, edi
mov ecx, dword [ebp - 0x2b8]
mov edx, eax
mov esi, ecx
mov ebx, eax
shld esi, edx, 0x17
and ebx, 0x7fffff
shld edi, ebx, 0x17
xor esi, ecx
shl edx, 0x17
xor edx, eax
shl ebx, 0x17
mov eax, ecx
shr eax, 9
or ebx, eax
mov eax, dword [ebp - 0x298]
shrd eax, ecx, 0x12
xor ebx, eax
shr ecx, 0x12
xor edi, ecx
xor eax, eax
mov ecx, edx
and edx, 0xf8000000
and ecx, 0x7800000
shld eax, ecx, 0x17
or edi, eax
shl ecx, 0x17
mov eax, dword [ebp - 0x298]
or ebx, ecx
mov ecx, dword [ebp - 0x2b8]
shrd eax, ecx, 0xe
xor ebx, eax
shr ecx, 0xe
mov eax, dword [ebp - 0x298]
xor edi, ecx
mov ecx, dword [ebp - 0x2b8]
shld ecx, eax, 0x1b
shl eax, 0x1b
xor esi, ecx
mov ecx, dword [ebp - 0x2a0]
xor edx, eax
xor ecx, dword [ebp - 0x29c]
and ecx, dword [ebp - 0x298]
xor ecx, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x2c0]
xor eax, dword [ebp - 0x2bc]
and eax, dword [ebp - 0x2b8]
xor eax, dword [ebp - 0x2c0]
shld esi, edx, 0x17
shl edx, 0x17
or edi, esi
or ebx, edx
add ebx, ecx
mov ecx, dword [ebp - 0x2c4]
adc edi, eax
mov eax, dword [ebp - 0x2cc]
add ebx, dword [eax + 0x4b1b78]
adc edi, dword [eax + 0x4b1b7c]
add ebx, dword [ebp + eax - 0x288]
adc edi, dword [ebp + eax - 0x284]
add ecx, ebx
mov eax, dword [ebp - 0x2c8]
adc eax, edi
mov dword [ebp - 0x2c4], ecx
add dword [ebp - 0x294], ecx
mov ecx, dword [ebp - 0x2a8]
mov esi, ecx
adc dword [ebp - 0x2b4], eax
xor edi, edi
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2a4]
mov edx, eax
shld esi, edx, 5
mov ebx, eax
and ebx, 0x1f
shl edx, 5
shld edi, ebx, 0x19
xor edx, eax
xor esi, ecx
shl ebx, 0x19
mov eax, ecx
xor edi, 0
shr eax, 7
or ebx, eax
mov eax, ecx
shr eax, 2
mov ecx, edx
xor ebx, eax
and ecx, 0x7e0
xor eax, eax
and edx, 0xfffff800
shld eax, ecx, 0x19
or edi, eax
shl ecx, 0x19
mov eax, dword [ebp - 0x2a4]
or ebx, ecx
mov ecx, dword [ebp - 0x2a8]
shrd eax, ecx, 0x1c
xor ebx, eax
shr ecx, 0x1c
mov eax, dword [ebp - 0x2a4]
xor edi, ecx
mov ecx, dword [ebp - 0x2a8]
shld ecx, eax, 0xb
xor esi, ecx
shl eax, 0xb
mov ecx, dword [ebp - 0x28c]
xor edx, eax
mov eax, dword [ebp - 0x2ac]
shld esi, edx, 0x19
or edi, esi
shl edx, 0x19
or ebx, edx
mov esi, ecx
and ecx, dword [ebp - 0x2a4]
mov edx, eax
and eax, dword [ebp - 0x2a8]
or esi, dword [ebp - 0x2a4]
or edx, dword [ebp - 0x2a8]
and esi, dword [ebp - 0x290]
and edx, dword [ebp - 0x2b0]
or esi, ecx
mov ecx, dword [ebp - 0x2b4]
or edx, eax
mov eax, dword [ebp - 0x294]
add ebx, esi
mov esi, ecx
adc edi, edx
add dword [ebp - 0x2c4], ebx
mov edx, eax
mov ebx, eax
adc dword [ebp - 0x2c8], edi
and ebx, 0x7fffff
shld esi, edx, 0x17
xor edi, edi
shld edi, ebx, 0x17
shl edx, 0x17
xor esi, ecx
xor edx, eax
shl ebx, 0x17
mov eax, ecx
shr eax, 9
or ebx, eax
mov eax, dword [ebp - 0x294]
shrd eax, ecx, 0x12
shr ecx, 0x12
xor ebx, eax
xor edi, ecx
xor eax, eax
mov ecx, edx
and ecx, 0x7800000
shld eax, ecx, 0x17
shl ecx, 0x17
or edi, eax
mov eax, dword [ebp - 0x294]
or ebx, ecx
mov ecx, dword [ebp - 0x2b4]
shrd eax, ecx, 0xe
shr ecx, 0xe
xor ebx, eax
xor edi, ecx
mov eax, dword [ebp - 0x294]
and edx, 0xf8000000
mov ecx, dword [ebp - 0x2b4]
shld ecx, eax, 0x1b
xor esi, ecx
shl eax, 0x1b
xor edx, eax
mov ecx, dword [ebp - 0x29c]
xor ecx, dword [ebp - 0x298]
and ecx, dword [ebp - 0x294]
xor ecx, dword [ebp - 0x29c]
mov eax, dword [ebp - 0x2bc]
xor eax, dword [ebp - 0x2b8]
and eax, dword [ebp - 0x2b4]
xor eax, dword [ebp - 0x2bc]
shld esi, edx, 0x17
or edi, esi
shl edx, 0x17
or ebx, edx
add ebx, ecx
mov ecx, dword [ebp - 0x2a0]
adc edi, eax
mov eax, dword [ebp - 0x2cc]
add ebx, dword [eax + 0x4b1b80]
adc edi, dword [eax + 0x4b1b84]
add ebx, dword [ebp + eax - 0x280]
adc edi, dword [ebp + eax - 0x27c]
add ecx, ebx
mov eax, dword [ebp - 0x2c0]
adc eax, edi
mov dword [ebp - 0x2a0], ecx
add dword [ebp - 0x290], ecx
mov ecx, dword [ebp - 0x2c8]
mov esi, ecx
adc dword [ebp - 0x2b0], eax
xor edi, edi
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x2c4]
mov edx, eax
mov ebx, eax
shld esi, edx, 5
and ebx, 0x1f
shld edi, ebx, 0x19
shl edx, 5
xor esi, ecx
xor edx, eax
shl ebx, 0x19
mov eax, ecx
xor edi, 0
shr eax, 7
or ebx, eax
mov eax, ecx
shr eax, 2
mov ecx, edx
xor ebx, eax
and ecx, 0x7e0
xor eax, eax
and edx, 0xfffff800
shld eax, ecx, 0x19
shl ecx, 0x19
or edi, eax
mov eax, dword [ebp - 0x2c4]
or ebx, ecx
mov ecx, dword [ebp - 0x2c8]
shrd eax, ecx, 0x1c
shr ecx, 0x1c
xor ebx, eax
mov eax, dword [ebp - 0x2c4]
xor edi, ecx
mov ecx, dword [ebp - 0x2c8]
shld ecx, eax, 0xb
shl eax, 0xb
xor esi, ecx
mov ecx, dword [ebp - 0x2c4]
xor edx, eax
shld esi, edx, 0x19
shl edx, 0x19
or edi, esi
mov esi, ecx
or ebx, edx
or esi, dword [ebp - 0x2a4]
and ecx, dword [ebp - 0x2a4]
and esi, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x2c8]
or esi, ecx
mov ecx, dword [ebp - 0x2b0]
mov edx, eax
and eax, dword [ebp - 0x2a8]
or edx, dword [ebp - 0x2a8]
and edx, dword [ebp - 0x2ac]
or edx, eax
mov eax, dword [ebp - 0x290]
add ebx, esi
mov esi, ecx
adc edi, edx
add dword [ebp - 0x2a0], ebx
mov edx, eax
mov ebx, eax
adc dword [ebp - 0x2c0], edi
xor edi, edi
shld esi, edx, 0x17
and ebx, 0x7fffff
shld edi, ebx, 0x17
xor esi, ecx
shl edx, 0x17
xor edx, eax
shl ebx, 0x17
mov eax, ecx
shr eax, 9
or ebx, eax
mov eax, dword [ebp - 0x290]
shrd eax, ecx, 0x12
shr ecx, 0x12
xor ebx, eax
xor edi, ecx
xor eax, eax
mov ecx, edx
and edx, 0xf8000000
and ecx, 0x7800000
shld eax, ecx, 0x17
or edi, eax
shl ecx, 0x17
mov eax, dword [ebp - 0x290]
or ebx, ecx
mov ecx, dword [ebp - 0x2b0]
shrd eax, ecx, 0xe
xor ebx, eax
shr ecx, 0xe
mov eax, dword [ebp - 0x290]
xor edi, ecx
mov ecx, dword [ebp - 0x2b0]
shld ecx, eax, 0x1b
shl eax, 0x1b
xor esi, ecx
mov ecx, dword [ebp - 0x298]
xor edx, eax
xor ecx, dword [ebp - 0x294]
and ecx, dword [ebp - 0x290]
xor ecx, dword [ebp - 0x298]
mov eax, dword [ebp - 0x2b8]
xor eax, dword [ebp - 0x2b4]
and eax, dword [ebp - 0x2b0]
xor eax, dword [ebp - 0x2b8]
shld esi, edx, 0x17
shl edx, 0x17
or edi, esi
or ebx, edx
add ebx, ecx
mov ecx, dword [ebp - 0x29c]
adc edi, eax
mov eax, dword [ebp - 0x2cc]
add ebx, dword [eax + 0x4b1b88]
adc edi, dword [eax + 0x4b1b8c]
add ebx, dword [ebp + eax - 0x278]
adc edi, dword [ebp + eax - 0x274]
add ecx, ebx
mov eax, dword [ebp - 0x2bc]
adc eax, edi
mov dword [ebp - 0x29c], ecx
add dword [ebp - 0x28c], ecx
mov dword [ebp - 0x2bc], eax
adc dword [ebp - 0x2ac], eax
mov ecx, dword [ebp - 0x2c0]
xor edi, edi
mov eax, dword [ebp - 0x2a0]
mov esi, ecx
mov edx, eax
mov ebx, eax
shld esi, edx, 5
and ebx, 0x1f
shld edi, ebx, 0x19
shl edx, 5
xor esi, ecx
xor edx, eax
shl ebx, 0x19
mov eax, ecx
xor edi, 0
shr eax, 7
or ebx, eax
mov eax, ecx
shr eax, 2
mov ecx, edx
xor ebx, eax
and ecx, 0x7e0
xor eax, eax
and edx, 0xfffff800
shld eax, ecx, 0x19
or edi, eax
shl ecx, 0x19
mov eax, dword [ebp - 0x2a0]
or ebx, ecx
mov ecx, dword [ebp - 0x2c0]
shrd eax, ecx, 0x1c
xor ebx, eax
shr ecx, 0x1c
mov eax, dword [ebp - 0x2a0]
xor edi, ecx
mov ecx, dword [ebp - 0x2c0]
shld ecx, eax, 0xb
xor esi, ecx
shl eax, 0xb
mov ecx, dword [ebp - 0x2c4]
xor edx, eax
mov eax, dword [ebp - 0x2c8]
shld esi, edx, 0x19
shl edx, 0x19
or edi, esi
or ebx, edx
mov esi, ecx
or esi, dword [ebp - 0x2a0]
mov edx, eax
or edx, dword [ebp - 0x2c0]
and eax, dword [ebp - 0x2c0]
and esi, dword [ebp - 0x2a4]
and edx, dword [ebp - 0x2a8]
and ecx, dword [ebp - 0x2a0]
or edx, eax
mov eax, dword [ebp - 0x28c]
or esi, ecx
mov ecx, dword [ebp - 0x2ac]
add ebx, esi
mov esi, ecx
adc edi, edx
add dword [ebp - 0x29c], ebx
mov edx, eax
mov ebx, eax
adc dword [ebp - 0x2bc], edi
and ebx, 0x7fffff
shld esi, edx, 0x17
xor edi, edi
shl edx, 0x17
xor esi, ecx
xor edx, eax
mov eax, ecx
shld edi, ebx, 0x17
shr eax, 9
shl ebx, 0x17
or ebx, eax
mov eax, dword [ebp - 0x28c]
shrd eax, ecx, 0x12
shr ecx, 0x12
xor ebx, eax
xor edi, ecx
xor eax, eax
mov ecx, edx
and ecx, 0x7800000
and edx, 0xf8000000
shld eax, ecx, 0x17
or edi, eax
shl ecx, 0x17
or ebx, ecx
mov eax, dword [ebp - 0x28c]
mov ecx, dword [ebp - 0x2ac]
shrd eax, ecx, 0xe
xor ebx, eax
shr ecx, 0xe
mov eax, dword [ebp - 0x28c]
xor edi, ecx
mov ecx, dword [ebp - 0x2ac]
shld ecx, eax, 0x1b
shl eax, 0x1b
xor esi, ecx
mov ecx, dword [ebp - 0x294]
xor edx, eax
xor ecx, dword [ebp - 0x290]
and ecx, dword [ebp - 0x28c]
xor ecx, dword [ebp - 0x294]
mov eax, dword [ebp - 0x2b4]
xor eax, dword [ebp - 0x2b0]
and eax, dword [ebp - 0x2ac]
xor eax, dword [ebp - 0x2b4]
shld esi, edx, 0x17
or edi, esi
shl edx, 0x17
or ebx, edx
add ebx, ecx
mov ecx, dword [ebp - 0x298]
adc edi, eax
mov eax, dword [ebp - 0x2cc]
add ebx, dword [eax + 0x4b1b90]
adc edi, dword [eax + 0x4b1b94]
add ebx, dword [ebp + eax - 0x270]
adc edi, dword [ebp + eax - 0x26c]
add ecx, ebx
mov eax, dword [ebp - 0x2b8]
adc eax, edi
mov dword [ebp - 0x298], ecx
add dword [ebp - 0x2a4], ecx
mov ecx, dword [ebp - 0x2bc]
mov esi, ecx
adc dword [ebp - 0x2a8], eax
xor edi, edi
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x29c]
mov edx, eax
mov ebx, eax
shld esi, edx, 5
and ebx, 0x1f
shld edi, ebx, 0x19
shl edx, 5
xor esi, ecx
xor edx, eax
shl ebx, 0x19
mov eax, ecx
xor edi, 0
shr eax, 7
or ebx, eax
mov eax, ecx
shr eax, 2
mov ecx, edx
xor ebx, eax
and ecx, 0x7e0
xor eax, eax
shld eax, ecx, 0x19
shl ecx, 0x19
or edi, eax
mov eax, dword [ebp - 0x29c]
or ebx, ecx
mov ecx, dword [ebp - 0x2bc]
shrd eax, ecx, 0x1c
shr ecx, 0x1c
xor ebx, eax
xor edi, ecx
and edx, 0xfffff800
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x2bc]
shld ecx, eax, 0xb
xor esi, ecx
shl eax, 0xb
xor edx, eax
mov ecx, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x2c0]
shld esi, edx, 0x19
or edi, esi
shl edx, 0x19
or ebx, edx
mov esi, ecx
and ecx, dword [ebp - 0x29c]
mov edx, eax
and eax, dword [ebp - 0x2bc]
or edx, dword [ebp - 0x2bc]
or esi, dword [ebp - 0x29c]
and edx, dword [ebp - 0x2c8]
and esi, dword [ebp - 0x2c4]
or edx, eax
mov eax, dword [ebp - 0x2a4]
or esi, ecx
mov ecx, dword [ebp - 0x2a8]
add ebx, esi
mov esi, ecx
adc edi, edx
add dword [ebp - 0x298], ebx
mov edx, eax
mov ebx, eax
adc dword [ebp - 0x2b8], edi
and ebx, 0x7fffff
shld esi, edx, 0x17
xor edi, edi
xor esi, ecx
shl edx, 0x17
xor edx, eax
mov eax, ecx
shr eax, 9
shld edi, ebx, 0x17
shl ebx, 0x17
or ebx, eax
mov eax, dword [ebp - 0x2a4]
shrd eax, ecx, 0x12
shr ecx, 0x12
xor ebx, eax
xor edi, ecx
xor eax, eax
mov ecx, edx
and edx, 0xf8000000
and ecx, 0x7800000
shld eax, ecx, 0x17
shl ecx, 0x17
or edi, eax
mov eax, dword [ebp - 0x2a4]
or ebx, ecx
mov ecx, dword [ebp - 0x2a8]
shrd eax, ecx, 0xe
shr ecx, 0xe
xor ebx, eax
mov eax, dword [ebp - 0x2a4]
xor edi, ecx
mov ecx, dword [ebp - 0x2a8]
shld ecx, eax, 0x1b
shl eax, 0x1b
xor esi, ecx
mov ecx, dword [ebp - 0x290]
xor edx, eax
xor ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x2b0]
xor eax, dword [ebp - 0x2ac]
and ecx, dword [ebp - 0x2a4]
and eax, dword [ebp - 0x2a8]
xor ecx, dword [ebp - 0x290]
xor eax, dword [ebp - 0x2b0]
shld esi, edx, 0x17
shl edx, 0x17
or edi, esi
or ebx, edx
add ebx, ecx
adc edi, eax
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x294]
add ebx, dword [eax + 0x4b1b98]
adc edi, dword [eax + 0x4b1b9c]
add ebx, dword [ebp + eax - 0x268]
adc edi, dword [ebp + eax - 0x264]
add ecx, ebx
mov eax, dword [ebp - 0x2b4]
adc eax, edi
mov dword [ebp - 0x294], ecx
add dword [ebp - 0x2c4], ecx
mov ecx, dword [ebp - 0x2b8]
mov esi, ecx
adc dword [ebp - 0x2c8], eax
xor edi, edi
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x298]
mov edx, eax
shld esi, edx, 5
mov ebx, eax
shl edx, 5
xor esi, ecx
xor edx, eax
and ebx, 0x1f
shld edi, ebx, 0x19
mov eax, ecx
shr eax, 7
xor edi, 0
shl ebx, 0x19
or ebx, eax
mov eax, ecx
shr eax, 2
mov ecx, edx
xor ebx, eax
and ecx, 0x7e0
xor eax, eax
and edx, 0xfffff800
shld eax, ecx, 0x19
shl ecx, 0x19
or edi, eax
mov eax, dword [ebp - 0x298]
or ebx, ecx
mov ecx, dword [ebp - 0x2b8]
shrd eax, ecx, 0x1c
shr ecx, 0x1c
xor ebx, eax
mov eax, dword [ebp - 0x298]
xor edi, ecx
mov ecx, dword [ebp - 0x2b8]
shld ecx, eax, 0xb
xor esi, ecx
shl eax, 0xb
mov ecx, dword [ebp - 0x29c]
xor edx, eax
mov eax, dword [ebp - 0x2bc]
shld esi, edx, 0x19
shl edx, 0x19
or edi, esi
or ebx, edx
mov esi, ecx
or esi, dword [ebp - 0x298]
mov edx, eax
or edx, dword [ebp - 0x2b8]
and edx, dword [ebp - 0x2c0]
and esi, dword [ebp - 0x2a0]
and ecx, dword [ebp - 0x298]
and eax, dword [ebp - 0x2b8]
or esi, ecx
mov ecx, dword [ebp - 0x2c8]
or edx, eax
mov eax, dword [ebp - 0x2c4]
add ebx, esi
mov esi, ecx
adc edi, edx
add dword [ebp - 0x294], ebx
mov edx, eax
adc dword [ebp - 0x2b4], edi
shld esi, edx, 0x17
shl edx, 0x17
xor edx, eax
xor esi, ecx
mov ebx, eax
xor edi, edi
and ebx, 0x7fffff
mov eax, ecx
shld edi, ebx, 0x17
shr eax, 9
shl ebx, 0x17
or ebx, eax
mov eax, dword [ebp - 0x2c4]
shrd eax, ecx, 0x12
xor ebx, eax
shr ecx, 0x12
xor edi, ecx
xor eax, eax
mov ecx, edx
and edx, 0xf8000000
and ecx, 0x7800000
shld eax, ecx, 0x17
or edi, eax
shl ecx, 0x17
mov eax, dword [ebp - 0x2c4]
or ebx, ecx
mov ecx, dword [ebp - 0x2c8]
shrd eax, ecx, 0xe
xor ebx, eax
shr ecx, 0xe
mov eax, dword [ebp - 0x2c4]
xor edi, ecx
mov ecx, dword [ebp - 0x2c8]
shld ecx, eax, 0x1b
shl eax, 0x1b
xor esi, ecx
mov ecx, dword [ebp - 0x28c]
xor edx, eax
xor ecx, dword [ebp - 0x2a4]
and ecx, dword [ebp - 0x2c4]
xor ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x2ac]
xor eax, dword [ebp - 0x2a8]
and eax, dword [ebp - 0x2c8]
xor eax, dword [ebp - 0x2ac]
shld esi, edx, 0x17
shl edx, 0x17
or edi, esi
or ebx, edx
add ebx, ecx
mov ecx, dword [ebp - 0x290]
adc edi, eax
mov eax, dword [ebp - 0x2cc]
add ebx, dword [eax + 0x4b1ba0]
adc edi, dword [eax + 0x4b1ba4]
add ebx, dword [ebp + eax - 0x260]
adc edi, dword [ebp + eax - 0x25c]
add ecx, ebx
mov eax, dword [ebp - 0x2b0]
adc eax, edi
mov dword [ebp - 0x290], ecx
add dword [ebp - 0x2a0], ecx
mov ecx, dword [ebp - 0x2b4]
mov esi, ecx
adc dword [ebp - 0x2c0], eax
xor edi, edi
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x294]
mov edx, eax
shld esi, edx, 5
mov ebx, eax
and ebx, 0x1f
shl edx, 5
xor edx, eax
xor esi, ecx
shld edi, ebx, 0x19
mov eax, ecx
shr eax, 7
shl ebx, 0x19
or ebx, eax
mov eax, ecx
shr eax, 2
mov ecx, edx
xor ebx, eax
xor edi, 0
and ecx, 0x7e0
xor eax, eax
shld eax, ecx, 0x19
and edx, 0xfffff800
or edi, eax
shl ecx, 0x19
or ebx, ecx
mov eax, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x2b4]
shrd eax, ecx, 0x1c
xor ebx, eax
shr ecx, 0x1c
mov eax, dword [ebp - 0x294]
xor edi, ecx
mov ecx, dword [ebp - 0x2b4]
shld ecx, eax, 0xb
xor esi, ecx
shl eax, 0xb
xor edx, eax
mov ecx, dword [ebp - 0x298]
mov eax, dword [ebp - 0x2b8]
shld esi, edx, 0x19
or edi, esi
shl edx, 0x19
or ebx, edx
mov esi, ecx
and ecx, dword [ebp - 0x294]
mov edx, eax
and eax, dword [ebp - 0x2b4]
or edx, dword [ebp - 0x2b4]
or esi, dword [ebp - 0x294]
and edx, dword [ebp - 0x2bc]
and esi, dword [ebp - 0x29c]
or edx, eax
mov eax, dword [ebp - 0x2a0]
or esi, ecx
mov ecx, dword [ebp - 0x2c0]
add ebx, esi
mov esi, ecx
adc edi, edx
add dword [ebp - 0x290], ebx
mov edx, eax
mov ebx, eax
adc dword [ebp - 0x2b0], edi
and ebx, 0x7fffff
shld esi, edx, 0x17
xor edi, edi
shld edi, ebx, 0x17
shl edx, 0x17
xor esi, ecx
xor edx, eax
shl ebx, 0x17
mov eax, ecx
shr eax, 9
or ebx, eax
mov eax, dword [ebp - 0x2a0]
shrd eax, ecx, 0x12
shr ecx, 0x12
xor ebx, eax
xor edi, ecx
xor eax, eax
mov ecx, edx
and edx, 0xf8000000
and ecx, 0x7800000
shld eax, ecx, 0x17
shl ecx, 0x17
or edi, eax
mov eax, dword [ebp - 0x2a0]
or ebx, ecx
mov ecx, dword [ebp - 0x2c0]
shrd eax, ecx, 0xe
shr ecx, 0xe
xor ebx, eax
mov eax, dword [ebp - 0x2a0]
xor edi, ecx
mov ecx, dword [ebp - 0x2c0]
shld ecx, eax, 0x1b
shl eax, 0x1b
xor esi, ecx
xor edx, eax
shld esi, edx, 0x17
mov ecx, dword [ebp - 0x2c4]
or edi, esi
xor ecx, dword [ebp - 0x2a4]
and ecx, dword [ebp - 0x2a0]
xor ecx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x2c8]
xor eax, dword [ebp - 0x2a8]
and eax, dword [ebp - 0x2c0]
xor eax, dword [ebp - 0x2a8]
shl edx, 0x17
or ebx, edx
add ebx, ecx
mov ecx, dword [ebp - 0x28c]
adc edi, eax
mov eax, dword [ebp - 0x2cc]
add ebx, dword [eax + 0x4b1ba8]
adc edi, dword [eax + 0x4b1bac]
add ebx, dword [ebp + eax - 0x258]
adc edi, dword [ebp + eax - 0x254]
add ecx, ebx
mov eax, dword [ebp - 0x2ac]
adc eax, edi
mov dword [ebp - 0x28c], ecx
add dword [ebp - 0x29c], ecx
mov ecx, dword [ebp - 0x2b0]
mov esi, ecx
adc dword [ebp - 0x2bc], eax
xor edi, edi
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x290]
mov edx, eax
shld esi, edx, 5
mov ebx, eax
shl edx, 5
and ebx, 0x1f
xor edx, eax
xor esi, ecx
shld edi, ebx, 0x19
mov eax, ecx
shr eax, 7
xor edi, 0
shl ebx, 0x19
or ebx, eax
mov eax, ecx
shr eax, 2
mov ecx, edx
xor ebx, eax
and ecx, 0x7e0
xor eax, eax
and edx, 0xfffff800
shld eax, ecx, 0x19
shl ecx, 0x19
or edi, eax
mov eax, dword [ebp - 0x290]
or ebx, ecx
mov ecx, dword [ebp - 0x2b0]
shrd eax, ecx, 0x1c
shr ecx, 0x1c
xor ebx, eax
mov eax, dword [ebp - 0x290]
xor edi, ecx
mov ecx, dword [ebp - 0x2b0]
shld ecx, eax, 0xb
xor esi, ecx
shl eax, 0xb
mov ecx, dword [ebp - 0x294]
xor edx, eax
mov eax, dword [ebp - 0x2b4]
shld esi, edx, 0x19
shl edx, 0x19
or edi, esi
or ebx, edx
mov esi, ecx
or esi, dword [ebp - 0x290]
mov edx, eax
or edx, dword [ebp - 0x2b0]
and esi, dword [ebp - 0x298]
and ecx, dword [ebp - 0x290]
and edx, dword [ebp - 0x2b8]
and eax, dword [ebp - 0x2b0]
or esi, ecx
or edx, eax
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x29c]
add ebx, esi
mov esi, ecx
adc edi, edx
add dword [ebp - 0x28c], ebx
mov edx, eax
mov ebx, eax
adc dword [ebp - 0x2ac], edi
xor edi, edi
shld esi, edx, 0x17
and ebx, 0x7fffff
xor esi, ecx
shl edx, 0x17
xor edx, eax
mov eax, ecx
shr eax, 9
shld edi, ebx, 0x17
shl ebx, 0x17
or ebx, eax
mov eax, dword [ebp - 0x29c]
shrd eax, ecx, 0x12
shr ecx, 0x12
xor ebx, eax
xor edi, ecx
xor eax, eax
mov ecx, edx
and edx, 0xf8000000
and ecx, 0x7800000
shld eax, ecx, 0x17
or edi, eax
shl ecx, 0x17
mov eax, dword [ebp - 0x29c]
or ebx, ecx
mov ecx, dword [ebp - 0x2bc]
shrd eax, ecx, 0xe
xor ebx, eax
shr ecx, 0xe
mov eax, dword [ebp - 0x29c]
xor edi, ecx
mov ecx, dword [ebp - 0x2bc]
shld ecx, eax, 0x1b
shl eax, 0x1b
xor esi, ecx
mov ecx, dword [ebp - 0x2c4]
xor edx, eax
xor ecx, dword [ebp - 0x2a0]
and ecx, dword [ebp - 0x29c]
xor ecx, dword [ebp - 0x2c4]
mov eax, dword [ebp - 0x2c8]
xor eax, dword [ebp - 0x2c0]
and eax, dword [ebp - 0x2bc]
xor eax, dword [ebp - 0x2c8]
shld esi, edx, 0x17
shl edx, 0x17
or edi, esi
or ebx, edx
add ebx, ecx
mov ecx, dword [ebp - 0x2a4]
adc edi, eax
mov eax, dword [ebp - 0x2cc]
add ebx, dword [eax + 0x4b1bb0]
adc edi, dword [eax + 0x4b1bb4]
add ebx, dword [ebp + eax - 0x250]
adc edi, dword [ebp + eax - 0x24c]
add ecx, ebx
mov eax, dword [ebp - 0x2a8]
adc eax, edi
mov dword [ebp - 0x2a4], ecx
add dword [ebp - 0x298], ecx
mov ecx, dword [ebp - 0x2ac]
mov esi, ecx
adc dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x28c]
mov edx, eax
shld esi, edx, 5
shl edx, 5
xor edx, eax
xor esi, ecx
mov ebx, eax
xor edi, edi
mov eax, ecx
and ebx, 0x1f
shld edi, ebx, 0x19
shr eax, 7
shl ebx, 0x19
xor edi, 0
or ebx, eax
mov eax, ecx
shr eax, 2
mov ecx, edx
xor ebx, eax
and ecx, 0x7e0
xor eax, eax
and edx, 0xfffff800
shld eax, ecx, 0x19
shl ecx, 0x19
or edi, eax
mov eax, dword [ebp - 0x28c]
or ebx, ecx
mov ecx, dword [ebp - 0x2ac]
shrd eax, ecx, 0x1c
shr ecx, 0x1c
xor ebx, eax
mov eax, dword [ebp - 0x28c]
xor edi, ecx
mov ecx, dword [ebp - 0x2ac]
shld ecx, eax, 0xb
xor esi, ecx
shl eax, 0xb
mov ecx, dword [ebp - 0x290]
xor edx, eax
mov eax, dword [ebp - 0x2b0]
shld esi, edx, 0x19
shl edx, 0x19
or edi, esi
or ebx, edx
mov esi, ecx
or esi, dword [ebp - 0x28c]
mov edx, eax
or edx, dword [ebp - 0x2ac]
and ecx, dword [ebp - 0x28c]
and eax, dword [ebp - 0x2ac]
and esi, dword [ebp - 0x294]
and edx, dword [ebp - 0x2b4]
or esi, ecx
mov ecx, dword [ebp - 0x2cc]
or edx, eax
mov eax, dword [ebp - 0x2a8]
add ebx, esi
adc edi, edx
mov edx, dword [ebp - 0x2a4]
add edx, ebx
mov dword [ebp - 0x2a4], edx
adc eax, edi
add ecx, 0x40
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x2cc], ecx
cmp ecx, 0x280
jb 0x42a5e2
mov ecx, dword [ebp - 0x2e0]
add ecx, edx
mov edx, dword [ebp - 0x2e4]
pop edi
adc edx, eax
mov eax, dword [ebp - 0x2e8]
pop esi
pop ebx
mov dword [eax + 0x80], ecx
mov ecx, dword [ebp - 0x2ec]
add ecx, dword [ebp - 0x28c]
mov dword [eax + 0x84], edx
mov edx, dword [ebp - 0x2f0]
adc edx, dword [ebp - 0x2ac]
mov dword [eax + 0x88], ecx
mov ecx, dword [ebp - 0x2f4]
add ecx, dword [ebp - 0x290]
mov dword [eax + 0x8c], edx
mov edx, dword [ebp - 0x2f8]
adc edx, dword [ebp - 0x2b0]
mov dword [eax + 0x90], ecx
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [ebp - 0x294]
mov dword [eax + 0x94], edx
mov edx, dword [ebp - 0x300]
adc edx, dword [ebp - 0x2b4]
mov dword [eax + 0x98], ecx
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x298]
mov dword [eax + 0x9c], edx
mov edx, dword [ebp - 0x308]
adc edx, dword [ebp - 0x2b8]
mov dword [eax + 0xa0], ecx
mov ecx, dword [ebp - 0x30c]
add ecx, dword [ebp - 0x29c]
mov dword [eax + 0xa4], edx
mov edx, dword [ebp - 0x310]
adc edx, dword [ebp - 0x2bc]
mov dword [eax + 0xa8], ecx
mov ecx, dword [ebp - 0x314]
add ecx, dword [ebp - 0x2a0]
mov dword [eax + 0xac], edx
mov edx, dword [ebp - 0x318]
adc edx, dword [ebp - 0x2c0]
mov dword [eax + 0xb0], ecx
mov ecx, dword [ebp - 0x31c]
add ecx, dword [ebp - 0x2c4]
mov dword [eax + 0xb4], edx
mov edx, dword [ebp - 0x320]
adc edx, dword [ebp - 0x2c8]
mov dword [eax + 0xb8], ecx
mov ecx, dword [ebp - 4]
xor ecx, ebp
mov dword [eax + 0xbc], edx
call fcn.00475c80
leave
ret