Function at 0x50cf67
Capabilities:
Encode data using xor
Encrypt data using hc-128

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
push ebx
push esi
mov esi, ecx
push edi
lea edi, [ebp - 0x124]
mov dword [ebp - 0x1c], 0x10
lea ebx, [esi + 0x28]
push edi
push ebx
call fcn.0050e8d7
pop ecx
add edi, 4
add ebx, 4
dec dword [ebp - 0x1c]
pop ecx
jne 0x50cf85
lea eax, [ebp - 0x120]
mov dword [ebp - 0x24], 0x30
mov ecx, dword [eax + 0x34]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax]
mov edx, ecx
mov edi, ecx
shr edx, 0x12
shl edi, 0xe
or edx, edi
mov edi, ecx
mov ebx, ecx
add eax, 4
shl edi, 0x19
shr ebx, 7
or edi, ebx
xor edx, edi
shr ecx, 3
xor edx, ecx
mov ecx, dword [ebp - 0x1c]
mov edi, ecx
mov ebx, ecx
shr edi, 0x11
shl ebx, 0xf
or edi, ebx
mov ebx, ecx
shr ebx, 0x13
shl ecx, 0xd
or ebx, ecx
mov ecx, dword [ebp - 0x1c]
xor edi, ebx
shr ecx, 0xa
xor edi, ecx
add edx, edi
add edx, dword [eax + 0x1c]
add edx, dword [eax - 8]
dec dword [ebp - 0x24]
mov dword [eax + 0x38], edx
jne 0x50cfa6
mov eax, dword [esi]
mov edi, dword [esi + 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0x18]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0xc]
push edi
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], eax
call fcn.0050e8aa
xor ebx, dword [ebp - 0x10]
mov ecx, dword [0x5895c8]
push dword [ebp - 0x20]
add ecx, eax
and ebx, edi
xor ebx, dword [ebp - 0x24]
add ebx, ecx
add ebx, dword [ebp - 0x124]
add ebx, dword [ebp - 0x1c]
call fcn.0050e87d
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
or edi, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
add dword [ebp - 0xc], ebx
and edi, dword [ebp - 8]
push dword [ebp - 0xc]
or edi, ecx
mov ecx, ebx
add ecx, eax
add edi, ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x10]
mov edx, dword [0x5895cc]
xor ecx, dword [ebp - 0x14]
add edx, eax
push edi
and ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x10]
add ecx, edx
add ecx, dword [ebp - 0x120]
add ecx, dword [ebp - 0x24]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ebx, edi
mov ecx, edi
or ebx, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
and ebx, dword [ebp - 0x18]
or ebx, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 8], ecx
mov edx, ecx
push dword [ebp - 8]
add edx, eax
add ebx, edx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x14]
mov edx, dword [0x5895d0]
xor ecx, dword [ebp - 0xc]
add edx, eax
push ebx
and ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x14]
add ecx, edx
add ecx, dword [ebp - 0x11c]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, edi
mov edx, edi
or ecx, ebx
and ecx, dword [ebp - 0x20]
and edx, ebx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x18], eax
add ecx, edx
push dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0xc]
mov edx, dword [0x5895d4]
xor ecx, dword [ebp - 8]
add edx, eax
push dword [ebp - 0x10]
and ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0xc]
add ecx, edx
add ecx, dword [ebp - 0x118]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, ebx
mov edx, ebx
or ecx, dword [ebp - 0x10]
and edx, dword [ebp - 0x10]
and ecx, edi
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x20], eax
add ecx, edx
push dword [ebp - 0x20]
mov dword [ebp - 0x14], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 8]
mov edx, dword [0x5895d8]
xor ecx, dword [ebp - 0x18]
add edx, eax
push dword [ebp - 0x14]
and ecx, dword [ebp - 0x20]
xor ecx, dword [ebp - 8]
add ecx, edx
add ecx, dword [ebp - 0x114]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x14]
and edx, dword [ebp - 0x14]
add edi, dword [ebp - 4]
and ecx, ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
push edi
add edx, eax
add ecx, edx
mov dword [ebp - 0xc], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x18]
mov edx, dword [0x5895dc]
xor ecx, dword [ebp - 0x20]
add edx, eax
push dword [ebp - 0xc]
and ecx, edi
xor ecx, dword [ebp - 0x18]
add ecx, edx
add ecx, dword [ebp - 0x110]
add ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
or ecx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x10]
and edx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
add ebx, dword [ebp - 4]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
push ebx
add ecx, edx
mov dword [ebp - 8], ecx
call fcn.0050e8aa
mov edx, dword [0x5895e0]
mov ecx, edi
xor ecx, dword [ebp - 0x20]
add edx, eax
push dword [ebp - 8]
and ecx, ebx
xor ecx, dword [ebp - 0x20]
add ecx, edx
add ecx, dword [ebp - 0x10c]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
or ecx, dword [ebp - 8]
and edx, dword [ebp - 8]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x10], eax
add ecx, edx
push dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
call fcn.0050e8aa
mov edx, dword [0x5895e4]
mov ecx, edi
xor ecx, ebx
add edx, eax
and ecx, dword [ebp - 0x10]
push dword [ebp - 0x18]
xor ecx, edi
add ecx, edx
add ecx, dword [ebp - 0x108]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
or ecx, dword [ebp - 0x18]
and edx, dword [ebp - 0x18]
add esp, 0x40
and ecx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x14], eax
add ecx, edx
push dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
call fcn.0050e8aa
mov edx, dword [0x5895e8]
mov ecx, ebx
xor ecx, dword [ebp - 0x10]
push dword [ebp - 0x20]
add edx, eax
and ecx, dword [ebp - 0x14]
xor ecx, ebx
add ecx, edx
add ecx, dword [ebp - 0x104]
add ecx, edi
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
or edi, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
and edi, dword [ebp - 8]
or edi, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 0xc], ecx
mov edx, ecx
push dword [ebp - 0xc]
add edx, eax
add edi, edx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x10]
mov edx, dword [0x5895ec]
xor ecx, dword [ebp - 0x14]
add edx, eax
push edi
and ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x10]
add ecx, edx
add ecx, dword [ebp - 0x100]
add ecx, ebx
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ebx, edi
mov ecx, edi
or ebx, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
and ebx, dword [ebp - 0x18]
or ebx, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 8], ecx
mov edx, ecx
push dword [ebp - 8]
add edx, eax
add ebx, edx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x14]
mov edx, dword [0x5895f0]
xor ecx, dword [ebp - 0xc]
add edx, eax
push ebx
and ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x14]
add ecx, edx
add ecx, dword [ebp - 0xfc]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, edi
mov edx, edi
or ecx, ebx
and edx, ebx
and ecx, dword [ebp - 0x20]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x18], eax
add ecx, edx
push dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0xc]
mov edx, dword [0x5895f4]
xor ecx, dword [ebp - 8]
add edx, eax
push dword [ebp - 0x10]
and ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0xc]
add ecx, edx
add ecx, dword [ebp - 0xf8]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, ebx
mov edx, ebx
or ecx, dword [ebp - 0x10]
and edx, dword [ebp - 0x10]
and ecx, edi
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
add ecx, edx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 4]
add dword [ebp - 0x20], eax
push dword [ebp - 0x20]
call fcn.0050e8aa
mov ecx, dword [ebp - 8]
mov edx, dword [0x5895f8]
xor ecx, dword [ebp - 0x18]
add edx, eax
push dword [ebp - 0x14]
and ecx, dword [ebp - 0x20]
xor ecx, dword [ebp - 8]
add ecx, edx
add ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x14]
and edx, dword [ebp - 0x14]
add edi, dword [ebp - 4]
and ecx, ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
push edi
add edx, eax
add ecx, edx
mov dword [ebp - 0xc], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x18]
mov edx, dword [0x5895fc]
xor ecx, dword [ebp - 0x20]
add edx, eax
push dword [ebp - 0xc]
and ecx, edi
xor ecx, dword [ebp - 0x18]
add ecx, edx
add ecx, dword [ebp - 0xf0]
add ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
or ecx, dword [ebp - 0xc]
and edx, dword [ebp - 0xc]
add ebx, dword [ebp - 4]
and ecx, dword [ebp - 0x10]
push ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
add ecx, edx
mov dword [ebp - 8], ecx
call fcn.0050e8aa
mov edx, dword [0x589600]
mov ecx, edi
xor ecx, dword [ebp - 0x20]
add edx, eax
push dword [ebp - 8]
and ecx, ebx
xor ecx, dword [ebp - 0x20]
add ecx, edx
add ecx, dword [ebp - 0xec]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
or ecx, dword [ebp - 8]
and edx, dword [ebp - 8]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add ecx, edx
add dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
push dword [ebp - 0x10]
call fcn.0050e8aa
mov edx, dword [0x589604]
mov ecx, edi
xor ecx, ebx
add edx, eax
and ecx, dword [ebp - 0x10]
push dword [ebp - 0x18]
xor ecx, edi
add ecx, edx
add ecx, dword [ebp - 0xe8]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
or ecx, dword [ebp - 0x18]
and edx, dword [ebp - 0x18]
add esp, 0x40
and ecx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x14], eax
add ecx, edx
push dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
call fcn.0050e8aa
mov edx, dword [0x589608]
mov ecx, ebx
xor ecx, dword [ebp - 0x10]
push dword [ebp - 0x20]
add edx, eax
and ecx, dword [ebp - 0x14]
xor ecx, ebx
add ecx, edx
add ecx, dword [ebp - 0xe4]
add ecx, edi
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
or edi, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
and edi, dword [ebp - 8]
or edi, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 0xc], ecx
mov edx, ecx
push dword [ebp - 0xc]
add edx, eax
add edi, edx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x10]
mov edx, dword [0x58960c]
xor ecx, dword [ebp - 0x14]
add edx, eax
push edi
and ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x10]
add ecx, edx
add ecx, dword [ebp - 0xe0]
add ecx, ebx
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ebx, edi
mov ecx, edi
or ebx, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
and ebx, dword [ebp - 0x18]
or ebx, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 8], ecx
mov edx, ecx
push dword [ebp - 8]
add edx, eax
add ebx, edx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xdc]
add edx, eax
push ebx
and ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x14]
add ecx, edx
add ecx, dword [0x589610]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, edi
mov edx, edi
or ecx, ebx
and edx, ebx
and ecx, dword [ebp - 0x20]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x18], eax
add ecx, edx
push dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xd8]
xor ecx, dword [ebp - 8]
add edx, eax
push dword [ebp - 0x10]
and ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0xc]
add ecx, edx
add ecx, dword [0x589614]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, ebx
mov edx, ebx
or ecx, dword [ebp - 0x10]
and edx, dword [ebp - 0x10]
and ecx, edi
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x20], eax
add ecx, edx
push dword [ebp - 0x20]
mov dword [ebp - 0x14], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xd4]
xor ecx, dword [ebp - 0x18]
add edx, eax
push dword [ebp - 0x14]
and ecx, dword [ebp - 0x20]
xor ecx, dword [ebp - 8]
add ecx, edx
add ecx, dword [0x589618]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x14]
and edx, dword [ebp - 0x14]
add edi, dword [ebp - 4]
and ecx, ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
push edi
add edx, eax
add ecx, edx
mov dword [ebp - 0xc], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x20]
and ecx, edi
mov edx, dword [ebp - 0xd0]
xor ecx, dword [ebp - 0x18]
add edx, eax
push dword [ebp - 0xc]
add ecx, edx
add ecx, dword [0x58961c]
add ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
or ecx, dword [ebp - 0xc]
and edx, dword [ebp - 0xc]
add ebx, dword [ebp - 4]
and ecx, dword [ebp - 0x10]
push ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
add ecx, edx
mov dword [ebp - 8], ecx
call fcn.0050e8aa
mov edx, dword [ebp - 0xcc]
mov ecx, edi
xor ecx, dword [ebp - 0x20]
add edx, eax
push dword [ebp - 8]
and ecx, ebx
xor ecx, dword [ebp - 0x20]
add ecx, edx
add ecx, dword [0x589620]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
or ecx, dword [ebp - 8]
and edx, dword [ebp - 8]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x10], eax
add ecx, edx
push dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
call fcn.0050e8aa
mov edx, dword [ebp - 0xc8]
mov ecx, edi
xor ecx, ebx
add edx, eax
and ecx, dword [ebp - 0x10]
push dword [ebp - 0x18]
xor ecx, edi
add ecx, edx
add ecx, dword [0x589624]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
or ecx, dword [ebp - 0x18]
and edx, dword [ebp - 0x18]
add esp, 0x40
and ecx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x14], eax
add ecx, edx
push dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
call fcn.0050e8aa
mov ecx, ebx
xor ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc4]
push dword [ebp - 0x20]
xor ecx, ebx
add edx, eax
add ecx, edx
add ecx, dword [0x589628]
add ecx, edi
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
or edi, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
and edi, dword [ebp - 8]
or edi, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 0xc], ecx
mov edx, ecx
push dword [ebp - 0xc]
add edx, eax
add edi, edx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc0]
xor ecx, dword [ebp - 0x14]
add edx, eax
push edi
and ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x10]
add ecx, edx
add ecx, dword [0x58962c]
add ecx, ebx
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ebx, edi
mov ecx, edi
or ebx, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
and ebx, dword [ebp - 0x18]
or ebx, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 8], ecx
mov edx, ecx
push dword [ebp - 8]
add edx, eax
add ebx, edx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xbc]
xor ecx, dword [ebp - 0xc]
add edx, eax
push ebx
and ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x14]
add ecx, edx
add ecx, dword [0x589630]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, edi
mov edx, edi
or ecx, ebx
and edx, ebx
and ecx, dword [ebp - 0x20]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x18], eax
add ecx, edx
push dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xb8]
xor ecx, dword [ebp - 8]
add edx, eax
and ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0xc]
add ecx, edx
add ecx, dword [0x589634]
add ecx, dword [ebp - 0x14]
push dword [ebp - 0x10]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, ebx
mov edx, ebx
or ecx, dword [ebp - 0x10]
and edx, dword [ebp - 0x10]
and ecx, edi
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x20], eax
add ecx, edx
push dword [ebp - 0x20]
mov dword [ebp - 0x14], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xb4]
xor ecx, dword [ebp - 0x18]
add edx, eax
push dword [ebp - 0x14]
and ecx, dword [ebp - 0x20]
xor ecx, dword [ebp - 8]
add ecx, edx
add ecx, dword [0x589638]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x14]
and edx, dword [ebp - 0x14]
add edi, dword [ebp - 4]
and ecx, ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
push edi
add edx, eax
add ecx, edx
mov dword [ebp - 0xc], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0xb0]
xor ecx, dword [ebp - 0x20]
add edx, eax
push dword [ebp - 0xc]
and ecx, edi
xor ecx, dword [ebp - 0x18]
add ecx, edx
add ecx, dword [0x58963c]
add ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
or ecx, dword [ebp - 0xc]
and edx, dword [ebp - 0xc]
add ebx, dword [ebp - 4]
and ecx, dword [ebp - 0x10]
push ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
add ecx, edx
mov dword [ebp - 8], ecx
call fcn.0050e8aa
mov edx, dword [ebp - 0xac]
mov ecx, edi
xor ecx, dword [ebp - 0x20]
add edx, eax
and ecx, ebx
xor ecx, dword [ebp - 0x20]
add ecx, edx
add ecx, dword [0x589640]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
push dword [ebp - 8]
call fcn.0050e87d
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
or ecx, dword [ebp - 8]
and edx, dword [ebp - 8]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x10], eax
add ecx, edx
push dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
call fcn.0050e8aa
mov edx, dword [0x589644]
mov ecx, edi
xor ecx, ebx
add edx, eax
and ecx, dword [ebp - 0x10]
push dword [ebp - 0x18]
xor ecx, edi
add ecx, edx
add ecx, dword [ebp - 0xa8]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
or ecx, dword [ebp - 0x18]
and edx, dword [ebp - 0x18]
add esp, 0x40
and ecx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x14], eax
add ecx, edx
push dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
call fcn.0050e8aa
mov edx, dword [0x589648]
mov ecx, ebx
xor ecx, dword [ebp - 0x10]
push dword [ebp - 0x20]
add edx, eax
and ecx, dword [ebp - 0x14]
xor ecx, ebx
add ecx, edx
add ecx, dword [ebp - 0xa4]
add ecx, edi
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
or edi, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
and edi, dword [ebp - 8]
or edi, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 0xc], ecx
mov edx, ecx
push dword [ebp - 0xc]
add edx, eax
add edi, edx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x10]
mov edx, dword [0x58964c]
xor ecx, dword [ebp - 0x14]
add edx, eax
push edi
and ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x10]
add ecx, edx
add ecx, dword [ebp - 0xa0]
add ecx, ebx
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ebx, edi
mov ecx, edi
or ebx, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
and ebx, dword [ebp - 0x18]
or ebx, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 8], ecx
mov edx, ecx
push dword [ebp - 8]
add edx, eax
add ebx, edx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x14]
mov edx, dword [0x589650]
xor ecx, dword [ebp - 0xc]
add edx, eax
push ebx
and ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x14]
add ecx, edx
add ecx, dword [ebp - 0x9c]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, edi
mov edx, edi
or ecx, ebx
and edx, ebx
and ecx, dword [ebp - 0x20]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x18], eax
add ecx, edx
push dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0xc]
mov edx, dword [0x589654]
xor ecx, dword [ebp - 8]
add edx, eax
push dword [ebp - 0x10]
and ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0xc]
add ecx, edx
add ecx, dword [ebp - 0x98]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, ebx
mov edx, ebx
or ecx, dword [ebp - 0x10]
and edx, dword [ebp - 0x10]
and ecx, edi
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x20], eax
add ecx, edx
push dword [ebp - 0x20]
mov dword [ebp - 0x14], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 8]
mov edx, dword [0x589658]
xor ecx, dword [ebp - 0x18]
add edx, eax
push dword [ebp - 0x14]
and ecx, dword [ebp - 0x20]
xor ecx, dword [ebp - 8]
add ecx, edx
add ecx, dword [ebp - 0x94]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
add edi, dword [ebp - 4]
and edx, dword [ebp - 0x14]
and ecx, ebx
mov dword [ebp - 0x1c], ecx
push edi
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
add ecx, edx
mov dword [ebp - 0xc], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x18]
mov edx, dword [0x58965c]
xor ecx, dword [ebp - 0x20]
add edx, eax
push dword [ebp - 0xc]
and ecx, edi
xor ecx, dword [ebp - 0x18]
add ecx, edx
add ecx, dword [ebp - 0x90]
add ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
or ecx, dword [ebp - 0xc]
and edx, dword [ebp - 0xc]
add ebx, dword [ebp - 4]
and ecx, dword [ebp - 0x10]
push ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
add ecx, edx
mov dword [ebp - 8], ecx
call fcn.0050e8aa
mov edx, dword [0x589660]
mov ecx, edi
xor ecx, dword [ebp - 0x20]
add edx, eax
push dword [ebp - 8]
and ecx, ebx
xor ecx, dword [ebp - 0x20]
add ecx, edx
add ecx, dword [ebp - 0x8c]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
or ecx, dword [ebp - 8]
and edx, dword [ebp - 8]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x10], eax
add ecx, edx
push dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
call fcn.0050e8aa
mov edx, dword [0x589664]
mov ecx, edi
xor ecx, ebx
add edx, eax
and ecx, dword [ebp - 0x10]
push dword [ebp - 0x18]
xor ecx, edi
add ecx, edx
add ecx, dword [ebp - 0x88]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 8]
add esp, 0x40
or ecx, dword [ebp - 0x18]
and ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x1c], ecx
and edx, dword [ebp - 0x18]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x14], eax
add ecx, edx
push dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
call fcn.0050e8aa
mov edx, dword [0x589668]
mov ecx, ebx
xor ecx, dword [ebp - 0x10]
add edx, eax
and ecx, dword [ebp - 0x14]
xor ecx, ebx
add ecx, edx
add ecx, dword [ebp - 0x84]
add ecx, edi
mov edi, dword [ebp - 0x20]
push edi
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
or ecx, edi
and edx, edi
and ecx, dword [ebp - 8]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0xc], eax
add ecx, edx
push dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x10]
mov edx, dword [0x58966c]
xor ecx, dword [ebp - 0x14]
add edx, eax
and ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x10]
add ecx, edx
add ecx, dword [ebp - 0x80]
add ecx, ebx
mov ebx, dword [ebp - 0x1c]
push ebx
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, ebx
mov edx, ebx
or ecx, edi
and edx, edi
and ecx, dword [ebp - 0x18]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 8], eax
add ecx, edx
push dword [ebp - 8]
mov dword [ebp - 0x24], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x14]
mov edx, dword [0x589670]
xor ecx, dword [ebp - 0xc]
add edx, eax
push dword [ebp - 0x24]
and ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x14]
add ecx, edx
add ecx, dword [ebp - 0x7c]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, ebx
or ecx, dword [ebp - 0x24]
and ecx, edi
mov edx, ebx
mov dword [ebp - 0x1c], ecx
and edx, dword [ebp - 0x24]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x18], eax
add ecx, edx
push dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0xc]
mov edx, dword [0x589674]
xor ecx, dword [ebp - 8]
add edx, eax
push dword [ebp - 0x10]
and ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0xc]
add ecx, edx
add ecx, dword [ebp - 0x78]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
or ecx, dword [ebp - 0x10]
and edx, dword [ebp - 0x10]
add edi, dword [ebp - 4]
and ecx, ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
push edi
add edx, eax
add ecx, edx
mov dword [ebp - 0x14], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 8]
mov edx, dword [0x589678]
xor ecx, dword [ebp - 0x18]
add edx, eax
push dword [ebp - 0x14]
and ecx, edi
xor ecx, dword [ebp - 8]
add ecx, edx
add ecx, dword [ebp - 0x74]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x14]
and edx, dword [ebp - 0x14]
add ebx, dword [ebp - 4]
and ecx, dword [ebp - 0x24]
push ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
add ecx, edx
mov dword [ebp - 0xc], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x18]
mov edx, dword [0x58967c]
xor ecx, edi
add edx, eax
and ecx, ebx
push dword [ebp - 0xc]
xor ecx, dword [ebp - 0x18]
add ecx, edx
add ecx, dword [ebp - 0x70]
add ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
or ecx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ecx
and edx, dword [ebp - 0xc]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x24], eax
add ecx, edx
push dword [ebp - 0x24]
mov dword [ebp - 8], ecx
call fcn.0050e8aa
mov edx, dword [0x589680]
mov ecx, ebx
xor ecx, edi
add edx, eax
and ecx, dword [ebp - 0x24]
push dword [ebp - 8]
xor ecx, edi
add ecx, edx
add ecx, dword [ebp - 0x6c]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
or ecx, dword [ebp - 8]
and edx, dword [ebp - 8]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x10], eax
add ecx, edx
push dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
call fcn.0050e8aa
mov edx, dword [0x589684]
mov ecx, ebx
xor ecx, dword [ebp - 0x24]
add edx, eax
and ecx, dword [ebp - 0x10]
xor ecx, ebx
add ecx, edx
add ecx, dword [ebp - 0x68]
add ecx, edi
mov edi, dword [ebp - 0x18]
push edi
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
or ecx, edi
and edx, edi
and ecx, dword [ebp - 0xc]
add esp, 0x40
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x14], eax
add ecx, edx
push dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x24]
mov edx, dword [0x589688]
xor ecx, dword [ebp - 0x10]
add edx, eax
and ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x24]
add ecx, edx
add ecx, dword [ebp - 0x64]
add ecx, ebx
mov ebx, dword [ebp - 0x20]
push ebx
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, edi
or ecx, ebx
and ecx, dword [ebp - 8]
mov edx, edi
and edx, ebx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0xc], eax
add ecx, edx
push dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x10]
mov edx, dword [0x58968c]
xor ecx, dword [ebp - 0x14]
add edx, eax
push dword [ebp - 0x1c]
and ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x10]
add ecx, edx
add ecx, dword [ebp - 0x60]
add ecx, dword [ebp - 0x24]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
or ecx, ebx
and edx, ebx
and ecx, edi
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 8], eax
add ecx, edx
push dword [ebp - 8]
mov dword [ebp - 0x24], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x5c]
xor ecx, dword [ebp - 0xc]
add edx, eax
push dword [ebp - 0x24]
and ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x14]
add ecx, edx
add ecx, dword [0x589690]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
or ecx, dword [ebp - 0x24]
and edx, dword [ebp - 0x24]
add edi, dword [ebp - 4]
and ecx, ebx
mov dword [ebp - 0x20], ecx
or ecx, edx
mov edx, dword [ebp - 4]
push edi
add edx, eax
add ecx, edx
mov dword [ebp - 0x10], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x58]
xor ecx, dword [ebp - 8]
add edx, eax
push dword [ebp - 0x10]
and ecx, edi
xor ecx, dword [ebp - 0xc]
add ecx, edx
add ecx, dword [0x589694]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
or ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 0x1c]
and edx, dword [ebp - 0x10]
mov dword [ebp - 0x20], ecx
add ebx, dword [ebp - 4]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
push ebx
add ecx, edx
mov dword [ebp - 0x14], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x54]
xor ecx, edi
add edx, eax
and ecx, ebx
push dword [ebp - 0x14]
xor ecx, dword [ebp - 8]
add ecx, edx
add ecx, dword [0x589698]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x14]
and edx, dword [ebp - 0x14]
and ecx, dword [ebp - 0x24]
mov dword [ebp - 0x20], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x1c], eax
add ecx, edx
push dword [ebp - 0x1c]
mov dword [ebp - 0xc], ecx
call fcn.0050e8aa
mov edx, dword [ebp - 0x50]
mov ecx, edi
xor ecx, ebx
add edx, eax
and ecx, dword [ebp - 0x1c]
push dword [ebp - 0xc]
xor ecx, edi
add ecx, edx
add ecx, dword [0x58969c]
add ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
or ecx, dword [ebp - 0xc]
and edx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x10]
mov dword [ebp - 0x20], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x24], eax
add ecx, edx
push dword [ebp - 0x24]
mov dword [ebp - 8], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x4c]
xor ecx, ebx
push dword [ebp - 8]
and ecx, dword [ebp - 0x24]
add edx, eax
xor ecx, ebx
add ecx, edx
add ecx, dword [0x5896a0]
add ecx, edi
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
or edi, dword [ebp - 8]
and ecx, dword [ebp - 8]
and edi, dword [ebp - 0x14]
or edi, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 0x10], ecx
mov edx, ecx
push dword [ebp - 0x10]
add edx, eax
add edi, edx
mov dword [ebp - 0x18], edi
call fcn.0050e8aa
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x48]
xor ecx, dword [ebp - 0x24]
add edx, eax
push edi
and ecx, dword [ebp - 0x10]
xor ecx, dword [ebp - 0x1c]
add ecx, edx
add ecx, dword [0x5896a4]
add ecx, ebx
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
or ebx, edi
and ecx, edi
and ebx, dword [ebp - 0xc]
add esp, 0x40
or ebx, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 0x14], ecx
mov edx, ecx
push dword [ebp - 0x14]
add edx, eax
add ebx, edx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x44]
xor ecx, dword [ebp - 0x10]
add edx, eax
push ebx
and ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x24]
add ecx, edx
add ecx, dword [0x5896a8]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x18]
or edi, ebx
and edi, dword [ebp - 8]
and ecx, ebx
or edi, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 0xc], ecx
mov edx, ecx
push dword [ebp - 0xc]
add edx, eax
add edi, edx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x40]
xor ecx, dword [ebp - 0x14]
add edx, eax
push edi
and ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x10]
add ecx, edx
add ecx, dword [0x5896ac]
add ecx, dword [ebp - 0x24]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, edi
mov edx, edi
or ecx, ebx
and edx, ebx
and ecx, dword [ebp - 0x18]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add ecx, edx
add dword [ebp - 8], eax
mov dword [ebp - 0x24], ecx
push dword [ebp - 8]
call fcn.0050e8aa
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x3c]
xor ecx, dword [ebp - 0xc]
add edx, eax
push dword [ebp - 0x24]
and ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x14]
add ecx, edx
add ecx, dword [0x5896b0]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, edi
mov edx, edi
or ecx, dword [ebp - 0x24]
and edx, dword [ebp - 0x24]
and ecx, ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x18], eax
add ecx, edx
push dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x38]
xor ecx, dword [ebp - 8]
add edx, eax
push dword [ebp - 0x10]
and ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0xc]
add ecx, edx
add ecx, dword [0x5896b4]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
or ecx, dword [ebp - 0x10]
and edx, dword [ebp - 0x10]
add ebx, dword [ebp - 4]
and ecx, edi
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
push ebx
add edx, eax
add ecx, edx
mov dword [ebp - 0x14], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x34]
xor ecx, dword [ebp - 0x18]
add edx, eax
push dword [ebp - 0x14]
and ecx, ebx
xor ecx, dword [ebp - 8]
add ecx, edx
add ecx, dword [0x5896b8]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x14]
and edx, dword [ebp - 0x14]
add edi, dword [ebp - 4]
and ecx, dword [ebp - 0x24]
push edi
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
add ecx, edx
mov dword [ebp - 0xc], ecx
call fcn.0050e8aa
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x30]
xor ecx, ebx
add edx, eax
and ecx, edi
push dword [ebp - 0xc]
xor ecx, dword [ebp - 0x18]
add ecx, edx
add ecx, dword [0x5896bc]
add ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
or ecx, dword [ebp - 0xc]
and edx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x24], eax
add ecx, edx
push dword [ebp - 0x24]
mov dword [ebp - 8], ecx
call fcn.0050e8aa
mov edx, dword [ebp - 0x2c]
mov ecx, edi
xor ecx, ebx
add edx, eax
and ecx, dword [ebp - 0x24]
push dword [ebp - 8]
xor ecx, ebx
add ecx, edx
add ecx, dword [0x5896c0]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
or ecx, dword [ebp - 8]
and edx, dword [ebp - 8]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x10], eax
add ecx, edx
push dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
call fcn.0050e8aa
mov edx, dword [0x5896c4]
mov ecx, edi
xor ecx, dword [ebp - 0x24]
add edx, eax
and ecx, dword [ebp - 0x10]
xor ecx, edi
add ecx, edx
add ecx, dword [ebp - 0x28]
add ecx, ebx
mov ebx, dword [ebp - 0x18]
push ebx
mov dword [ebp - 4], ecx
call fcn.0050e87d
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
or ecx, ebx
and edx, ebx
and ecx, dword [ebp - 0xc]
add dword [esi + 4], ebx
add esp, 0x40
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 8]
add ecx, edx
add dword [esi], ecx
add dword [esi + 8], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
add dword [esi + 0xc], eax
mov eax, dword [ebp - 0x14]
add ecx, eax
mov eax, dword [ebp - 0x10]
add dword [esi + 0x14], eax
mov eax, dword [ebp - 0x24]
add dword [esi + 0x10], ecx
add dword [esi + 0x18], eax
add dword [esi + 0x1c], edi
pop edi
pop esi
pop ebx
leave
ret