Function at 0x418630
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2e8
mov eax, dword [0x4745fc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, 0x20
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
lea edi, [ebp - 0x284]
mov dword [ebp - 0x2e4], eax
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x214]
mov dword [ebp - 0x2b8], 0x40
nop
mov ebx, dword [eax - 0x64]
mov ecx, ebx
mov esi, dword [eax - 0x68]
mov edx, esi
shr ecx, 8
shl edx, 0x18
or edx, ecx
mov edi, dword [eax + 4]
mov dword [ebp - 0x2b4], edx
mov ecx, ebx
shr ecx, 7
mov edx, esi
shl edx, 0x19
or edx, ecx
mov dword [ebp - 0x288], ebx
xor dword [ebp - 0x2b4], edx
mov ecx, ebx
mov ebx, dword [ebp - 0x2b4]
mov edx, esi
shr ecx, 1
lea esi, [edi*8]
shl edx, 0x1f
or edx, ecx
mov dword [ebp - 0x298], edi
mov ecx, dword [eax]
xor ebx, edx
shr ecx, 0x1d
mov edx, edi
or esi, ecx
shr edx, 6
mov ecx, dword [eax]
shl ecx, 0x1a
or edx, ecx
mov dword [ebp - 0x2b4], ebx
mov ecx, dword [eax]
xor esi, edx
shl ecx, 0xd
mov edx, edi
shr edx, 0x13
or edx, ecx
mov edi, dword [eax - 0x24]
mov ecx, dword [ebp - 0x288]
xor esi, edx
mov edx, dword [eax - 0x68]
add esi, ebx
shl dword [ebp - 0x288], 0x18
add edi, esi
shl ecx, 0x1f
shr edx, 1
or edx, ecx
add edi, dword [eax - 0x6c]
mov ecx, dword [eax - 0x68]
shr ecx, 8
or ecx, dword [ebp - 0x288]
xor edx, ecx
mov dword [eax + 0x14], edi
mov ecx, dword [eax - 0x68]
shr ecx, 7
xor edx, ecx
mov ecx, dword [eax]
shr ecx, 0x13
mov dword [ebp - 0x288], edx
mov edx, dword [ebp - 0x298]
shr dword [ebp - 0x298], 0x1d
shl edx, 0xd
or edx, ecx
mov ecx, dword [eax]
shl ecx, 3
or dword [ebp - 0x298], ecx
xor edx, dword [ebp - 0x298]
mov ecx, dword [eax]
shr ecx, 6
xor edx, ecx
add dword [ebp - 0x288], edx
cmp esi, ebx
sbb ecx, ecx
neg ecx
add dword [ebp - 0x288], ecx
cmp edi, dword [eax - 0x6c]
sbb ecx, ecx
neg ecx
mov edx, dword [eax - 0x24]
lea eax, [eax + 8]
mov ebx, dword [ebp - 0x288]
add ebx, ecx
lea ecx, [esi + edx]
cmp ecx, edx
sbb ecx, ecx
neg ecx
add ebx, ecx
add ebx, dword [eax - 0x78]
add ebx, dword [eax - 0x30]
sub dword [ebp - 0x2b8], 1
mov dword [eax + 8], ebx
jne 0x418670
mov eax, dword [ebp - 0x2e4]
xor edi, edi
mov dword [ebp - 0x2c8], edi
mov ecx, dword [eax]
mov edx, dword [eax + 0x1c]
mov esi, dword [eax + 0x24]
mov ebx, dword [eax + 0x38]
mov dword [ebp - 0x290], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2c0], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x2a4], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x2d4], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x2ac], ecx
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x2b8], ecx
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x294], ecx
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x2b4], edx
mov edx, dword [eax + 0x30]
mov dword [ebp - 0x28c], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x2a0], ecx
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x29c], edx
mov edx, dword [eax + 0x34]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x2bc], esi
mov dword [ebp - 0x288], ecx
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x2b0], ebx
mov dword [ebp - 0x2c4], eax
jmp 0x418854
mov esi, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x288]
mov edx, dword [ebp - 0x298]
and ecx, esi
mov ebx, esi
not ebx
mov eax, esi
shl eax, 0x17
and ebx, edx
xor ebx, ecx
mov ecx, dword [ebp - 0x28c]
mov edx, ecx
mov dword [ebp - 0x2d8], ebx
shl ecx, 0xe
shr edx, 9
or edx, eax
mov eax, esi
shr eax, 0x12
or ecx, eax
mov eax, esi
xor edx, ecx
shr eax, 0xe
mov ecx, dword [ebp - 0x28c]
shl ecx, 0x12
or ecx, eax
mov eax, dword [ebp - 0x2c4]
xor edx, ecx
mov ecx, dword [ebp - 0x28c]
add edx, ebx
shr ecx, 0xe
mov ebx, dword [edi + 0x466f2c]
mov edi, dword [ebp + edi - 0x280]
add ebx, edx
lea esi, [edi + ebx]
add eax, esi
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x2bc]
shl eax, 0x12
or ecx, eax
mov eax, dword [ebp - 0x2bc]
shl eax, 0xe
mov dword [ebp - 0x2a8], ecx
mov ecx, dword [ebp - 0x28c]
shr ecx, 0x12
or ecx, eax
mov eax, dword [ebp - 0x2bc]
xor dword [ebp - 0x2a8], ecx
mov ecx, dword [ebp - 0x28c]
shr eax, 9
shl ecx, 0x17
or ecx, eax
mov eax, dword [ebp - 0x2a0]
xor dword [ebp - 0x2a8], ecx
and eax, dword [ebp - 0x28c]
mov ecx, dword [ebp - 0x28c]
not ecx
and ecx, dword [ebp - 0x29c]
xor ecx, eax
add dword [ebp - 0x2a8], ecx
cmp edx, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2a8]
sbb eax, eax
mov edx, dword [ebp - 0x2dc]
neg eax
add ecx, eax
cmp esi, edi
mov esi, dword [ebp - 0x2c8]
sbb eax, eax
neg eax
cmp ebx, dword [esi + 0x466f2c]
mov ebx, dword [ebp - 0x290]
lea edi, [eax + ecx]
sbb eax, eax
neg eax
add edi, eax
cmp edx, dword [ebp - 0x2c4]
sbb eax, eax
neg eax
add edi, eax
add edi, dword [esi + 0x466f28]
add edi, dword [ebp + esi - 0x284]
add edi, dword [ebp - 0x2b0]
mov esi, dword [ebp - 0x2c0]
shr ebx, 7
mov eax, esi
mov ecx, esi
shl eax, 0x19
or ebx, eax
shl ecx, 0x1e
mov eax, dword [ebp - 0x290]
shr eax, 2
or ecx, eax
mov eax, dword [ebp - 0x290]
shl eax, 4
xor ebx, ecx
mov ecx, esi
shr ecx, 0x1c
or ecx, eax
mov eax, dword [ebp - 0x2a4]
and eax, dword [ebp - 0x290]
xor ebx, ecx
mov ecx, dword [ebp - 0x2d4]
and ecx, esi
mov dword [ebp - 0x2a8], eax
xor esi, dword [ebp - 0x2d4]
and esi, dword [ebp - 0x2b8]
xor esi, ecx
mov dword [ebp - 0x2e0], ecx
mov ecx, dword [ebp - 0x2b4]
add esi, ebx
lea eax, [ecx + edx]
cmp eax, ecx
mov dword [ebp - 0x2b0], eax
mov ecx, dword [ebp - 0x290]
sbb eax, eax
neg eax
add eax, edi
add eax, dword [ebp - 0x294]
mov dword [ebp - 0x2c4], eax
lea eax, [edx + esi]
mov dword [ebp - 0x294], eax
mov edx, ecx
mov eax, dword [ebp - 0x2c0]
shr eax, 7
shl edx, 0x19
or edx, eax
shl ecx, 0x1e
mov eax, dword [ebp - 0x2c0]
shr eax, 2
or ecx, eax
mov eax, dword [ebp - 0x2c0]
xor edx, ecx
shl eax, 4
mov ecx, dword [ebp - 0x290]
shr ecx, 0x1c
or ecx, eax
mov eax, dword [ebp - 0x2a4]
xor eax, dword [ebp - 0x290]
xor edx, ecx
and eax, dword [ebp - 0x2ac]
xor eax, dword [ebp - 0x2a8]
add edx, eax
mov eax, dword [ebp - 0x2dc]
lea ecx, [eax + esi]
cmp ecx, eax
sbb ecx, ecx
neg ecx
add ecx, edi
mov edi, dword [ebp - 0x288]
cmp esi, ebx
mov esi, dword [ebp - 0x2b0]
mov ebx, dword [ebp - 0x2c4]
sbb eax, eax
add ecx, edx
mov edx, dword [ebp - 0x2a0]
neg eax
add eax, ecx
mov ecx, ebx
mov dword [ebp - 0x2b4], eax
not ecx
mov eax, esi
and edx, ecx
not eax
and edi, eax
and esi, dword [ebp - 0x2bc]
xor edi, esi
mov eax, ebx
and eax, dword [ebp - 0x28c]
mov esi, ebx
xor edx, eax
shl esi, 0x12
mov dword [ebp - 0x2d8], edx
mov ecx, ebx
mov edx, dword [ebp - 0x2b0]
mov eax, edx
shr eax, 0xe
or esi, eax
shr ecx, 9
mov eax, edx
shl eax, 0x17
or ecx, eax
mov eax, edx
shr eax, 0x12
xor esi, ecx
mov ecx, ebx
mov edx, ebx
shl ecx, 0xe
or ecx, eax
shr edx, 0xe
mov eax, dword [ebp - 0x2b0]
xor esi, ecx
shl eax, 0x12
mov ecx, ebx
or edx, eax
shr ecx, 0x12
mov eax, dword [ebp - 0x2b0]
add esi, edi
shl eax, 0xe
or ecx, eax
mov eax, dword [ebp - 0x2b0]
shr eax, 9
xor edx, ecx
mov ecx, ebx
shl ecx, 0x17
or ecx, eax
mov eax, dword [ebp - 0x2c8]
xor edx, ecx
cmp esi, edi
sbb ebx, ebx
add edx, dword [ebp - 0x2d8]
neg ebx
add ebx, edx
mov edx, dword [eax + 0x466f34]
mov eax, dword [ebp + eax - 0x278]
lea ecx, [edx + esi]
lea esi, [eax + ecx]
cmp esi, eax
sbb edi, edi
neg edi
cmp ecx, edx
mov ecx, dword [ebp - 0x298]
sbb eax, eax
neg eax
add edi, eax
mov eax, dword [ebp - 0x2c8]
add edi, dword [ebp + eax - 0x27c]
add edi, dword [eax + 0x466f30]
lea eax, [ecx + esi]
mov esi, dword [ebp - 0x2b4]
add edi, ebx
cmp eax, ecx
mov dword [ebp - 0x2d8], eax
mov ecx, dword [ebp - 0x294]
mov ebx, ecx
sbb eax, eax
shr ebx, 0x1c
neg eax
add eax, dword [ebp - 0x29c]
add eax, edi
mov edi, ecx
mov dword [ebp - 0x2dc], eax
mov eax, esi
shl eax, 4
or ebx, eax
shl edi, 4
mov eax, esi
shr eax, 0x1c
mov edx, ecx
or edi, eax
shl edx, 0x1e
mov eax, esi
mov ecx, esi
shr eax, 2
or edx, eax
shl ecx, 0x1e
mov eax, dword [ebp - 0x294]
xor ebx, edx
shr eax, 2
mov edx, esi
or ecx, eax
shr edx, 7
mov eax, dword [ebp - 0x294]
xor edi, ecx
shl eax, 0x19
mov ecx, esi
or edx, eax
shl ecx, 0x19
mov eax, dword [ebp - 0x294]
xor ebx, edx
shr eax, 7
or ecx, eax
mov eax, dword [ebp - 0x2c0]
and eax, dword [ebp - 0x294]
xor edi, ecx
mov ecx, dword [ebp - 0x2d4]
mov edx, eax
and ecx, dword [ebp - 0x294]
mov dword [ebp - 0x2e8], eax
xor edx, ecx
xor edx, dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x290]
and eax, esi
mov esi, eax
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2a4]
and eax, dword [ebp - 0x2b4]
xor esi, eax
lea eax, [ebx + edx]
xor esi, dword [ebp - 0x2a8]
cmp eax, ebx
mov edx, dword [ebp - 0x2d8]
sbb ecx, ecx
neg ecx
add ecx, edi
add ecx, esi
mov esi, dword [ebp - 0x2b8]
lea ebx, [esi + edx]
cmp ebx, esi
mov dword [ebp - 0x29c], ebx
sbb edi, edi
add eax, edx
neg edi
mov dword [ebp - 0x2b8], eax
add edi, dword [ebp - 0x2ac]
add edi, dword [ebp - 0x2dc]
cmp eax, edx
mov ebx, edi
mov dword [ebp - 0x298], edi
mov esi, dword [ebp - 0x298]
sbb eax, eax
neg eax
shl ebx, 0x12
add eax, dword [ebp - 0x2dc]
mov edx, esi
add eax, ecx
shr edi, 0xe
mov ecx, dword [ebp - 0x29c]
mov dword [ebp - 0x2ac], eax
mov eax, ecx
shr eax, 0xe
or ebx, eax
shl edx, 0xe
mov eax, ecx
shl eax, 0x12
or edi, eax
mov eax, ecx
shr eax, 0x12
or edx, eax
mov ecx, esi
mov eax, dword [ebp - 0x29c]
xor ebx, edx
shl eax, 0xe
mov edx, esi
shr ecx, 0x12
or ecx, eax
shr edx, 9
mov eax, dword [ebp - 0x29c]
xor edi, ecx
shl eax, 0x17
mov ecx, esi
or edx, eax
shl ecx, 0x17
mov eax, dword [ebp - 0x29c]
xor ebx, edx
mov edx, dword [ebp - 0x2bc]
shr eax, 9
or ecx, eax
mov eax, dword [ebp - 0x29c]
xor edi, ecx
not eax
and edx, eax
mov ecx, esi
mov esi, dword [ebp - 0x28c]
not ecx
mov eax, dword [ebp - 0x2c4]
and esi, ecx
and eax, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x2b0]
xor esi, eax
and ecx, dword [ebp - 0x29c]
xor edx, ecx
lea ecx, [ebx + edx]
mov ebx, dword [ebp - 0x2c8]
cmp ecx, edx
sbb edx, edx
mov eax, dword [ebx + 0x466f3c]
neg edx
add ecx, eax
add edx, edi
add edx, esi
cmp ecx, eax
mov eax, dword [ebp + ebx - 0x270]
sbb esi, esi
add ecx, eax
neg esi
add esi, dword [ebx + 0x466f38]
add esi, edx
cmp ecx, eax
sbb eax, eax
add ecx, dword [ebp - 0x288]
neg eax
mov dword [ebp - 0x2e0], ecx
add eax, dword [ebp + ebx - 0x274]
add eax, esi
cmp ecx, dword [ebp - 0x288]
mov esi, dword [ebp - 0x2b8]
sbb ecx, ecx
neg ecx
add ecx, dword [ebp - 0x2a0]
add ecx, eax
mov eax, esi
mov dword [ebp - 0x2d8], ecx
mov ecx, dword [ebp - 0x2ac]
mov ebx, ecx
shr eax, 0x1c
mov edi, ecx
shl ebx, 4
mov edx, ecx
or ebx, eax
shr edi, 0x1c
mov eax, esi
shr edx, 2
shl eax, 4
or edi, eax
mov eax, esi
shl eax, 0x1e
or edx, eax
shl ecx, 0x1e
xor ebx, edx
mov eax, esi
shr eax, 2
or ecx, eax
mov eax, esi
xor edi, ecx
shl eax, 0x19
mov ecx, dword [ebp - 0x2ac]
mov edx, ecx
shr edx, 7
or edx, eax
shl ecx, 0x19
xor ebx, edx
mov eax, esi
shr eax, 7
or ecx, eax
mov eax, dword [ebp - 0x294]
and eax, esi
xor edi, ecx
mov ecx, dword [ebp - 0x2c0]
mov edx, eax
and ecx, dword [ebp - 0x2b8]
mov dword [ebp - 0x2dc], eax
xor edx, ecx
xor edx, dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x2b4]
and eax, dword [ebp - 0x2ac]
mov esi, eax
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x290]
and eax, dword [ebp - 0x2ac]
xor esi, eax
lea eax, [ebx + edx]
xor esi, dword [ebp - 0x2cc]
cmp eax, ebx
mov edx, dword [ebp - 0x2e0]
sbb ecx, ecx
neg ecx
add ecx, edi
add ecx, esi
mov esi, dword [ebp - 0x2d4]
lea ebx, [esi + edx]
cmp ebx, esi
mov dword [ebp - 0x2a0], ebx
sbb edi, edi
add eax, edx
neg edi
mov dword [ebp - 0x2a8], eax
add edi, dword [ebp - 0x2a4]
add edi, dword [ebp - 0x2d8]
cmp eax, edx
mov ebx, edi
mov dword [ebp - 0x288], edi
sbb eax, eax
mov esi, dword [ebp - 0x288]
neg eax
shl ebx, 0x12
add eax, dword [ebp - 0x2d8]
mov edx, esi
add eax, ecx
shr edi, 0xe
mov ecx, dword [ebp - 0x2a0]
mov dword [ebp - 0x2a4], eax
mov eax, ecx
shr eax, 0xe
or ebx, eax
shl edx, 0xe
mov eax, ecx
shl eax, 0x12
or edi, eax
mov eax, ecx
shr eax, 0x12
mov ecx, esi
or edx, eax
shr ecx, 0x12
mov eax, dword [ebp - 0x2a0]
xor ebx, edx
shl eax, 0xe
mov edx, esi
or ecx, eax
xor edi, ecx
mov eax, dword [ebp - 0x2a0]
mov ecx, esi
shl eax, 0x17
shr edx, 9
or edx, eax
shl ecx, 0x17
mov eax, dword [ebp - 0x2a0]
xor ebx, edx
shr eax, 9
or ecx, eax
mov edx, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0x2a0]
xor edi, ecx
not eax
mov ecx, esi
mov esi, dword [ebp - 0x2c4]
and edx, eax
mov eax, dword [ebp - 0x298]
not ecx
and eax, dword [ebp - 0x288]
and esi, ecx
mov ecx, dword [ebp - 0x29c]
xor esi, eax
and ecx, dword [ebp - 0x2a0]
xor edx, ecx
lea ecx, [ebx + edx]
mov ebx, dword [ebp - 0x2c8]
cmp ecx, edx
sbb edx, edx
mov eax, dword [ebx + 0x466f44]
neg edx
add ecx, eax
add edx, edi
add edx, esi
cmp ecx, eax
mov eax, dword [ebp + ebx - 0x268]
sbb esi, esi
add ecx, eax
neg esi
add esi, dword [ebx + 0x466f40]
add esi, edx
mov edx, dword [ebp - 0x2bc]
cmp ecx, eax
sbb eax, eax
neg eax
add eax, dword [ebp + ebx - 0x26c]
lea ebx, [edx + ecx]
add eax, esi
mov esi, dword [ebp - 0x2a4]
cmp ebx, edx
sbb ecx, ecx
shr esi, 0x1c
neg ecx
add ecx, dword [ebp - 0x28c]
add ecx, eax
mov eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x2cc], ecx
mov ecx, dword [ebp - 0x2a8]
mov edi, ecx
shl eax, 4
mov edx, ecx
shr edi, 0x1c
or edi, eax
shl edx, 0x1e
mov eax, ecx
mov ecx, dword [ebp - 0x2a4]
shl eax, 4
or esi, eax
mov eax, ecx
shr eax, 2
or edx, eax
shl ecx, 0x1e
mov eax, dword [ebp - 0x2a8]
xor edi, edx
shr eax, 2
or ecx, eax
mov eax, dword [ebp - 0x2a8]
xor esi, ecx
mov ecx, dword [ebp - 0x2a4]
mov edx, ecx
shr edx, 7
shl eax, 0x19
or edx, eax
shl ecx, 0x19
mov eax, dword [ebp - 0x2a8]
xor edi, edx
shr eax, 7
or ecx, eax
mov eax, dword [ebp - 0x294]
xor eax, dword [ebp - 0x2b8]
xor esi, ecx
and eax, dword [ebp - 0x2a8]
xor eax, dword [ebp - 0x2dc]
mov ecx, dword [ebp - 0x2b4]
add eax, edi
xor ecx, dword [ebp - 0x2ac]
and ecx, dword [ebp - 0x2a4]
xor ecx, dword [ebp - 0x2d0]
cmp eax, edi
sbb edx, edx
neg edx
add edx, esi
add edx, ecx
mov ecx, dword [ebp - 0x2c0]
lea edi, [ecx + ebx]
cmp edi, ecx
mov dword [ebp - 0x28c], edi
sbb esi, esi
add eax, ebx
mov dword [ebp - 0x2c0], eax
neg esi
add esi, dword [ebp - 0x290]
add esi, dword [ebp - 0x2cc]
cmp eax, ebx
mov ebx, esi
mov dword [ebp - 0x2bc], esi
sbb eax, eax
mov ecx, esi
neg eax
shl ebx, 0x12
add eax, dword [ebp - 0x2cc]
add eax, edx
shr ecx, 0x12
mov dword [ebp - 0x290], eax
mov edx, esi
mov eax, edi
shl edx, 0xe
shr eax, 0xe
mov edi, esi
or ebx, eax
shr edi, 0xe
mov eax, dword [ebp - 0x28c]
shl eax, 0x12
or edi, eax
mov eax, dword [ebp - 0x28c]
shr eax, 0x12
or edx, eax
mov eax, dword [ebp - 0x28c]
shl eax, 0xe
xor ebx, edx
or ecx, eax
mov edx, esi
mov eax, dword [ebp - 0x28c]
xor edi, ecx
shl eax, 0x17
mov ecx, esi
shr edx, 9
or edx, eax
shl ecx, 0x17
mov eax, dword [ebp - 0x28c]
xor ebx, edx
mov edx, dword [ebp - 0x29c]
shr eax, 9
or ecx, eax
mov eax, dword [ebp - 0x28c]
xor edi, ecx
not eax
mov ecx, esi
and edx, eax
mov esi, dword [ebp - 0x298]
not ecx
and esi, ecx
mov ecx, dword [ebp - 0x2a0]
and ecx, dword [ebp - 0x28c]
xor edx, ecx
mov eax, dword [ebp - 0x288]
and eax, dword [ebp - 0x2bc]
xor esi, eax
lea ecx, [ebx + edx]
mov ebx, dword [ebp - 0x2c8]
cmp ecx, edx
sbb edx, edx
mov eax, dword [ebx + 0x466f4c]
neg edx
add ecx, eax
add edx, edi
add edx, esi
cmp ecx, eax
mov eax, dword [ebp + ebx - 0x260]
sbb esi, esi
add ecx, eax
neg esi
add esi, dword [ebx + 0x466f48]
add esi, edx
cmp ecx, eax
sbb eax, eax
add ecx, dword [ebp - 0x2b0]
neg eax
mov dword [ebp - 0x2d0], ecx
add eax, dword [ebp + ebx - 0x264]
add eax, esi
cmp ecx, dword [ebp - 0x2b0]
mov esi, dword [ebp - 0x2c0]
mov ebx, esi
sbb ecx, ecx
mov edx, esi
neg ecx
shr ebx, 0x1c
add ecx, dword [ebp - 0x2c4]
add ecx, eax
shl edx, 0x1e
mov dword [ebp - 0x2cc], ecx
mov ecx, dword [ebp - 0x290]
mov eax, ecx
shl eax, 4
mov edi, ecx
or ebx, eax
shr edi, 0x1c
mov eax, esi
shl eax, 4
or edi, eax
mov eax, ecx
shr eax, 2
or edx, eax
shl ecx, 0x1e
mov eax, esi
xor ebx, edx
shr eax, 2
or ecx, eax
mov eax, esi
xor edi, ecx
shl eax, 0x19
mov ecx, dword [ebp - 0x290]
mov edx, ecx
shr edx, 7
or edx, eax
shl ecx, 0x19
mov eax, esi
xor ebx, edx
shr eax, 7
or ecx, eax
mov eax, dword [ebp - 0x2a4]
and eax, dword [ebp - 0x2ac]
xor edi, ecx
mov ecx, dword [ebp - 0x2a8]
mov edx, ecx
xor edx, dword [ebp - 0x2b8]
and ecx, dword [ebp - 0x2b8]
and edx, esi
mov esi, dword [ebp - 0x2a4]
xor esi, dword [ebp - 0x2ac]
and esi, dword [ebp - 0x290]
xor edx, ecx
xor esi, eax
lea eax, [ebx + edx]
cmp eax, ebx
mov edx, dword [ebp - 0x2d0]
mov ebx, dword [ebp - 0x294]
sbb ecx, ecx
neg ecx
add ecx, edi
add ecx, esi
lea esi, [ebx + edx]
cmp esi, ebx
mov dword [ebp - 0x2c4], esi
sbb edi, edi
add eax, edx
neg edi
add edi, dword [ebp - 0x2b4]
add edi, dword [ebp - 0x2cc]
cmp eax, edx
mov dword [ebp - 0x2b4], eax
mov ebx, edi
sbb eax, eax
mov dword [ebp - 0x2b0], edi
neg eax
shl ebx, 0x12
add eax, dword [ebp - 0x2cc]
add eax, ecx
shr edi, 0xe
mov ecx, dword [ebp - 0x2b0]
mov edx, ecx
mov dword [ebp - 0x294], eax
mov eax, esi
shr eax, 0xe
or ebx, eax
shl edx, 0xe
mov eax, esi
shr ecx, 0x12
shl eax, 0x12
or edi, eax
mov eax, esi
shr eax, 0x12
or edx, eax
mov eax, esi
shl eax, 0xe
xor ebx, edx
or ecx, eax
mov eax, esi
xor edi, ecx
shl eax, 0x17
mov ecx, dword [ebp - 0x2b0]
mov edx, ecx
shr edx, 9
or edx, eax
shl ecx, 0x17
mov eax, esi
xor ebx, edx
mov edx, dword [ebp - 0x2a0]
shr eax, 9
or ecx, eax
mov eax, esi
mov esi, dword [ebp - 0x288]
xor edi, ecx
mov ecx, dword [ebp - 0x2b0]
not eax
not ecx
and edx, eax
mov eax, dword [ebp - 0x2bc]
and esi, ecx
mov ecx, dword [ebp - 0x28c]
and ecx, dword [ebp - 0x2c4]
and eax, dword [ebp - 0x2b0]
xor edx, ecx
xor esi, eax
lea ecx, [ebx + edx]
mov ebx, dword [ebp - 0x2c8]
cmp ecx, edx
sbb edx, edx
mov eax, dword [ebx + 0x466f54]
neg edx
add edx, edi
add edx, esi
add ecx, eax
cmp ecx, eax
mov eax, dword [ebp + ebx - 0x258]
sbb esi, esi
add ecx, eax
neg esi
add esi, dword [ebx + 0x466f50]
add esi, edx
cmp ecx, eax
sbb eax, eax
add ecx, dword [ebp - 0x29c]
neg eax
mov dword [ebp - 0x2d0], ecx
add eax, dword [ebp + ebx - 0x25c]
add eax, esi
cmp ecx, dword [ebp - 0x29c]
mov esi, dword [ebp - 0x2b4]
mov ebx, esi
sbb ecx, ecx
mov edx, esi
neg ecx
shr ebx, 0x1c
add ecx, dword [ebp - 0x298]
add ecx, eax
shl edx, 0x1e
mov dword [ebp - 0x2cc], ecx
mov ecx, dword [ebp - 0x294]
mov eax, ecx
shl eax, 4
mov edi, ecx
or ebx, eax
shr edi, 0x1c
mov eax, esi
shl eax, 4
or edi, eax
mov eax, ecx
shr eax, 2
or edx, eax
shl ecx, 0x1e
mov eax, esi
xor ebx, edx
shr eax, 2
or ecx, eax
mov eax, esi
xor edi, ecx
shl eax, 0x19
mov ecx, dword [ebp - 0x294]
mov edx, ecx
shr edx, 7
or edx, eax
shl ecx, 0x19
xor ebx, edx
mov eax, esi
mov edx, dword [ebp - 0x2a8]
xor edx, dword [ebp - 0x2c0]
shr eax, 7
and edx, esi
mov esi, dword [ebp - 0x2a4]
or ecx, eax
xor esi, dword [ebp - 0x290]
xor edi, ecx
mov ecx, dword [ebp - 0x2a8]
and ecx, dword [ebp - 0x2c0]
and esi, dword [ebp - 0x294]
xor edx, ecx
mov eax, dword [ebp - 0x2a4]
and eax, dword [ebp - 0x290]
xor esi, eax
lea eax, [ebx + edx]
mov edx, dword [ebp - 0x2d0]
cmp eax, ebx
mov ebx, dword [ebp - 0x2b8]
sbb ecx, ecx
neg ecx
add ecx, edi
add ecx, esi
lea esi, [ebx + edx]
cmp esi, ebx
mov dword [ebp - 0x298], esi
sbb edi, edi
neg edi
add edi, dword [ebp - 0x2ac]
add eax, edx
add edi, dword [ebp - 0x2cc]
cmp eax, edx
mov dword [ebp - 0x2b8], eax
mov ebx, edi
mov dword [ebp - 0x29c], edi
sbb eax, eax
shl ebx, 0x12
neg eax
shr edi, 0xe
add eax, dword [ebp - 0x2cc]
add eax, ecx
mov ecx, dword [ebp - 0x29c]
mov dword [ebp - 0x2ac], eax
mov edx, ecx
mov eax, esi
shl edx, 0xe
shr eax, 0xe
or ebx, eax
shr ecx, 0x12
mov eax, esi
shl eax, 0x12
or edi, eax
mov eax, esi
shr eax, 0x12
or edx, eax
mov eax, esi
shl eax, 0xe
xor ebx, edx
or ecx, eax
mov eax, esi
xor edi, ecx
shl eax, 0x17
mov ecx, dword [ebp - 0x29c]
mov edx, ecx
shr edx, 9
or edx, eax
shl ecx, 0x17
mov eax, esi
xor ebx, edx
mov edx, dword [ebp - 0x28c]
shr eax, 9
or ecx, eax
mov eax, esi
mov esi, dword [ebp - 0x2bc]
xor edi, ecx
mov ecx, dword [ebp - 0x29c]
not eax
and edx, eax
not ecx
mov eax, dword [ebp - 0x2b0]
and esi, ecx
and eax, dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x2c4]
xor esi, eax
and ecx, dword [ebp - 0x298]
xor edx, ecx
lea ecx, [ebx + edx]
mov ebx, dword [ebp - 0x2c8]
cmp ecx, edx
sbb edx, edx
mov eax, dword [ebx + 0x466f5c]
neg edx
add ecx, eax
add edx, edi
add edx, esi
cmp ecx, eax
mov eax, dword [ebp + ebx - 0x250]
sbb esi, esi
add ecx, eax
neg esi
add esi, dword [ebx + 0x466f58]
add esi, edx
cmp ecx, eax
sbb eax, eax
add ecx, dword [ebp - 0x2a0]
neg eax
mov dword [ebp - 0x2d0], ecx
add eax, dword [ebp + ebx - 0x254]
add eax, esi
cmp ecx, dword [ebp - 0x2a0]
sbb ecx, ecx
mov esi, dword [ebp - 0x2b8]
neg ecx
mov ebx, esi
add ecx, dword [ebp - 0x288]
mov edx, esi
add ecx, eax
shr ebx, 0x1c
mov dword [ebp - 0x2cc], ecx
mov ecx, dword [ebp - 0x2ac]
mov eax, ecx
shl eax, 4
mov edi, ecx
or ebx, eax
shr edi, 0x1c
mov eax, esi
shl edx, 0x1e
shl eax, 4
or edi, eax
mov eax, ecx
shr eax, 2
or edx, eax
shl ecx, 0x1e
xor ebx, edx
mov eax, esi
shr eax, 2
or ecx, eax
mov eax, esi
xor edi, ecx
shl eax, 0x19
mov ecx, dword [ebp - 0x2ac]
mov edx, ecx
shr edx, 7
or edx, eax
shl ecx, 0x19
mov eax, esi
xor ebx, edx
shr eax, 7
or ecx, eax
mov eax, dword [ebp - 0x294]
and eax, dword [ebp - 0x290]
xor edi, ecx
mov ecx, dword [ebp - 0x2b4]
mov edx, ecx
xor edx, dword [ebp - 0x2c0]
and ecx, dword [ebp - 0x2c0]
and edx, esi
mov esi, dword [ebp - 0x294]
xor edx, ecx
xor esi, dword [ebp - 0x290]
and esi, dword [ebp - 0x2ac]
xor esi, eax
lea eax, [ebx + edx]
mov edx, dword [ebp - 0x2d0]
cmp eax, ebx
mov ebx, dword [ebp - 0x2a8]
sbb ecx, ecx
neg ecx
add ecx, edi
add ecx, esi
lea esi, [ebx + edx]
cmp esi, ebx
mov dword [ebp - 0x288], esi
sbb edi, edi
add eax, edx
neg edi
mov dword [ebp - 0x2d4], eax
add edi, dword [ebp - 0x2a4]
add edi, dword [ebp - 0x2cc]
cmp eax, edx
mov ebx, edi
mov dword [ebp - 0x2a0], edi
sbb eax, eax
shl ebx, 0x12
neg eax
add eax, dword [ebp - 0x2cc]
add eax, ecx
mov dword [ebp - 0x2a4], eax
mov eax, esi
shr eax, 0xe
or ebx, eax
mov ecx, dword [ebp - 0x2a0]
mov eax, esi
shl eax, 0x12
mov edx, ecx
shr ecx, 0x12
shl edx, 0xe
shr edi, 0xe
or edi, eax
mov eax, esi
shr eax, 0x12
or edx, eax
mov eax, esi
shl eax, 0xe
xor ebx, edx
or ecx, eax
mov eax, esi
xor edi, ecx
shl eax, 0x17
mov ecx, dword [ebp - 0x2a0]
mov edx, ecx
shl ecx, 0x17
shr edx, 9
or edx, eax
mov eax, esi
shr eax, 9
xor ebx, edx
or ecx, eax
mov edx, dword [ebp - 0x2c4]
xor edi, ecx
mov eax, esi
mov ecx, dword [ebp - 0x2a0]
not eax
mov esi, dword [ebp - 0x2b0]
and edx, eax
mov eax, dword [ebp - 0x2a0]
not ecx
and eax, dword [ebp - 0x29c]
and esi, ecx
mov ecx, dword [ebp - 0x288]
xor esi, eax
and ecx, dword [ebp - 0x298]
xor edx, ecx
lea ecx, [ebx + edx]
mov ebx, dword [ebp - 0x2c8]
cmp ecx, edx
sbb edx, edx
mov eax, dword [ebx + 0x466f64]
neg edx
add ecx, eax
add edx, edi
add edx, esi
cmp ecx, eax
mov eax, dword [ebp + ebx - 0x248]
sbb esi, esi
add ecx, eax
neg esi
add esi, dword [ebx + 0x466f60]
add esi, edx
cmp ecx, eax
sbb eax, eax
add ecx, dword [ebp - 0x28c]
neg eax
mov dword [ebp - 0x2d0], ecx
add eax, dword [ebp + ebx - 0x24c]
add eax, esi
cmp ecx, dword [ebp - 0x28c]
mov esi, dword [ebp - 0x2d4]
mov ebx, esi
sbb ecx, ecx
shr ebx, 0x1c
neg ecx
add ecx, dword [ebp - 0x2bc]
add ecx, eax
mov dword [ebp - 0x2cc], ecx
mov ecx, dword [ebp - 0x2a4]
mov eax, ecx
shl eax, 4
mov edi, ecx
or ebx, eax
shr edi, 0x1c
mov eax, esi
shl eax, 4
mov edx, esi
or edi, eax
shl edx, 0x1e
mov eax, ecx
shl ecx, 0x1e
shr eax, 2
or edx, eax
mov eax, esi
shr eax, 2
xor ebx, edx
or ecx, eax
mov eax, esi
xor edi, ecx
shl eax, 0x19
mov ecx, dword [ebp - 0x2a4]
mov edx, ecx
shr edx, 7
or edx, eax
shl ecx, 0x19
xor ebx, edx
mov eax, esi
mov edx, dword [ebp - 0x2b4]
xor edx, dword [ebp - 0x2b8]
shr eax, 7
and edx, esi
mov esi, dword [ebp - 0x294]
or ecx, eax
xor esi, dword [ebp - 0x2ac]
xor edi, ecx
and esi, dword [ebp - 0x2a4]
mov ecx, dword [ebp - 0x2b4]
and ecx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x294]
xor ecx, edx
and eax, dword [ebp - 0x2ac]
add ecx, ebx
xor esi, eax
mov eax, dword [ebp - 0x2c0]
cmp ecx, ebx
sbb edx, edx
neg edx
add edx, edi
mov edi, dword [ebp - 0x2c8]
add edx, esi
mov esi, dword [ebp - 0x2d0]
lea ebx, [eax + esi]
cmp ebx, eax
mov dword [ebp - 0x2bc], ebx
lea ebx, [ecx + esi]
sbb eax, eax
mov dword [ebp - 0x2c0], ebx
neg eax
add eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x2cc]
cmp ebx, esi
mov dword [ebp - 0x28c], eax
sbb eax, eax
add edi, 0x40
neg eax
mov dword [ebp - 0x2c8], edi
add eax, dword [ebp - 0x2cc]
add edx, eax
mov dword [ebp - 0x290], edx
cmp edi, 0x280
jl 0x418842
mov ecx, dword [ebp - 0x2e4]
pop edi
pop esi
mov eax, dword [ecx + 4]
add eax, ebx
cmp eax, ebx
mov dword [ecx + 4], eax
pop ebx
sbb eax, eax
neg eax
add eax, edx
add dword [ecx], eax
mov eax, dword [ecx + 0xc]
add eax, dword [ebp - 0x2d4]
cmp eax, dword [ebp - 0x2d4]
mov dword [ecx + 0xc], eax
sbb eax, eax
neg eax
add eax, dword [ebp - 0x2a4]
add dword [ecx + 8], eax
mov eax, dword [ecx + 0x14]
add eax, dword [ebp - 0x2b8]
cmp eax, dword [ebp - 0x2b8]
mov dword [ecx + 0x14], eax
sbb eax, eax
neg eax
add eax, dword [ebp - 0x2ac]
add dword [ecx + 0x10], eax
mov eax, dword [ecx + 0x1c]
add eax, dword [ebp - 0x2b4]
cmp eax, dword [ebp - 0x2b4]
mov dword [ecx + 0x1c], eax
sbb eax, eax
neg eax
add eax, dword [ebp - 0x294]
add dword [ecx + 0x18], eax
mov eax, dword [ecx + 0x24]
add eax, dword [ebp - 0x2bc]
cmp eax, dword [ebp - 0x2bc]
mov dword [ecx + 0x24], eax
sbb eax, eax
neg eax
add eax, dword [ecx + 0x20]
add eax, dword [ebp - 0x28c]
mov dword [ecx + 0x20], eax
mov eax, dword [ecx + 0x2c]
add eax, dword [ebp - 0x288]
cmp eax, dword [ebp - 0x288]
mov dword [ecx + 0x2c], eax
sbb eax, eax
neg eax
add eax, dword [ecx + 0x28]
add eax, dword [ebp - 0x2a0]
mov dword [ecx + 0x28], eax
mov eax, dword [ecx + 0x34]
add eax, dword [ebp - 0x298]
cmp eax, dword [ebp - 0x298]
mov dword [ecx + 0x34], eax
sbb eax, eax
neg eax
add eax, dword [ecx + 0x30]
add eax, dword [ebp - 0x29c]
mov dword [ecx + 0x30], eax
mov eax, dword [ecx + 0x3c]
add eax, dword [ebp - 0x2c4]
cmp eax, dword [ebp - 0x2c4]
mov dword [ecx + 0x3c], eax
sbb eax, eax
neg eax
add eax, dword [ecx + 0x38]
add eax, dword [ebp - 0x2b0]
mov dword [ecx + 0x38], eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041f285
mov esp, ebp
pop ebp
ret